BIS fnc addStackedEventHandler: Difference between revisions
Jump to navigation
Jump to search
Killzone Kid (talk | contribs) No edit summary |
No edit summary |
||
Line 65: | Line 65: | ||
[[Category:Functions|{{uc:addStackedEventHandler}}]] | [[Category:Functions|{{uc:addStackedEventHandler}}]] | ||
[[Category:{{Name|arma3}}: Functions|{{uc:addStackedEventHandler}}]] | [[Category:{{Name|arma3}}: Functions|{{uc:addStackedEventHandler}}]] | ||
<!-- CONTINUE Notes --> | |||
<dl class="command_description"> | |||
<dd class="notedate">Posted on January 3, 2019 - 13:52 (UTC)</dd> | |||
<dt class="note">[[User:DrSova|DrSova]]</dt> | |||
<dd class="note"> | |||
For returning array with all ids: | |||
<code>missionNamespace getVariable [format["BIS_stackedEventHandlers_%1",'''_event'''],[]];</code> | |||
Where is '''_event''' - name of event ('OnEachFrame', etc.) | |||
</dd> | |||
</dl> | |||
<!-- DISCONTINUE Notes --> |
Revision as of 14:52, 3 January 2019
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, user arguments are appended to the end of _this array. Note that if you try to add empty EH, i.e. with empty code, it will simply be ignored.
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 - custom id on success or "" on failure
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
Bottom Section
- Posted on January 3, 2019 - 13:52 (UTC)
- DrSova
-
For returning array with all ids:
missionNamespace getVariable [format["BIS_stackedEventHandlers_%1",_event],[]];
Where is _event - name of event ('OnEachFrame', etc.)