getVariable: Difference between revisions
Jump to navigation
Jump to search
m (Text replace - "{{uc:{{PAGENAME}}}}" to "{{uc:{{PAGENAME}}}} {{uc:{{PAGENAME}}}}") |
m (template:command argument fix) |
||
(34 intermediate revisions by 10 users not shown) | |||
Line 3: | Line 3: | ||
| arma |= Game name | | arma |= Game name | ||
|1.00|= Game version | |1.00|= Game version | ||
|arg= global|= Arguments in MP | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| Return the value of variable in the variable space of | | 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: | All available data types combinations: | ||
* [[Namespace]] getVariable [[String]] | * [[Namespace]] getVariable [[String]] | ||
* [[Namespace]] getVariable [[Array]] (since 1.60) | * [[Namespace]] getVariable [[Array]] (since {{Name|a2}} 1.60) | ||
* [[Object]] getVariable [[String]] | * [[Object]] getVariable [[String]] | ||
* [[Object]] getVariable [[Array]] | * [[Object]] getVariable [[Array]] | ||
Line 20: | Line 20: | ||
* [[Team_Member]] getVariable [[Array]] | * [[Team_Member]] getVariable [[Array]] | ||
* [[Task]] getVariable [[String]] | * [[Task]] getVariable [[String]] | ||
* [[Location]] getVariable [[String]]|= | * [[Task]] getVariable [[Array]] (Since Arma 3 v1.67) | ||
* [[Location]] getVariable [[String]] | |||
* [[Location]] getVariable [[Array]] (Since Arma 3 v1.67) | |||
* [[Control]] getVariable [[String]] (since Arma 3 v1.55.133553) | |||
* [[Control]] getVariable [[Array]] (since Arma 3 v1.55.133553) | |||
* [[Display]] getVariable [[String]] (since Arma 3 v1.55.133553) | |||
* [[Display]] getVariable [[Array]] (since Arma 3 v1.55.133553) | |||
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. |DESCRIPTION= | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| | | varspace '''getVariable''' name |SYNTAX= | ||
|p1= | |p1= varspace: [[Namespace]], [[Object]], [[Display]], [[Control]], [[Group]], [[Location]], [[Task]], [[Team Member]], [[Display]], [[Control]] |PARAMETER1= | ||
|p2= name: [[String]] - Variable name that was defined in [[setVariable]] | |p2= name: [[String]] - Variable name that was defined in [[setVariable]] |PARAMETER2= | ||
| [[ | | [[Anything]] or [[Nothing]] if the variable doesn't exist |RETURNVALUE= | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
|p21= | |s2= varspace '''getVariable''' [name, defaultValue] |SYNTAX= | ||
|p21= varspace: [[Namespace]], [[Object]], [[Display]], [[Control]], [[Group]], [[Location]], [[Task]], [[Team Member]], [[Display]], [[Control]] |PARAMETER1= | |||
|p22= [name, defaultValue]: [[Array]] | |||
| | |p23= name: [[String]] - Variable name that was defined in [[setVariable]] |PARAMETER2= | ||
| | |p24= defaultValue: [[Anything]] - Value to return if variable doesn't exist |PARAMETER3= | ||
|r2= [[ | |r2= [[Anything]] - current value of the variable or ''defaultValue'' if the variable doesn't exist. |RETURNVALUE= 2 | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
|x1= <code> | |x1= <code>_thePublicVariable = _myTruck [[getVariable]] "myPublicVariable";</code> |EXAMPLE1= | ||
|x2= <code>_aLocalVariable = _myTruck [[getVariable]] ["myLocalVariable", ["Not set", _var]<nowiki>]</nowiki> [[select]] 1;</code> |EXAMPLE2= | |||
|x3= <code>[[for]] "_i" [[from]] 0 [[to]] 5 [[do]] { | |||
_car = [[missionNamespace]] [[getVariable]] ("car" [[valuea_plus_valueb|+]] [[str]] _i); | |||
_car [[setDamage]] 0; | |||
};</code> | |||
Sets damage of car0, car1, ..., car5 to 0. |EXAMPLE3= | |||
|x4= <code>myMissionVar = 2015; | |||
[[missionNamespace]] [[getVariable]] "myMissionVar";//Returns 2015</code>|EXAMPLE4= | |||
|x5= WARNING when using dynamic default value: <code>[[missionNamespace]] [[getVariable]] ["var", 123 [[call]] fnc_abc]; | |||
/// fnc_abc is always called even when '''var''' is defined</code>|= | |||
|x6= Get current value of a variable and if it is undefined, define it and get the defined value:<code>[[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</code> |EXAMPLE6= | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| [[setVariable]], [[ | | [[setVariable]], [[allVariables]], [[getFSMVariable]]|SEEALSO= | ||
}} | }} | ||
Line 61: | Line 93: | ||
[[Category:Command_Group:_Locations|{{uc:{{PAGENAME}}}}]] | [[Category:Command_Group:_Locations|{{uc:{{PAGENAME}}}}]] | ||
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]] | [[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]] | ||
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]] | |||
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]] | [[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]] | ||
<!-- CONTINUE Notes --> | |||
<dl class="command_description"> | |||
<dd class="notedate">Posted on August 13, 2016 - 17:13 (UTC)</dd> | |||
<dt class="note">[[User:Ebay|Ebay]]</dt> | |||
<dd class="note"> | |||
'''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:<br /> | |||
<code>_test = objNull getVariable ["test","0"]; | |||
systemChat _test;</code> | |||
Errors because _test is undefined. Tested in A2OA 1.63.131129 | |||
</dd> | |||
</dl> | |||
<!-- DISCONTINUE Notes --> | |||
<!-- CONTINUE Notes --> | |||
<dl class="command_description"> | |||
<dd class="notedate">Posted on August 31, 2017 - 03:29 (UTC)</dd> | |||
<dt class="note">[[User:AgentRevolution|AgentRev]]</dt> | |||
<dd class="note"> | |||
You can do typechecking using [[param]]: | |||
<code>private _myVar = [player getVariable "myVar"] param [0,"",[""]];</code> | |||
and [[params]]: | |||
<code>[player getVariable "myVar"] params [["_myVar","",[""]]];</code> | |||
</dd> | |||
</dl> | |||
<!-- DISCONTINUE Notes --> |
Revision as of 15:40, 7 April 2019
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:
All available data types combinations:
- Namespace getVariable String
- Namespace getVariable Array (since a2 1.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 (Since Arma 3 v1.67)
- Location getVariable String
- Location getVariable Array (Since Arma 3 v1.67)
- Control getVariable String (since Arma 3 v1.55.133553)
- Control getVariable Array (since Arma 3 v1.55.133553)
- Display getVariable String (since Arma 3 v1.55.133553)
- Display getVariable Array (since Arma 3 v1.55.133553)
- 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
Categories:
- Name template usage error
- Scripting Commands
- Introduced with Arma version 1.00
- Arma: New Scripting Commands
- Arma: Scripting Commands
- Command Group: Uncategorised
- Scripting Commands ArmA
- Command Group: Variables
- Command Group: Locations
- Scripting Commands ArmA2
- Scripting Commands Arma 3
- Scripting Commands Take On Helicopters