ACE3/addons/attach/functions/fnc_canAttach.sqf

31 lines
1021 B
Plaintext
Raw Normal View History

2015-01-11 20:39:49 +00:00
/*
* Author: commy2
* Check if a unit can attach a specific item.
2015-02-01 20:56:19 +00:00
*
* Arguments:
* 0: vehicle that it will be attached to (player or vehicle) <OBJECT>
* 1: unit doing the attach (player) <OBJECT>
* 2: Array empty or containing a string of the attachable item <ARRAY>
2015-02-01 20:56:19 +00:00
*
* Return Value:
2015-03-27 17:08:05 +00:00
* Can Attach <BOOL>
2015-02-01 20:56:19 +00:00
*
* Example:
2015-03-27 17:08:05 +00:00
* [bob, bob, ["light"]] call ace_attach_fnc_canAttach;
2015-02-01 20:56:19 +00:00
*
* Public: No
2015-01-11 20:39:49 +00:00
*/
2015-02-01 20:56:19 +00:00
#include "script_component.hpp"
2015-01-11 20:39:49 +00:00
PARAMS_3(_attachToVehicle,_player,_args);
2015-01-11 20:39:49 +00:00
2015-04-16 17:36:12 +00:00
private ["_itemName", "_attachLimit", "_attachedObjects","_playerPos"];
2015-01-11 20:39:49 +00:00
_itemName = [_args, 0, ""] call CBA_fnc_defaultParam;
_attachLimit = [6, 1] select (_player == _attachToVehicle);
2015-02-15 14:31:09 +00:00
_attachedObjects = _attachToVehicle getVariable [QGVAR(Objects), []];
_playerPos = (ACE_player modelToWorldVisual (ACE_player selectionPosition "pilot"));
2015-03-27 16:14:04 +00:00
(canStand _player) && {(_attachToVehicle distance _player) < 7} && {alive _attachToVehicle} && {(count _attachedObjects) < _attachLimit} && {_itemName in ((itemsWithMagazines _player) + [""])};