2018-09-17 19:19:29 +00:00
|
|
|
#include "script_component.hpp"
|
2015-08-18 21:41:25 +00:00
|
|
|
/*
|
|
|
|
* Author: Jonpas
|
|
|
|
* Adds spare parts to the vehicle. Before SettingsInitialized only collect for later execution.
|
|
|
|
*
|
|
|
|
* Arguments:
|
|
|
|
* 0: Vehicle <OBJECT>
|
|
|
|
* 1: Amount <NUMBER> (default: 1)
|
|
|
|
* 2: Spare Part Classname <STRING> (default: "")
|
|
|
|
* 3: Force (add even if setting is disabled) <BOOL> (default: false)
|
|
|
|
*
|
|
|
|
* Return Value:
|
|
|
|
* None
|
|
|
|
*
|
|
|
|
* Example:
|
2015-08-18 21:43:34 +00:00
|
|
|
* [vehicle] call ace_repair_fnc_addSpareParts
|
2015-08-18 21:41:25 +00:00
|
|
|
*
|
|
|
|
* Public: No
|
|
|
|
*/
|
|
|
|
|
|
|
|
params ["_vehicle", ["_amount", 1], ["_part", ""], ["_force", false]];
|
|
|
|
TRACE_2("params",_vehicle,_amount);
|
|
|
|
|
2016-05-12 19:49:45 +00:00
|
|
|
// Exit if ace_cargo is not loaded or no part supplied
|
|
|
|
if (!(["ace_cargo"] call EFUNC(common,isModLoaded)) || {_part == ""}) exitWith {};
|
2015-08-18 21:41:25 +00:00
|
|
|
|
|
|
|
// Collect until SettingsInitialized
|
2015-09-05 17:33:25 +00:00
|
|
|
if (!EGVAR(common,settingsInitFinished)) exitWith {
|
|
|
|
EGVAR(common,runAtSettingsInitialized) pushBack [FUNC(addSpareParts), _this];
|
2015-08-18 21:41:25 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
// Exit if not forced and add spare parts is disabled (after settings initted to make sure it really is)
|
|
|
|
if (!_force && !GVAR(addSpareParts)) exitWith {};
|
|
|
|
|
|
|
|
// Load
|
2016-08-03 18:44:04 +00:00
|
|
|
[{
|
|
|
|
["ace_addCargo", _this] call CBA_fnc_localEvent;
|
|
|
|
}, [_part, _vehicle, _amount]] call CBA_fnc_execNextFrame;
|