addAction: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 5: Line 5:




<h2 style="color:#000066">'''''unit'' addaction ''[action, script,(arguments,priority, showWindow, hideOnUse, shortcut]'''''</h2>
<h2 style="color:#000066">'''''unit'' addaction ''[action, script,(arguments,priority, showWindow, hideOnUse, shortcut)]'''''</h2>




Line 11: Line 11:


'''unit:''' [[Object]]<br>
'''unit:''' [[Object]]<br>
'''[action, script,(arguments,priority, showWindow, hideOnUse, shortcut]:''' [[Array]]
'''[action, script,(arguments,priority, showWindow, hideOnUse, shortcut)]:''' [[Array]]


'''Type of returned value:'''
'''Type of returned value:'''

Revision as of 15:34, 6 July 2006


unit addaction [action, script,(arguments,priority, showWindow, hideOnUse, shortcut)]


Operand types:

unit: Object
[action, script,(arguments,priority, showWindow, hideOnUse, shortcut)]: Array

Type of returned value:

Nothing

Compatibility:

Added in version 1.10

Description:

Create an action.
Action ID should be returned, but due to bug it is not.
To determine action ID use following algorithm:
First action added to given vehicle has ID zero, next has ID 1, etc.


Example:

player addAction ["Hello", "hello.sqs"]


Comments:

It seems that since version 1.85+(?) addAction has correctly returned action ID.

Params passed by an action to the executed script:

[(object action was attached to), (unit that activated action), (index of action)]


So an example of an action-based script goes like this:

_obj = _this select 0

_man = _this select 1

_index = _this select 2


If you want to remove the action from the object immediately after it's triggered, use this line along with the above:

_obj removeAction _index


An easy way to keep track of and remove actions is to store the IDs of the actions in variables. This can be accomplished by doing the following:

myaction = player addAction ["Hello", "hello.sqs"]

This stores the action's ID in the global variable "myaction" and assists in keeping track of the action ID. To remove the above action, you would use the following line:

player removeAction myaction


MP Note:

This command, as well as configed actions, are executed only locally (not public).


Known Problems:

Due to a bug in OFP actions added via addAction don't get updated properly after mounting vehicles.

When you have several actions available while mounting a vehicle and drive away from the actions' position, they'll still be shown in the menu until you dismount and remount the vehicle.

There are work-arounds mentioned on the OFPEC Forums