From 4e92a51cf88402c718b4ad199eb5e287f8d5b754 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 21 May 2015 17:47:54 -0500 Subject: [PATCH 1/2] Create Defuse Helpers for spawned Explosives --- addons/explosives/XEH_postInit.sqf | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/addons/explosives/XEH_postInit.sqf b/addons/explosives/XEH_postInit.sqf index 998f73ccaf..ea403a7f20 100644 --- a/addons/explosives/XEH_postInit.sqf +++ b/addons/explosives/XEH_postInit.sqf @@ -14,6 +14,28 @@ * Public: No */ #include "script_component.hpp" + +//Start up a PFEH that scans all mines/explosives without defuseObjects attached and adds them +//Handles Editor Placed / Zeus / Scripted +if (isServer) then { + [{ + { + _explosive = _x; + _helpers = { + ((typeOf _x) == "ACE_DefuseObject") && {(_x getVariable [QGVAR(Explosive), objNull]) == _explosive} + } count (attachedObjects _explosive); + + if (_helpers == 0) then { + systemChat "Missing Helper"; + TRACE_3("Explosive without helper",_explosive,(getPosAsl _explosive),(typeOf _explosive)); + _defuseHelper = createVehicle ["ACE_DefuseObject", (getPos _explosive), [], 0, "NONE"]; + _defuseHelper attachTo [_explosive, [0,0,0], ""]; + _defuseHelper setVariable [QGVAR(Explosive),_explosive,true]; + }; + } forEach allMines; + }, 5, []] call CBA_fnc_addPerFrameHandler; +}; + if !(hasInterface) exitWith {}; GVAR(PlacedCount) = 0; GVAR(Setup) = objNull; From 72020a43f134924fad259746884fa4123fdf8b97 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 21 May 2015 17:53:15 -0500 Subject: [PATCH 2/2] Privates / Remove Debug --- addons/explosives/XEH_postInit.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/explosives/XEH_postInit.sqf b/addons/explosives/XEH_postInit.sqf index ea403a7f20..88a7bbba95 100644 --- a/addons/explosives/XEH_postInit.sqf +++ b/addons/explosives/XEH_postInit.sqf @@ -19,6 +19,7 @@ //Handles Editor Placed / Zeus / Scripted if (isServer) then { [{ + private ["_explosive", "_helpers", "_defuseHelper"]; { _explosive = _x; _helpers = { @@ -26,7 +27,6 @@ if (isServer) then { } count (attachedObjects _explosive); if (_helpers == 0) then { - systemChat "Missing Helper"; TRACE_3("Explosive without helper",_explosive,(getPosAsl _explosive),(typeOf _explosive)); _defuseHelper = createVehicle ["ACE_DefuseObject", (getPos _explosive), [], 0, "NONE"]; _defuseHelper attachTo [_explosive, [0,0,0], ""];