From f0ef0fce350ee070aaa1f06232a0683e53cc503b Mon Sep 17 00:00:00 2001 From: ebayShopper Date: Sun, 26 Feb 2017 15:28:17 -0500 Subject: [PATCH] Make server_playerSync exit log more accurate This will now show INFO instead of ERROR when sync exits while a player is changing clothes. --- .../compile/server_onPlayerDisconnect.sqf | 4 ++-- SQF/dayz_server/compile/server_playerSync.sqf | 22 ++++++++----------- 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/SQF/dayz_server/compile/server_onPlayerDisconnect.sqf b/SQF/dayz_server/compile/server_onPlayerDisconnect.sqf index 4ab2d6939..79102fb91 100644 --- a/SQF/dayz_server/compile/server_onPlayerDisconnect.sqf +++ b/SQF/dayz_server/compile/server_onPlayerDisconnect.sqf @@ -19,12 +19,12 @@ _playerObj = nil; //If playerObj is not in playableUnits then lets exit the disconnect system. if (isNil "_playerObj") exitWith { - diag_log format["%1: Exiting. Player is not in playableUnits. _this:%2", __FILE__, _this]; + diag_log format["INFO: OnPlayerDisconnect exiting. Player is not in playableUnits. %1", _this]; }; //Player object is alive in debug zone. The player most likely just respawned. if (_playerPos distance respawn_west_original < 1500) exitWith { - diag_log format["%1: Exiting. Player is near respawn_west. This is normal if the player just died. _this:%2", __FILE__, _this]; + diag_log format["INFO: OnPlayerDisconnect exiting. Player is near respawn_west. This is normal after death. %1", _this]; if (!isNull _playerObj) then { _playerObj call sched_co_deleteVehicle; }; diff --git a/SQF/dayz_server/compile/server_playerSync.sqf b/SQF/dayz_server/compile/server_playerSync.sqf index b01a599e6..a276c80ca 100644 --- a/SQF/dayz_server/compile/server_playerSync.sqf +++ b/SQF/dayz_server/compile/server_playerSync.sqf @@ -1,5 +1,5 @@ private ["_distanceFoot","_playerPos","_lastPos","_playerGear","_medical","_currentModel","_currentAnim", -"_currentWpn","_muzzles","_array","_coins","_key","_globalCoins","_bankCoins","_playerBackp", +"_currentWpn","_muzzles","_array","_coins","_key","_globalCoins","_bankCoins","_playerBackp","_exitReason", "_backpack","_kills","_killsB","_killsH","_headShots","_humanity","_lastTime","_timeGross","_timeSince", "_timeLeft","_config","_onLadder","_isTerminal","_modelChk","_temp","_currentState","_character", "_magazines","_characterID","_charPos","_isInVehicle","_name","_inDebug","_newPos","_count","_maxDist","_relocate","_playerUID"]; @@ -16,20 +16,16 @@ _humanity = 0; _name = if (alive _character) then {name _character} else {"Dead Player"}; _inDebug = (respawn_west_original distance _charPos) < 1500; -if (_character isKindOf "Animal") exitWith { - diag_log ("ERROR: Cannot Sync Character " + _name + " is an Animal class"); +_exitReason = switch true do { + case (isNil "_characterID"): {("ERROR: Cannot Sync Character " + _name + " has nil characterID")}; //Unit is null + case (_inDebug): {format["INFO: Cannot Sync Character %1 near respawn_west %2. This is normal when relogging or changing clothes.",_name,_charPos]}; + case (_characterID == "0"): {("ERROR: Cannot Sync Character " + _name + " has no characterID")}; + case (_character isKindOf "Animal"): {("ERROR: Cannot Sync Character " + _name + " is an Animal class")}; + default {"none"}; }; -if (isNil "_characterID") exitWith { - diag_log ("ERROR: Cannot Sync Character " + _name + " has nil characterID"); -}; - -if (_characterID == "0" or _inDebug) exitWith { - if (_inDebug) then { - diag_log format["INFO: server_playerSync: Cannot Sync Player %1 [%2]. Position in debug! %3. This is normal when respawning, relogging and changing clothes.",_name,_characterID,_charPos]; - } else { - diag_log ("ERROR: Cannot Sync Character " + _name + " as no characterID"); - }; +if (_exitReason != "none") exitWith { + diag_log _exitReason; }; //Check for player initiated updates