addEventHandler: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
(Drive-by page overhaul) |
||
Line 13: | Line 13: | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| Adds | | Adds an Event Handler (EH) to the given object. | ||
<br> | |||
If the EH provides parameters when firing (e.g. the "Killed" EH will provide an array with the killed unit and the killer), those are available as <tt>_this</tt>. | |||
<br> | |||
Since Arma 3 v.1.63.137807 the EH index is available as <tt>_thisEventHandler</tt> during EH code execution. | |||
<br><br> | |||
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. | |||
<br><br> | |||
Read [[:Category:Event Handlers|Event Handlers]] for more information and a list of all available Event Handlers. | |||
|DESCRIPTION= | |DESCRIPTION= | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| object | | object [[addEventHandler]] [type, code] |SYNTAX= | ||
|p1= object: [[Object]] |PARAMETER1= | |p1= '''object''': [[Object]] |PARAMETER1= | ||
|p2= [ | |p2= '''type''': [[String]] - See [[:Category:Event Handlers|Event Handlers]] for the full list of available options. |PARAMETER2= | ||
|p3= | |p3= '''code''': [[Code]] or [[String]] - Code that should be executed when the Event Handler is triggered, executed in [[missionNamespace]] by default. |PARAMETER3= | ||
| [[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 | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
|x1= <code> | |x1= <code>_index = [[player]] [[addEventHandler]] ["Killed", {_this [[exec]] "playerKilled.sqs"}];</code> |EXAMPLE1= | ||
|x2= <code>this [[addEventHandler]] [" | |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 | |mp= Some event handlers are persistent (i.e. they stay attached to the unit, even after it dies and respawns). |Multiplayer= | ||
| [[:Category:Event Handlers| | | [[removeEventHandler]], [[removeAllEventHandlers]], [[:Category:Event Handlers|Event Handlers]], [[addMPEventHandler]], [[addMissionEventHandler]], [[BIS_fnc_addScriptedEventHandler]] |SEEALSO= | ||
}} | }} |
Revision as of 17:32, 5 January 2021
Description
- Description:
- Adds an Event Handler (EH) to the given object.
If the EH provides parameters when firing (e.g. the "Killed" EH will provide an array with the killed unit and the killer), those are available as _this.
Since Arma 3 v.1.63.137807 the EH index is available as _thisEventHandler during EH 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!
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
- Scripting Commands Armed Assault
- Scripting Commands Arma 2
- Scripting Commands Arma 3
- Scripting Commands Take On Helicopters