/* * Author: Glowbal * Load object into vehicle. * * Arguments: * 0: Object * 1: Vehicle * 2: Show Hint (default: true) * * Return value: * Object loaded * * Example: * [object, vehicle] call ace_cargo_fnc_loadItem * * Public: No */ #include "script_component.hpp" private ["_loaded", "_space", "_itemSize"]; params ["_item", "_vehicle", ["_showHint", true, [true]] ]; TRACE_2("params",_item,_vehicle); if !([_item, _vehicle] call FUNC(canLoadItemIn)) exitWith { TRACE_2("canLoadItemIn failed",_item,_vehicle); false }; _loaded = _vehicle getVariable [QGVAR(loaded), []]; _loaded pushback _item; _vehicle setVariable [QGVAR(loaded), _loaded, true]; TRACE_1("added to loaded array",_loaded); _space = [_vehicle] call FUNC(getCargoSpaceLeft); _itemSize = [_item] call FUNC(getSizeItem); _vehicle setVariable [QGVAR(space), _space - _itemSize, true]; detach _item; _item attachTo [_vehicle,[0,0,100]]; ["hideObjectGlobal", [_item, true]] call EFUNC(common,serverEvent); // show hint private ["_itemName", "_vehicleName"]; _itemName = getText (configFile >> "CfgVehicles" >> typeOf _item >> "displayName"); _vehicleName = getText (configFile >> "CfgVehicles" >> typeOf _vehicle >> "displayName"); if (_showHint) then { ["displayTextStructured", [[localize LSTRING(LoadedItem), _itemName, _vehicleName], 3.0]] call EFUNC(common,localEvent); }; // Invoke listenable event ["cargoLoaded", [_item, _vehicle]] call EFUNC(common,globalEvent); true