BIS fnc holdActionAdd: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Added an icon from AOW (pointed out by Trager on Discord))
(Add addAction icons, thanks to Trager)
Line 12: Line 12:
|descr= Adds an action to an object which requires the user to hold a key to perform the action.<br>
|descr= Adds an action to an object which requires the user to hold a key to perform the action.<br>
Available official icons as of {{GVI|arma3|2.02}}:
Available official icons as of {{GVI|arma3|2.02}}:
<spoiler text="Show list">
* <spoiler text="Show holdActionAdd list">
[[File:A3 HoldActionIcons v2.02.png|thumb|Note: This image does not contain all available icons.|left|500px]] {{Clear}}
Full list:
* "\a3\Missions_F_Orange\Data\Img\Showcase_LawsOfWar\action_access_fm_CA.paa"
* "\a3\Missions_F_Orange\Data\Img\Showcase_LawsOfWar\action_access_fm_CA.paa"
* "\a3\Missions_F_Orange\Data\Img\Showcase_LawsOfWar\action_end_sim_CA.paa"
* "\a3\Missions_F_Orange\Data\Img\Showcase_LawsOfWar\action_end_sim_CA.paa"
Line 61: Line 59:
* "\a3\ui_f_aow\data\igui\cfg\holdactions\holdaction_charity_ca.paa"
* "\a3\ui_f_aow\data\igui\cfg\holdactions\holdaction_charity_ca.paa"
</spoiler>
</spoiler>
* <spoiler text="Show addAction list">
* "\a3\ui_f\data\igui\cfg\actions\takeflag_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\talk_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\unloadallvehicles_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\unloadincapacitated_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\unloadvehicle_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\vtolvectoring_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\vtolvectoringcancel_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\arrow_down_gs.paa"
* "\a3\ui_f\data\igui\cfg\actions\arrow_up_gs.paa"
* "\a3\ui_f\data\igui\cfg\actions\autohover_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\bandage_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\beacons_off_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\beacons_on_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\cancelhover_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\clear_empty_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\close_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\eject_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\engine_off_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\engine_on_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\flapsextend_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\flapsretract_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\gear_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\getincargo_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\getincommander_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\getindriver_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\getingunner_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\getinpilot_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\getout_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\heal_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\ico_cpt_batt_off_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\ico_cpt_batt_on_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\ico_cpt_brk_on_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\ico_cpt_col_off_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\ico_cpt_col_on_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\ico_cpt_land_off_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\ico_cpt_land_on_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\ico_cpt_start_off_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\ico_cpt_start_on_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\ico_cpt_thtl_idl_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\ico_cpt_thtl_off_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\ico_cpt_thtl_on_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\ico_off_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\ico_on_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\ladderdown_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\ladderoff_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\ladderup_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\landingautopilot_off_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\landingautopilot_on_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\loadvehicle_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\open_door_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\periscopedepth_off_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\periscopedepth_on_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\radaroff_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\radaron_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\reammo_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\refuel_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\reload_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\repair_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\returnflag_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\settimer_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\take_ca.paa"


|s1= [target, title, idleIcon, progressIcon, conditionShow, conditionProgress, codeStart, codeProgress, codeCompleted, codeInterrupted, arguments, duration, priority, ''removeCompleted, showUnconscious, showWindow''] call [[BIS_fnc_holdActionAdd]]
* "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_arrow_up_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_cancel_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_cancel_manualfire_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_deactivate_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_enter_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_exit_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_fire_in_flame_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_fire_put_down_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_gear_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_getin_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_getincargo.paa"
* "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_ladderondown_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_ladderonup_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_manualfire_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_open_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_takemagazine_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_takemine_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_takeweapon_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_teamswitch_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_turnin_ca.paa"
* "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_turnout_ca.paa"


|p1= target: [[Object]] - Object the action is attached to
* "\a3\ui_f_jets\data\igui\cfg\actions\action_attachtocatapult_ca.paa"
* "\a3\ui_f_jets\data\igui\cfg\actions\action_detachtocatapult_ca.paa"
* "\a3\ui_f_jets\data\igui\cfg\actions\action_launchfromcatapult_ca.paa"
</spoiler>
 
