From 0956c1245ed8824ad34763f2aff7c24325c6443f Mon Sep 17 00:00:00 2001 From: Florian Kinder Date: Fri, 13 Feb 2026 12:08:09 +0100 Subject: [PATCH] Filter parachute/ejection seat kill events and fix dead parachute tracking Parachutes and ejection seats generated noisy kill events like "Ejection Seat destroyed by Ejection Seat". Skip these in the EntityKilled handler by checking vehicleClass. Also expand parachute exclusion in capture loop to cover dead parachutes (alive=0) that still have crew, not just empty ones. --- addons/recorder/fnc_captureLoop.sqf | 4 ++-- addons/recorder/fnc_eh_killed.sqf | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/addons/recorder/fnc_captureLoop.sqf b/addons/recorder/fnc_captureLoop.sqf index 8863e5a..dccb43b 100644 --- a/addons/recorder/fnc_captureLoop.sqf +++ b/addons/recorder/fnc_captureLoop.sqf @@ -240,8 +240,8 @@ GVAR(PFHObject) = [ private _ocapId = _vehicleData select 0; - // Stop tracking parachutes/ejection seats with no crew (landed/empty) - if ((_x getVariable [QGVARMAIN(vehicleClass), ""]) isEqualTo "parachute" && _crew isEqualTo []) then { + // Stop tracking parachutes/ejection seats that are empty or dead + if ((_x getVariable [QGVARMAIN(vehicleClass), ""]) isEqualTo "parachute" && {!((alive _x) && {_crew isNotEqualTo []})}) then { _vehicleData set [3, 0]; [":NEW:VEHICLE:STATE:", _vehicleData] call EFUNC(extension,sendData); _x setVariable [QGVARMAIN(exclude), true, true]; diff --git a/addons/recorder/fnc_eh_killed.sqf b/addons/recorder/fnc_eh_killed.sqf index ca30169..2bf1297 100644 --- a/addons/recorder/fnc_eh_killed.sqf +++ b/addons/recorder/fnc_eh_killed.sqf @@ -30,6 +30,9 @@ if (!SHOULDSAVEEVENTS) exitWith {}; params ["_victim", "_killer", "_instigator"]; +// Skip parachutes and ejection seats - these generate noise like "Ejection Seat destroyed by Ejection Seat" +if ((_victim getVariable [QGVARMAIN(vehicleClass), ""]) isEqualTo "parachute") exitWith {}; + if !(_victim getvariable [QGVARMAIN(isKilled),false]) then { _victim setvariable [QGVARMAIN(isKilled),true];