addEventHandler: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "\[\[Category:[ _]?Scripting[ _]Commands[ _]Arma[ _]2(\|.*)]]" to "{{GameCategory|arma2|Scripting Commands}}") |
Lou Montana (talk | contribs) m (Text replacement - "_{10,} " to "") |
||
Line 1: | Line 1: | ||
{{Command|Comments= | {{Command|Comments= | ||
| ofpr |= | | ofpr |= | ||
Line 11: | Line 10: | ||
|gr1= Event Handlers |GROUP1= | |gr1= Event Handlers |GROUP1= | ||
| 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 19: | Line 17: | ||
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= | |DESCRIPTION= | ||
| object [[addEventHandler]] [type, code] |SYNTAX= | | object [[addEventHandler]] [type, code] |SYNTAX= | ||
Line 30: | Line 27: | ||
| [[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> |EXAMPLE1= | ||
|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> |EXAMPLE2= | ||
|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= |
Revision as of 00:08, 17 January 2021
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.
- 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!
Categories:
- Scripting Commands
- Introduced with Operation Flashpoint: Resistance version 1.85
- Operation Flashpoint: Resistance: New Scripting Commands
- Operation Flashpoint: Resistance: Scripting Commands
- Command Group: Event Handlers
- Scripting Commands: Local Effect
- Scripting Commands OFP 1.99
- Scripting Commands OFP 1.96
- ArmA: Armed Assault: Scripting Commands
- Arma 2: Scripting Commands
- Arma 3: Scripting Commands
- Take On Helicopters: Scripting Commands