#include "script_component.hpp" ["ace_settingsInitialized", { if (!GVAR(enabled)) exitWith {}; private _filter = "isClass (_x >> 'Components' >> 'TransportPylonsComponent') && {(getNumber (_x >> 'scope')) > 0}"; GVAR(aircraftWithPylons) = (_filter configClasses (configFile >> "CfgVehicles")) apply {configName _x}; { [_x, "init", { params ["_aircraft"]; private _loadoutAction = [ QGVAR(loadoutAction), localize LSTRING(ConfigurePylons), "", {[_target] call FUNC(showDialog)}, { private _vehicles = nearestObjects [_target, ["Air", "LandVehicle", "Slingload_base_F", "ReammoBox_F"], GVAR(searchDistance) + 10]; private _filter = ["transportAmmo", QEGVAR(rearm,defaultSupply)] select (["ace_rearm"] call EFUNC(common,isModLoaded)); private _rearmVehicles = {(getNumber (configFile >> "CfgVehicles" >> typeOf _x >> _filter)) > 0} count _vehicles; (_rearmVehicles > 0 && {[ace_player, _target] call FUNC(canConfigurePylons)}) } ] call EFUNC(interact_menu,createAction); [_aircraft, 0, ["ACE_MainActions"], _loadoutAction] call EFUNC(interact_menu,addActionToObject); }, false, [], true] call CBA_fnc_addClassEventHandler; } forEach GVAR(aircraftWithPylons); [QGVAR(setPylonLoadOutEvent), { params ["_aircraft", "_pylonIndex", "_pylon", "_turret"]; _aircraft setPylonLoadOut [_pylonIndex, _pylon, false, _turret]; }] call CBA_fnc_addEventHandler; [QGVAR(setAmmoOnPylonEvent), { params ["_aircraft", "_pylonIndex", "_count"]; _aircraft setAmmoOnPylon [_pylonIndex, _count]; }] call CBA_fnc_addEventHandler; if (isServer) then { GVAR(currentAircraftNamespace) = true call CBA_fnc_createNamespace; publicVariable QGVAR(currentAircraftNamespace); addMissionEventHandler ["HandleDisconnect", LINKFUNC(handleDisconnect)]; }; GVAR(searchDistanceSqr) = GVAR(searchDistance) ^ 2; }] call CBA_fnc_addEventHandler;