addMissionEventHandler: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " \|([ps][0-9]+) *= " to " |$1= ")
m (Some wiki formatting)
Line 16: Line 16:
|p2= expression: [[Code]] or [[String]] - Expression that will be executed in [[missionNamespace]] when event handler fires.
|p2= expression: [[Code]] or [[String]] - Expression that will be executed in [[missionNamespace]] when event handler fires.
* If the event handler has some data to return upon activation they are stored in the <tt>_this</tt> variable
* If the event handler has some data to return upon activation they are stored in the <tt>_this</tt> variable
* Since Arma 3 v1.64 the event handler handle is also stored in <tt>_thisEventHandler</tt> variable and is available during event handler code execution
* {{GVI|arma3|1.64|size=0.8}} the event handler's handle is stored in <tt>_thisEventHandler</tt> variable and is available during event handler code execution
* Since Arma 3 v2.04 it is possible to pass additional arguments to the EH code via optional param. The ''args'' are stored in <tt>_thisArgs</tt> variable
* {{GVI|arma3|2.04|size=0.8}} it is possible to pass additional arguments to the EH code via optional param. The ''args'' are stored in <tt>_thisArgs</tt> variable
* Since Arma 3 v2.06 the name of the event is available from <tt>_thisEvent</tt> variable
* {{GVI|arma3|2.06|size=0.8}} the event's name is available from <tt>_thisEvent</tt> variable


|p3= args (Optional, default {{ic|[]}}): [[Array]] - Additional arguments to be passed to the EH code. Available during code execution via <tt>_thisArgs</tt> variable.
|p3= args (Optional, default {{ic|[]}}): [[Array]] - Additional arguments to be passed to the EH code. Available during code execution via <tt>_thisArgs</tt> variable.
Line 27: Line 27:
|x1= <code>_id = [[addMissionEventHandler]] ["PlayerDisconnected", { [[systemChat]] [[str]] [[Magic Variables#this|_this]] }];</code>
|x1= <code>_id = [[addMissionEventHandler]] ["PlayerDisconnected", { [[systemChat]] [[str]] [[Magic Variables#this|_this]] }];</code>


|x2= <code>_id = [[addMissionEventHandler]] ["EachFrame", { [[systemChat]] [[str]] <nowiki>[</nowiki>[[_thisArgs]], [[time]]] }, <nowiki>[</nowiki>[[time]]]]; {{Since|arma3|2.04|yes}}</code>
|x2= <code>_id = [[addMissionEventHandler]] ["EachFrame", { [[systemChat]] [[str]] <nowiki>[</nowiki>[[_thisArgs]], [[time]]] }, <nowiki>[</nowiki>[[time]]]]; {{cc|since {{arma3}} v2.04}}</code>


|seealso= [[removeMissionEventHandler]], [[removeAllMissionEventHandlers]]
|seealso= [[removeMissionEventHandler]], [[removeAllMissionEventHandlers]]
}}
}}

Revision as of 01:31, 11 August 2021

Hover & click on the images for description

Description

Description:
Adds event handler attached to the current mission and returns event handler handle. For the list of available mission event handlers see: Arma 3: Mission Event Handlers
Groups:
Event Handlers

Syntax

Syntax:
addMissionEventHandler [event, expression, arguments]
Parameters:
event: String - event name
expression: Code or String - Expression that will be executed in missionNamespace when event handler fires.
  • If the event handler has some data to return upon activation they are stored in the _this variable
  • Arma 3 logo black.png1.64 the event handler's handle is stored in _thisEventHandler variable and is available during event handler code execution
  • Arma 3 logo black.png2.04 it is possible to pass additional arguments to the EH code via optional param. The args are stored in _thisArgs variable
  • Arma 3 logo black.png2.06 the event's name is available from _thisEvent variable
since Arma 3 logo black.png2.04
args (Optional, default []): Array - Additional arguments to be passed to the EH code. Available during code execution via _thisArgs variable.
Return Value:
Number - The index of the currently added mission event handler is returned

Examples

Example 1:
_id = addMissionEventHandler ["PlayerDisconnected", { systemChat str _this }];
Example 2:
_id = addMissionEventHandler ["EachFrame", { systemChat str [_thisArgs, time] }, [time]]; // since Arma 3 v2.04

Additional Information

See also:
removeMissionEventHandlerremoveAllMissionEventHandlers

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