|s1= [target, title, idleIcon, progressIcon, conditionShow, conditionProgress, codeStart, codeProgress, codeCompleted, codeInterrupted, arguments, duration, priority, removeCompleted, showUnconscious, showWindow] call [[BIS_fnc_holdActionAdd]]
 
|p1= target: [[Object]] - object the action is attached to


|p2= title: [[String]] - Title of the action shown in the action menu.It can contain [[Structured Text]] tags, such as {{ic|&lt;t color{{=}}'#FFAA00'&gt;text&lt;/t&gt;}}
|p2= title: [[String]] - title of the action shown in the action menu.It can contain [[Structured Text]] tags, such as {{ic|&lt;t color{{=}}'#FFAA00'&gt;text&lt;/t&gt;}}


|p3= idleIcon: [[String]] - Path of the idle icon shown on screen
|p3= idleIcon: [[String]] - (Optional, default "\A3\Ui_f\data\IGUI\Cfg\HoldActions\holdAction_revive_ca.paa") path of the idle icon shown on screen


|p4= progressIcon: [[String]] - Path of the progress icon shown on screen
|p4= progressIcon: [[String]] - (Optional, default "\A3\Ui_f\data\IGUI\Cfg\HoldActions\holdAction_revive_ca.paa") path of the progress icon shown on screen


|p5= conditionShow: [[String]] - Condition for the action to be shown.<br>
|p5= conditionShow: [[String]] - (Optional, default "true") condition for the action to be shown.<br>
Special arguments passed to the code: _target (action-attached object), _this (caller/executing unit)
Special arguments passed to the code: _target (action-attached object), _this (caller/executing unit)


|p6= conditionProgress: [[String]] - Condition for the action to progress; if false is returned action progress is paused.<br>
|p6= conditionProgress: [[String]] - (Optional, default "true") condition for the action to progress; if false is returned action progress is paused.<br>
Special arguments passed to the code: _target, _caller, _id, _arguments
Special arguments passed to the code: _target, _caller, _id, _arguments


|p7= codeStart: [[Code]] - Code executed when action starts. Passed arguments are:
|p7= codeStart: [[Code]] - (Optional, default {{ic|{}<nowiki/>}}) code executed when action starts. Passed arguments are:
<syntaxhighlight lang="cpp">params ["_target", "_caller", "_actionId", "_arguments"];</syntaxhighlight>
<syntaxhighlight lang="cpp">params ["_target", "_caller", "_actionId", "_arguments"];</syntaxhighlight>
* target: [[Object]] - the object which the action is assigned to
* target: [[Object]] - the object which the action is assigned to
Line 85: Line 172:
* arguments: [[Array]] - arguments given to the function
* arguments: [[Array]] - arguments given to the function


|p8= codeProgress: [[Code]] - Code executed on every progress tick. Passed arguments are:
|p8= codeProgress: [[Code]] - (Optional, default {{ic|{}<nowiki/>}}) code executed on every progress tick. Passed arguments are:
<syntaxhighlight lang="cpp">params ["_target", "_caller", "_actionId", "_arguments", "_progress", "_maxProgress"];</syntaxhighlight>
<syntaxhighlight lang="cpp">params ["_target", "_caller", "_actionId", "_arguments", "_progress", "_maxProgress"];</syntaxhighlight>
* target: [[Object]] - the object which the action is assigned to
* target: [[Object]] - the object which the action is assigned to
Line 94: Line 181:
* maxProgress: [[Number]] - max progress (24)
* maxProgress: [[Number]] - max progress (24)


|p9= codeCompleted: [[Code]] - code executed on completion. Passed arguments are:
|p9= codeCompleted: [[Code]] - (Optional, default {{ic|{}<nowiki/>}}) code executed on completion. Passed arguments are:
<syntaxhighlight lang="cpp">params ["_target", "_caller", "_actionId", "_arguments"]; // same as codeStart</syntaxhighlight>
<syntaxhighlight lang="cpp">params ["_target", "_caller", "_actionId", "_arguments"]; // same as codeStart</syntaxhighlight>


