From Bohemia Interactive Community
Hover & click on the images for description
Description
- Description:
- Returns the value of variable in the variable space assigned to various data types.
All available data types combinations:
⚠
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.
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.)
- Groups:
- MultiplayerVariables
Syntax
- Syntax:
- varspace getVariable name
- Parameters:
- varspace: Namespace, Object, Display, Control, Group, Location, Task, Team Member, Display, Control
- name: String - variable name that was defined in setVariable
- Return Value:
- Anything or Nothing if the variable doesn't exist
- Syntax:
- varspace getVariable [name, defaultValue]
- Parameters:
- varspace: Namespace, Object, Display, Control, Group, Location, Task, Team Member, Display, Control
- name: String - Variable name that was defined in setVariable
- defaultValue: Anything - Value to return if variable doesn't exist
- Return Value:
- Anything - current value of the variable or defaultValue if the variable doesn't exist.
Examples
- Example 1:
private _variable = myTruck getVariable "myVariable";
- Example 2:
private _variable = myTruck getVariable ["myVariable", 50];
- Example 3:
- Set damage of car0..car5 to 0:
for "_i" from 0 to 5 do {
_car = missionNamespace getVariable ("car" + str _i);
_car setDamage 0;
};
- Example 4:
myMissionVar = 2015;
missionNamespace getVariable "myMissionVar";
- Example 5:
- WARNING when using dynamic default values as they always get evaluated:
missionNamespace getVariable ["var", 123 call fnc_abc];
- Example 6:
- 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;
};
Additional Information
- See also:
- setVariableallVariablesgetFSMVariable
Notes
-
Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here!
Add Note
- Posted on August 13, 2016 - 17:13 (UTC)
- Ebay
-
NOTE: Arma 2 ONLY! In Arma 3 this will return default value:
Warning: the alternative syntax returns undefined when the varspace is an object and that object is null. Example:
_test = objNull getVariable ["test", "0"];
systemChat _test;
Errors because _test is undefined. Tested in A2OA 1.63.131129
- Posted on August 31, 2017 - 03:29 (UTC)
- AgentRev
-
You can do typechecking using param:
private _myVar = [player getVariable "myVar"] param [0, "", [""]];
and params:
[player getVariable "myVar"] params [["_myVar", "", [""]]];