From Bohemia Interactive Community
< R3vo
Jump to navigation Jump to search

Magic variables are engine-maintained variables that serve a specific purpose within a given scope and are often used by the engine to push data to a given script or code fragment.
They are usually no longer present after leaving the scope (e.g. after code execution or after a forEach statement).

Variable Description Data Types Used In Introduced With

Refers to the trigger object itself - accessible within the Condition, On Activation or On Deactivation script.





"Variable defined by Triggers and Waypoints:

  • Triggers:
    • accessible within the Condition, On Activation or On Deactivation script
    • defines an array of objects that have been detected by the trigger (same as what is returned by the list command)
    • thisList in a trigger's On Deactivation field seems to be undefined, and should not be used. It will either return an empty array, or possibly the contents of a different trigger.
  • Waypoints:
    • accessible within the Condition or On Activation script
    • defines an array containing all group members that completed the respective waypoint"

Array of Objects

Triggers & Waypoints



  • In Addons' config files (e.g. UserActions, onInit, etc.): The object to which the entry belongs
  • In Dialogs: The player unit that activated control (e.g. via mouseEnter). false if non-activated
  • In Object's ""Init"" line: The object to which the init line belongs
  • In Triggers
    • ""Condition"" line: The Boolean return value of the trigger's conditions (e.g. ""East Not Present"" etc)
    • ""On Activation/Deactivation"" line: Seems to always return false
  • In Waypoints
    • ""Condition"" or ""On Activation/Deactivation"" line: The group leader that completed the respective waypoint (or driver, if waypoint is assigned to a vehicle)"

Object or Boolean

See description.



Iterating over a HashMap with forEach will return the key as _x and the value as _y.


See description.

Arma 3 logo black.png2.02


Represents the current element during a loop with: apply, count, configClasses, configProperties, findIf, forEach, select.


apply, count, configClasses, configProperties, findIf, forEach, select



Stores units depending on the context it is used in.

Array of Objects

commandFSM, doFSM, onDoubleClick, onMapSingleClick

Logo A0.png1.85


Stores the topic name. String


Logo A2.png1.00


Stores the unit that was switched to in onTeamSwitch. Object onTeamSwitch Logo A2.png1.00


SQS ONLY. The time elapsed since the script started running.


In SQS scripts.



The execVMed, called or spawned script handle from within itself.

Script Handle

See description.

_thisFSM The FSM id for FSMs executed with execFSM. Number execFSM Arma 3 logo black.png1.54
_thisEventHandler The index for Event Handlers added with addEventHandler, addMPEventHandler or addMissionEventHandler. Number addEventHandler, addMissionEventHandler, addMPEventHandler N/A
_thisEvent The name of the Event added with addEventHandler, addMPEventHandler or addMissionEventHandler as well as for config types EHs. String addEventHandler, addMissionEventHandler, addMPEventHandler Arma 3 logo black.png2.06
_thisArgs Additional event handler arguments available with addMissionEventHandler. Array addMissionEventHandler Arma 3 logo black.png1.54
_this Is used to make arguments of a script call (call, exec, execVM, spawn) visible and accessible to the script, also used in Event Handlers to pass appropriate params. String addAction, addEventHandler, addMissionEventHandler, addMPEventHandler, addMusicEventHandler, addPublicVariableEventHandler, call, ctrlAddEventHandler, ctrlSetEventHandler, displayAddEventHandler, displaySetEventHandler, editorSetEventHandler, exec, execFSM, execVM, inGameUISetEventHandler, kbAddTopic, onGroupIconClick, setMusicEventHandler, spawn, try N/A
_target Object addAction, commandFSM, doFSM N/A
_shift Returns whether or not Shift was pressed. Boolean onDoubleClick, onMapSingleClick Logo A0.png1.85
_sentenceId Contains the ID of given sentence. String ??? kbAddTopic Logo A2.png1.00
_pos Contains a position. What position depends on the command it was used in. Array onDoubleClick, onMapSingleClick, onShowNewObject N/A
_owner Owner id of the leaving player. Number onPlayerDisconnected, onPlayerConnected Arma 3 logo black.png1.50
_new Contains the newly created object. Old 3D-Editor only. Object addEditorObject Logo A2.png1.00
_name Profile name of the the player. String onPlayerDisconnected, onPlayerConnected ofpe version.gif1.00
_leader Contains the group leader. Object doFSM Logo A1 black.png1.00
_jip Returns whether or not the player joined in progress. Boolean onPlayerDisconnected, onPlayerConnected Arma 3 logo black.png1.50
_isSelected Returns the new selection state of the units. Boolean onHCGroupSelectionChanged Logo A2.png1.00
_isHighCommand Returns true if player is in high command. Boolean onCommandModeChanged Logo A2.png1.00
_id Contains the direct player ID. Number onPlayerDisconnected Logo A1 black.png1.00
_idStr Same as _id but in string format, so could be exactly compared to user marker ids. String onPlayerDisconnected Logo A1 black.png1.96
_group Contains the newly selected group. Group onHCGroupSelectionChanged Logo A2.png1.00
  • onTeamSwitch - Contains the unit that the player switched from
  • kbAddTopic - Contains the person that talked to the receiver and triggered the script
Object kbAddTopic, onTeamSwitch Logo A2.png1.00
_forEachIndex Represents the (zero-based) index of a forEach _x element. Number forEach N/A
not engine-maintained, but added by functions_f/initFunctions.sqf script – see scriptName

From within a Function, name of the function that called the current one (_fnc_scriptName used when not defined)

String N/A N/A
not engine-maintained, but added by functions_f/initFunctions.sqf script – see scriptName
From within a Function, the TAG_fnc_functionName function name as string (e.g. "myTag_fnc_myFunction")
String N/A N/A?
_exception Exception handling using a try-catch statement declares this variable which contains details about the thrown exception in the try block. ? try-catch ?
_destination ? ? commandFSM, doFSM ?
_alt Returns whether or not Alt was pressed Boolean onDoubleClick, onMapSingleClick N/A
_uid Contains UID of the leaving player. In Arma 3 it is also the same as Steam ID. String onPlayerDisconnected, onPlayerConnected N/A