Scripted Event Handlers – Arma 3

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Added SEHs for enoch Probing Beam)
(Add full example and params usage)
Line 1: Line 1:
{{TOC|side}}
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]] will be executed.
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]] will be executed.
All the events exists as variables within a namespace, whether this is one of the main [[Namespace]]s like [[missionNamespace]] or [[uiNamespace]] or it could be a specific namespace like a [[Group]] or [[Object]] etc.
All the events exists as variables within a namespace, whether this is one of the main [[Namespace]]s like [[missionNamespace]] or [[uiNamespace]] or it could be a specific namespace like a [[Group]] or [[Object]] etc.
The event also has a set of parameters passed to the executed code.
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]].
You can even implement your own scripted eventHandlers by using [[BIS_fnc_callScriptedEventHandler]].
For all other available Event Handlers, see [[Arma 3: Event_Handlers]].
For all other available Event Handlers, see [[Arma 3: Event Handlers]].




== Related Commands ==
== Functions ==


* [[BIS_fnc_addScriptedEventHandler]]
* [[BIS_fnc_addScriptedEventHandler]]
Line 15: Line 16:


== Examples ==
== Examples ==
=== Create ===
<sqf>
waitUntil { sleep 1; player distance _GG < 10 };
[missionNamespace, "localPlayerNearFourArmedRobot", [player, _GG]] call BIS_fnc_callScriptedEventHandler;
</sqf>
=== Subscribe ===
<sqf>
[missionNamespace, "localPlayerNearFourArmedRobot", {
hint "Hello there";
}] call BIS_fnc_addScriptedEventHandler;
</sqf>


<sqf>
<sqf>
Line 29: Line 45:


