mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Make array of cargo holders dynamic (#5274)
This commit is contained in:
parent
183eaaecdc
commit
feee7f5e1e
@ -8,5 +8,6 @@ PREP_RECOMPILE_END;
|
|||||||
|
|
||||||
GVAR(initializedItemClasses) = [];
|
GVAR(initializedItemClasses) = [];
|
||||||
GVAR(initializedVehicleClasses) = [];
|
GVAR(initializedVehicleClasses) = [];
|
||||||
|
GVAR(cargoHolderTypes) = ["Car", "Air", "Tank", "Ship", "Cargo_base_F", "Land_PaperBox_closed_F"];
|
||||||
|
|
||||||
ADDON = true;
|
ADDON = true;
|
||||||
|
@ -40,6 +40,6 @@ private _actions = [];
|
|||||||
private _action = [format ["%1", _x], _name, _icon, _statement, {true}, {}, [_x]] call EFUNC(interact_menu,createAction);
|
private _action = [format ["%1", _x], _name, _icon, _statement, {true}, {}, [_x]] call EFUNC(interact_menu,createAction);
|
||||||
_actions pushBack [_action, [], _target];
|
_actions pushBack [_action, [], _target];
|
||||||
};
|
};
|
||||||
} forEach (nearestObjects [_player, CARGO_VEHICLE_CLASSES, MAX_LOAD_DISTANCE]);
|
} forEach (nearestObjects [_player, GVAR(cargoHolderTypes), MAX_LOAD_DISTANCE]);
|
||||||
|
|
||||||
_actions
|
_actions
|
||||||
|
@ -56,7 +56,7 @@ private _condition = {
|
|||||||
private _hasCargoPublic = _x getVariable [QGVAR(hasCargo), false];
|
private _hasCargoPublic = _x getVariable [QGVAR(hasCargo), false];
|
||||||
private _hasCargoConfig = getNumber (configFile >> "CfgVehicles" >> _type >> QGVAR(hasCargo)) == 1;
|
private _hasCargoConfig = getNumber (configFile >> "CfgVehicles" >> _type >> QGVAR(hasCargo)) == 1;
|
||||||
(_hasCargoPublic || _hasCargoConfig) && {_x != _target}
|
(_hasCargoPublic || _hasCargoConfig) && {_x != _target}
|
||||||
} count (nearestObjects [_player, CARGO_VEHICLE_CLASSES, MAX_LOAD_DISTANCE])}
|
} count (nearestObjects [_player, GVAR(cargoHolderTypes), MAX_LOAD_DISTANCE])}
|
||||||
};
|
};
|
||||||
private _statement = {
|
private _statement = {
|
||||||
params ["_target", "_player"];
|
params ["_target", "_player"];
|
||||||
|
@ -27,6 +27,16 @@ private _hasCargoConfig = getNumber (configFile >> "CfgVehicles" >> _type >> QGV
|
|||||||
// Nothing to do here if vehicle has no cargo space
|
// Nothing to do here if vehicle has no cargo space
|
||||||
if !(_hasCargoConfig || _hasCargoPublic) exitWith {};
|
if !(_hasCargoConfig || _hasCargoPublic) exitWith {};
|
||||||
|
|
||||||
|
// Check if cargo is in cargo holder types (checked when trying to search for loadable objects)
|
||||||
|
private _addCargoType = true;
|
||||||
|
{
|
||||||
|
if (_type isKindOf _x) exitWith {_addCargoType = false};
|
||||||
|
} forEach GVAR(cargoHolderTypes);
|
||||||
|
TRACE_2("",_addCargoType,_type);
|
||||||
|
if (_addCargoType) then {
|
||||||
|
GVAR(cargoHolderTypes) pushBack _type;
|
||||||
|
};
|
||||||
|
|
||||||
// Vehicle can have default ace cargo in its config
|
// Vehicle can have default ace cargo in its config
|
||||||
if (isServer) then {
|
if (isServer) then {
|
||||||
{
|
{
|
||||||
|
@ -24,7 +24,7 @@ private _vehicle = _cargoVehicle;
|
|||||||
if (isNull _vehicle) then {
|
if (isNull _vehicle) then {
|
||||||
{
|
{
|
||||||
if ([_object, _x] call FUNC(canLoadItemIn)) exitWith {_vehicle = _x};
|
if ([_object, _x] call FUNC(canLoadItemIn)) exitWith {_vehicle = _x};
|
||||||
} forEach (nearestObjects [_player, CARGO_VEHICLE_CLASSES, MAX_LOAD_DISTANCE]);
|
} forEach (nearestObjects [_player, GVAR(cargoHolderTypes), MAX_LOAD_DISTANCE]);
|
||||||
};
|
};
|
||||||
|
|
||||||
if (isNull _vehicle) exitWith {
|
if (isNull _vehicle) exitWith {
|
||||||
|
@ -18,8 +18,6 @@
|
|||||||
|
|
||||||
#define MAX_LOAD_DISTANCE 10
|
#define MAX_LOAD_DISTANCE 10
|
||||||
|
|
||||||
#define CARGO_VEHICLE_CLASSES ["Car", "Air", "Tank", "Ship", "Cargo_base_F", "Land_PaperBox_closed_F"]
|
|
||||||
|
|
||||||
#define GET_NUMBER(config,default) (if (isNumber (config)) then {getNumber (config)} else {default})
|
#define GET_NUMBER(config,default) (if (isNumber (config)) then {getNumber (config)} else {default})
|
||||||
|
|
||||||
// Default cargo size is -1 as 0 is a valid size
|
// Default cargo size is -1 as 0 is a valid size
|
||||||
|
Loading…
Reference in New Issue
Block a user