Magic Variables: Difference between revisions
m (_this) |
Lou Montana (talk | contribs) (Add _time, remove Specifics) |
||
(7 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
__NOEDITSECTION__ | __NOEDITSECTION__ | ||
{{Cfg ref|start}} | |||
{{Cfg ref|abc}} | |||
== Introduction == | == Introduction == | ||
'''Magic variables''' are engine-maintained [[Variables|variables]] that serve a specific purpose within a given scope and are often used by the engine to push data to a given [[Script (File)|script]] or [[Code|code]] fragment.<br>They are usually no longer present after leaving the scope (e.g. after code execution or after a [[forEach]] statement). | |||
'''Magic variables''' are engine maintained [[Variables|variables]] that serve a specific purpose within a given scope and are often used by the engine to push data to a given [[Script (File)|script]] or [[Code|code]] fragment. They are usually no longer present after leaving the scope (e.g. after code execution or after a [[forEach]] statement). | |||
Line 21: | Line 17: | ||
==== _exception ==== | ==== _exception ==== | ||
</div> | </div> | ||
[[Exception handling]] using a [[try]] | [[Exception handling]] using a [[try]]-[[catch]] statement declares this variable which contains details about the [[throw|thrown]] exception in the try block. | ||
==== _forEachIndex ==== | ==== _forEachIndex ==== | ||
Represents the (zero-based) index of a [[forEach]] [[#x|_x]] | Represents the (zero-based) index of a [[forEach]] [[#x|_x]] element. | ||
Line 31: | Line 27: | ||
==== _thisEventHandler ==== | ==== _thisEventHandler ==== | ||
</div> | </div> | ||
The | The index for Event Handlers added with [[addEventHandler]], [[addMPEventHandler]] or [[addMissionEventHandler]]. | ||
Line 37: | Line 33: | ||
==== _thisFSM ==== | ==== _thisFSM ==== | ||
</div> | </div> | ||
The FSM id for FSMs executed with [[execFSM]]. | The [[FSM]] id for FSMs executed with [[execFSM]]. | ||
Line 43: | Line 39: | ||
==== _thisScript ==== | ==== _thisScript ==== | ||
</div> | </div> | ||
The [[call|called]] or [[spawn|spawned]] script handle from within itself. | The [[call|called]] or [[spawn|spawned]] [[Script (Handle)|script handle]] from within itself. | ||
==== _time ==== | |||
'''[[SQS]] ONLY.''' The time elapsed since the script started running. | |||
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.00}}</div> | |||
==== _fnc_scriptName ==== | |||
</div> | |||
{{note|not engine-maintained, but added by functions_f/'''initFunctions.sqf''' script – see [[scriptName]]}} | |||
From within a [[:Category:Functions|Function]], the '''TAG_fnc_functionName''' function name as string (e.g. "myTag_fnc_myFunction") | |||
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.00}}</div> | |||
==== _fnc_scriptNameParent ==== | |||
</div> | |||
{{note|not engine-maintained, but added by functions_f/'''initFunctions.sqf''' script – see [[scriptName]]}} | |||
From within a [[:Category:Functions|Function]], name of the function that called the current one ([[#fnc_scriptName|_fnc_scriptName]] used when not defined) | |||
Line 58: | Line 72: | ||
==== thisList ==== | ==== thisList ==== | ||
[[Variable]] defined by [[Triggers]] and [[Waypoints]]: | [[Variables|Variable]] defined by [[Triggers]] and [[Waypoints]]: | ||
* Triggers: | * Triggers: | ||
** accessible within the '''Condition''', '''On Activation''' or '''On Deactivation''' script | ** accessible within the '''Condition''', '''On Activation''' or '''On Deactivation''' script | ||
** defines an array of objects that | ** 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. | ** '''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: | * Waypoints: | ||
** accessible within the '''Condition''' or ''On Activation''' script | ** accessible within the '''Condition''' or '''On Activation''' script | ||
** defines an array containing all group members that completed the respective waypoint | ** defines an array containing all group members that completed the respective waypoint | ||
Line 70: | Line 84: | ||
==== thisTrigger ==== | ==== thisTrigger ==== | ||
Refers to the [[Triggers|trigger]] object itself. | Refers to the [[Triggers|trigger]] object itself. | ||
Line 91: | Line 90: | ||
[[Category: ArmA: Editing]] | [[Category: ArmA: Editing]] | ||
[[Category: ArmA 2: Editing]] | [[Category: ArmA 2: Editing]] | ||
Revision as of 01:58, 29 January 2019
Template:Cfg ref Template:Cfg ref
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).
_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.
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.
_thisEventHandler
The index for Event Handlers added with addEventHandler, addMPEventHandler or addMissionEventHandler.
_thisFSM
The FSM id for FSMs executed with execFSM.
_thisScript
The called or spawned script handle from within itself.
_time
SQS ONLY. The time elapsed since the script started running.
_fnc_scriptName
Template:note From within a Function, the TAG_fnc_functionName function name as string (e.g. "myTag_fnc_myFunction")
_fnc_scriptNameParent
Template:note 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
- 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.