Arma 3 Scripting

getVariable

  • Global argument
  • Arma 3 v0.50
  • First in Armed Assault v1.00

Command · also in Namespaces, Multiplayer · Markdown · JSON · original wiki page

Description

Returns the value of variable in the variable space assigned to various data types. All available data types combinations:

Primary syntax (String) Alternative syntax (Array)
Code Since Code Since
Namespace getVariable String - Namespace getVariable Array Arma 2: Operation Arrowhead v1.60
Object getVariable String - Object getVariable Array -
Group getVariable String - Group getVariable Array -
Team Member getVariable String - Team Member getVariable Array -
Task getVariable String - Task getVariable Array Arma 3 v1.68
Location getVariable String - Location getVariable Array Arma 3 v1.68
Control getVariable String - Control getVariable Array Arma 3 v1.56
Display getVariable String Arma 3 v1.56 Display getVariable Array Arma 3 v1.56

Important

When variable is set on a Task, it is not actually set on the task itself, but on the FSM attached to the task.

If there is no FSM, getVariable will not work.

Note

Arma 3: In the case of Alt Syntax usage in Arma 3, defaultValue will be returned if:

  • Requested variable is either undefined or nil
  • Variable namespace is null (objNull, grpNull, etc.)

Syntax

Syntax 1

varspace getVariable name

Parameters:

Returns: Anything or Nothing if the variable doesn't exist

Syntax 2

varspace getVariable [name, defaultValue]

Parameters:

Returns: Anything - current value of the variable or defaultValue if the variable doesn't exist.

Examples

Example 1

private _variable = myTruck getVariable "myVariable"; // returns nil if "myVariable" is not set

Example 2

private _variable = myTruck getVariable ["myVariable", 50]; // returns 50 if "myVariable" is not set

Example 3

for "_i" from 0 to 5 do
{
    _car = missionNamespace getVariable ("car" + str _i);
    _car setDamage 0;
}; // Set damage of car0..car5 to 0

Example 4

myMissionVar = 2015;
missionNamespace getVariable "myMissionVar"; // returns 2015

Example 5

Get current value of a variable and if it is undefined, define it and get the defined value:

private _var = missionNamespace getVariable "varName";
if (isNil "_var") then
{
    missionNamespace setVariable ["varName", 123];
    _var = 123;
};
// _var here will contain current value of the variable varName

See also

setVariable · allVariables · getFSMVariable

Community notes

Ebay

NOTE: Arma 2 only! In Arma 3 this will return default value: Warning: the alternative syntax returns undefined when the namespace is an object and that object is null. Example:

_test = objNull getVariable ["test", "0"];
systemChat _test;

Errors because _test is undefined. Tested in Arma 2: Operation Arrowhead 1.63.131129