---
name: "Arma 3: Scripted Event Handlers"
type: topic
aliases: ["Arma 3: Event Handlers/ScriptedEventHandlers"]
source: https://community.bistudio.com/wiki/Arma_3:_Scripted_Event_Handlers
revid: 378628
updated: 2026-05-15T10:43:40Z
---

# Arma 3: Scripted Event Handlers

Scripted Event Handlers are triggered by some of BI's modules and functions. When triggered any code registered for one of these events via [BIS_fnc_addScriptedEventHandler](../functions/BIS_fnc_addScriptedEventHandler.md) will be executed.
All the events exists as variables within a namespace, whether this is one of the main [Namespaces](../topics/Namespace.md) like [missionNamespace](../commands/missionNamespace.md) or [uiNamespace](../commands/uiNamespace.md) or it could be a specific namespace like a [Group](../topics/Group.md) or [Object](../topics/Object.md) etc.
The event also has a set of parameters passed to the executed code.
You can even implement your own scripted eventHandlers by using [BIS_fnc_callScriptedEventHandler](../functions/BIS_fnc_callScriptedEventHandler.md).
For all other available Event Handlers, see [Arma 3: Event Handlers](../topics/Event_Handlers.md).

### Functions

- [BIS_fnc_addScriptedEventHandler](../functions/BIS_fnc_addScriptedEventHandler.md)
- [BIS_fnc_removeScriptedEventHandler](../functions/BIS_fnc_removeScriptedEventHandler.md)
- [BIS_fnc_removeAllScriptedEventHandlers](../functions/BIS_fnc_removeAllScriptedEventHandlers.md)
- [BIS_fnc_callScriptedEventHandler](../functions/BIS_fnc_callScriptedEventHandler.md)

### Examples

#### Subscribe

```sqf
[missionNamespace, "localPlayerNearFourArmedRobot", {
    hint "Hello there";
}] call BIS_fnc_addScriptedEventHandler;
```

```sqf
[missionNamespace, "arsenalOpened", {
    hint "Player opened the Arsenal"; // hint message to the player when he opens the Arsenal
}] call BIS_fnc_addScriptedEventHandler;
```

#### Trigger

```sqf
waitUntil { sleep 1; player distance _GG < 10 };
[missionNamespace, "localPlayerNearFourArmedRobot", [player, _GG]] call BIS_fnc_callScriptedEventHandler;
```

### Events

This is a list of all available scripted events that exist through BI's functions and modules.
Each event is listed under the system that calls them whether this be a specific function or a module. List last updated for Arma 3 v2.10

