addAction: Difference between revisions
mNo edit summary |
m (Clarified action ID.) |
||
Line 15: | Line 15: | ||
'''Type of returned value:''' | '''Type of returned value:''' | ||
[[Nothing]] | [[Number]] or [[Nothing]] | ||
'''Compatibility:''' | '''Compatibility:''' | ||
Added in version '''1.10''' | Added in version '''1.10''' | ||
Returns action ID since '''1.85''' | |||
'''Description:''' | '''Description:''' | ||
Line 35: | Line 37: | ||
'''Comments:''' | '''Comments:''' | ||
Params passed by an action to the executed script: | Params passed by an action to the executed script: |
Revision as of 20:58, 18 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:
Compatibility:
Added in version 1.10
Returns action ID since 1.85
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:
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