mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-15 04:23:13 +03:00
fly cleanup and do not remove player bodys
This commit is contained in:
@@ -459,98 +459,51 @@ dayz_recordLogin = {
|
||||
_key call server_hiveWrite;
|
||||
};
|
||||
|
||||
///////////////
|
||||
// from dayzero
|
||||
///////////////
|
||||
server_Delete =
|
||||
// Cleanup flies
|
||||
server_cleanFlies =
|
||||
{
|
||||
private["_body","_bodyGroup","_pos","_sfx"];
|
||||
private ["_sound","_newdayz_flyMonitor"];
|
||||
|
||||
DZE_FlyWorkingSet = DZE_FlyWorkingSet+dayz_flyMonitor;
|
||||
dayz_flyMonitor = [];
|
||||
|
||||
_body = _this select 0;
|
||||
_bodyGroup = group _body;
|
||||
_pos = getPosATL _body;
|
||||
_sfx = nearestObject [_pos,"Sound_Flies"];
|
||||
|
||||
_body removeAllEventHandlers "HandleDamage";
|
||||
_body removeAllEventHandlers "Killed";
|
||||
_body removeAllEventHandlers "Fired";
|
||||
_body removeAllEventHandlers "FiredNear";
|
||||
|
||||
deleteVehicle _body;
|
||||
deleteGroup _bodyGroup;
|
||||
|
||||
if ((!isNull _sfx) and ((_sfx distance _pos) < 10)) then
|
||||
_newdayz_flyMonitor = [];
|
||||
{
|
||||
deleteVehicle _sfx;
|
||||
};
|
||||
_sound = _x select 0;
|
||||
_body = _x select 1;
|
||||
|
||||
// Remove flies
|
||||
if (isNull _body) then {
|
||||
deleteVehicle _sound;
|
||||
[_body] call server_Delete;
|
||||
} else {
|
||||
_newdayz_flyMonitor set [count _newdayz_flyMonitor,_x];
|
||||
};
|
||||
|
||||
} forEach DZE_FlyWorkingSet;
|
||||
|
||||
DZE_FlyWorkingSet = _newdayz_flyMonitor;
|
||||
};
|
||||
|
||||
server_cleanDead =
|
||||
{
|
||||
private ["_deletedZombies","_deletedBodies","_timeStamp","_backpack","_magazines","_backpackMagazines"];
|
||||
|
||||
_deletedZombies = 0;
|
||||
_deletedBodies = 0;
|
||||
|
||||
{
|
||||
if (_x isKindOf "zZombie_Base") then
|
||||
{
|
||||
deleteVehicle _x;
|
||||
_deletedZombies = _deletedZombies + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
_timeStamp = _x getVariable ["timeStamp",0];
|
||||
//diag_log (format["CLEANUP: TIMESTAMP ON BODY: %1, VALUE: %2",(typeOf _x),_timeStamp]);
|
||||
if (_timeStamp == 0) then
|
||||
{
|
||||
_handled = _x getVariable ["handled",true];
|
||||
if (_handled) then {
|
||||
_x enableSimulation false;
|
||||
_backpack = unitBackpack _x;
|
||||
|
||||
if (!isNull _backpack) then
|
||||
{
|
||||
_magazines = magazines _x;
|
||||
_backpackMagazines = getMagazineCargo _backpack;
|
||||
//diag_log (format["CLEANUP: UNIT HAS BACKPACK, MAG COUNT: %1 PACK COUNT: %2",(count _magazines),(count _backpackMagazines)]);
|
||||
if ((count _magazines < 4) and (count _backpackMagazines < 3)) then
|
||||
{
|
||||
[_x] call server_Delete;
|
||||
_deletedBodies = _deletedBodies + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
_x setVariable ["timeStamp",diag_tickTime];
|
||||
//diag_log (format["CLEANUP: TIMESTAMPED BODY WITH BACKPACK: %1",_x]);
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
_magazines = magazines _x;
|
||||
//diag_log (format["CLEANUP: UNIT HAS NO BACKPACK, MAG COUNT: %1",(count _magazines)]);
|
||||
if (count _magazines < 4) then
|
||||
{
|
||||
[_x] call server_Delete;
|
||||
_deletedBodies = _deletedBodies + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
_x setVariable ["timeStamp",diag_tickTime];
|
||||
//diag_log (format["CLEANUP: TIMESTAMPED BODY WITHOUT BACKPACK: %1",_x]);
|
||||
};
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((diag_tickTime - _timeStamp) > 2400) then
|
||||
{
|
||||
[_x] call server_Delete;
|
||||
_deletedBodies = _deletedBodies + 1;
|
||||
};
|
||||
_body removeAllEventHandlers "HandleDamage";
|
||||
_body removeAllEventHandlers "Killed";
|
||||
_body removeAllEventHandlers "Fired";
|
||||
_body removeAllEventHandlers "FiredNear";
|
||||
};
|
||||
};
|
||||
} forEach allDead;
|
||||
|
||||
diag_log (format["CLEANUP: DELETED %1 PLAYERS AND %2 ZOMBIES",_deletedBodies,_deletedZombies]);
|
||||
};
|
||||
|
||||
server_cleanLoot =
|
||||
|
||||
Reference in New Issue
Block a user