DMS_Exile/@ExileServer/addons/a3_dms/scripts/CleanUp.sqf
eraser1 f0f5132867 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)
2015-08-28 00:27:02 -05:00

31 lines
962 B
Plaintext

if (DMS_DEBUG) then
{
diag_log ("DMS:: CLEANING UP: "+str _this);
};
if !((typeName _this) isEqualTo "ARRAY") then
{
_this = [_this];
};
/*
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;
};
*/
{
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;