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
|
|
|
|
*/
|
|
|
|
#include "script_component.hpp"
|
|
|
|
|
|
|
|
private ["_part"];
|
|
|
|
params ["_vehicle", ["_amount", 1], ["_part", ""], ["_force", false]];
|
|
|
|
TRACE_2("params",_vehicle,_amount);
|
|
|
|
|
|
|
|
// Exit if ace_cargo is not loaded
|
|
|
|
if !(["ace_cargo"] call EFUNC(common,isModLoaded)) exitWith {};
|
|
|
|
|
|
|
|
// 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 {};
|
|
|
|
|
|
|
|
// Select appropriate part
|
|
|
|
if (_part == "") then {
|
|
|
|
if (_vehicle isKindOf "Car") then { _part = "ACE_Wheel" };
|
|
|
|
if (_vehicle isKindOf "Tank") then { _part = "ACE_Track" };
|
|
|
|
};
|
|
|
|
// Exit if no appropriate part
|
|
|
|
if (_part == "") exitWith {};
|
|
|
|
|
|
|
|
// Load
|
2015-08-26 15:02:29 +00:00
|
|
|
["AddCargoByClass", [_part, _vehicle, _amount]] call EFUNC(common,localEvent);
|