Scripted Event Handlers – Arma 3

From Bohemia Interactive Community
Revision as of 16:24, 12 March 2023 by Lou Montana (talk | contribs) (Add full example and params usage)
Jump to navigation Jump to search

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"];