Cleanup Logic Change

Don't use isPlayerNearbyArray, so each object gets its own check (so
that all objects don't get skipped just because a player is near one
object)
This commit is contained in:
eraser1 2015-08-28 00:27:02 -05:00
parent cf6ca81c68
commit f0f5132867

View File

@ -6,22 +6,26 @@ if !((typeName _this) isEqualTo "ARRAY") then
{
_this = [_this];
};
if ([_this,20] call DMS_isPlayerNearbyARRAY) exitWith //<---TODO: Improve/Replace?
/*
if ([_this,20] call DMS_isPlayerNearbyARRAY) exitWith //<-----Not sure if it's more/less efficient
{
[30, DMS_CleanUp, _this, false] call ExileServer_system_thread_addTask;
};
*/
{
_x enableSimulationGlobal false;
_x removeAllMPEventHandlers "mpkilled";
_x removeAllMPEventHandlers "mphit";
_x removeAllMPEventHandlers "mprespawn";
_x removeAllEventHandlers "FiredNear";
_x removeAllEventHandlers "HandleDamage";
_x removeAllEventHandlers "Killed";
_x removeAllEventHandlers "Fired";
_x removeAllEventHandlers "GetOut";
_x removeAllEventHandlers "GetIn";
_x removeAllEventHandlers "Local";
deleteVehicle _x;
if !([_this,20] call ExileServer_util_position_isPlayerNearby) then {
_x enableSimulationGlobal false;
_x removeAllMPEventHandlers "mpkilled";
_x removeAllMPEventHandlers "mphit";
_x removeAllMPEventHandlers "mprespawn";
_x removeAllEventHandlers "FiredNear";
_x removeAllEventHandlers "HandleDamage";
_x removeAllEventHandlers "Killed";
_x removeAllEventHandlers "Fired";
_x removeAllEventHandlers "GetOut";
_x removeAllEventHandlers "GetIn";
_x removeAllEventHandlers "Local";
deleteVehicle _x;
};
false;
} count _this;