mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-13 19:52:38 +03:00
58 lines
2.0 KiB
Plaintext
58 lines
2.0 KiB
Plaintext
private ["_display","_timeout","_inCombat","_playerCheck","_zedCheck"];
|
|
disableSerialization;
|
|
waitUntil {
|
|
_display = findDisplay 49;
|
|
!isNull _display;
|
|
};
|
|
_btnRespawn = _display displayCtrl 1010;
|
|
_btnAbort = _display displayCtrl 104;
|
|
_btnRespawn ctrlEnable false;
|
|
_btnAbort ctrlEnable false;
|
|
_btnAbortText = ctrlText _btnAbort;
|
|
_isPZombie = player isKindOf "PZombie_VB";
|
|
_testTime = diag_tickTime;
|
|
|
|
if (r_fracture_legs or _isPZombie) then {_btnRespawn ctrlEnable true;};
|
|
|
|
dayz_lastCheckSave = time;
|
|
//force gear save
|
|
if (time - dayz_lastCheckSave > 10) then {
|
|
call player_forceSave;
|
|
};
|
|
|
|
while {(!isNull _display) && !r_player_dead} do {
|
|
_timeout = 30;
|
|
_timeout = player getVariable["combattimeout", 0];
|
|
_inCombat = if (_timeout >= diag_tickTime) then {true} else {false};
|
|
_playerCheck = if ({isPlayer _x} count (player nearEntities ["AllVehicles",5]) > 1) then {true} else {false};
|
|
_zedCheck = if ((count (player nearEntities ["zZombie_Base",10]) > 0) && !_isPZombie) then {true} else {false};
|
|
|
|
switch true do {
|
|
case (_playerCheck) : {
|
|
_btnAbort ctrlEnable false;
|
|
_btnAbort ctrlSetText format["%1 (in 30)", _btnAbortText];
|
|
[localize "str_abort_playerclose",1] call dayz_rollingMessages;
|
|
};
|
|
case (_zedCheck) : {
|
|
_btnAbort ctrlEnable false;
|
|
_btnAbort ctrlSetText format["%1 (in 10)", _btnAbortText];
|
|
[localize "str_abort_zedsclose",1] call dayz_rollingMessages;
|
|
};
|
|
case (_inCombat && !_zedCheck && !_playerCheck) : {
|
|
_btnAbort ctrlEnable false;
|
|
_btnAbort ctrlSetText format["%1 (in %2)", _btnAbortText, ceil (_timeout - diag_tickTime)];
|
|
};
|
|
case (isInTraderCity) : {
|
|
_btnAbort ctrlEnable false;
|
|
[localize "str_epoch_player_12",1] call dayz_rollingMessages;
|
|
};
|
|
default {
|
|
waitUntil {_btnAbort ctrlSetText format["%1%2%3%4",_btnAbortText," (", str(10 - ((diag_tickTime - _testTime))), ")"]; uiSleep 0.1; ((diag_tickTime - _testTime) >= 10);};
|
|
_btnAbort ctrlEnable true;
|
|
_btnAbort ctrlSetText _btnAbortText;
|
|
};
|
|
};
|
|
uiSleep 1;
|
|
};
|
|
|
|
if (r_player_dead) exitWith {_btnAbort ctrlEnable true;}; |