Should prevent change clothes dupe

awaiting feedback, but I half-commited it in my previous commit accidently, so whatever
This commit is contained in:
icomrade
2017-07-26 12:46:58 -04:00
parent 73926b8785
commit bd35e0a574
2 changed files with 20 additions and 7 deletions

View File

@@ -4,7 +4,7 @@ _charID = _this select 1;
_model = _this select 2; _model = _this select 2;
_old = player; _old = player;
player allowDamage false; _old allowDamage false;
player removeEventHandler ["FiredNear",eh_player_killed]; player removeEventHandler ["FiredNear",eh_player_killed];
player removeEventHandler ["HandleDamage",mydamage_eh1]; player removeEventHandler ["HandleDamage",mydamage_eh1];
player removeEventHandler ["Killed",mydamage_eh3]; player removeEventHandler ["Killed",mydamage_eh3];
@@ -38,7 +38,7 @@ if (Z_SingleCurrency) then {
}; };
//Switch //Switch
_model call player_switchModel; //Already spawned thread, no need to spawn and waitUntil script is done [_model, _charID] call player_switchModel; //Already spawned thread, no need to spawn and waitUntil script is done
//Login //Login
@@ -111,10 +111,7 @@ dayz_actionInProgress = false; //Allow self actions to run now.
eh_player_killed = player addeventhandler ["FiredNear",{_this call player_weaponFiredNear;}]; eh_player_killed = player addeventhandler ["FiredNear",{_this call player_weaponFiredNear;}];
[player] call fnc_usec_damageHandle; [player] call fnc_usec_damageHandle;
player allowDamage true; player allowDamage true;
call player_forceSave;
player addWeapon "Loot";
uiSleep 0.1;
call dayz_meleeMagazineCheck;
uiSleep 0.1; uiSleep 0.1;
if !(isNull _old) then {deleteVehicle _old;}; if !(isNull _old) then {deleteVehicle _old;};

View File

@@ -1,4 +1,4 @@
private ["_display","_timeout","_inCombat","_playerCheck","_zedCheck"]; private ["_display","_timeout","_inCombat","_playerCheck","_zedCheck","_lastPing"];
disableSerialization; disableSerialization;
waitUntil { waitUntil {
_display = findDisplay 49; _display = findDisplay 49;
@@ -11,6 +11,9 @@ _btnAbort ctrlEnable false;
_btnAbortText = ctrlText _btnAbort; _btnAbortText = ctrlText _btnAbort;
_isPZombie = player isKindOf "PZombie_VB"; _isPZombie = player isKindOf "PZombie_VB";
_testTime = diag_tickTime; _testTime = diag_tickTime;
PVDZE_PingSend = player;
publicVariableServer "PVDZE_PingSend";
_lastPing = diag_tickTime;
if (r_fracture_legs or _isPZombie) then {_btnRespawn ctrlEnable true;}; if (r_fracture_legs or _isPZombie) then {_btnRespawn ctrlEnable true;};
@@ -29,7 +32,20 @@ while {(!isNull _display) && !r_player_dead} do {
if (!isNull _gearDisplay) then { if (!isNull _gearDisplay) then {
_gearDisplay closeDisplay 0; _gearDisplay closeDisplay 0;
}; };
if (diag_tickTime - _lastPing > 2) then {
PVDZE_PingSend = player;
publicVariableServer "PVDZE_PingSend";
_lastPing = diag_tickTime;
};
switch true do { switch true do {
case (diag_tickTime - DZE_LastPingResp > 4) : {
_btnAbort ctrlEnable false;
_btnAbort ctrlSetText format["%1 (in 10)", _btnAbortText];
if (TimeOutDisplayed) then {
_display closeDisplay 2;
closeDialog 2;
};
};
case (_playerCheck) : { case (_playerCheck) : {
_btnAbort ctrlEnable false; _btnAbort ctrlEnable false;
_btnAbort ctrlSetText format["%1 (in 10)", _btnAbortText]; _btnAbort ctrlSetText format["%1 (in 10)", _btnAbortText];