BIS fnc holdActionAdd: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Fix example and remove related comment)
m (typo, example fix)
Line 14: Line 14:
____________________________________________________________________________________________
____________________________________________________________________________________________


| [target,title,idleIcon,progressIcon,condShow,condProgress,codeStart,codeProgress,codeCompleted,codeInterupted,arguments,duration,priority,removeCompleted,showUncon] [[call]] [[BIS_fnc_holdActionAdd]] |= Syntax
| [target, title, idleIcon, progressIcon, conditionShow, conditionProgress, codeStart, codeProgress, codeCompleted, codeInterrupted, arguments, duration, priority(, removeCompleted, showUnconscious)] call [[BIS_fnc_holdActionAdd]] |= Syntax


|p1= target: [[Object]] - Object the action is attached to |= Parameter 1
|p1= target: [[Object]] - Object the action is attached to |= Parameter 1
Line 20: Line 20:
|p2= title: [[String]] - Title of the action shown in the action menu |= Parameter 2
|p2= title: [[String]] - Title of the action shown in the action menu |= Parameter 2


|p3= idleIcon: [[String]] - Pathi of the idle icon shown on screen. The path for vanilla icons is "\a3\ui_f\data\IGUI\Cfg\holdactions\..." (e.g. "holdAction_connect_ca.paa") |= Parameter 3
|p3= idleIcon: [[String]] - Path of the idle icon shown on screen. See [[#Notes|notes]] for a full list of vanilla icons. |= Parameter 3


|p4= progressIcon: [[String]] - Path of the progress icon shown on screen |= Parameter 4
|p4= progressIcon: [[String]] - Path of the progress icon shown on screen |= Parameter 4


|p5= condShow: [[String]] - Condition for the action to be shown. Special variables passed to the script code are _target (unit to which action is attached to) and _this (caller/executing unit)|= Parameter 5
|p5= conditionShow: [[String]] - Condition for the action to be shown.<br />
Special arguments passed to the code: _target (action-attached object), _this (caller/executing unit) |= Parameter 5


|p6= condProgress: [[String]] - Condition for the action to progress.If false is returned action progress is halted; arguments passed into it are: _target, _caller, _id, _arguments |= Parameter 6
|p6= conditionProgress: [[String]] - 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 |= Parameter 6


|p7= codeStart: [[Code]] - Code executed when action starts.<br>
|p7= codeStart: [[Code]] - Code executed when action starts. Special arguments:
                0: [[Object]] - target (_this select 0) - the object which the action is assigned to<br>
* _this select 0: [[Object]] - the object which the action is assigned to
1: [[Object]] - caller (_this select 1) - the unit that activated the action<br>
* _this select 1: [[Object]] - the unit that activated the action
3: [[Number]] - ID (_this select 2) - ID of the activated action (same as ID returned by addAction)<br>
* _this select 2: [[Number]] - ID of the activated action (same as ID returned by addAction)
4: [[Array]] - arguments (_this select 3) - arguments given to the script if you are using the extended syntax |= Parameter 7
* _this select 3: [[Array]] - arguments given to the function |= Parameter 7


|p8= codeProgress: [[Code]] - Code executed on every progress tick; arguments [target, caller, ID, arguments, currentProgress]; max progress is always 24 |= Parameter 8
|p8= codeProgress: [[Code]] - Code executed on every progress tick. Special arguments:
* _this select 0: [[Object]] - the object which the action is assigned to
* _this select 1: [[Object]] - the unit that activated the action
* _this select 2: [[Number]] - ID of the activated action (same as ID returned by addAction)
* _this select 3: [[Array]] - arguments given to the function
* _this select 4: [[Number]] - currentProgress; progress goes from 1 to 24
* _this select 5: [[Number]] - max progress (24) |= Parameter 8


|p9= codeCompleted: [[Code]] - Code executed on completion; arguments [target, caller, ID, arguments] |= Parameter 9
|p9= codeCompleted: [[Code]] - Code executed on completion; arguments [target, caller, ID, arguments] |= Parameter 9


|p10= codeInterupted: [[Code]] - Code executed on interrupted; arguments [target, caller, ID, arguments] |= Parameter 10
|p10= codeInterrupted: [[Code]] - Code executed on interrupted; arguments [target, caller, ID, arguments] |= Parameter 10


|p11= arguments: [[Array]] - Arguments passed to the scripts |= Parameter 11
|p11= arguments: [[Array]] - Arguments passed to the scripts |= Parameter 11
Line 46: Line 54:
|p13= priority: [[Number]] - Priority; actions are arranged in descending order according to this value |= Parameter 13
|p13= priority: [[Number]] - Priority; actions are arranged in descending order according to this value |= Parameter 13


|p14= removeCompleted: [[BOOL]] - Remove on completion (default: true) |= Parameter 14
|p14= removeCompleted (Optional, default: true): [[Boolean]] - Remove on completion |= Parameter 14


|p15= showUncon: [[BOOL]] -Show in unconscious state (default: false)|= Parameter 15
|p15= showUnconscious (Optional, default: false): [[Boolean]] - Show in unconscious state |= Parameter 15


|x1= <code><nowiki>[</nowiki>[[player]], "Kill", "", "", "[[true]]", "[[true]]", { [[hint]] "Started!" }, { [[systemChat]] [[str]] (_this select 4) }, { [[player]] [[setDamage]] 1 }, { [[hint]] "Afraid of death?" }, [], 10, [[nil]], [[true]], [[false]]] [[call]] [[BIS_fnc_holdActionAdd]];</code>
|x1= <code><nowiki>[</nowiki>[[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]];</code>
  |= Example 1
  |= Example 1
|x2= <code>[
|x2= <code>[
    _myLaptop,                                                                           // Object the action is attached to
_myLaptop, {{codecomment|// Object the action is attached to}}
    "Hack Laptop",                                                                       // Title of the action
"Hack Laptop", {{codecomment|// 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", {{codecomment|// Idle icon shown on screen}}
    "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa",                     // Progress icon shown on screen
"\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa", {{codecomment|// Progress icon shown on screen}}
    "_this distance _target < 3",                                                       // Condition for the action to be shown
"_this [[distance]] _target < 3", {{codecomment|// Condition for the action to be shown}}
    "_caller distance _target < 3",                                                     // Condition for the action to progress
"_caller [[distance]] _target < 3", {{codecomment|// Condition for the action to progress}}
    {},                                                                                 // Code executed when action starts
{}, {{codecomment|// Code executed when action starts}}
    {},                                                                                 // Code executed on every progress tick
{}, {{codecomment|// Code executed on every progress tick}}
    {_this [[call]] MY_fnc_hackingCompleted},                                               // Code executed on completion
{ _this [[call]] MY_fnc_hackingCompleted }, {{codecomment|// Code executed on completion}}
    {},                                                                                 // Code executed on interrupted
{}, {{codecomment|// Code executed on interrupted}}
    [],                                                                                 // Arguments passed to the scripts as _this select 3
[], {{codecomment|// Arguments passed to the scripts as _this select 3}}
    12,                                                                                 // Action duration [s]
12, {{codecomment|// Action duration [s]}}
    0,                                                                                   // Priority
0, {{codecomment|// Priority}}
    [[true]],                                                                               // Remove on completion
[[true]], {{codecomment|// Remove on completion}}
    [[false]]                                                                               // Show in unconscious state  
[[false]] {{codecomment|// Show in unconscious state }}
] [[remoteExec]] ["[[BIS_fnc_holdActionAdd]]", [0,2] select [[isDedicated]], _myLaptop];           // example for MP compatible implementation</code>
] [[remoteExec]] ["[[BIS_fnc_holdActionAdd]]", [0,2] select [[isDedicated]], _myLaptop]; {{codecomment|// MP compatible implementation}}</code>
  |= Example 2
  |= Example 2


Line 96: Line 104:
<dt class="note">[[User:Lou Montana|Lou Montana]]</dt>
<dt class="note">[[User:Lou Montana|Lou Montana]]</dt>
<dd class="note">
<dd class="note">
Here's a list of all official icons so far (v1.76) :
A list of all official icons so far (v1.76):
* "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_'''connect'''_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_'''forceRespawn'''_ca.paa"

Revision as of 10:25, 4 April 2018

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.
Execution:
call
Groups:
Uncategorised

Syntax

Syntax:
[target, title, idleIcon, progressIcon, conditionShow, conditionProgress, codeStart, codeProgress, codeCompleted, codeInterrupted, arguments, duration, priority(, removeCompleted, showUnconscious)] call BIS_fnc_holdActionAdd
Parameters:
target: Object - Object the action is attached to
title: String - Title of the action shown in the action menu
idleIcon: String - Path of the idle icon shown on screen. See notes for a full list of vanilla icons.
progressIcon: String - Path of the progress icon shown on screen
conditionShow: String - Condition for the action to be shown.
Special arguments passed to the code: _target (action-attached object), _this (caller/executing unit)
conditionProgress: String - 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 - Code executed when action starts. Special arguments:
  • _this select 0: Object - the object which the action is assigned to
  • _this select 1: Object - the unit that activated the action
  • _this select 2: Number - ID of the activated action (same as ID returned by addAction)
  • _this select 3: Array - arguments given to the function
codeProgress: Code - Code executed on every progress tick. Special arguments:
  • _this select 0: Object - the object which the action is assigned to
  • _this select 1: Object - the unit that activated the action
  • _this select 2: Number - ID of the activated action (same as ID returned by addAction)
  • _this select 3: Array - arguments given to the function
  • _this select 4: Number - currentProgress; progress goes from 1 to 24
  • _this select 5: Number - max progress (24)
codeCompleted: Code - Code executed on completion; arguments [target, caller, ID, arguments]
codeInterrupted: Code - Code executed on interrupted; arguments [target, caller, ID, arguments]
arguments: Array - Arguments passed to the scripts
duration: Number - Action duration; how much time it takes to complete the action
priority: Number - Priority; actions are arranged in descending order according to this value
removeCompleted (Optional, default: true): Boolean - Remove on completion
showUnconscious (Optional, default: false): Boolean - Show in unconscious state
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:
[ _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 [s] 0, // Priority true, // Remove on completion false // Show in unconscious state ] remoteExec ["BIS_fnc_holdActionAdd", [0,2] select isDedicated, _myLaptop]; // MP compatible implementation

Additional Information

See also:
BIS_fnc_holdActionRemoveBIS_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

Notes

Bottom Section

Posted on November 4, 2017 - 13:40 (UTC)
Lou Montana
A list of all official icons so far (v1.76):
  • "\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_revive_ca.paa"
  • "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_reviveMedic_ca.paa"
  • "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_search_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_unbind_ca.paa"