Difference between revisions of "getVariable"
Jump to navigation
Jump to search
m (added location) |
m (template:command argument fix) |
||
(51 intermediate revisions by 17 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: | ||
+ | * [[Namespace]] getVariable [[String]] | ||
+ | * [[Namespace]] getVariable [[Array]] (since {{Name|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) | ||
+ | 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]] |= | + | |p2= name: [[String]] - Variable name that was defined in [[setVariable]] |PARAMETER2= |
− | | [[ | + | | [[Anything]] or [[Nothing]] if the variable doesn't exist |RETURNVALUE= |
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
− | |||
− | |||
− | | [[setVariable]] |= | + | |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= [[Anything]] - current value of the variable or ''defaultValue'' if the variable doesn't exist. |RETURNVALUE= 2 | ||
+ | ____________________________________________________________________________________________ | ||
+ | |||
+ | |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]], [[allVariables]], [[getFSMVariable]]|SEEALSO= | ||
}} | }} | ||
Line 28: | Line 84: | ||
<dl class="command_description"> | <dl class="command_description"> | ||
<!-- Note Section BEGIN --> | <!-- Note Section BEGIN --> | ||
− | |||
− | |||
<!-- Note Section END --> | <!-- Note Section END --> | ||
</dl> | </dl> | ||
Line 37: | Line 91: | ||
[[Category:Scripting Commands ArmA|GETVARIABLE]] | [[Category:Scripting Commands ArmA|GETVARIABLE]] | ||
[[Category:Command_Group:_Variables|{{uc:{{PAGENAME}}}}]] | [[Category:Command_Group:_Variables|{{uc:{{PAGENAME}}}}]] | ||
+ | [[Category:Command_Group:_Locations|{{uc:{{PAGENAME}}}}]] | ||
+ | [[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]] | ||
+ | [[Category:Scripting Commands Arma 3|{{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 14:40, 7 April 2019
Hover & click on the images for descriptions
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 Arma 2 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)
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
- Groups:
- Uncategorised
Notes
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:
- Pages using duplicate arguments in template calls
- Scripting Commands
- Arma: Scripting Commands
- Arma: New Scripting Commands
- Command Group: Uncategorised
- Pages with broken file links
- Introduced with Arma version 1.00
- Commands utilizing global arguments
- Scripting Commands ArmA
- Command Group: Variables
- Command Group: Locations
- Scripting Commands ArmA2
- Scripting Commands Arma 3
- Scripting Commands Take On Helicopters