addEventHandler

From Bohemia Interactive Community
Revision as of 16:58, 31 March 2024 by R3vo (talk | contribs) (Undo revision 363475 by R3vo (talk))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Hover & click on the images for description

Description

Description:
Adds an Event Handler to the given object.
  • As many Event Handlers of any type can be added - 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:
target addEventHandler [type, code]
Parameters:
target: Object or Arma 3 logo black.png2.10 Group
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:
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:
this addEventHandler ["Killed", { params ["_unit", "_killer"]; systemChat format ["%1 has been killed by %2.", _unit, _killer]; }];
Example 2:
_index = player addEventHandler ["Killed", { _this exec "playerKilled.sqs" }]

Additional Information

See also:
removeEventHandler removeAllEventHandlers Event Handlers addMPEventHandler addMissionEventHandler BIS_fnc_addScriptedEventHandler 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
Killzone_Kid - c
Posted on Jun 07, 2015 - 21:06 (UTC)
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!