action: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
m (Some wiki formatting)
Line 27: Line 27:


|descr= Make a unit perform an action. See [[:Category:Actions]] for action names and syntaxes.
|descr= Make a unit perform an action. See [[:Category:Actions]] for action names and syntaxes.
{{Feature | informative |
* in singleplayer, when user Alt-Tabs the simulation is paused and so the action will also halt until user returns to the game. For example, {{ic|[[player]] [[action]] ["GetInDriver", car];}} executed while user is Alt-Tabbed will result in the user seeing the action happening when he returns to the game screen. This doesn't happen in Multiplayer.
* the alternative syntax creates a temporary Logic entity in place of ''unit''.
}}


{{Feature | important | The argument's [[Multiplayer Scripting#Locality|locality]] is ''usually'' local, but some actions can take a global argument (e.g "Eject", "GetOut", "GetInXXXX", "MoveToXXXX"). See [[:Category:Actions]] for more details.}}
|mp= {{Feature | important | The argument's [[Multiplayer Scripting#Locality|locality]] is '''usually''' local, but some actions can take a global argument (e.g "Eject", "GetOut", "GetInXXXX", "MoveToXXXX"). See [[:Category:Actions]] for more details.}}
{{Feature | Informative | In Singleplayer, when user Alt-Tabs the simulation is paused and so the action will also halt until user returns to the game. For example, {{ic|[[player]] [[action]] ["GetInDriver", car];}} executed while user is Alt-Tabbed will result in the user seeing the action happening when he returns to the game screen. This doesn't happen in Multiplayer.}}
 
{{Feature | Informative | Alternative syntax of the command is introduced with Arma 3 v2.09.149165 creates a temporary Logic entity in place of 'unit' argument (See [[:Category:Actions]] for benefits of using Logic)}}


|s1= unit [[action]] actionArray
|s1= unit [[action]] actionArray
Line 48: Line 49:
|r2= [[Nothing]]
|r2= [[Nothing]]


|x1= <code>[[player]] [[action]] ["SitDown", [[player]]];</code>
|x1= <sqf>player action ["SitDown", player];</sqf>


|x2= <code>_soldier [[action]] ["Eject", [[vehicle]] _soldier];</code>
|x2= <sqf>_soldier action ["Eject", vehicle _soldier];</sqf>


|x3= <code>[[player]] [[action]] ["UseWeapon", [[player]], [[player]], 7]; //-- plays pick up action before throwing grenade
|x3= <sqf>
[[action]] ["UseWeapon", [[player]], [[player]], 7]; //-- normal grenade throw</code>
player action ["UseWeapon", player, player, 7]; // plays pick up action before throwing grenade
action ["UseWeapon", player, player, 7]; // normal grenade throw
</sqf>


|seealso= [[actionIDs]] [[actionParams]] [[addAction]] [[setUserActionText]] [[inGameUISetEventHandler]] [[showHUD]] [[inputAction]] [[removeAction]] [[removeAllActions]]
|seealso= [[actionIDs]] [[actionParams]] [[addAction]] [[setUserActionText]] [[inGameUISetEventHandler]] [[showHUD]] [[inputAction]] [[removeAction]] [[removeAllActions]]
}}
}}


<dl class="command_description">
{{Note
|user= Tom_48_97
|timestamp= 20090828092600
|text= In {{arma2}}, you can place a unique unit (for example a boat, far of all combats) and use it for all command lines with action.
}}


<dt><dt>
{{Note
<dd class="notedate">Posted on 28 Aug, 2009</dd>
|user= DreadedEntity
<dt class="note">[[User:Tom_48_97|tom_48_97]]</dt>
|timestamp= 20150327175700
<dd class="note">
|text= This command has no effect when a dead unit is used as input.
In Arma 2, you can place a unique unit (for example a boat, far of all combats) and use it for all command lines with action.
}}
</dd>
 
<dt><dt>
<dd class="notedate">Posted on March 27, 2015 - 17:57 (UTC)</dd>
<dt class="note">[[User:DreadedEntity|DreadedEntity]]</dt>
<dd class="note">
This command has no effect when a dead unit is used as input.
</dd>


<dt><dt>
{{Note
<dd class="notedate">Posted on June 27, 2017 - 02:15 (UTC)</dd>
|user= DrSova
<dt class="note">[[User:DrSova|DrSova]]</dt>
|timestamp= 20170627021500
<dd class="note">
|text= <sqf>player action ["SWITCHWEAPON", player, player, -1]</sqf>
<code>[[player]] [[action]] ["SWITCHWEAPON", [[player]], [[player]], -1]</code>
Switching weapon to the back.
Switching weapon to the back.
</dd>
}}


<dt><dt>
{{Note
<dd class="notedate">Posted on July 20, 2017 - 12:22 (UTC)</dd>
|user= Yuval
<dt class="note">[[User:Yuval|Yuval]]</dt>
|timestamp= 20170720122200
<dd class="note">
|text= Some of the actions (such as "DropWeapon") do not always execute, and there should be a set of conditions for them to run.
Some of the actions (such as "DropWeapon") do not always execute, and there should be a set of conditions for them to run.
The unit must be able to perform the dropping animation in order for the action to properly execute.
The unit must be able to perform the dropping animation in order for the action to properly execute.
So, if for example we spawn a unit at [0,0,0] and make it perform a "DropWeapon" action - it won't work if [0,0,0] is water (which it is, if the current map is an island) because the unit will be swimming.<br>
So, if for example we spawn a unit at [0,0,0] and make it perform a "DropWeapon" action - it won't work if [0,0,0] is water (which it is, if the current map is an island) because the unit will be swimming.<br>
Line 92: Line 89:
Also, you cannot stack up actions right after the other. If you run a "DropWeapon" action when the current action animation is still going - it will not perform.
Also, you cannot stack up actions right after the other. If you run a "DropWeapon" action when the current action animation is still going - it will not perform.
There are a few more conditions for an action to perform, but relying on a hundred percent success of the action is not a good practice.
There are a few more conditions for an action to perform, but relying on a hundred percent success of the action is not a good practice.
</dd>
}}
 
</dl>

Revision as of 12:21, 30 March 2022

Hover & click on the images for description

Description

Description:
Make a unit perform an action. See Category:Actions for action names and syntaxes.
  • in singleplayer, when user Alt-Tabs the simulation is paused and so the action will also halt until user returns to the game. For example, player action ["GetInDriver", car]; executed while user is Alt-Tabbed will result in the user seeing the action happening when he returns to the game screen. This doesn't happen in Multiplayer.
  • the alternative syntax creates a temporary Logic entity in place of unit.
Multiplayer:
The argument's locality is usually local, but some actions can take a global argument (e.g "Eject", "GetOut", "GetInXXXX", "MoveToXXXX"). See Category:Actions for more details.
Groups:
Interaction

Syntax

Syntax:
unit action actionArray
Parameters:
unit: Object
actionArray: Array
Return Value:
Nothing

Alternative Syntax

Syntax:
action actionArray
Parameters:
actionArray: Array
Return Value:
Nothing

Examples

Example 1:
player action ["SitDown", player];
Example 2:
_soldier action ["Eject", vehicle _soldier];
Example 3:
player action ["UseWeapon", player, player, 7]; // plays pick up action before throwing grenade action ["UseWeapon", player, player, 7]; // normal grenade throw

Additional Information

See also:
actionIDs actionParams addAction setUserActionText inGameUISetEventHandler showHUD inputAction removeAction removeAllActions

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
Tom_48_97 - c
Posted on Aug 28, 2009 - 09:26 (UTC)
In Arma 2, you can place a unique unit (for example a boat, far of all combats) and use it for all command lines with action.
DreadedEntity - c
Posted on Mar 27, 2015 - 17:57 (UTC)
This command has no effect when a dead unit is used as input.
DrSova - c
Posted on Jun 27, 2017 - 02:15 (UTC)
player action ["SWITCHWEAPON", player, player, -1]
Switching weapon to the back.
Yuval - c
Posted on Jul 20, 2017 - 12:22 (UTC)
Some of the actions (such as "DropWeapon") do not always execute, and there should be a set of conditions for them to run. The unit must be able to perform the dropping animation in order for the action to properly execute. So, if for example we spawn a unit at [0,0,0] and make it perform a "DropWeapon" action - it won't work if [0,0,0] is water (which it is, if the current map is an island) because the unit will be swimming.

Also, you cannot stack up actions right after the other. If you run a "DropWeapon" action when the current action animation is still going - it will not perform. There are a few more conditions for an action to perform, but relying on a hundred percent success of the action is not a good practice.