From Bohemia Interactive Community
Jump to navigation Jump to search
Introduced with Operation Flashpoint: Resistance version 1.851.85Arguments of this scripting command don't have to be local to the client the command is executed onEffects of this scripting command are not broadcasted over the network and remain local to the client the command is executed on
Hover & click on the images for descriptions


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.
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).


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.
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
Event Handlers


Only post proven facts here. Report bugs on the Feedback Tracker and discuss on the Arma Discord or on the Forums.
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!