Ich übersetzte das Script nur !
Der Autor ist RichHomieQuan !
Bild:
1. Dialogs\spawnSelection.hpp und löscht alles was drinnen steht und schreibt dafür das rein.
SQL
class life_spawn_selection {
idd = 38500;
movingEnable = 0;
enableSimulation = 1;
onLoad = "call (profilenamespace getvariable ""LastSpawnPoint"");";
class controlsBackground {
class life_RscTitleBackground: Life_RscText
{
idc = -1;
x = 0.0410937 * safezoneW + safezoneX;
y = 0.368 * safezoneH + safezoneY;
w = 0.397031 * safezoneW;
h = 0.022 * safezoneH;
colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])","(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"};
};
class Title: Life_RscTitle
{
idc = -1;
text = "Spawn Selection"; //--- ToDo: Localize;
x = 0.0410937 * safezoneW + safezoneX;
y = 0.368 * safezoneH + safezoneY;
w = 0.376406 * safezoneW;
h = 0.022 * safezoneH;
colorText[] = {0.95,0.95,0.95,1};
};
class SpawnPointTitle: Title
{
idc = 38501;
style = 1;
text = "Spawn Selection"; //--- ToDo: Localize;
x = 0.04625 * safezoneW + safezoneX;
y = 0.368 * safezoneH + safezoneY;
w = 0.391875 * safezoneW;
h = 0.022 * safezoneH;
colorText[] = {0.95,0.95,0.95,1};
};
class Background_1: Life_RscText
{
idc = 2200;
x = 0.041273 * safezoneW + safezoneX;
y = 0.39 * safezoneH + safezoneY;
w = 0.396876 * safezoneW;
h = 0.341 * safezoneH;
colorBackground[] = {0.188,0.188,0.188,0.5};
};
class MapView: Life_RscMapControl
{
idc = 38502;
maxSatelliteAlpha = 0.75;
alphaFadeStartScale = 1.15;
alphaFadeEndScale = 1.29;
x = 0.2025 * safezoneW + safezoneX;
y = 0.39 * safezoneH + safezoneY;
w = 0.232031 * safezoneW;
h = 0.341 * safezoneH;
};
};
class controls {
class SpawnPointList: Life_RscListNBox
{
idc = 38510;
coloumns[] = {0,0,0.9};
drawSideArrows = 0;
idcLeft = -1;
idcRight = -1;
rowHeight = 0.05;
onLBSelChanged = "_this call life_fnc_spawnPointSelected;";
x = 0.0410937 * safezoneW + safezoneX;
y = 0.39 * safezoneH + safezoneY;
w = 0.159844 * safezoneW;
h = 0.341 * safezoneH;
};
class spawnButton: Life_RscButtonMenu
{
onButtonClick = "[] call life_fnc_spawnConfirm";
idc = 1006;
text = "Spawn"; //--- ToDo: Localize;
x = 0.0410937 * safezoneW + safezoneX;
y = 0.753 * safezoneH + safezoneY;
w = 0.159844 * safezoneW;
h = 0.033 * safezoneH;
colorText[] = {1,1,1,1};
colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])",0.5};
};
class ReturnToLobbyButton: Life_RscButtonMenu
{
onButtonClick = "endmission'memes';";
idc = 1007;
text = "Return To Lobby"; //--- ToDo: Localize;
x = 0.0410937 * safezoneW + safezoneX;
y = 0.797 * safezoneH + safezoneY;
w = 0.159844 * safezoneW;
h = 0.033 * safezoneH;
colorText[] = {1,1,1,1};
colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])",0.5};
};
};
};
Alles anzeigen
2. Dialogs\functions\fn_spawnMenu.sqf und löscht alles was drinnen steht und schreibt dafür das rein.
SQL
/*
File: fn_spawnMenu.sqf
Author: Bryan "Tonic" Boardwine
Description:
Initializes the spawn point selection menu.
*/
private["_spCfg","_sp","_ctrl"];
disableSerialization;
if (life_is_arrested) exitWith {
[] call life_fnc_respawned;
};
if (life_respawned) then {
[] call life_fnc_respawned;
};
_SpawnCamera = "camera" camCreate (position player);
_SpawnCamera cameraEffect ["internal","back"];
_SpawnCamera camSetTarget vehicle player;
_SpawnCamera camSetRelPos [1,4,3];
_SpawnCamera camCommit 0;
cutText["","PLAIN"];
0 cutFadeOut 9999999;
if (!(createDialog "life_spawn_selection")) exitWith {[] call life_fnc_spawnMenu;};
(findDisplay 38500) displaySetEventHandler ["keyDown","_this call life_fnc_displayHandler"];
_spCfg = [playerSide] call life_fnc_spawnPointCfg;
_ctrl = ((findDisplay 38500) displayCtrl 38510);
{
_ctrl lnbAddRow[(_spCfg select _ForEachIndex) select 1,(_spCfg select _ForEachIndex) select 0,""];
_ctrl lnbSetPicture[[_ForEachIndex,0],(_spCfg select _ForEachIndex) select 2];
_ctrl lnbSetData[[_ForEachIndex,0],(_spCfg select _ForEachIndex) select 0];
} forEach _spCfg;
_sp = _spCfg select 0; //First option is set by default
[((findDisplay 38500) displayCtrl 38502),1,0.1,getMarkerPos (_sp select 0)] call life_fnc_setMapPosition;
life_spawn_point = _sp;
ctrlSetText[38501,format["%2: %1",_sp select 1,localize "STR_Spawn_CSP"]];
Alles anzeigen
3. Dialogs\functions\fn_spawnConfirm.sqf und macht das selbe wie gerade eben alles wieder löschen und das hier einfügen.
SQL
/*
File: fn_spawnConfirm.sqf
Author: Bryan "Tonic" Boardwine
Description:
Spawns the player where he selected.
*/
private["_spCfg","_sp","_spawnPos"];
closeDialog 0;
cutText ["","BLACK IN"];
player cameraEffect ["terminate","back"];
camDestroy _camera;
if (life_spawn_point isEqualTo []) then {
private["_sp","_spCfg"];
_spCfg = [playerSide] call life_fnc_spawnPointCfg;
_sp = _spCfg select 0;
if (playerSide == civilian) then {
if (isNil {(call compile format["%1", _sp select 0])}) then {
player setPos (getMarkerPos (_sp select 0));
} else {
_spawnPos = (call compile format["%1", _sp select 0]) call BIS_fnc_selectRandom;
_spawnPos = _spawnPos buildingPos 0;
player setPos _spawnPos;
};
} else {
player setPos (getMarkerPos (_sp select 0));
};
titleText[format["%2 %1",_sp select 1,localize "STR_Spawn_Spawned"],"BLACK IN"];
} else {
if (playerSide == civilian) then {
if (isNil {(call compile format["%1",life_spawn_point select 0])}) then {
if (["house",life_spawn_point select 0] call BIS_fnc_inString) then {
private["_bPos","_house","_pos"];
_house = nearestObjects [getMarkerPos (life_spawn_point select 0),["House_F"],10] select 0;
_bPos = [_house] call life_fnc_getBuildingPositions;
if (_bPos isEqualTo []) exitWith {
player setPos (getMarkerPos (life_spawn_point select 0));
};
{_bPos = _bPos - [(_house buildingPos _x)];} forEach (_house getVariable ["slots",[]]);
_pos = _bPos call BIS_fnc_selectRandom;
player setPosATL _pos;
} else {
player setPos (getMarkerPos (life_spawn_point select 0));
};
} else {
_spawnPos = (call compile format["%1", life_spawn_point select 0]) call BIS_fnc_selectRandom;
_spawnPos = _spawnPos buildingPos 0;
player setPos _spawnPos;
};
} else {
player setPos (getMarkerPos (life_spawn_point select 0));
};
titleText[format["%2 %1",life_spawn_point select 1,localize "STR_Spawn_Spawned"],"BLACK IN"];
};
if (life_firstSpawn) then {
life_firstSpawn = false;
[] call life_fnc_welcomeNotification;
};
[] call life_fnc_playerSkins;
[] call life_fnc_hudSetup;
Alles anzeigen
So jetzt seid ihr fertig viel Spaß