Delay cleanDead a bit more + remove outcommit debug

This commit is contained in:
Skaronator
2014-01-22 15:21:26 +01:00
parent ddea0d632d
commit f50f264801

View File

@@ -5,6 +5,14 @@ BIS_MPF_remoteExecutionServer = {
[nil,(_this select 1) select 0,"loc",rJIPEXEC,[any,any,"per","execVM","ca\Modules\Functions\init.sqf"]] call RE; [nil,(_this select 1) select 0,"loc",rJIPEXEC,[any,any,"per","execVM","ca\Modules\Functions\init.sqf"]] call RE;
}; };
}; };
/* Skaronator - secured better remoteExecServer
BIS_MPF_remoteExecutionServer = {
if ((_this select 1) select 2 == "JIPrequest") then {
_playerObj = (_this select 1) select 0;
remExField = [nil, nil, format ["";if !(isServer) then {[] execVM "ca\Modules\Functions\init.sqf";};""]];
(owner _playerObj) publicVariableClient "remExField";
};
};*/
BIS_Effects_Burn = {}; BIS_Effects_Burn = {};
server_playerLogin = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerLogin.sqf"; server_playerLogin = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerLogin.sqf";
@@ -34,6 +42,8 @@ server_maintainArea = compile preprocessFileLineNumbers "\z\addons\dayz_serve
/* PVS/PVC - Skaronator */ /* PVS/PVC - Skaronator */
server_sendToClient = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_sendToClient.sqf"; server_sendToClient = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_sendToClient.sqf";
onPlayerDisconnected "[_uid,_name] call server_onPlayerDisconnect;";
vehicle_handleInteract = { vehicle_handleInteract = {
private["_object"]; private["_object"];
_object = _this select 0; _object = _this select 0;
@@ -106,11 +116,8 @@ check_publishobject = {
_object = _this select 0; _object = _this select 0;
_playername = _this select 1; _playername = _this select 1;
_allowed = false; _allowed = false;
//diag_log format ["DEBUG: Checking if Object: %1 is allowed published by %2", _object, _playername];
if ((typeOf _object) in dayz_allowedObjects) then { if ((typeOf _object) in dayz_allowedObjects) then {
//diag_log format ["DEBUG: Object: %1 published by %2 is Safe",_object, _playername]; //diag_log format ["DEBUG: Object: %1 published by %2 is Safe",_object, _playername];
_allowed = true; _allowed = true;
@@ -149,34 +156,26 @@ eh_localCleanup = {
server_hiveWrite = { server_hiveWrite = {
private["_data"]; private["_data"];
//diag_log ("ATTEMPT WRITE: " + _this);
_data = "HiveExt" callExtension _this; _data = "HiveExt" callExtension _this;
//diag_log ("WRITE: " +str(_data));
}; };
server_hiveReadWrite = { server_hiveReadWrite = {
private["_key","_resultArray","_data"]; private["_key","_resultArray","_data"];
_key = _this; _key = _this;
//diag_log ("ATTEMPT READ/WRITE: " + _key);
_data = "HiveExt" callExtension _key; _data = "HiveExt" callExtension _key;
// diag_log ("READ/WRITE: " +str(_data));
_resultArray = call compile format ["%1",_data]; _resultArray = call compile format ["%1",_data];
_resultArray _resultArray
}; };
server_maintainObj = { server_maintainObj = {
private["_data"]; private["_data"];
//diag_log ("ATTEMPT WRITE: " + _this);
_data = "HiveExt" callExtension _this; _data = "HiveExt" callExtension _this;
//diag_log ("WRITE: " +str(_data));
}; };
server_hiveReadWriteLarge = { server_hiveReadWriteLarge = {
private["_key","_resultArray","_data"]; private["_key","_resultArray","_data"];
_key = _this; _key = _this;
//diag_log ("ATTEMPT READ/WRITE: " + _key);
_data = "HiveExt" callExtension _key; _data = "HiveExt" callExtension _key;
// diag_log ("READ/WRITE: " +str(_data));
_resultArray = call compile _data; _resultArray = call compile _data;
_resultArray _resultArray
}; };
@@ -192,15 +191,9 @@ server_characterSync = {
_currentModel = _this select 6; _currentModel = _this select 6;
_key = format["CHILD:201:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:",_characterID,_playerPos,_playerGear,_playerBackp,_medical,false,false,0,0,0,0,_currentState,0,0,_currentModel,0]; _key = format["CHILD:201:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:",_characterID,_playerPos,_playerGear,_playerBackp,_medical,false,false,0,0,0,0,_currentState,0,0,_currentModel,0];
//diag_log ("HIVE: WRITE: "+ str(_key) + " / " + _characterID);
_key call server_hiveWrite; _key call server_hiveWrite;
}; };
//onPlayerConnected "[_uid,_name] spawn server_onPlayerConnect;";
onPlayerDisconnected "[_uid,_name] call server_onPlayerDisconnect;";
// Setup globals allow overwrite from init.sqf
if(isnil "dayz_MapArea") then { if(isnil "dayz_MapArea") then {
dayz_MapArea = 10000; dayz_MapArea = 10000;
}; };
@@ -224,7 +217,7 @@ BuildingList = [];
spawn_vehicles = { spawn_vehicles = {
private ["_random","_lastIndex","_weights","_index","_vehicle","_velimit","_qty","_isAir","_isShip","_position","_dir","_istoomany","_veh","_objPosition","_marker","_iClass","_itemTypes","_cntWeights","_itemType","_num","_allCfgLoots"]; private ["_random","_lastIndex","_weights","_index","_vehicle","_velimit","_qty","_isAir","_isShip","_position","_dir","_istoomany","_veh","_objPosition","_marker","_iClass","_itemTypes","_cntWeights","_itemType","_num","_allCfgLoots"];
if (isDedicated) then { if (!isDedicated) exitWith { }; //Be sure the run this
while {count AllowedVehiclesList > 0} do { while {count AllowedVehiclesList > 0} do {
// BIS_fnc_selectRandom replaced because the index may be needed to remove the element // BIS_fnc_selectRandom replaced because the index may be needed to remove the element
@@ -357,7 +350,6 @@ spawn_vehicles = {
}; };
}; };
}; };
};
spawn_ammosupply = { spawn_ammosupply = {
private ["_position","_veh","_istoomany","_marker","_spawnveh","_WreckList"]; private ["_position","_veh","_istoomany","_marker","_spawnveh","_WreckList"];
@@ -425,16 +417,10 @@ spawn_roadblocks = {
_marker setMarkerText str(_spawnveh); _marker setMarkerText str(_spawnveh);
}; };
// fill array with classes and positions [class,pos,dir]
// DZE_LocalRoadBlocks set [count DZE_LocalRoadBlocks,[_spawnveh,_position,round(random 360)]];
//diag_log("DEBUG: Spawning a crashed " + _spawnveh + " with " + _spawnloot + " at " + str(_position));
_veh = createVehicle [_spawnveh,_position, [], 0, "CAN_COLLIDE"]; _veh = createVehicle [_spawnveh,_position, [], 0, "CAN_COLLIDE"];
_veh enableSimulation false; _veh enableSimulation false;
// Randomize placement a bit _veh setDir round(random 360); // Randomize placement a bit
_veh setDir round(random 360);
_veh setpos _position; _veh setpos _position;
_veh setVariable ["ObjectID","1",true]; _veh setVariable ["ObjectID","1",true];
@@ -458,7 +444,6 @@ spawn_mineveins = {
_position = (_positions call BIS_fnc_selectRandom) select 0; _position = (_positions call BIS_fnc_selectRandom) select 0;
// Get position with ground // Get position with ground
_istoomany = _position nearObjects ["All",10]; _istoomany = _position nearObjects ["All",10];
if((count _istoomany) > 0) exitWith { diag_log("DEBUG VEIN: Too many objects at " + str(_position)); }; if((count _istoomany) > 0) exitWith { diag_log("DEBUG VEIN: Too many objects at " + str(_position)); };
@@ -715,7 +700,7 @@ dayz_removePlayerOnDisconnect = {
server_timeSync = { server_timeSync = {
//Send request //Send request
private ["_year","_month","_day","_hour","_minute","_date","_key","_result","_outcome"]; private ["_hour","_minute","_date","_key","_result","_outcome"];
_key = "CHILD:307:"; _key = "CHILD:307:";
_result = _key call server_hiveReadWrite; _result = _key call server_hiveReadWrite;
_outcome = _result select 0; _outcome = _result select 0;
@@ -725,7 +710,6 @@ server_timeSync = {
if(dayz_fullMoonNights) then { if(dayz_fullMoonNights) then {
_hour = _date select 3; _hour = _date select 3;
_minute = _date select 4; _minute = _date select 4;
//Force full moon nights //Force full moon nights
_date = [2013,8,3,_hour,_minute]; _date = [2013,8,3,_hour,_minute];
}; };
@@ -740,7 +724,6 @@ server_timeSync = {
// must spawn these // must spawn these
server_spawncleanDead = { server_spawncleanDead = {
private ["_deathTime","_delQtyZ","_delQtyP","_qty","_allDead"]; private ["_deathTime","_delQtyZ","_delQtyP","_qty","_allDead"];
_allDead = allDead; _allDead = allDead;
_delQtyZ = 0; _delQtyZ = 0;
_delQtyP = 0; _delQtyP = 0;
@@ -752,7 +735,6 @@ server_spawncleanDead = {
sleep 0.05; sleep 0.05;
_delQtyZ = _delQtyZ + 1; _delQtyZ = _delQtyZ + 1;
} else { } else {
if (_x isKindOf "CAManBase") then { if (_x isKindOf "CAManBase") then {
_deathTime = _x getVariable ["processedDeath", diag_tickTime]; _deathTime = _x getVariable ["processedDeath", diag_tickTime];
if (diag_tickTime - _deathTime > 1800) then { if (diag_tickTime - _deathTime > 1800) then {
@@ -763,7 +745,7 @@ server_spawncleanDead = {
}; };
}; };
}; };
sleep 0.001; sleep 0.025;
} forEach _allDead; } forEach _allDead;
if (_delQtyZ > 0 or _delQtyP > 0) then { if (_delQtyZ > 0 or _delQtyP > 0) then {
_qty = count _allDead; _qty = count _allDead;
@@ -775,10 +757,8 @@ server_cleanupGroups = {
if(!isNil "DZE_DYN_GroupCleanup") exitWith { DZE_DYN_AntiStuck3rd = DZE_DYN_AntiStuck3rd + 1;}; if(!isNil "DZE_DYN_GroupCleanup") exitWith { DZE_DYN_AntiStuck3rd = DZE_DYN_AntiStuck3rd + 1;};
DZE_DYN_GroupCleanup = true; DZE_DYN_GroupCleanup = true;
{ {
// diag_log ("CLEANUP: CHECKING GROUP WITH " + str(count units _x) + " UNITS");
if (count units _x == 0) then { if (count units _x == 0) then {
deleteGroup _x; deleteGroup _x;
// diag_log ("CLEANUP: DELETING A GROUP");
}; };
sleep 0.001; sleep 0.001;
} forEach allGroups; } forEach allGroups;