From Bohemia Interactive Community
Jump to navigation Jump to search
Hover & click on the images for 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.
Read Event Handlers for more information and a list of all available Event Handlers.
Some event handlers are persistent (i.e. they stay attached to the unit, even after it dies and respawns).
Event Handlers


object addEventHandler [type, code]
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.
  • Event Handler parameters are accessible via the _this inside the code
  • Since Arma 3 v.1.64 the Event Handler index is available as _thisEventHandler during Event Handler code execution
Return Value:
Number - The index of the added Event Handler. Indices start at 0 for each unit and increment with each added Event Handler.


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


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!