47 lines
1.6 KiB
Plaintext
47 lines
1.6 KiB
Plaintext
|
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;
|
||
|
};
|
||
|
};
|