addMissionEventHandler: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(removed Druid's note as outdated)
m (Text replacement - "\] +\[" to "] [")
 
(68 intermediate revisions by 9 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| arma3 |= Game name
|game1= arma3
|version1= 0.50


|0.50|= Game version
|eff= local
____________________________________________________________________________________________


| Adds mission event handler. Every event will create an array named ''_this'', which contains specific information about the particular event. Available mission event handlers:
|gr1= Event Handlers
<br/>'''"Loaded"'''
<br/>'''"Ended"''' - Triggered when the mission is successfully ended. In variable ''_this'' is stored type of the end ("end1","end2", etc.).
<br/>'''"Draw3D"''' - It seems "Draw3D" mission EH is connected to your primary display. It will stop firing as soon as you Alt+Tab from the game and resume when you come back (unless Arma 3 client is launched with ''-window'' ''-nopause'' params). "Draw3D" does not fire at all on a dedicated server. |= Description
____________________________________________________________________________________________


| '''addMissionEventHandler''' [type, command] |= Syntax
|descr= 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]]


|p1= [type, command]: [[Array]] |= PARAMETER1
|s1= [[addMissionEventHandler]] [event, expression, arguments]


|p2= type: [[String]] |= PARAMETER2
|p1= event: [[String]] - event name


|p3= command: [[Code]] or [[String]] - By default executed in [[missionNamespace]] |= PARAMETER3
|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 {{hl|_this}} variable
* {{GVI|arma3|1.64|size= 0.75}} the event handler's handle is stored in {{hl|_thisEventHandler}} variable and is available during event handler code execution
* {{GVI|arma3|2.04|size= 0.75}} it is possible to pass additional arguments to the EH code via optional param. The ''args'' are stored in {{hl|_thisArgs}} variable
{{Feature|important|Only arguments of simple types get proper serialization. [[Object]]s, [[Group]]s etc will not serialize and appear as NULLs on game load.}}
* {{GVI|arma3|2.06|size= 0.75}} the event's name is available from {{hl|_thisEvent}} variable


| [[Number]] - The index of the currently added mission event handler is returned. |= RETURNVALUE
|p3= arguments: [[Array]] - (Optional, default <sqf inline>[]</sqf>) additional arguments to be passed to the EH code. Available during code execution via {{hl|_thisArgs}} variable.
|p3since= arma3 2.04


|r1= [[Number]] - the index of the currently added mission event handler is returned


|x1= <code>_id = [[addMissionEventHandler]] ["Ended",{_this [[exec]] "missionEnded.sqs"}];</code>|= EXAMPLE1
|x1= <sqf>_id = addMissionEventHandler ["PlayerDisconnected", { systemChat str _this }];</sqf>


____________________________________________________________________________________________
|x2= <sqf>_id = addMissionEventHandler ["EachFrame", { systemChat str [_thisArgs, time] }, [time]];</sqf>


| [[removeMissionEventHandler]], [[removeAllMissionEventHandlers]] |= SEEALSO
|seealso= [[removeMissionEventHandler]] [[removeAllMissionEventHandlers]] [[getEventHandlerInfo]]
 
|  |= MPBEHAVIOUR
____________________________________________________________________________________________
}}
}}
<h3 style='display:none'>Notes</h3>
<dl class='command_description'>
<!-- Note Section BEGIN -->
<!-- Note Section END -->
</dl>
<h3 style='display:none'>Bottom Section</h3>
[[Category:Arma_3:_New_Scripting_Commands_List|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]

Latest revision as of 11:46, 5 May 2024

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
Only arguments of simple types get proper serialization. Objects, Groups etc will not serialize and appear as NULLs on game load.
  • Arma 3 logo black.png2.06 the event's name is available from _thisEvent variable
since Arma 3 logo black.png2.04
arguments: Array - (Optional, default []) 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]];

Additional Information

See also:
removeMissionEventHandler removeAllMissionEventHandlers getEventHandlerInfo

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