diff --git a/SQF/dayz_server/compile/server_playerDied.sqf b/SQF/dayz_server/compile/server_playerDied.sqf index 06503fd53..4ecc37046 100644 --- a/SQF/dayz_server/compile/server_playerDied.sqf +++ b/SQF/dayz_server/compile/server_playerDied.sqf @@ -8,6 +8,11 @@ _playerName = _this select 4; _infected = _this select 5; _victim removeAllEventHandlers "MPHit"; +_victim enableSimulation false; +_victim removeAllEventHandlers "HandleDamage"; +_victim removeAllEventHandlers "Killed"; +_victim removeAllEventHandlers "Fired"; +_victim removeAllEventHandlers "FiredNear"; _victim = _newObject; _victimName = _victim getVariable["bodyName", "nil"]; @@ -92,12 +97,6 @@ if (_characterID != "0") then diag_log ("HIVE: WRITE: "+ str(_key)); #endif _key call server_hiveWrite; - - // spawn flies - _sound = createSoundSource["Sound_Flies",getPosATL _newObject,[],0]; - - // Add flies to cleanup array - dayz_flyMonitor set[count dayz_flyMonitor, [_sound,_newObject]]; } else { diff --git a/SQF/dayz_server/compile/server_spawnEvent.sqf b/SQF/dayz_server/compile/server_spawnEvent.sqf index 3cc91ee2f..c93943811 100644 --- a/SQF/dayz_server/compile/server_spawnEvent.sqf +++ b/SQF/dayz_server/compile/server_spawnEvent.sqf @@ -63,7 +63,6 @@ while {true} do { // perform cleanup here if ((_time - zero_cleanDead) > 600) then { call server_cleanDead; - call server_cleanFlies; zero_cleanDead = _time; }; if ((_time - zero_cleanLoot) > 1800) then { diff --git a/SQF/dayz_server/init/server_functions.sqf b/SQF/dayz_server/init/server_functions.sqf index 80008b10a..a49e5471c 100644 --- a/SQF/dayz_server/init/server_functions.sqf +++ b/SQF/dayz_server/init/server_functions.sqf @@ -14,6 +14,7 @@ server_updateObject = compile preprocessFileLineNumbers "\z\addons\dayz_server\ server_playerDied = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerDied.sqf"; server_publishObj = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishObject.sqf"; //Creates the object in DB server_deleteObj = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_deleteObj.sqf"; //Removes the object from the DB +server_swapObject = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_swapObject.sqf"; server_publishVeh = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishVehicle.sqf"; // Custom to add vehicles server_publishVeh2 = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishVehicle2.sqf"; // Custom to add vehicles server_tradeObj = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_tradeObject.sqf"; @@ -454,56 +455,16 @@ dayz_recordLogin = { _key call server_hiveWrite; }; -// Cleanup flies -server_cleanFlies = -{ - private ["_sound","_newdayz_flyMonitor","_body"]; - - DZE_FlyWorkingSet = DZE_FlyWorkingSet+dayz_flyMonitor; - dayz_flyMonitor = []; - - _newdayz_flyMonitor = []; - { - _sound = _x select 0; - _body = _x select 1; - - // Remove flies - if (isNull _body) then { - deleteVehicle _sound; - } else { - _newdayz_flyMonitor set [count _newdayz_flyMonitor,_x]; - }; - - } forEach DZE_FlyWorkingSet; - DZE_FlyWorkingSet = _newdayz_flyMonitor; -}; - server_cleanDead = { - private ["_objectPos","_noPlayerNear","_body","_handle"]; + private ["_objectPos","_noPlayerNear"]; { if (_x isKindOf "zZombie_Base") then { - _objectPos = getPosATL _x; - _noPlayerNear = {isPlayer _x} count (_objectPos nearEntities ["CAManBase",35]) == 0; - if (_noPlayerNear) then - { - deleteVehicle _x; - }; - } else { - _handle = _x getVariable ["handle",true]; - if (_handle) then { - _x enableSimulation false; - _body removeAllEventHandlers "HandleDamage"; - _body removeAllEventHandlers "Killed"; - _body removeAllEventHandlers "Fired"; - _body removeAllEventHandlers "FiredNear"; - _x setVariable ["handle",false]; - }; + deleteVehicle _x; }; } forEach allDead; }; - server_cleanLoot = { private ["_deletedLoot","_startTime","_looted","_objectPos","_noPlayerNear","_nearObj"];