Fix survival time not counted after clothes change

Vanilla commits:

cf4fde6335

74dd04616f
This commit is contained in:
ebayShopper
2017-06-10 10:07:19 -04:00
parent 90d84648cd
commit abdb3e0e42
6 changed files with 16 additions and 10 deletions

View File

@@ -21,7 +21,7 @@ _1 = name player;
dayz_currentGlobalZombies = count entities "zZombie_Base";
//Work out survival time
_currentTime = floor (dayz_sessionTime / 60);
_currentTime = floor ((diag_tickTime - dayz_loginTime) / 60);
_totalMins = (player getVariable "SurvivalTime") + _currentTime;
_days = floor (_totalMins / 1440);
_totalMins = (_totalMins - (_days * 1440));

View File

@@ -660,7 +660,6 @@ if (!isDedicated) then {
Dayz_freefall = [ time, 0, 0.1 ];
dayz_getoutTime = 0;
dayz_hitByTime = 0;
dayz_sessionTime = 0; //Approximate time elapsed since login in seconds
skipGearSound = false;
TimeOutDisplayed = false;
voice_actions = ["voiceOverNet","PushToTalk","PushToTalkAll","PushToTalkCommand","PushToTalkDirect","PushToTalkGroup","PushToTalkSide","PushToTalkVehicle"];

View File

@@ -862,6 +862,7 @@ class FSM
"dayz_lastDrink = (_lastDrank * 60);" \n
"dayz_zombiesLocal = 0; //Used to record how many local zombies being tracked" \n
"dayz_Survived = [_days,_hours,_mins,(_survival select 3)]; //total alive dayz" \n
"dayz_loginTime = diag_tickTime;" \n
"" \n
"//load in medical details" \n
"r_player_dead = player getVariable[""USEC_isDead"",false];" \n

View File

@@ -58,8 +58,6 @@ sched_medical = { // 1 second
} else {
[] spawn fnc_usec_playerHandleBlood;
};
dayz_sessionTime = dayz_sessionTime + 1;
[_unconHdlr]
};

View File

@@ -231,7 +231,7 @@ if (dayz_townGenerator) then {
};
//record time started
_playerObj setVariable ["lastTime",time];
_playerObj setVariable ["lastTime",diag_ticktime];
//set server-side inventory variable to monitor player gear
if (count _inventory > 2) then {

View File

@@ -41,7 +41,7 @@ _bankCoins = _character getVariable [Z_BankVariable, -1];
_coins = _character getVariable [Z_MoneyVariable, -1]; //should getting coins fail set the variable to an invalid value to prevent overwritting the in the DB
_lastPos = _character getVariable ["lastPos",_charPos];
_usec_Dead = _character getVariable ["USEC_isDead",false];
_lastTime = _character getVariable ["lastTime",diag_ticktime];
_lastTime = _character getVariable ["lastTime",-1];
_modelChk = _character getVariable ["model_CHK",""];
_temp = round (_character getVariable ["temperature",100]);
_lastMagazines = _character getVariable ["ServerMagArray",[[],""]];
@@ -116,10 +116,18 @@ if (!_usec_Dead) then {
};
_character setVariable ["medForceUpdate",false,true];
_character addScore _kills;
_timeGross = (diag_ticktime - _lastTime);
_timeSince = floor (_timeGross / 60);
_timeLeft = (_timeGross - (_timeSince * 60));
_character addScore _kills;
/*
Assess how much time has passed, for recording total time on server
Note "lastTime" is -1 after clothes change
*/
if (_lastTime == -1) then {
_character setVariable ["lastTime",diag_tickTime,false];
} else {
_timeGross = (diag_tickTime - _lastTime);
_timeSince = floor (_timeGross / 60);
_timeLeft = (_timeGross - (_timeSince * 60));
};
/*
Get character state details
*/