---
name: "addMissionEventHandler"
type: command
status: ok
groups: ["Event Handlers"]
arma3_since: "0.50"
locality: {"argument": null, "effect": "local", "server_exec": false}
source: https://community.bistudio.com/wiki/addMissionEventHandler
revid: 377813
updated: 2026-01-03T04:12:00Z
---

# addMissionEventHandler

*Command · Event Handlers · Arma 3 v0.50*

Locality: effect **local**

## Description

Adds event handler attached to the current mission and returns event handler handle. For the list of available mission event handlers see: [Arma 3: Mission Event Handlers](../topics/Mission_Event_Handlers.md)

## Syntax

```sqf
addMissionEventHandler [event, expression, arguments]
```

**Parameters:**

- `event`: [String](../topics/String.md) - event name
- `expression`: [Code](../topics/Code.md) or [String](../topics/String.md) - expression that will be executed in [missionNamespace](../commands/missionNamespace.md) when event handler fires.
  - If the event handler has some data to return upon activation they are stored in the `_this` variable
  - Arma 3 v1.64 the event handler's handle is stored in `_thisEventHandler` variable and is available during event handler code execution
  - Arma 3 v2.04 it is possible to pass additional arguments to the EH code via optional param. The *args* are stored in `_thisArgs` variable

  > [!IMPORTANT]
  > Only arguments of simple types get proper serialization. [Object](../topics/Object.md)s, [Group](../topics/Group.md)s etc will not serialize and appear as NULLs on game load.

  - Arma 3 v2.06 the event's name is available from `_thisEvent` variable
- `arguments`: [Array](../topics/Array.md) of [Anything](../topics/Anything.md) - (Optional, default `[]`) additional arguments to be passed to the EH code. Available during code execution via `_thisArgs` variable. *(since arma3 2.04)*

**Returns:** [Number](../topics/Number.md) - the index of the currently added mission event handler is returned

## Examples

### Example 1

```sqf
_id = addMissionEventHandler ["PlayerDisconnected", { systemChat str _this }];
```

### Example 2

```sqf
_id = addMissionEventHandler ["EachFrame", { systemChat str [_thisArgs, time] }, [time]];
```

## See also

[removeMissionEventHandler](../commands/removeMissionEventHandler.md) · [removeAllMissionEventHandlers](../commands/removeAllMissionEventHandlers.md) · [getEventHandlerInfo](../commands/getEventHandlerInfo.md)

<sub>Source: [BI Community Wiki — addMissionEventHandler](https://community.bistudio.com/wiki/addMissionEventHandler) (revision 377813).</sub>
