#include "script_component.hpp" /* * Author: 654wak654 * Loads the object module is placed on into selected vehicle. * * Arguments: * 0: Module logic * 1: Synchronized units * 2: Activated * * Return Value: * None * * Example: * [LOGIC, [bob, kevin], true] call ace_zeus_fnc_moduleLoadIntoCargo * * Public: No */ if (canSuspend) exitWith {[FUNC(moduleLoadIntoCargo), _this] call CBA_fnc_directCall;}; params ["_logic"]; if !(local _logic) exitWith {}; private _cargo = attachedTo _logic; deleteVehicle _logic; if !(missionNamespace getVariable [QEGVAR(cargo,enable), false]) exitWith { [LSTRING(RequiresAddon)] call FUNC(showMessage); }; if (isNull _cargo) exitWith { [LSTRING(NothingSelected)] call FUNC(showMessage); }; if (!alive _cargo) exitWith { [LSTRING(OnlyAlive)] call FUNC(showMessage); }; [ _cargo, { params ["_successful", "_cargo", "_mousePosASL"]; if (!_successful) exitWith {}; private _holder = (nearestObjects [ASLToAGL _mousePosASL, EGVAR(cargo,cargoHolderTypes), 15, true]) param [0, objNull]; // 2d distance search if (isNull _holder) exitWith { [LSTRING(NothingSelected)] call FUNC(showMessage); }; if (!alive _holder) exitWith { [LSTRING(OnlyAlive)] call FUNC(showMessage); }; private _displayName = [_cargo] call EFUNC(common,getName); if ([_cargo, _holder, true] call EFUNC(cargo,loadItem)) then { private _loadedItem = [localize ELSTRING(cargo,LoadedItem), "
", " "] call CBA_fnc_replace; private _holderDisplayName = [_holder] call EFUNC(common,getName); [_loadedItem, _displayName, _holderDisplayName] call FUNC(showMessage); ["ace_cargoLoaded", [_cargo, _holder]] call CBA_fnc_globalEvent; } else { private _loadingFailed = [localize ELSTRING(cargo,LoadingFailed), "
", " "] call CBA_fnc_replace; [_loadingFailed, _displayName] call FUNC(showMessage); }; }, localize LSTRING(ModuleLoadIntoCargo_DisplayName), "a3\ui_f\data\IGUI\Cfg\Actions\loadVehicle_ca.paa" ] call FUNC(getModuleDestination);