BIS fnc holdActionAdd: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
mNo edit summary
Line 122: Line 122:
<dt class="note">[[User:R3vo|R3vo]]</dt>
<dt class="note">[[User:R3vo|R3vo]]</dt>
<dd class="note">
<dd class="note">
Keep in mind that Example two adds the action to every client and JIP, but also adds it when it was already removed.
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>
</dd>
</dl>
</dl>
<!-- DISCONTINUE Notes -->
<!-- DISCONTINUE Notes -->

Revision as of 12:47, 4 August 2019

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.It can contain Structured Text tags, such as <t color='#FFAA00'>text</t>
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. Passed arguments are:
params ["_target", "_caller", "_actionId", "_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. Passed arguments are:
params ["_target", "_caller", "_actionId", "_arguments", "_progress", "_maxProgress"];
  • _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. Passed arguments are:
params ["_target", "_caller", "_actionId", "_arguments"]; // same as codeStart
codeInterrupted: Code - code executed on interrupted. Passed arguments are:
params ["_target", "_caller", "_actionId", "_arguments"]; // same as codeCompleted
arguments: Array - arguments passed to the scripts
duration: Number - action duration, a.k.a how much time it takes to complete the action
priority: Number - 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
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, _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"
Posted on August 4, 2019 - 10:46 (UTC)
R3vo
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.