| Event namespace | Event name | Event passed parameters |
|---|---|---|
| **EG Spectator Display** |  |  |
| `missionNamespace` | "RscDisplayEGSpectator_OnCursorObjectFocused" | `params ["_object"];` |
| `missionNamespace` | "RscDisplayEGSpectator_OnCursorObjectUnfocused" | `params ["_object"];` |
| `missionNamespace` | "RscDisplayEGSpectator_OnFocusChanged" | `params ["_newFocus"];` |
| `missionNamespace` | "RscDisplayEGSpectator_OnUiVisibilityChanged" | `params ["_isVisible"];` |
| `missionNamespace` | "RscDisplayEGSpectator_MapStateChanged" | `params ["_isMapVisible"];` |
| **Player opens pause menu** |  |  |
| `missionNamespace` | "OnGameInterrupt" | `params ["_display"];` |
| **Player exits Game Options menu** |  |  |
| `missionNamespace` | "OnGameOptionsExited" Arma 3 v2.02 | `params ["_okButtonPressed"];` |
| **Probing Beam (enoch)** |  |  |
| `missionNamespace` | "probingStarted" | `params ["_cursorTarget", "_data"];` |
| `missionNamespace` | "probingEnded" | `params ["_data", "_isEnded"];` |
| **Respawn Display** |  |  |
| `missionNamespace` | "RscDisplayRespawnKeyDown" | `params ["_display", "_keyCode", "_shift", "_ctrl", "_alt"];` |
| **Saving of the game, scripted or manual** |  |  |
| `missionNamespace` | "OnSaveGame" | N/A |
| **[teamSwitchedScript.sqs](../topics/Event_Scripts.md#teamswitchedscript-sqs)** |  |  |
| `missionNamespace` | "teamSwitched" | `params ["_originalUnit", "_switchToUnit"];` |
| **[BIS_fnc_addScriptedEventHandler](../functions/BIS_fnc_addScriptedEventHandler.md)** |  |  |
| `missionNamespace` | "ScriptedEventHandlerAdded" | `params ["_namespace", "_name", "_handlerID"];` |
| **[BIS_fnc_animateFlag](../functions/BIS_fnc_animateFlag.md)** |  |  |
| `_flag` | "FlagAnimationDone" | `params ["_flag", "_phaseEnd"];` |
| **[BIS_fnc_arsenal](../functions/BIS_fnc_arsenal.md)** |  |  |
| `missionNamespace` | "arsenalPreOpen" Arma 3 v2.08 Fires just before Arsenal display is created | `params ["_missionDisplay", "_center"];` |
| `missionNamespace` | "arsenalOpened" | `params ["_display", "_toggleSpace"];`<br>- _toggleSpace: [Boolean](../topics/Boolean.md) - `uiNamespace getVariable ["bis_fnc_arsenal_toggleSpace", false]];` |
| `missionNamespace` | "arsenalClosed" | `params ["_displayNull", "_toggleSpace"];`<br>- _toggleSpace: [Boolean](../topics/Boolean.md) - `uiNamespace getVariable ["bis_fnc_arsenal_toggleSpace", false]];` |
| **[BIS_fnc_bleedTickets](../functions/BIS_fnc_bleedTickets.md)** |  |  |
| `missionNamespace` | "dominantSideChanged" | `params ["_dominantSide", "_dominantSideOld", "_sides"];` |
| **[BIS_fnc_EGSpectatorCamera](../functions/BIS_fnc_EGSpectatorCamera.md)** |  |  |
| `missionNamespace` | "EGSpectator_OnCameraModeChanged" | `params ["_newMode"];` |
| **[BIS_fnc_garage](../functions/BIS_fnc_garage.md)** |  |  |
| `missionNamespace` | "garageOpened" | `params ["_display", "_toggleSpace"];` |
| `missionNamespace` | "garageClosed" | `params ["_displayNull", "_toggleSpace"];`<br>- _toggleSpace: [Boolean](../topics/Boolean.md) - `uiNamespace getVariable ["bis_fnc_arsenal_toggleSpace", false]];` |
| **[BIS_fnc_initDisplay](../functions/BIS_fnc_initDisplay.md) (Arma 3 v2.04)** |  |  |
| `missionNamespace` | "OnDisplayRegistered" | `params ["_display", "_class"];` |
| `missionNamespace` | "OnDisplayUnregistered" | `params ["_display", "_class"];` |
| **[BIS_fnc_initInspectable](../functions/BIS_fnc_initInspectable.md)** |  |  |
| `missionNamespace` | "objectInspected" | `params ["_object", "_texture", "_text", "_sound", "_textureRatio"];`<br>any data, shown as used by the [Leaflets](../topics/Leaflets.md) system |
| **[BIS_fnc_initIntelObject](../functions/BIS_fnc_initIntelObject.md)** |  |  |
| _object | "intelObjectFound" | `params ["_object", "_foundBy"];` |
| `_curator` | "intelObjectFound" | `params ["_curator", "_foundBy", "_object"];` |
| **[BIS_fnc_kbTellLocal](../functions/BIS_fnc_kbTellLocal.md)** |  |  |
| `missionNamespace` | "BIS_fnc_kbTellLocal_played" | `params ["_from", "_to", "_sentence", "_channel"];` |
| **[BIS_fnc_packStaticWeapon](../functions/BIS_fnc_packStaticWeapon.md)** |  |  |
| `_group` | "StaticWeaponPacked" | `params ["_group", "_leader", "_gunner", "_assistant", "_weaponBag", "_baseBag"];` |
| **[BIS_fnc_playVideo](../functions/BIS_fnc_playVideo.md)** |  |  |
| `missionNamespace` | "BIS_fnc_playVideo_started" | `params ["_video"];` |
| `missionNamespace` | "BIS_fnc_playVideo_stopped" | `params ["_video"];` |
| **BIS_fnc_priorityQueue* system** |  |  |
| `missionNamespace` | "BIS_onQueue%1Pop" where %1 is ID returned from [BIS_fnc_priorityQueue_Init](../functions/BIS_fnc_priorityQueue_Init.md) | `params ["_handle"];` |
| `missionNamespace` | "BIS_onQueue%1Push" where %1 is ID returned from [BIS_fnc_priorityQueue_Init](../functions/BIS_fnc_priorityQueue_Init.md) | `params ["_handle"];` |
| **[BIS_fnc_removeAllScriptedEventHandlers](../functions/BIS_fnc_removeAllScriptedEventHandlers.md)** |  |  |
| `missionNamespace` | "ScriptedEventHandlerRemoved" | `params ["_namespace", "_name", "_handlerID"];` |
| **[BIS_fnc_removeScriptedEventHandler](../functions/BIS_fnc_removeScriptedEventHandler.md)** |  |  |
| `missionNamespace` | "ScriptedEventHandlerRemoved" | `params ["_namespace", "_name", "_handlerID"];` |
| **[BIS_fnc_respawnTickets](../functions/BIS_fnc_respawnTickets.md)** |  |  |
| `missionNamespace` | "respawnTicketsExhausted" | `params ["_target"];` |
| **[BIS_fnc_unpackStaticWeapon](../functions/BIS_fnc_unpackStaticWeapon.md)** |  |  |
| `_group` | "StaticWeaponUnpacked" | `params ["_group", "_leader", "_gunner", "_assistant", "_weapon"];` |
| **Structures** |  |  |
| `missionNamespace` | "StructureDamaged" Arma 3 v2.22 | `params ["_structure", "_shot", "_position", "_velocity", "_ammo", "_explosive", "_indirectHit", "_invArmor", "_explPow", "_damage"];` |
| `missionNamespace` | "StructureDestroyed" Arma 3 v2.22 | `params ["_structure", "_killer", "_instigator", "_useEffects", "_shot", "_real"];` |
| **Module Curator RemoteControl** |  |  |
| `_curator` | "curatorObjectRemoteControlled" | `params ["_curator", "_player", "_unit", "_isRemoteControlled"];`<br>- _isRemoteControlled is [true](../commands/true.md) when entering remote control, [false](../commands/false.md) when exiting |
| **Module End Game** |  |  |
| `missionNamespace` | "EndGame_OnStageChanged" | `params ["_stage", "_side"];` |
| `missionNamespace` | "EndGame_OnStartGameObjectiveCompleted" | `params ["_side"];` |
| `missionNamespace` | "EndGame_OnObjectiveStateChanged" | `params ["_objective", "_side", "_newState"];` |
| `missionNamespace` | "EndGame_OnObjectiveCompleted" | `params ["_objective"];` |
| `missionNamespace` | "EndGame_OnObjectiveEnded" | `params ["_objective"];` |
| `missionNamespace` | "EndGame_OnDownloadCompleted" | `params ["_side", "_isUpload"];` |
| `missionNamespace` | "EndGame_Ended" | `params ["_winnerSide", "_loserSide", "_isDraw"];` |
| `missionNamespace` | "onUploadStateChanged" | `params ["_side"]; // can be nil` |
| `missionNamespace` | "onPickupInfoChanged" | `params ["_BIS_hvt_pickupInfo"];` |
| **Module Game Master (Zeus)** |  |  |
| `_curator` | "curatorGroupPlaced" | `params ["_group"];` |
| `_curator` | "curatorObjectPlaced" | `params ["_object"];` |
| `_curator` | "curatorUnitAssigned" | `params ["_curator", "_player"];` |
| **Module Rich Curve Key** |  |  |
| _curKey | "reached" | `params ["_curKey"];` |
| **Module Sector** |  |  |
| `_sector` | "ownerChanged" | `params ["_sector", "_owner", "_ownerOld"];` |
| **Module Spawn AI: Sector Tactic** |  |  |
| `missionNamespace` | "bis_groundSupport_groupSpawned" | `params ["_bis_groundSupport_groupSpawned", "_group", "_side"];` |
| `missionNamespace` | "bis_groundSupport_wiped" | `params ["_bis_groundSupport_wiped", "_group"];` |
| `missionNamespace` | "bis_groundSupport_inEnemySector" | `params ["_bis_groundSupport_inEnemySector", "_group"];` |
| `missionNamespace` | "bis_groundSupport_destinationReached" | `params ["_bis_groundSupport_destinationReached", "_group"];` |
| `missionNamespace` | "bis_groundSupport_groupTypeChanged" | `params ["_bis_groundSupport_groupTypeChanged", "_group", "_type", "_currentType"];` |
| `missionNamespace` | "bis_groundSupport_decimated" | `params ["_bis_groundSupport_decimated", "_group"];` |
| `missionNamespace` | "bis_groundSupport_farFromDestination" | `params ["_bis_groundSupport_farFromDestination", "_group"];` |
| `missionNamespace` | "bis_groundSupport_needTransport" | `params ["_bis_groundSupport_needTransport", "_group"];` |
| `missionNamespace` | "bis_groundSupport_joined" | `params ["_bis_groundSupport_joined", "_group", "_transportGroup"];` |
| `missionNamespace` | "bis_groundSupport_closeToDestination" | `params ["_bis_groundSupport_closeToDestination", "_group"];` |
| `missionNamespace` | "bis_groundSupport_needEvac" | `params ["_bis_groundSupport_needEvac", "_group"];` |
| `missionNamespace` | "bis_groundSupport_needAmmo" | `params ["_bis_groundSupport_needAmmo", "_group"];` |
| `missionNamespace` | "bis_groundSupport_needSupport" | `params ["_bis_groundSupport_needSupport", "_group", "_reportedVehicle"];` |
| `missionNamespace` | "bis_groundSupport_boarded" | `params ["_bis_groundSupport_boarded", "_group", "_transport"];` |
| `missionNamespace` | "bis_groundSupport_transportStarted" | `params ["_bis_groundSupport_transportStarted", "_group", "_transport"];` |
| `missionNamespace` | "bis_groundSupport_transportEnded" | `params ["_bis_groundSupport_transportEnded", "_group", "_transport"];` |
| `missionNamespace` | "bis_groundSupport_transportAborted" | `params ["_bis_groundSupport_transportAborted", "_group", "_transport"];` |
| `missionNamespace` | "bis_groundSupport_disembarked" | `params ["_bis_groundSupport_disembarked", "_group", "_transport"];` |
| **Module Timeline** |  |  |
| `_timeline` | "finished" | `params ["_timeline"];` |
| `_timeline` | "played" | N/A |
| `_timeline` | "looped" | `params ["_timeline"];` |
| **Module Trident** |  |  |
| `missionNamespace` | "BIS_fnc_moduleTrident_updated" | `params ["_sideA", "_sideB", "_areFriendly"];` |
| **Module Vehicle Respawn** |  |  |
| `missionNamespace` | "respawn" | `params ["_newVeh", "_veh"];` |
| **Spectrum Analyzer Device** |  |  |
| `missionNamespace` | "SpectrumAnalyzerOpened" | `params ["_display"];` |
| `missionNamespace` | "SpectrumAnalyzerClosed" | `params ["_display"];` |

### Arma 3 Contact Events

> [!NOTE]
> This content is exclusive to the Arma 3 Contact Expansion.

- "antennaAdded"
- "antennaDeleted"
- "arsenalPreOpen"
- "behaviourChanged"
- "currentSignalChanged"
- "dangerZoneEntered"
- "dangerZoneExited"
- "diaryRecordSet"
- "dominantSideChanged"
- "gravitPulseHit"
- "gravitPulseRewarded"
- "handleCombat"
- "handleWarningShot"
- "moveToModelSpaceCompleted"
- "puzzleReset"
- "puzzleStepCompleted"
- "puzzleTerminated"
- "refresh"
- "respawnTicketsExhausted"
- "rotationChanged"
- "signalEnded"
- "signalScanned"
- "signalStartedPassive"
- "siteSpawned"
- "taskSet"
- "translationChanged"
- "transmittingEnded"
- "transmittingStarted"
- "wpPatrolEnded"
- "wpPatrolStarted"

<sub>Source: [BI Community Wiki — Arma 3: Scripted Event Handlers](https://community.bistudio.com/wiki/Arma_3:_Scripted_Event_Handlers) (revision 378628).</sub>
