getVariable: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "|PARAMETER3= |r2=" to "|PARAMETER23= |r2=")
m (Text replacement - "|RETURNVALUE= 2 " to "|RETURNVALUE2= ")
Line 49: Line 49:
|p24= defaultValue: [[Anything]] - Value to return if variable doesn't exist |PARAMETER23=
|p24= defaultValue: [[Anything]] - Value to return if variable doesn't exist |PARAMETER23=


|r2= [[Anything]] - current value of the variable or ''defaultValue'' if the variable doesn't exist. |RETURNVALUE= 2
|r2= [[Anything]] - current value of the variable or ''defaultValue'' if the variable doesn't exist. |RETURNVALUE2=
____________________________________________________________________________________________
____________________________________________________________________________________________



Revision as of 15:47, 4 September 2019

-wrong parameter ("Arma") defined!-1.00
Hover & click on the images for description

Description

Description:
Return the value of variable in the variable space assigned to various data types. In case of Alt Syntax usage in Arma 3, the default value will be returned if:
  • Requested variable is either undefined or nil
  • Variable namespace is null (objNull, grpNull, etc.)
All available data types combinations: When variable is set on Task, it is not actually set on task itself, but on FSM attached to the task. So if there is no FSM getVariable will not work.
Groups:
Uncategorised

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

Alternative Syntax

Syntax:
varspace getVariable [name, defaultValue]
Parameters:
varspace: Namespace, Object, Display, Control, Group, Location, Task, Team Member, Display, Control
[name, defaultValue]: Array
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:
_thePublicVariable = _myTruck getVariable "myPublicVariable";
Example 2:
_aLocalVariable = _myTruck getVariable ["myLocalVariable", ["Not set", _var]] select 1;
Example 3:
for "_i" from 0 to 5 do { _car = missionNamespace getVariable ("car" + str _i); _car setDamage 0; }; Sets damage of car0, car1, ..., car5 to 0.
Example 4:
myMissionVar = 2015; missionNamespace getVariable "myMissionVar";//Returns 2015
Example 5:
WARNING when using dynamic default value: missionNamespace getVariable ["var", 123 call fnc_abc]; /// fnc_abc is always called even when var is defined
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; }; // _var here will contain current value of the variable varName

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

Notes

Bottom Section

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","",[""]]];