addEventHandler: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " *\|= " to " ")
m (Text replacement - " *\| *([Cc]omments|COMMENTS|Game|[Gg]ame [Nn]ame|Game [Vv]ersion|Game Version \(number surrounded by NO SPACES\)|Multiplayer Arguments \("local" or "global"\)|Multiplayer Effects \("local" or "global"\)|Multiplayer Execution \("serv...)
Line 1: Line 1:
{{Command|Comments=
{{Command


| ofpr
| ofpr


|1.85|Game version=
|1.85


|arg= global |MParg=
|arg= global |MParg=
Line 9: Line 9:
|eff= local |MPEFFECTS=
|eff= local |MPEFFECTS=


|gr1= Event Handlers |GROUP1=
|gr1= Event Handlers


| Adds an Event Handler to the given object. Event Handler parameters are accessiable via the <tt>_this</tt> inside the code.
| Adds an Event Handler to the given object. Event Handler parameters are accessiable via the <tt>_this</tt> inside the code.
Line 16: Line 16:
* Use [[removeEventHandler]] to remove an Event Handler.
* Use [[removeEventHandler]] to remove an Event Handler.
Read [[:Category:Event Handlers|Event Handlers]] for more information and a list of all available Event Handlers.
Read [[:Category:Event Handlers|Event Handlers]] for more information and a list of all available Event Handlers.
|DESCRIPTION=


| object [[addEventHandler]] [type, code] |SYNTAX=


|p1= '''object''': [[Object]] |PARAMETER1=
| object [[addEventHandler]] [type, code]


|p2= '''type''': [[String]] - See [[:Category:Event Handlers|Event Handlers]] for the full list of available options. |PARAMETER2=
|p1= '''object''': [[Object]]


|p3= '''code''': [[Code]] or [[String]] - Code that should be executed when the Event Handler is triggered; executed in [[missionNamespace]] by default. |PARAMETER3=
|p2= '''type''': [[String]] - See [[:Category:Event Handlers|Event Handlers]] for the full list of available options.
 
|p3= '''code''': [[Code]] or [[String]] - Code that should be executed when the Event Handler is triggered; executed in [[missionNamespace]] by default.


| [[Number]] - The index of the added Event Handler. Indices start at 0 for each unit and increment with each added Event Handler. |RETRUNVALUE=
| [[Number]] - The index of the added Event Handler. Indices start at 0 for each unit and increment with each added Event Handler. |RETRUNVALUE=
   
   
|x1= <code>_index = [[player]] [[addEventHandler]] ["Killed", {_this [[exec]] "playerKilled.sqs"}];</code> |EXAMPLE1=
|x1= <code>_index = [[player]] [[addEventHandler]] ["Killed", {_this [[exec]] "playerKilled.sqs"}];</code>


|x2= <code>this [[addEventHandler]] ["Killed", "[[hint]] [[format]] ['Killed by %1', _this [[a_hash_b|#]] 1];"];</code> |EXAMPLE2=
|x2= <code>this [[addEventHandler]] ["Killed", "[[hint]] [[format]] ['Killed by %1', _this [[a_hash_b|#]] 1];"];</code>


|mp= Some event handlers are persistent (i.e. they stay attached to the unit, even after it dies and respawns). |Multiplayer=
|mp= Some event handlers are persistent (i.e. they stay attached to the unit, even after it dies and respawns). |Multiplayer=


| [[removeEventHandler]], [[removeAllEventHandlers]], [[:Category:Event Handlers|Event Handlers]], [[addMPEventHandler]], [[addMissionEventHandler]], [[BIS_fnc_addScriptedEventHandler]] |SEEALSO=
| [[removeEventHandler]], [[removeAllEventHandlers]], [[:Category:Event Handlers|Event Handlers]], [[addMPEventHandler]], [[addMissionEventHandler]], [[BIS_fnc_addScriptedEventHandler]]


}}
}}

Revision as of 01:04, 18 January 2021

Hover & click on the images for description

Description

Description:
Adds an Event Handler to the given object. Event Handler parameters are accessiable via the _this inside the code.
  • Since Arma 3 v.1.63.137807 the Event Handler index is available as _thisEventHandler during Event Handler code execution.
  • You can add as many Event Handlers of any type as you like to every unit. Existing Event Handlers do not get overwritten.
  • Use removeEventHandler to remove an Event Handler.
Read Event Handlers for more information and a list of all available Event Handlers.
Multiplayer:
Some event handlers are persistent (i.e. they stay attached to the unit, even after it dies and respawns).
Groups:
Event Handlers

Syntax

Syntax:
object addEventHandler [type, code]
Parameters:
object: Object
type: String - See Event Handlers for the full list of available options.
code: Code or String - Code that should be executed when the Event Handler is triggered; executed in missionNamespace by default.
Return Value:
Number - The index of the added Event Handler. Indices start at 0 for each unit and increment with each added Event Handler.

Examples

Example 1:
_index = player addEventHandler ["Killed", {_this exec "playerKilled.sqs"}];
Example 2:
this addEventHandler ["Killed", "hint format ['Killed by %1', _this # 1];"];

Additional Information

See also:
removeEventHandlerremoveAllEventHandlersEvent HandlersaddMPEventHandleraddMissionEventHandlerBIS_fnc_addScriptedEventHandler

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

Bottom Section

Posted on July 7, 2015 - 21:06 (UTC)
Killzone Kid
When using overridable EH, such as "InventoryOpened" and similar, where returning true allows to override default action, exitWith cannot be used to return value. So: if (whatever) exitWith {true}; false; Forget about it, will not work. Instead use: if (whatever) then {true} else {false}; 100% satisfaction guaranteed!