arma2-epoch-server/MPMissions/DayZ_Epoch_24.Napf/scripts/deployAnything/deploy.sqf
2022-04-21 16:15:41 +03:00

47 lines
1.6 KiB
Plaintext
Executable File

private["_exitWith","_position","_display","_object","_handle","_deployableName"];
_exitWith = "nil";
disableSerialization;
_display = findDisplay 106;
if (!(isNull _display)) then {
_display closeDisplay 0;
};
_deployableName = _this call getDeployableDisplay;
{
if (_x select 0) exitWith {_exitWith = (_x select 1);};
} forEach [
[(dayz_playerUID in DZE_DEPLOYABLE_ADMINS),"admin"],
[!([player,_this] call getHasDeployableParts),format["You need %1 to build %2",str (_this call getDeployableParts),_deployableName]],
[!(call fnc_can_do),format["You can't build a %1 right now.",_deployableName]],
[(player getVariable["inCombat",false]), format["Can't build a %1 while in combat!",(_this call getDeployableDisplay)]],
[DZE_DEPLOYING,"You are already building something!"],
[DZE_PACKING,"You are already packing something!"]
];
if (_exitWith != "nil" && {_exitWith != "admin"}) exitWith {
taskHint [_exitWith, DZE_COLOR_DANGER, "taskFailed"];
};
DZE_DEPLOYING = true;
DZE_DEPLOYING_SUCCESSFUL = false;
_handle = (_this call getDeployableClass) spawn player_deploy;
waitUntil {scriptDone _handle;};
DZE_DEPLOYING = false;
if (!DZE_DEPLOYING_SUCCESSFUL) then {
taskHint ["Deploying Failed!", DZE_COLOR_DANGER, "taskFailed"];
} else {
taskHint [format["You've built a %1!",_deployableName], DZE_COLOR_PRIMARY, "taskDone"];
uiSleep 10;
if (!(_this call getPermanent)) then {
"Warning: Deployed vehicles DO NOT SAVE after server restart!" call dayz_rollingMessages;
} else {
"This vehicle is permanent and will persist through server restarts!" call dayz_rollingMessages;
};
};