|p10= codeInterrupted: [[Code]] - code executed on interrupted. Passed arguments are:  
|p10= codeInterrupted: [[Code]] - (Optional, default {{ic|{}<nowiki/>}}) code executed on interrupted. Passed arguments are:  
<syntaxhighlight lang="cpp">params ["_target", "_caller", "_actionId", "_arguments"]; // same as codeCompleted</syntaxhighlight>
<syntaxhighlight lang="cpp">params ["_target", "_caller", "_actionId", "_arguments"]; // same as codeCompleted</syntaxhighlight>


|p11= arguments: [[Array]] - arguments passed to '''codeStart''', '''codeProgress''', '''codeCompleted''' and '''codeInterrupted''' in format:
|p11= arguments: [[Array]] - (Optional, default []) arguments passed to '''codeStart''', '''codeProgress''', '''codeCompleted''' and '''codeInterrupted''' (max 10) in format:
<syntaxhighlight lang="cpp">params ["_a0","_a1","_a2","_a3","_a4","_a5","_a6","_a7","_a8","_a9","_target","_title","_iconIdle","_iconProgress","_condShow","_condProgress","_codeStart","_codeProgress","_codeCompleted","_codeInterrupted","_duration","_removeCompleted"];</syntaxhighlight> where {{ic|_a0 - _a9}} can be custom arguments
<syntaxhighlight lang="cpp">params ["_a0","_a1","_a2","_a3","_a4","_a5","_a6","_a7","_a8","_a9","_target","_title","_iconIdle","_iconProgress","_condShow","_condProgress","_codeStart","_codeProgress","_codeCompleted","_codeInterrupted","_duration","_removeCompleted"];</syntaxhighlight> where {{ic|_a0 - _a9}} can be custom arguments


|p12= duration: [[Number]] - action duration, i.e. how much time it takes to complete the action
|p12= duration: [[Number]] - (Optional, default 10) action duration, i.e. how much time it takes to complete the action


|p13= priority: [[Number]] - priority value; actions are arranged in descending order according to this value
|p13= priority: [[Number]] - (Optional, default 1000) priority value; actions are arranged in descending order according to this value


|p14= removeCompleted: [[Boolean]] - (Optional, default [[true]]) remove on completion
|p14= removeCompleted: [[Boolean]] - (Optional, default [[true]]) remove on completion
Line 113: Line 200:
|p16= showWindow: [[Boolean]] - (Optional, default [[true]]) show on screen; if false action needs to be selected from action menu to appear on screen
|p16= showWindow: [[Boolean]] - (Optional, default [[true]]) show on screen; if false action needs to be selected from action menu to appear on screen


|r1= [[Number]] - Action ID
|r1= [[Number]] - action ID


