BIS fnc addStackedEventHandler: Difference between revisions
Jump to navigation
Jump to search
Killzone Kid (talk | contribs) (description updated, irrelevant notes removed) |
Killzone Kid (talk | contribs) (params corrected) |
||
Line 14: | Line 14: | ||
* <tt>"[[onPlayerConnected]]"</tt> - EH params are passed as array in <tt>_this</tt> (<tt>[<id>,<uid>,<name>,<jip>,<owner>]</tt>) and in special variables <tt>_id</tt>, <tt>_uid</tt>, <tt>_name</tt>, <tt>_jip</tt>, <tt>_owner</tt> | * <tt>"[[onPlayerConnected]]"</tt> - EH params are passed as array in <tt>_this</tt> (<tt>[<id>,<uid>,<name>,<jip>,<owner>]</tt>) and in special variables <tt>_id</tt>, <tt>_uid</tt>, <tt>_name</tt>, <tt>_jip</tt>, <tt>_owner</tt> | ||
* <tt>"[[onPlayerDisconnected]]"</tt> - EH params are passed as array in <tt>_this</tt> (<tt>[<id>,<uid>,<name>,<jip>,<owner>]</tt>) and in special variables <tt>_id</tt>, <tt>_uid</tt>, <tt>_name</tt>, <tt>_jip</tt>, <tt>_owner</tt> | * <tt>"[[onPlayerDisconnected]]"</tt> - EH params are passed as array in <tt>_this</tt> (<tt>[<id>,<uid>,<name>,<jip>,<owner>]</tt>) and in special variables <tt>_id</tt>, <tt>_uid</tt>, <tt>_name</tt>, <tt>_jip</tt>, <tt>_owner</tt> | ||
* <tt>"[[onMapSingleClick]]"</tt> - EH params are passed as array in <tt>_this</tt> (<tt>[< | * <tt>"[[onMapSingleClick]]"</tt> - EH params are passed as array in <tt>_this</tt> (<tt>[<units>,<pos>,<alt>,<shift>]</tt>) and in special variables <tt>_units</tt>, <tt>_pos</tt>, <tt>_alt</tt>, <tt>_shift</tt> | ||
* <tt>"[[onPreloadStarted]]"</tt> - no EH params | * <tt>"[[onPreloadStarted]]"</tt> - no EH params | ||
* <tt>"[[onPreloadFinished]]"</tt> - no EH params|= Description | * <tt>"[[onPreloadFinished]]"</tt> - no EH params|= Description |
Revision as of 12:02, 15 July 2017
Description
- Description:
- Stacks an event handler. All event handlers accept user arguments, which are passed to the EH code in _this variable. If the EH has own params returned in _this variable as well, use arguments are appended to the end of _this array.
Supported event handlers
- "onEachFrame" - no EH params
- "onPlayerConnected" - EH params are passed as array in _this ([<id>,<uid>,<name>,<jip>,<owner>]) and in special variables _id, _uid, _name, _jip, _owner
- "onPlayerDisconnected" - EH params are passed as array in _this ([<id>,<uid>,<name>,<jip>,<owner>]) and in special variables _id, _uid, _name, _jip, _owner
- "onMapSingleClick" - EH params are passed as array in _this ([<units>,<pos>,<alt>,<shift>]) and in special variables _units, _pos, _alt, _shift
- "onPreloadStarted" - no EH params
- "onPreloadFinished" - no EH params
- Execution:
- call
- Groups:
- Uncategorised
Syntax
- Syntax:
- [id, event, code, arguments] call BIS_fnc_addStackedEventHandler;
- Parameters:
- id: String - custom id, a unique identifier. Adding same type of EH with the same id will overwrite existing
- event: String - event handler name, see description for supported EHs
- code: Code or String. The String is treated as function name
- arguments: Array of Anything - arguments to make available in code in _this array
- Return Value:
- String
Examples
- Example 1:
["someId", "onEachFrame", {hintSilent str time}] call BIS_fnc_addStackedEventHandler;
- Example 2:
["someId", "onEachFrame", {hintSilent str position (_this select 0)}, [player]] call BIS_fnc_addStackedEventHandler;
Additional Information
- See also:
- BIS_fnc_removeStackedEventHandler
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
- Posted on 25 Jun, 2014
- ffur2007slx2_5
-
(ArmA3 1.22) Stack all codes into one PFH will be less demanding than separated calling within multiple PFH. E.g.
{ [(format [“%1”,_forEachIndex]),”onEachFrame”,_code,[_x]] call BIS_fnc_addStackedEventHandler; } forEach [var0…var100]; //pretty demanding
[_id, ”onEachFrame”,{ {_x call _code} forEach [var0…var100]; }] call BIS_fnc_addStackedEventHandler; //faster