ACE3/addons/cargo/functions/fnc_canLoad.sqf

37 lines
959 B
Plaintext
Raw Normal View History

2015-08-10 21:07:47 +00:00
/*
* Author: Glowbal
2015-08-16 20:41:35 +00:00
* Check if player can load an item into the nearest vehicle.
2015-08-10 21:07:47 +00:00
*
* Arguments:
* 0: Player <OBJECT>
* 1: Object to load <OBJECT>
*
* Return value:
* Can load <BOOL>
*
2015-08-16 20:41:35 +00:00
* Example:
* [player, object] call ace_cargo_fnc_canLoad
*
2015-08-10 21:07:47 +00:00
* Public: No
*/
#include "script_component.hpp"
params ["_player", "_object"];
2016-01-19 03:53:48 +00:00
TRACE_2("params",_player,_object);
2015-08-10 21:07:47 +00:00
2015-08-26 21:26:08 +00:00
if (!([_player, _object, []] call EFUNC(common,canInteractWith))) exitWith {false};
2016-01-19 03:53:48 +00:00
private _nearestVehicle = [_player] call FUNC(findNearestVehicle);
2015-08-14 20:01:14 +00:00
if (_nearestVehicle isKindOf "Cargo_Base_F" || isNull _nearestVehicle) then {
{
2015-08-16 20:41:35 +00:00
if ([_object, _x] call FUNC(canLoadItemIn)) exitWith {_nearestVehicle = _x};
} forEach (nearestObjects [_player, ["Cargo_base_F", "Land_PaperBox_closed_F"], MAX_LOAD_DISTANCE]);
2015-08-14 20:01:14 +00:00
};
2015-08-16 20:41:35 +00:00
if (isNull _nearestVehicle) exitWith {false};
2015-08-10 21:07:47 +00:00
if ((locked _nearestVehicle) >= 2) exitWith {false};
[_object, _nearestVehicle] call FUNC(canLoadItemIn)