|x1= <code>[<nowiki/>[[player]], "Kill", "", "", "[[true]]", "[[true]]", { [[hint]] "Started!" }, { [[systemChat]] [[str]] ([[Magic Variables#this|_this]] [[select]] 3) }, { [[player]] [[setDamage]] 1 }, { [[hint]] "Afraid of death?" }, [], 10, [[nil]], [[true]], [[false]]] [[call]] [[BIS_fnc_holdActionAdd]];</code>
|x1= <code>[
[[player]],
"Kill",
"", "",
"[[true]]", "[[true]]",
{ [[hint]] "Started!" },
{ [[systemChat]] [[str]] ([[Magic Variables#this|_this]] [[select]] 3) },
{ [[player]] [[setDamage]] 1 },
{ [[hint]] "Afraid of death?" },
[], 10, [[nil]], [[true]], [[false]]
] [[call]] [[BIS_fnc_holdActionAdd]];</code>


|x2= <code>[
|x2= <code>{{cc|adds the action to every client and JIP, but also adds it when it was already removed. E.g., Laptop has already been hacked by a player}}
[
_myLaptop, {{cc|Object the action is attached to}}
_myLaptop, {{cc|Object the action is attached to}}
"Hack Laptop", {{cc|Title of the action}}
"Hack Laptop", {{cc|Title of the action}}
Line 138: Line 236:
}}
}}


<dl class="command_description">
{{Note
 
|user= R3vo
<dt><dt>
|timestamp= 20210401234400
<dd class="notedate">Posted on August 4, 2019 - 10:46 (UTC)</dd>
|text= A repository with icons:
<dt class="note">[[User:R3vo|R3vo]]</dt>
<dd class="note">
Keep in mind that '''Example 2''' adds the action to every client and JIP, but also adds it when it was already removed. E.g., Laptop has already been hacked by a player.
</dd>
 
<dt></dt>
<dd class="notedate">Posted on April 1, 2021 - 23:44 (UTC)</dd>
<dt class="note">[[User:R3vo|R3vo]]</dt>
<dd class="note">
A repository with icons:
{{Feature|quote|I've converted all of the icons from the Tasking Overhaul to follow the Hold Action format, as well as a few others I've made myself. They're available on [https://github.com/Kalthramis/Arma3/tree/master/holdAction-TaskType-Icons GitHub].|{{User|Kalthramis}}}}
{{Feature|quote|I've converted all of the icons from the Tasking Overhaul to follow the Hold Action format, as well as a few others I've made myself. They're available on [https://github.com/Kalthramis/Arma3/tree/master/holdAction-TaskType-Icons GitHub].|{{User|Kalthramis}}}}
</dd>
}}
 
</dl>

Revision as of 10:16, 16 February 2022

Hover & click on the images for description

Description

Description:
Adds an action to an object which requires the user to hold a key to perform the action.
Available official icons as of Arma 3 logo black.png2.02:
    • "\a3\Missions_F_Orange\Data\Img\Showcase_LawsOfWar\action_access_fm_CA.paa"
    • "\a3\Missions_F_Orange\Data\Img\Showcase_LawsOfWar\action_end_sim_CA.paa"
    • "\a3\Missions_F_Orange\Data\Img\Showcase_LawsOfWar\action_exit_CA.paa"
    • "\a3\Missions_F_Orange\Data\Img\Showcase_LawsOfWar\action_start_sim_CA.paa"
    • "\a3\Missions_F_Orange\Data\Img\Showcase_LawsOfWar\action_view_article_CA.paa"
    • "\a3\data_f_destroyer\data\UI\IGUI\Cfg\holdactions\holdAction_loadVehicle_ca.paa"
    • "\a3\data_f_destroyer\data\UI\IGUI\Cfg\holdactions\holdAction_unloadVehicle_ca.paa"
    • "\a3\missions_f_oldman\data\img\holdactions\holdAction_box_ca.paa"
    • "\a3\missions_f_oldman\data\img\holdactions\holdAction_follow_start_ca.paa"
    • "\a3\missions_f_oldman\data\img\holdactions\holdAction_follow_stop_ca.paa"
    • "\a3\missions_f_oldman\data\img\holdactions\holdAction_talk_ca.paa"
    • "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa"
    • "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_forceRespawn_ca.paa"
    • "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_hack_ca.paa"
    • "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_loaddevice_ca.paa"
    • "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_passleadership_ca.paa"
    • "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_requestleadership_ca.paa"
    • "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_reviveMedic_ca.paa"
    • "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_revive_ca.paa"
    • "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_search_ca.paa"
    • "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_secure_ca.paa"
    • "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_takeOff1_ca.paa"
    • "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_takeOff2_ca.paa"
    • "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_thumbsdown_ca.paa"
    • "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_thumbsup_ca.paa"
    • "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_unbind_ca.paa"
    • "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_unloaddevice_ca.paa"
    • "\a3\ui_f_oldman\data\IGUI\Cfg\holdactions\attack_ca.paa"
    • "\a3\ui_f_oldman\data\IGUI\Cfg\holdactions\destroy_ca.paa"
    • "\a3\ui_f_oldman\data\IGUI\Cfg\holdactions\holdAction_market_ca.paa"
    • "\a3\ui_f_oldman\data\IGUI\Cfg\holdactions\holdAction_sleep2_ca.paa"
    • "\a3\ui_f_oldman\data\IGUI\Cfg\holdactions\holdAction_sleep_ca.paa"
    • "\a3\ui_f_oldman\data\IGUI\Cfg\holdactions\map_ca.paa"
    • "\a3\ui_f_oldman\data\IGUI\Cfg\holdactions\meet_ca.paa"
    • "\a3\ui_f_oldman\data\IGUI\Cfg\holdactions\refuel_ca.paa"
    • "\a3\ui_f_oldman\data\IGUI\Cfg\holdactions\repair_ca.paa"
    • "\a3\ui_f_orange\Data\CfgOrange\Missions\action_aaf_ca.paa"
    • "\a3\ui_f_orange\Data\CfgOrange\Missions\action_csat_ca.paa"
    • "\a3\ui_f_orange\Data\CfgOrange\Missions\action_escape_ca.paa"
    • "\a3\ui_f_orange\Data\CfgOrange\Missions\action_fia_ca.paa"
    • "\a3\ui_f_orange\Data\CfgOrange\Missions\action_fragment_back_ca.paa"
    • "\a3\ui_f_orange\Data\CfgOrange\Missions\action_fragment_ca.paa"
    • "\a3\ui_f_orange\Data\CfgOrange\Missions\action_idap_ca.paa"
    • "\a3\ui_f_orange\Data\CfgOrange\Missions\action_nato_ca.paa"
    • "\a3\ui_f_aow\data\igui\cfg\holdactions\holdaction_charity_ca.paa"
    ↑ Back to spoiler's top
    • "\a3\ui_f\data\igui\cfg\actions\takeflag_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\talk_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\unloadallvehicles_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\unloadincapacitated_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\unloadvehicle_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\vtolvectoring_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\vtolvectoringcancel_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\arrow_down_gs.paa"
    • "\a3\ui_f\data\igui\cfg\actions\arrow_up_gs.paa"
    • "\a3\ui_f\data\igui\cfg\actions\autohover_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\bandage_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\beacons_off_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\beacons_on_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\cancelhover_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\clear_empty_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\close_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\eject_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\engine_off_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\engine_on_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\flapsextend_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\flapsretract_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\gear_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\getincargo_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\getincommander_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\getindriver_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\getingunner_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\getinpilot_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\getout_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\heal_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\ico_cpt_batt_off_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\ico_cpt_batt_on_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\ico_cpt_brk_on_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\ico_cpt_col_off_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\ico_cpt_col_on_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\ico_cpt_land_off_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\ico_cpt_land_on_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\ico_cpt_start_off_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\ico_cpt_start_on_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\ico_cpt_thtl_idl_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\ico_cpt_thtl_off_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\ico_cpt_thtl_on_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\ico_off_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\ico_on_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\ladderdown_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\ladderoff_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\ladderup_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\landingautopilot_off_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\landingautopilot_on_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\loadvehicle_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\open_door_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\periscopedepth_off_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\periscopedepth_on_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\radaroff_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\radaron_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\reammo_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\refuel_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\reload_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\repair_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\returnflag_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\settimer_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\take_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_arrow_up_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_cancel_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_cancel_manualfire_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_deactivate_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_enter_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_exit_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_fire_in_flame_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_fire_put_down_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_gear_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_getin_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_getincargo.paa"
    • "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_ladderondown_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_ladderonup_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_manualfire_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_open_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_takemagazine_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_takemine_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_takeweapon_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_teamswitch_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_turnin_ca.paa"
    • "\a3\ui_f\data\igui\cfg\actions\obsolete\ui_action_turnout_ca.paa"
    • "\a3\ui_f_jets\data\igui\cfg\actions\action_attachtocatapult_ca.paa"
    • "\a3\ui_f_jets\data\igui\cfg\actions\action_detachtocatapult_ca.paa"
    • "\a3\ui_f_jets\data\igui\cfg\actions\action_launchfromcatapult_ca.paa"
    ↑ Back to spoiler's top
Execution:
call
Groups:
Interaction

Syntax

Syntax:
[target, title, idleIcon, progressIcon, conditionShow, conditionProgress, codeStart, codeProgress, codeCompleted, codeInterrupted, arguments, duration, priority, removeCompleted, showUnconscious, showWindow] call BIS_fnc_holdActionAdd
Parameters:
target: Object - object the action is attached to
title: String - title of the action shown in the action menu.It can contain Structured Text tags, such as <t color='#FFAA00'>text</t>
idleIcon: String - (Optional, default "\A3\Ui_f\data\IGUI\Cfg\HoldActions\holdAction_revive_ca.paa") path of the idle icon shown on screen
progressIcon: String - (Optional, default "\A3\Ui_f\data\IGUI\Cfg\HoldActions\holdAction_revive_ca.paa") path of the progress icon shown on screen
conditionShow: String - (Optional, default "true") condition for the action to be shown.
Special arguments passed to the code: _target (action-attached object), _this (caller/executing unit)
conditionProgress: String - (Optional, default "true") condition for the action to progress; if false is returned action progress is paused.
Special arguments passed to the code: _target, _caller, _id, _arguments
codeStart: Code - (Optional, default {}) code executed when action starts. Passed arguments are:
params ["_target", "_caller", "_actionId", "_arguments"];
  • target: Object - the object which the action is assigned to
  • caller: Object - the unit that activated the action
  • actionId: Number - ID of the activated action (same as ID returned by addAction)
  • arguments: Array - arguments given to the function
codeProgress: Code - (Optional, default {}) code executed on every progress tick. Passed arguments are:
params ["_target", "_caller", "_actionId", "_arguments", "_progress", "_maxProgress"];
  • target: Object - the object which the action is assigned to
  • caller: Object - the unit that activated the action
  • actionId: Number - ID of the activated action (same as ID returned by addAction)
  • arguments: Array - arguments given to the function
  • progress: Number - currentProgress; progress goes from 1 to 24
  • maxProgress: Number - max progress (24)
codeCompleted: Code - (Optional, default {}) code executed on completion. Passed arguments are:
params ["_target", "_caller", "_actionId", "_arguments"]; // same as codeStart
codeInterrupted: Code - (Optional, default {}) code executed on interrupted. Passed arguments are:
params ["_target", "_caller", "_actionId", "_arguments"]; // same as codeCompleted
arguments: Array - (Optional, default []) arguments passed to codeStart, codeProgress, codeCompleted and codeInterrupted (max 10) in format:
params ["_a0","_a1","_a2","_a3","_a4","_a5","_a6","_a7","_a8","_a9","_target","_title","_iconIdle","_iconProgress","_condShow","_condProgress","_codeStart","_codeProgress","_codeCompleted","_codeInterrupted","_duration","_removeCompleted"];
where _a0 - _a9 can be custom arguments
duration: Number - (Optional, default 10) action duration, i.e. how much time it takes to complete the action
priority: Number - (Optional, default 1000) priority value; actions are arranged in descending order according to this value
removeCompleted: Boolean - (Optional, default true) remove on completion
showUnconscious: Boolean - (Optional, default false) show in unconscious state
showWindow: Boolean - (Optional, default true) show on screen; if false action needs to be selected from action menu to appear on screen
Return Value:
Number - action ID

Examples

Example 1:
[ player, "Kill", "", "", "true", "true", { hint "Started!" }, { systemChat str (_this select 3) }, { player setDamage 1 }, { hint "Afraid of death?" }, [], 10, nil, true, false ] call BIS_fnc_holdActionAdd;
Example 2:
// adds the action to every client and JIP, but also adds it when it was already removed. E.g., Laptop has already been hacked by a player [ _myLaptop, // Object the action is attached to "Hack Laptop", // Title of the action "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa", // Idle icon shown on screen "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa", // Progress icon shown on screen "_this distance _target < 3", // Condition for the action to be shown "_caller distance _target < 3", // Condition for the action to progress {}, // Code executed when action starts {}, // Code executed on every progress tick { _this call MY_fnc_hackingCompleted }, // Code executed on completion {}, // Code executed on interrupted [], // Arguments passed to the scripts as _this select 3 12, // Action duration in seconds 0, // Priority true, // Remove on completion false // Show in unconscious state ] remoteExec ["BIS_fnc_holdActionAdd", 0, _myLaptop]; // MP compatible implementation

Additional Information

See also:
BIS_fnc_holdActionRemove BIS_fnc_holdKey

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
R3vo - c
Posted on Apr 01, 2021 - 23:44 (UTC)
A repository with icons:
«
« I've converted all of the icons from the Tasking Overhaul to follow the Hold Action format, as well as a few others I've made myself. They're available on GitHub. » – Kalthramis