From 7c6130891a161a137da1c6afbb4fb39ace51dc04 Mon Sep 17 00:00:00 2001 From: hizumi <> Date: Wed, 19 Jun 2024 20:55:12 -0500 Subject: [PATCH] update custom remainsCollector event handlers add extra verbose debug logging to determine owner, time, and whether or not the custom garbage collector is who processed the body --- framework/init/functions/fn_initServer.sqf | 30 ++++++++++++++----- .../functions/fn_addDeadUnitCleanupPFH.sqf | 4 +-- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/framework/init/functions/fn_initServer.sqf b/framework/init/functions/fn_initServer.sqf index 80478d1..4b512bd 100644 --- a/framework/init/functions/fn_initServer.sqf +++ b/framework/init/functions/fn_initServer.sqf @@ -27,17 +27,31 @@ addMissionEventHandler ["EntityKilled", { if not (_unit isKindOf "CAManBase") exitWith {}; - if not (isInRemainsCollector _unit) exitWith {}; - - // format["%1 from group %2 died at %3", _unit, group _unit, [datetime] call BIS_fnc_timeToString] remoteExec ["systemChat"]; _unit setVariable["milsim_death_time", time]; - // _unit addEventHandler ["Deleted", { - // params ["_entity"]; - // isGC = _entity getVariable["milsim_garbage_collected", false]; - // format["%1 from was deleted by custom gc: %2", _entity, str isGC ] remoteExec ["systemChat"]; - // }]; + + _unit addEventHandler ["Deleted", { + params ["_entity"]; + _remainsCollector = _entity getVariable["milsim_garbage_collected", false]; + _decayTime = time - (_entity getVariable ["milsim_death_time", time]); + + _i = allUsers select { (getUserInfo _x)#1 isEqualTo _ownerId;}; + _owner = if ( _i isEqualTo []) then [ { "server" }, { (getUserInfo (_i#0))#3 }]; + + diag_log format["isServer: %5, deleted object owned by: %1 via remainsCollector: %2 after %3 seconds of type: %4", _owner, str (not _remainsCollector), _decayTime, _entity, isServer]; + }]; }]; + +// add zeus deletion logging to curator objects +{ + _x addEventHandler ["CuratorObjectDeleted", { + params ["_curator", "_entity"]; + + _decayTime = time - (_entity getVariable ["milsim_death_time", time]); + diag_log format["deleted object: %1 via curator: %2 after %3 seconds", _entity, name _curator, _decayTime]; + }]; +} foreach _curators; + // declare init complete to other modules missionNamespace setVariable [QGVARMAIN(complete), true, true]; diff --git a/framework/performance/functions/fn_addDeadUnitCleanupPFH.sqf b/framework/performance/functions/fn_addDeadUnitCleanupPFH.sqf index c71be7a..0c91dbd 100644 --- a/framework/performance/functions/fn_addDeadUnitCleanupPFH.sqf +++ b/framework/performance/functions/fn_addDeadUnitCleanupPFH.sqf @@ -27,11 +27,11 @@ GVAR(deadUnitCleanupPFH) = [ _dead = _dead select [0, _toDelete]; { _unit = _x#1; - // _unit setVariable ["milsim_garbage_collected", true]; + _unit setVariable ["milsim_garbage_collected", true]; deleteVehicle (_unit); } foreach _dead; }, - 180, + 450, [], { // on creation [