addMissionEventHandler: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
No edit summary
Line 11: Line 11:
| Adds event handler (EH) attached to the current mission and returns EH handle. If EH has some data to return upon event, it is passed in <tt>_this</tt> variable. For the list of available mission event handlers see: [[Arma_3:_Event_Handlers/addMissionEventHandler]]
| Adds event handler (EH) attached to the current mission and returns EH handle. If EH has some data to return upon event, it is passed in <tt>_this</tt> variable. For the list of available mission event handlers see: [[Arma_3:_Event_Handlers/addMissionEventHandler]]
{{Feature | informative |Since Arma 3 v.1.63.137807 the EH handle is also stored in <tt>_thisEventHandler</tt> variable and is available during EH code execution.<br>
{{Feature | informative |Since Arma 3 v.1.63.137807 the EH handle is also stored in <tt>_thisEventHandler</tt> variable and is available during EH code execution.<br>
Since Arma 3 v.2.03.147276 it is possible to pass additional arguments to the EH code via optional param.}}
Since Arma 3 v.2.03.147276 it is possible to pass additional arguments to the EH code via optional param. The arguments are stored in <tt>_thisArgs</tt> variable}}


| '''addMissionEventHandler''' [type, command]
| '''addMissionEventHandler''' [type, command, args]


|p1= [type, command]: [[Array]]
|p1= [type, command]: [[Array]]
Line 20: Line 20:


|p3= command: [[Code]] or [[String]] - By default executed in [[missionNamespace]]
|p3= command: [[Code]] or [[String]] - By default executed in [[missionNamespace]]
|p4= args (Optional): [[Array]] - (Since Arma 3 v.2.03.147276) additional arguments to be passed to the EH code. Available during code execution via <tt>_thisArgs</tt> variable.


| [[Number]] - The index of the currently added mission event handler is returned.
| [[Number]] - The index of the currently added mission event handler is returned.
Line 25: Line 27:
|x1= <code>// A script could be executed to stop custom scripts graciously, or save progress & stats, for example:
|x1= <code>// A script could be executed to stop custom scripts graciously, or save progress & stats, for example:


_id = [[addMissionEventHandler]] ["Ended",{ _this [[execVM]] "missionEnded.sqf" }];</code>
_id = [[addMissionEventHandler]] ["Ended", { [[_this]] [[execVM]] "missionEnded.sqf" }];</code>
 
|x2= Since Arma 3 v.2.03.147276: <code>_id = [[addMissionEventHandler]] ["EachFrame", { [[systemChat]] [[str]] <nowiki>[</nowiki>[[_thisArgs]], [[time]]]}, [time]];</code>


| [[removeMissionEventHandler]], [[removeAllMissionEventHandlers]]
| [[removeMissionEventHandler]], [[removeAllMissionEventHandlers]]
}}
}}

Revision as of 16:36, 15 February 2021

Hover & click on the images for description

Description

Description:
Description needed
Groups:
Event Handlers

Syntax

Syntax:
Syntax needed
Parameters:
[type, command]: Array
type: String
command: Code or String - By default executed in missionNamespace
args (Optional): Array - (Since Arma 3 v.2.03.147276) additional arguments to be passed to the EH code. Available during code execution via _thisArgs variable.
Return Value:
Return value needed

Examples

Example 1:
// A script could be executed to stop custom scripts graciously, or save progress & stats, for example: _id = addMissionEventHandler ["Ended", { _this execVM "missionEnded.sqf" }];
Example 2:
Since Arma 3 v.2.03.147276: _id = addMissionEventHandler ["EachFrame", { systemChat str [_thisArgs, time]}, [time]];

Additional Information

See also:
See also needed

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