ACE3/addons/flags/functions/fnc_addActions.sqf

57 lines
1.3 KiB
Plaintext
Raw Normal View History

2022-06-10 19:46:06 +00:00
#include "script_component.hpp"
/*
* Author: Timi007
* Adds the child actions for placing and carring flags.
*
* Arguments:
* 0: Player <OBJECT>
*
* Return Value:
* Actions <ARRAY>
*
* Example:
* [player] call ace_flags_fnc_addActions
*
* Public: No
*/
params ["_player"];
private _actions = [];
{
(GVAR(flagItemCache) get _x) params ["_displayName", "_texture", "_actionIconPlace", "_actionIconCarry"];
// Place flag
_actions pushBack [
[
"place_" + _x,
2022-06-10 20:14:41 +00:00
format [LLSTRING(place), _displayName],
2022-06-10 19:46:06 +00:00
_actionIconPlace,
{[_this select 0, _this select 2] call FUNC(placeFlag)},
{true},
{},
_x
] call EFUNC(interact_menu,createAction),
[],
_player
];
// Carry flag
_actions pushBack [
[
"carry_" + _x,
2022-06-10 20:14:41 +00:00
format [LLSTRING(carry), _displayName],
2022-06-10 19:46:06 +00:00
_actionIconCarry,
{[_this select 0, _this select 2] call FUNC(carryFlag)},
{!([_this select 1] call FUNC(carriesFlag))}, // Should not carry flag already
{},
_x
] call EFUNC(interact_menu,createAction),
[],
_player
];
} forEach ([_player] call FUNC(getFlags));
_actions