Magic Variables

From Bohemia Interactive Community
(Redirected from this)
Jump to: navigation, search

Introduction

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).


Generic

_this

Is used to make arguments of a script call (call, exec, execVM, spawn) visible and accessible to the script.


_x

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


Introduced with Armed Assault version 1.00

_exception

Exception handling using a try-catch statement declares this variable which contains details about the thrown exception in the try block.


_forEachIndex

Represents the (zero-based) index of a forEach _x element.


Introduced with Arma 3 version 1.54

_thisEventHandler

The index for Event Handlers added with addEventHandler, addMPEventHandler or addMissionEventHandler.


Introduced with Arma 3 version 1.54

_thisFSM

The FSM id for FSMs executed with execFSM.


Introduced with Arma 3 version 1.54

_thisScript

The called or spawned script handle from within itself.


Introduced with Arma 3 version 1.00

_fnc_scriptName

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")


Introduced with Arma 3 version 1.00

_fnc_scriptNameParent

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)


this

  • In Addons' config files (e.g. UserActions, onInit, etc.): The object the entry belongs to
  • In Dialogs: The player unit that activated control (e.g. via mouseEnter). false if non-activated
  • In Object's "Init" line: The object the init line belongs to
  • 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)


thisList

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


thisTrigger

Refers to the trigger object itself.


Specifics

Introduced with Operation Flashpoint: Resistance version 1.85

onMapSingleClick: _pos,_alt,_shift,_units


Introduced with Armed Assault version 1.00

onPlayerConnected: _id,_uid,_name,_jip,_owner