addEventHandler: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) |
m (Updated with _thisEvent) |
||
Line 32: | Line 32: | ||
* 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. | ||
|mp= Some event handlers are persistent (i.e. they stay attached to the unit, even after it dies and respawns). | |||
|s1= object [[addEventHandler]] [type, code] | |s1= object [[addEventHandler]] [type, code] | ||
Line 37: | Line 39: | ||
|p1= object: [[Object]] | |p1= object: [[Object]] | ||
|p2= type: [[String]] - | |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 | |p3= code: [[Code]] or [[String]] - Code that should be executed when the Event Handler fires; executed in [[missionNamespace]] by default. Several [[Magic Variables]] are available: | ||
* Event Handler parameters are accessible via | * Event Handler parameters are accessible via <var>_this</var>. | ||
* | * The Event Handler type is available as <var>_thisEvent</var>. | ||
* The Event Handler index is available as <var>_thisEventHandler</var>. | |||
|r1= [[Number]] - The index of the added Event Handler. Indices start at 0 for each unit and increment with each added Event Handler. |RETRUNVALUE= | |r1= [[Number]] - The index of the added Event Handler. Indices start at 0 for each unit and increment with each added Event Handler. |RETRUNVALUE= | ||
|x1= < | |x1= <sqf>_index = player addEventHandler ["Killed", {_this exec "playerKilled.sqs"}];</sqf> | ||
| | |x2= <sqf>this addEventHandler ["Killed", { | ||
params ["_unit", "_killer"]; | |||
systemChat format ["%1 has been killed by %2.", _unit, _killer]; | |||
}];</sqf> | |||
|seealso= [[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 13:51, 27 March 2022
Description
- Description:
- Adds an Event Handler to the given object.
- 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 fires; executed in missionNamespace by default. Several Magic Variables are available:
- Event Handler parameters are accessible via _this.
- The Event Handler type is available as _thisEvent.
- The Event Handler index is available as _thisEventHandler.
- 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:
- Example 2:
- this addEventHandler ["Killed", { params ["_unit", "_killer"]; systemChat format ["%1 has been killed by %2.", _unit, _killer]; }];
Additional Information
- See also:
- removeEventHandler removeAllEventHandlers Event Handlers addMPEventHandler addMissionEventHandler BIS_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
- 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 version 1.85
- Operation Flashpoint: New Scripting Commands
- Operation Flashpoint: Scripting Commands
- Operation Flashpoint: Elite: Scripting Commands
- ArmA: Armed Assault: Scripting Commands
- Arma 2: Scripting Commands
- Arma 2: Operation Arrowhead: Scripting Commands
- Take On Helicopters: Scripting Commands
- Arma 3: Scripting Commands
- Command Group: Event Handlers
- Scripting Commands: Local Effect