/* * Author: Garth 'L-H' de Wet * When a take/put event handler fires and a detonator is changed hands. * Then take "attached" explosives. * * Arguments: * 0: Receiver * 1: Giver * 2: Item * * Return Value: * None * * Example: * Handled by CBA * * Public: No */ #include "script_component.hpp" params ["_receiver", "_giver", "_item"]; TRACE_3("params",_receiver,_giver,_item); private ["_config", "_detonators"]; if (_receiver != ace_player) exitWith {}; _config = ConfigFile >> "CfgWeapons" >> _item; if (isClass _config && {getNumber(_config >> QGVAR(Detonator)) == 1}) then { private ["_clackerItems"]; _clackerItems = _giver getVariable [QGVAR(Clackers), []]; _receiver setVariable [QGVAR(Clackers), (_receiver getVariable [QGVAR(Clackers), []]) + _clackerItems, true]; _detonators = [_giver] call FUNC(getDetonators); if (count _detonators == 0) then { _giver setVariable [QGVAR(Clackers), nil, true]; }; };