{| class="wikitable"
{| class="wikitable"
|-
! Event namespace
! Event namespace
! Event name
! Event name
! Event passed parameters
! Event passed parameters
|- class="align-left"
! colspan="3" | Player opens pause menu
|-
|-
! colspan="3" style="text-align: left" | Player opens pause menu
| <sqf>missionNamespace</sqf>
|-
| missionNamespace
| "OnGameInterrupt"
| "OnGameInterrupt"
| [_display]
| <sqf>params ["_display"];</sqf>
|-
|-
|- class="align-left"
! colspan="3" | Player exits Game Options menu
|-
|-
! colspan="3" style="text-align: left" | Player exits Game Options menu
| <sqf>missionNamespace</sqf>
|-
| missionNamespace
| "OnGameOptionsExited" {{GVI|arma3|2.02}}
| "OnGameOptionsExited" {{GVI|arma3|2.02}}
| [_okButtonPressed]
| <sqf>params ["_okButtonPressed"];</sqf>
|-
|-
|- class="align-left"
! colspan="3" | Saving of the game, scripted or manual
|-
|-
! colspan="3" style="text-align: left" | Saving of the game, scripted or manual
| <sqf>missionNamespace</sqf>
|-
| missionNamespace
| "OnSaveGame"
| "OnSaveGame"
| {{n/a}}
| {{n/a}}
|-
|-
|- class="align-left"
! colspan="3" | [[Event Scripts#teamSwitchedScript.sqs|teamSwitchedScript.sqs]]
|-
|-
! colspan="3" style="text-align: left" | teamSwitchedScript.sqs
| <sqf>missionNamespace</sqf>
|-
| missionNamespace
| "teamSwitched"
| "teamSwitched"
| [_originalUnit, _switchToUnit]
| <sqf>params ["_originalUnit", "_switchToUnit"];</sqf>
|-
|-
|-
! colspan="3" style="text-align: left" | BIS_fnc_packStaticWeapon
|- class="align-left"
! colspan="3" | [[BIS_fnc_packStaticWeapon]]
|-
|-
| _group
| <sqf>_group</sqf>
| "StaticWeaponPacked"
| "StaticWeaponPacked"
| [_group, _leader, _gunner, _assistant, _weaponBag, _baseBag]
| <sqf>params ["_group", "_leader", "_gunner", "_assistant", "_weaponBag", "_baseBag"];</sqf>
|-
|-
|-
! colspan="3" style="text-align: left" | BIS_fnc_unpackStaticWeapon
|- class="align-left"
! colspan="3" | [[BIS_fnc_unpackStaticWeapon]]
|-
|-
| _group
| <sqf>_group</sqf>
| "StaticWeaponUnpacked"
| "StaticWeaponUnpacked"
| [_group, _leader, _gunner, _assistant, _weapon]
| <sqf>params ["_group", "_leader", "_gunner", "_assistant", "_weapon"];</sqf>
|-
|-
|- class="align-left"
! colspan="3" | Module Timeline
|-
|-
! colspan="3" style="text-align: left" | Module Timeline
| <sqf>_timeline</sqf>
|-
| _timeline
| "finished"
| "finished"
| [_timeline]
| <sqf>params ["_timeline"];</sqf>
|-
|-
|-
|-
| _timeline
| <sqf>_timeline</sqf>
| "played"
| "played"
| {{n/a}}
| {{n/a}}
|-
|-
|-
|-
| _timeline
| <sqf>_timeline</sqf>
| "looped"
| "looped"
| [_timeline]
| <sqf>params ["_timeline"];</sqf>
|-
|-
|-
|- class="align-left"
! colspan="3" style="text-align: left" | Module Rich Curve Key
! colspan="3" | Module Rich Curve Key
|-
|-
| _curKey
| _curKey
| "reached"
| "reached"
| [_curKey]
| <sqf>params ["_curKey"];</sqf>
|-
|-
|- class="align-left"
! colspan="3" | [[BIS_fnc_kbTellLocal]]
|-
|-
! colspan="3" style="text-align: left" | BIS_fnc_kbTellLocal
| <sqf>missionNamespace</sqf>
|-
| missionNamespace
| "BIS_fnc_kbTellLocal_played"
| "BIS_fnc_kbTellLocal_played"
| [_from, _to, _sentence, _channel]
| <sqf>params ["_from", "_to", "_sentence", "_channel"];</sqf>
|-
|-
|- class="align-left"
! colspan="3" | Module Game Master (Zeus)
|-
|-
! colspan="3" style="text-align: left" | Module Game Master (Zeus)
| <sqf>_curator</sqf>
|-
| _curator
| "curatorGroupPlaced"
| "curatorGroupPlaced"
| [_group]
| <sqf>params ["_group"];</sqf>
|-
|-
|-
|-
| _curator
| <sqf>_curator</sqf>
| "curatorObjectPlaced"
| "curatorObjectPlaced"
| [_object]
| <sqf>params ["_object"];</sqf>
|-
|-
|-
|-
| _curator
| <sqf>_curator</sqf>
| "curatorUnitAssigned"
| "curatorUnitAssigned"
| [_curator, _player]
| <sqf>params ["_curator", "_player"];</sqf>
|-
|-
|- class="align-left"
! colspan="3" | [[BIS_fnc_playVideo]]
|-
|-
! colspan="3" style="text-align: left" | BIS_fnc_playVideo
| <sqf>missionNamespace</sqf>
|-
| missionNamespace
| "BIS_fnc_playVideo_started"
| "BIS_fnc_playVideo_started"
| [_video]
| <sqf>params ["_video"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "BIS_fnc_playVideo_stopped"
| "BIS_fnc_playVideo_stopped"
| [_video]
| <sqf>params ["_video"];</sqf>
|-
|-
|- class="align-left"
! colspan="3" | [[BIS_fnc_addScriptedEventHandler]]
|-
|-
! colspan="3" style="text-align: left" | BIS_fnc_addScriptedEventHandler
| <sqf>missionNamespace</sqf>
|-
| missionNamespace
| "ScriptedEventHandlerAdded"
| "ScriptedEventHandlerAdded"
| [_namespace, _name, _handlerID]
| <sqf>params ["_namespace", "_name", "_handlerID"];</sqf>
|-
|-
|- class="align-left"
! colspan="3" | [[BIS_fnc_removeScriptedEventHandler]]
|-
|-
! colspan="3" style="text-align: left" | BIS_fnc_removeScriptedEventHandler
| <sqf>missionNamespace</sqf>
|-
| missionNamespace
| "ScriptedEventHandlerRemoved"
| "ScriptedEventHandlerRemoved"
| [_namespace, _name, _handlerID]
| <sqf>params ["_namespace", "_name", "_handlerID"];</sqf>
|-
|-
|- class="align-left"
! colspan="3" | [[BIS_fnc_removeAllScriptedEventHandlers]]
|-
|-
! colspan="3" style="text-align: left" | BIS_fnc_removeAllScriptedEventHandlers
| <sqf>missionNamespace</sqf>
|-
| missionNamespace
| "ScriptedEventHandlerRemoved"
| "ScriptedEventHandlerRemoved"
| [_namespace, _name, _handlerID]
| <sqf>params ["_namespace", "_name", "_handlerID"];</sqf>
|-
|-
|- class="align-left"
! colspan="3" | [[BIS_fnc_respawnTickets]]
|-
|-
! colspan="3" style="text-align: left" | BIS_fnc_respawnTickets
| <sqf>missionNamespace</sqf>
|-
| missionNamespace
| "respawnTicketsExhausted"
| "respawnTicketsExhausted"
| [_target]
| <sqf>params ["_target"];</sqf>
|-
|-
|-
! colspan="3" style="text-align: left" | BIS_fnc_bleedTickets
|- class="align-left"
! colspan="3" | [[BIS_fnc_bleedTickets]]
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "dominantSideChanged"
| "dominantSideChanged"
| [_dominantSide, _dominantSideOld, _sides]
| <sqf>params ["_dominantSide", "_dominantSideOld", "_sides"];</sqf>
|-
|-
|-
! colspan="3" style="text-align: left" | BIS_fnc_arsenal
|- class="align-left"
! colspan="3" | BIS_fnc_arsenal
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "arsenalPreOpen" {{GVI|arma3|2.08}} Fires just before Arsenal display is created
| "arsenalPreOpen" {{GVI|arma3|2.08}} Fires just before Arsenal display is created
| [_missionDisplay, _center]
| <sqf>params ["_missionDisplay", "_center"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "arsenalOpened"
| "arsenalOpened"
| [_display, _toggleSpace]
| <sqf>params ["_display", "_toggleSpace"];</sqf>
* _toggleSpace: [[Boolean]] - <sqf inline>uiNamespace getVariable ["bis_fnc_arsenal_toggleSpace", false]];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "arsenalClosed"
| "arsenalClosed"
| [<nowiki/>[[displayNull]], [[uiNamespace]] [[getVariable]] ["BIS_fnc_arsenal_toggleSpace", [[false]]]]
| <sqf>params ["_displayNull", "_toggleSpace"];</sqf>
* _toggleSpace: [[Boolean]] - <sqf inline>uiNamespace getVariable ["bis_fnc_arsenal_toggleSpace", false]];</sqf>
|-
|-
|- class="align-left"
! colspan="3" | [[BIS_fnc_garage]]
|-
|-
! colspan="3" style="text-align: left" | BIS_fnc_garage
| <sqf>missionNamespace</sqf>
|-
| missionNamespace
| "garageOpened"
| "garageOpened"
| [_display, _toggleSpace]
| <sqf>params ["_display", "_toggleSpace"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "garageClosed"
| "garageClosed"
| [displayNull,uiNamespace getVariable ["BIS_fnc_arsenal_toggleSpace",false]]
| <sqf>params ["_displayNull", "_toggleSpace"];</sqf>
* _toggleSpace: [[Boolean]] - <sqf inline>uiNamespace getVariable ["bis_fnc_arsenal_toggleSpace", false]];</sqf>
|-
|-
|-
|- class="align-left"
! colspan="3" style="text-align: left" | BIS_fnc_initIntelObject
! colspan="3" | BIS_fnc_initIntelObject
|-
|-
| _object
| _object
| "intelObjectFound"
| "intelObjectFound"
| [_object, _foundBy]
| <sqf>params ["_object", "_foundBy"];</sqf>
|-
|-
|-
|-
| _curator
| <sqf>_curator</sqf>
| "intelObjectFound"
| "intelObjectFound"
| [_curator, _foundBy, _object]
| <sqf>params ["_curator", "_foundBy", "_object"];</sqf>
|-
|-
|- class="align-left"
! colspan="3" | BIS_fnc_EGSpectatorCamera
|-
|-
! colspan="3" style="text-align: left" | BIS_fnc_EGSpectatorCamera
| <sqf>missionNamespace</sqf>
|-
| missionNamespace
| "EGSpectator_OnCameraModeChanged"
| "EGSpectator_OnCameraModeChanged"
| [_newMode]
| <sqf>params ["_newMode"];</sqf>
|-
|-
|- class="align-left"
! colspan="3" | Module Vehicle Respawn
|-
|-
! colspan="3" style="text-align: left" | Module Vehicle Respawn
| <sqf>missionNamespace</sqf>
|-
| missionNamespace
| "respawn"
| "respawn"
| [_newVeh, _veh]
| <sqf>params ["_newVeh", "_veh"];</sqf>
|-
|-
|- class="align-left"
! colspan="3" | Module Sector
|-
|-
! colspan="3" style="text-align: left" | Module Sector
| <sqf>_sector</sqf>
|-
| _sector
| "ownerChanged"
| "ownerChanged"
| [_sector, _owner, _ownerOld]
| <sqf>params ["_sector", "_owner", "_ownerOld"];</sqf>
|-
|-
|- class="align-left"
! colspan="3" | Module Curator RemoteControl
|-
|-
! colspan="3" style="text-align: left" | Module Curator RemoteControl
| <sqf>_curator</sqf>
|-
| _curator
| "curatorObjectRemoteControlled"
| "curatorObjectRemoteControlled"
| [_curator, _player, _unit, _isRemoteControlled] {{cc|_isRemoteControlled is [[true]] when entering remote control, and [[false]] when exiting}}
| <sqf>params ["_curator", "_player", "_unit", "_isRemoteControlled"];</sqf>
|-
* _isRemoteControlled is [[true]] when entering remote control, [[false]] when exiting
|-
|-
! colspan="3" style="text-align: left" | Module Spawn AI: Sector Tactic
|- class="align-left"
! colspan="3" | Module Spawn AI: Sector Tactic
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "bis_groundSupport_groupSpawned"
| "bis_groundSupport_groupSpawned"
| ["bis_groundSupport_groupSpawned", _group, _side]
| <sqf>params ["_bis_groundSupport_groupSpawned", "_group", "_side"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "bis_groundSupport_wiped"
| "bis_groundSupport_wiped"
| ["bis_groundSupport_wiped", _group]
| <sqf>params ["_bis_groundSupport_wiped", "_group"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "bis_groundSupport_inEnemySector"
| "bis_groundSupport_inEnemySector"
| ["bis_groundSupport_inEnemySector", _group]
| <sqf>params ["_bis_groundSupport_inEnemySector", "_group"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "bis_groundSupport_destinationReached"
| "bis_groundSupport_destinationReached"
| ["bis_groundSupport_destinationReached", _group]
| <sqf>params ["_bis_groundSupport_destinationReached", "_group"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "bis_groundSupport_groupTypeChanged"
| "bis_groundSupport_groupTypeChanged"
| ["bis_groundSupport_groupTypeChanged", _group, _type, _currentType]
| <sqf>params ["_bis_groundSupport_groupTypeChanged", "_group", "_type", "_currentType"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "bis_groundSupport_decimated"
| "bis_groundSupport_decimated"
| ["bis_groundSupport_decimated", _group]
| <sqf>params ["_bis_groundSupport_decimated", "_group"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "bis_groundSupport_farFromDestination"
| "bis_groundSupport_farFromDestination"
| ["bis_groundSupport_farFromDestination", _group]
| <sqf>params ["_bis_groundSupport_farFromDestination", "_group"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "bis_groundSupport_needTransport"
| "bis_groundSupport_needTransport"
| ["bis_groundSupport_needTransport", _group]
| <sqf>params ["_bis_groundSupport_needTransport", "_group"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "bis_groundSupport_joined"
| "bis_groundSupport_joined"
| ["bis_groundSupport_joined", _group, _transportGroup]
| <sqf>params ["_bis_groundSupport_joined", "_group", "_transportGroup"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "bis_groundSupport_closeToDestination"
| "bis_groundSupport_closeToDestination"
| ["bis_groundSupport_closeToDestination", _group]
| <sqf>params ["_bis_groundSupport_closeToDestination", "_group"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "bis_groundSupport_needEvac"
| "bis_groundSupport_needEvac"
| ["bis_groundSupport_needEvac", _group]
| <sqf>params ["_bis_groundSupport_needEvac", "_group"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "bis_groundSupport_needAmmo"
| "bis_groundSupport_needAmmo"
| ["bis_groundSupport_needAmmo", _group]
| <sqf>params ["_bis_groundSupport_needAmmo", "_group"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "bis_groundSupport_needSupport"
| "bis_groundSupport_needSupport"
| ["bis_groundSupport_needSupport", _group, _reportedVehicle]
| <sqf>params ["_bis_groundSupport_needSupport", "_group", "_reportedVehicle"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "bis_groundSupport_boarded"
| "bis_groundSupport_boarded"
| ["bis_groundSupport_boarded", _group, _transport]
| <sqf>params ["_bis_groundSupport_boarded", "_group", "_transport"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "bis_groundSupport_transportStarted"
| "bis_groundSupport_transportStarted"
| ["bis_groundSupport_transportStarted", _group, _transport]
| <sqf>params ["_bis_groundSupport_transportStarted", "_group", "_transport"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "bis_groundSupport_transportEnded"
| "bis_groundSupport_transportEnded"
| ["bis_groundSupport_transportEnded", _group, _transport]
| <sqf>params ["_bis_groundSupport_transportEnded", "_group", "_transport"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "bis_groundSupport_transportAborted"
| "bis_groundSupport_transportAborted"
| ["bis_groundSupport_transportAborted", _group, _transport]
| <sqf>params ["_bis_groundSupport_transportAborted", "_group", "_transport"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "bis_groundSupport_disembarked"
| "bis_groundSupport_disembarked"
| ["bis_groundSupport_disembarked", _group, _transport]
| <sqf>params ["_bis_groundSupport_disembarked", "_group", "_transport"];</sqf>
|-
|-
|-
! colspan="3" style="text-align: left" | Module End Game
|- class="align-left"
! colspan="3" | Module End Game
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "EndGame_OnStageChanged"
| "EndGame_OnStageChanged"
| [_stage, _side]
| <sqf>params ["_stage", "_side"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "EndGame_OnStartGameObjectiveCompleted"
| "EndGame_OnStartGameObjectiveCompleted"
| [_side]
| <sqf>params ["_side"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "EndGame_OnObjectiveStateChanged"
| "EndGame_OnObjectiveStateChanged"
| [_objective, _side, _newState]
| <sqf>params ["_objective", "_side", "_newState"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "EndGame_OnObjectiveCompleted"
| "EndGame_OnObjectiveCompleted"
| [_objective]
| <sqf>params ["_objective"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "EndGame_OnObjectiveEnded"
| "EndGame_OnObjectiveEnded"
| [_objective]
| <sqf>params ["_objective"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "EndGame_OnDownloadCompleted"
| "EndGame_OnDownloadCompleted"
| [_side, _isUpload]
| <sqf>params ["_side", "_isUpload"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "EndGame_Ended"
| "EndGame_Ended"
| [_winnerSide, _looserSide, _isDraw]
| <sqf>params ["_winnerSide", "_loserSide", "_isDraw"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "onUploadStateChanged"
| "onUploadStateChanged"
| [_side] {{cc|can be nil}}
| <sqf>params ["_side"]; // can be nil</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "onPickupInfoChanged"
| "onPickupInfoChanged"
| [BIS_hvt_pickupInfo]
| <sqf>params ["_BIS_hvt_pickupInfo"];</sqf>
|-
|-
|- class="align-left"
! colspan="3" | EG Spectator Display
|-
|-
! colspan="3" style="text-align: left" | EG Spectator Display
| <sqf>missionNamespace</sqf>
|-
| missionNamespace
| "RscDisplayEGSpectator_OnCursorObjectFocused"
| "RscDisplayEGSpectator_OnCursorObjectFocused"
| [_object]
| <sqf>params ["_object"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "RscDisplayEGSpectator_OnCursorObjectUnfocused"
| "RscDisplayEGSpectator_OnCursorObjectUnfocused"
| [_object]
| <sqf>params ["_object"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "RscDisplayEGSpectator_OnFocusChanged"
| "RscDisplayEGSpectator_OnFocusChanged"
| [_newFocus]
| <sqf>params ["_newFocus"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "RscDisplayEGSpectator_OnUiVisibilityChanged"
| "RscDisplayEGSpectator_OnUiVisibilityChanged"
| [_isVisible]
| <sqf>params ["_isVisible"];</sqf>
|-
|-
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "RscDisplayEGSpectator_MapStateChanged"
| "RscDisplayEGSpectator_MapStateChanged"
| [_isMapVisible]
| <sqf>params ["_isMapVisible"];</sqf>
|-
|-
|-
! colspan="3" style="text-align: left" | Respawn Display
|- class="align-left"
! colspan="3" | Respawn Display
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "RscDisplayRespawnKeyDown"
| "RscDisplayRespawnKeyDown"
| [_display, _keyCode, _shft, _ctr, _alt]
| <sqf>params ["_display", "_keyCode", "_shift", "_ctrl", "_alt"];</sqf>
|-
|-
|-
! colspan="3" style="text-align: left" | BIS_fnc_animateFlag
|- class="align-left"
! colspan="3" | [[BIS_fnc_animateFlag]]
|-
|-
| _flag
| <sqf>_flag</sqf>
| "FlagAnimationDone"
| "FlagAnimationDone"
| [_flag, _phaseEnd]
| <sqf>params ["_flag", "_phaseEnd"];</sqf>
|-
|-
|- class="align-left"
! colspan="3" | Module Trident
|-
|-
! colspan="3" style="text-align: left" | Module Trident
| <sqf>missionNamespace</sqf>
|-
| missionNamespace
| "BIS_fnc_moduleTrident_updated"
| "BIS_fnc_moduleTrident_updated"
| [_sideA, _sideB, _areFriendly]
| <sqf>params ["_sideA", "_sideB", "_areFriendly"];</sqf>
|-
|-
|- class="align-left"
! colspan="3" | [[BIS_fnc_initInspectable]]
|-
|-
! colspan="3" style="text-align: left" | BIS_fnc_initInspectable
| <sqf>missionNamespace</sqf>
|-
| missionNamespace
| "objectInspected"
| "objectInspected"
| [_object, (_texture, _text, _sound, _textureRatio)] {{cc|any data, shown as used by leaflet system}}
| <sqf>params ["_object", "_texture", "_text", "_sound", "_textureRatio"];</sqf>
any data, shown as used by the [[Arma 3: Leaflets|Leaflets]] system
|-
|-
|- class="align-left"
! colspan="3" | BIS_fnc_priorityQueue* system
|-
|-
! colspan="3" style="text-align: left" | BIS_fnc_priorityQueue
| <sqf>missionNamespace</sqf>
| "BIS_onQueue%1Pop" where %1 is ID returned from [[BIS_fnc_priorityQueue_Init]]
| <sqf>params ["_handle"];</sqf>
|-
|-
| missionNamespace
| "BIS_onQueue%1Pop" {{cc|where %1 is ID returned from BIS_fnc_priorityQueue_init}}
| [_handle]
|-
|-
| <sqf>missionNamespace</sqf>
| "BIS_onQueue%1Push" where %1 is ID returned from [[BIS_fnc_priorityQueue_Init]]
| <sqf>params ["_handle"];</sqf>
|- class="align-left"
! colspan="3" | Display is opened or closed via [[BIS_fnc_initDisplay]] {{GVI|arma3|2.04}}
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "BIS_onQueue%1Push" {{cc|where %1 is ID returned from BIS_fnc_priorityQueue_init}}
| [_handle]
|-
 
! colspan="3" style="text-align: left" | Display is opened or closed via [[BIS_fnc_initDisplay]] {{GVI|arma3|2.04}}
|-
| missionNamespace
| "OnDisplayRegistered"
| "OnDisplayRegistered"
| [_display, _class]
| <sqf>params ["_display", "_class"];</sqf>
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "OnDisplayUnregistered"
| "OnDisplayUnregistered"
| [_display, _class]
| <sqf>params ["_display", "_class"];</sqf>
|-
|- class="align-left"
 
! colspan="3" | Probing Beam (enoch)
! colspan="3" style="text-align: left" | Probing Beam (enoch)
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "probingStarted"
| "probingStarted"
| [cursorTarget,_data]
| <sqf>params ["_cursorTarget", "_data"];</sqf>
|-
|-
| missionNamespace
| <sqf>missionNamespace</sqf>
| "probingEnded"
| "probingEnded"
| [_data,_isEnded]
| <sqf>params ["_data", "_isEnded"];</sqf>
|-
|-
|}
|}


[[Category: Event Handlers]]
[[Category: Event Handlers]]

Revision as of 17:24, 12 March 2023

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 will be executed. All the events exists as variables within a namespace, whether this is one of the main Namespaces like missionNamespace or uiNamespace or it could be a specific namespace like a Group or Object 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. For all other available Event Handlers, see Arma 3: Event Handlers.


Functions


Examples

Create

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

Subscribe

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

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


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 logo black.png2.10

Event namespace Event name Event passed parameters
Player opens pause menu
"OnGameInterrupt"
params ["_display"];
Player exits Game Options menu
"OnGameOptionsExited" Arma 3 logo black.png2.02
params ["_okButtonPressed"];
Saving of the game, scripted or manual
"OnSaveGame" N/A
teamSwitchedScript.sqs
"teamSwitched"
params ["_originalUnit", "_switchToUnit"];
BIS_fnc_packStaticWeapon
_group
"StaticWeaponPacked"
params ["_group", "_leader", "_gunner", "_assistant", "_weaponBag", "_baseBag"];
BIS_fnc_unpackStaticWeapon
_group
"StaticWeaponUnpacked"
params ["_group", "_leader", "_gunner", "_assistant", "_weapon"];
Module Timeline
_timeline
"finished"
params ["_timeline"];
_timeline
"played" N/A
_timeline
"looped"
params ["_timeline"];
Module Rich Curve Key
_curKey "reached"
params ["_curKey"];
BIS_fnc_kbTellLocal
"BIS_fnc_kbTellLocal_played"
params ["_from", "_to", "_sentence", "_channel"];
Module Game Master (Zeus)
_curator
"curatorGroupPlaced"
params ["_group"];
_curator
"curatorObjectPlaced"
params ["_object"];
_curator
"curatorUnitAssigned"
params ["_curator", "_player"];
BIS_fnc_playVideo
"BIS_fnc_playVideo_started"
params ["_video"];
"BIS_fnc_playVideo_stopped"
params ["_video"];
BIS_fnc_addScriptedEventHandler
"ScriptedEventHandlerAdded"
params ["_namespace", "_name", "_handlerID"];
BIS_fnc_removeScriptedEventHandler
"ScriptedEventHandlerRemoved"
params ["_namespace", "_name", "_handlerID"];
BIS_fnc_removeAllScriptedEventHandlers
"ScriptedEventHandlerRemoved"
params ["_namespace", "_name", "_handlerID"];
BIS_fnc_respawnTickets
"respawnTicketsExhausted"
params ["_target"];
BIS_fnc_bleedTickets
"dominantSideChanged"
params ["_dominantSide", "_dominantSideOld", "_sides"];
BIS_fnc_arsenal
"arsenalPreOpen" Arma 3 logo black.png2.08 Fires just before Arsenal display is created
params ["_missionDisplay", "_center"];
"arsenalOpened"
params ["_display", "_toggleSpace"];
"arsenalClosed"
params ["_displayNull", "_toggleSpace"];
BIS_fnc_garage
"garageOpened"
params ["_display", "_toggleSpace"];
"garageClosed"
params ["_displayNull", "_toggleSpace"];
BIS_fnc_initIntelObject
_object "intelObjectFound"
params ["_object", "_foundBy"];
_curator
"intelObjectFound"
params ["_curator", "_foundBy", "_object"];
BIS_fnc_EGSpectatorCamera
"EGSpectator_OnCameraModeChanged"
params ["_newMode"];
Module Vehicle Respawn
"respawn"
params ["_newVeh", "_veh"];
Module Sector
_sector
"ownerChanged"
params ["_sector", "_owner", "_ownerOld"];
Module Curator RemoteControl
_curator
"curatorObjectRemoteControlled"
params ["_curator", "_player", "_unit", "_isRemoteControlled"];
  • _isRemoteControlled is true when entering remote control, false when exiting
Module Spawn AI: Sector Tactic
"bis_groundSupport_groupSpawned"
params ["_bis_groundSupport_groupSpawned", "_group", "_side"];
"bis_groundSupport_wiped"
params ["_bis_groundSupport_wiped", "_group"];
"bis_groundSupport_inEnemySector"
params ["_bis_groundSupport_inEnemySector", "_group"];
"bis_groundSupport_destinationReached"
params ["_bis_groundSupport_destinationReached", "_group"];
"bis_groundSupport_groupTypeChanged"
params ["_bis_groundSupport_groupTypeChanged", "_group", "_type", "_currentType"];
"bis_groundSupport_decimated"
params ["_bis_groundSupport_decimated", "_group"];
"bis_groundSupport_farFromDestination"
params ["_bis_groundSupport_farFromDestination", "_group"];
"bis_groundSupport_needTransport"
params ["_bis_groundSupport_needTransport", "_group"];
"bis_groundSupport_joined"
params ["_bis_groundSupport_joined", "_group", "_transportGroup"];
"bis_groundSupport_closeToDestination"
params ["_bis_groundSupport_closeToDestination", "_group"];
"bis_groundSupport_needEvac"
params ["_bis_groundSupport_needEvac", "_group"];
"bis_groundSupport_needAmmo"
params ["_bis_groundSupport_needAmmo", "_group"];
"bis_groundSupport_needSupport"
params ["_bis_groundSupport_needSupport", "_group", "_reportedVehicle"];
"bis_groundSupport_boarded"
params ["_bis_groundSupport_boarded", "_group", "_transport"];
"bis_groundSupport_transportStarted"
params ["_bis_groundSupport_transportStarted", "_group", "_transport"];
"bis_groundSupport_transportEnded"
params ["_bis_groundSupport_transportEnded", "_group", "_transport"];
"bis_groundSupport_transportAborted"
params ["_bis_groundSupport_transportAborted", "_group", "_transport"];
"bis_groundSupport_disembarked"
params ["_bis_groundSupport_disembarked", "_group", "_transport"];
Module End Game
"EndGame_OnStageChanged"
params ["_stage", "_side"];
"EndGame_OnStartGameObjectiveCompleted"
params ["_side"];
"EndGame_OnObjectiveStateChanged"
params ["_objective", "_side", "_newState"];
"EndGame_OnObjectiveCompleted"
params ["_objective"];
"EndGame_OnObjectiveEnded"
params ["_objective"];
"EndGame_OnDownloadCompleted"
params ["_side", "_isUpload"];
"EndGame_Ended"
params ["_winnerSide", "_loserSide", "_isDraw"];
"onUploadStateChanged"
params ["_side"]; // can be nil
"onPickupInfoChanged"
params ["_BIS_hvt_pickupInfo"];
EG Spectator Display
"RscDisplayEGSpectator_OnCursorObjectFocused"
params ["_object"];
"RscDisplayEGSpectator_OnCursorObjectUnfocused"
params ["_object"];
"RscDisplayEGSpectator_OnFocusChanged"
params ["_newFocus"];
"RscDisplayEGSpectator_OnUiVisibilityChanged"
params ["_isVisible"];
"RscDisplayEGSpectator_MapStateChanged"
params ["_isMapVisible"];
Respawn Display
"RscDisplayRespawnKeyDown"
params ["_display", "_keyCode", "_shift", "_ctrl", "_alt"];
BIS_fnc_animateFlag
_flag
"FlagAnimationDone"
params ["_flag", "_phaseEnd"];
Module Trident
"BIS_fnc_moduleTrident_updated"
params ["_sideA", "_sideB", "_areFriendly"];
BIS_fnc_initInspectable
"objectInspected"
params ["_object", "_texture", "_text", "_sound", "_textureRatio"];

any data, shown as used by the Leaflets system

BIS_fnc_priorityQueue* system
"BIS_onQueue%1Pop" where %1 is ID returned from BIS_fnc_priorityQueue_Init
params ["_handle"];
"BIS_onQueue%1Push" where %1 is ID returned from BIS_fnc_priorityQueue_Init
params ["_handle"];
Display is opened or closed via BIS_fnc_initDisplay Arma 3 logo black.png2.04
"OnDisplayRegistered"
params ["_display", "_class"];
"OnDisplayUnregistered"
params ["_display", "_class"];
Probing Beam (enoch)
"probingStarted"
params ["_cursorTarget", "_data"];
"probingEnded"
params ["_data", "_isEnded"];