getNumber: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Missed one)
m (Text replacement - "config / name" to "a / b")
 
(82 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| arma |= Game name
|game1= arma1
|version1= 1.00


|1.00|= Game version
|game2= arma2
____________________________________________________________________________________________
|version2= 1.00


| Extract number from config entry. |= Description
|game3= arma2oa
____________________________________________________________________________________________
|version3= 1.50


| [[Number]] <nowiki>=</nowiki> '''getNumber''' config |= Syntax
|game4= tkoh
|version4= 1.00


|p1= config: [[Config]] |= Parameter 1
|game5= arma3
|version5= 0.50


| [[Number]] |= Return value
|gr1= Config
____________________________________________________________________________________________
 
|x1= <code>_value = [[getNumber]] ([[configFile]] [[gtgt|>>]] "CfgVehicles" [[gtgt|>>]] "Thing" [[gtgt|>>]] "maxSpeed");</code> |= Example 1
____________________________________________________________________________________________


| [[configFile]], [[config/name]], [[configName]], [[count]], [[getArray]], [[getText]], [[inheritsFrom]], [[isArray]], [[isClass]], [[isNumber]], [[isText]], [[select]] |= See also
|descr= Extract number from config entry.


|s1= [[getNumber]] config
|p1= config: [[Config]]
|r1= [[Number]]
|x1= <sqf>_value = getNumber (configFile >> "CfgVehicles" >> "Thing" >> "maxSpeed");</sqf>
|seealso= [[configFile]] [[a / b]] [[configName]] [[count]] [[getArray]] [[getText]] [[inheritsFrom]] [[isArray]] [[isClass]] [[isNumber]] [[isText]] [[select]]
}}
{{Note
|user= Donnervogel
|timestamp= 20070303044500
|text= Use [[getNumber]] to get [[Boolean|boolean]] values from a config entry. 1 equals [[true]], 0 equals [[false]].
}}
}}


<h3 style="display:none">Notes</h3>
{{Note
<dl class="command_description">
|user= Loki
<!-- Note Section BEGIN -->
|timestamp= 20110913004400
<dd class="notedate">Posted on 04:45, 3 March 2007 (CET)
|text= With an not existing entry, [[getNumber]] returns 0.
<dt class="note>'''[[User:Donnervogel|Donnervogel]]'''<dd class="note">
}}
Use getNumber to get [[Boolean|boolean]] values from a config file. 1 equals true, 0 equals false and if no value is found (when a valid variable is undefined) 0.67 is returned.
 
<dd class="notedate">Posted on 13 September 2011
{{Note
<dt class="note>'''[[User:Loki|Loki]]'''<dd class="note">
|user= ffur2007slx2_5
With an not existing entry, [[getNumber]] returns 0.
|timestamp= 20140328075300
<dd class="notedate">Posted on Mar 28, 2014 - 07:53
|text= ({{arma3}} 1.14), It's recommended to use [[BIS_fnc_getCfgData]] or [[BIS_fnc_returnConfigEntry]] to get variable cfg data rather than conditioning via [[isNumber]], [[isText]], [[isArray]], [[getNumber]], [[getText]] and [[getArray]] combination. <br>
<dt class="note">'''[[User:ffur2007slx2_5|ffur2007slx2_5]]'''<dd class="note">
(ArmA3 1.14), It's recommended to use [[BIS_fnc_getCfgData]] or [[BIS_fnc_returnConfigEntry]] to get variable cfg data rather than conditioning via [[isNumber]], [[isText]], [[isArray]], [[getNumber]], [[getText]] and [[getArray]] combination. <br>
Traditional workaround:
Traditional workaround:
<code>
<sqf>
_cfg = [[configFile]] >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type"
private _cfg = configFile >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type";
[[switch]] ( [[true ]]) [[do]]
switch (true) do
{
{
[[case]] ([[isNumber]] _cfg): {[[getNumber]] _cfg};
case (isNumber _cfg): { getNumber _cfg };
[[case]] ([[isText]] _cfg): {[[getText]] _cfg};
case (isText _cfg): { getText _cfg };
[[case]] ([[isArray]] _cfg): {[[getArray]] _cfg;};
case (isArray _cfg): { getArray _cfg };
[[default]] {nil};
default { nil };
};
};
</code>
</sqf>
'''Recommended workaround:'''
'''Recommended workaround:'''
<code>
<sqf>(configFile >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") call BIS_fnc_getCfgData;</sqf>
([[configFile]] >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") [[call]] [[BIS_fnc_getCfgData]];
</code>
To return default value once entry was not found, we can use [[BIS_fnc_returnConfigEntry]] instead of [[BIS_fnc_getCfgData]].
To return default value once entry was not found, we can use [[BIS_fnc_returnConfigEntry]] instead of [[BIS_fnc_getCfgData]].
<code>
<sqf>[(configFile >> "CannonFire" >> "LightExp"),"lifeTime",0] call BIS_fnc_returnConfigEntry; // 0.5</sqf>
[([[configFile]] >> "CannonFire" >> "LightExp"),"lifeTime",0] [[call]] [[BIS_fnc_returnConfigEntry]];//0.5
</code>
To compose collected [[Number]] into [[Array]], use [[BIS_fnc_getCfgDataArray]] instead.
To compose collected [[Number]] into [[Array]], use [[BIS_fnc_getCfgDataArray]] instead.
<code>
<sqf>(configFile >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") call BIS_fnc_getCfgDataArray;</sqf>
([[configFile]] >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") [[call]] [[BIS_fnc_getCfgDataArray]];
</code>
To retype collected [[Number]] into [[Boolean]], use [[BIS_fnc_getCfgDataBool]]. Anything bigger than 0 is true, otherwise false.  
To retype collected [[Number]] into [[Boolean]], use [[BIS_fnc_getCfgDataBool]]. Anything bigger than 0 is true, otherwise false.  
<code>
<sqf>(configFile >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") call BIS_fnc_getCfgDataBool;</sqf>
([[configFile]] >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") [[call]] [[BIS_fnc_getCfgDataBool]];
}}
</code>
<!-- Note Section END -->
</dl>
 
<h3 style="display:none">Bottom Section</h3>
[[Category:Scripting Commands|GETNUMBER]]
[[Category:Scripting Commands ArmA|GETNUMBER]]
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
[[Category:Command_Group:_System_Commands|{{uc:{{PAGENAME}}}}]]

Latest revision as of 15:22, 30 May 2022

Hover & click on the images for description

Description

Description:
Extract number from config entry.
Groups:
Config

Syntax

Syntax:
getNumber config
Parameters:
config: Config
Return Value:
Number

Examples

Example 1:
_value = getNumber (configFile >> "CfgVehicles" >> "Thing" >> "maxSpeed");

Additional Information

See also:
configFile a / b configName count getArray getText inheritsFrom isArray isClass isNumber isText select

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
Donnervogel - c
Posted on Mar 03, 2007 - 04:45 (UTC)
Use getNumber to get boolean values from a config entry. 1 equals true, 0 equals false.
Loki - c
Posted on Sep 13, 2011 - 00:44 (UTC)
With an not existing entry, getNumber returns 0.
ffur2007slx2_5 - c
Posted on Mar 28, 2014 - 07:53 (UTC)
(Arma 3 1.14), It's recommended to use BIS_fnc_getCfgData or BIS_fnc_returnConfigEntry to get variable cfg data rather than conditioning via isNumber, isText, isArray, getNumber, getText and getArray combination.
Traditional workaround:
private _cfg = configFile >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type"; switch (true) do { case (isNumber _cfg): { getNumber _cfg }; case (isText _cfg): { getText _cfg }; case (isArray _cfg): { getArray _cfg }; default { nil }; };
Recommended workaround:
(configFile >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") call BIS_fnc_getCfgData;
To return default value once entry was not found, we can use BIS_fnc_returnConfigEntry instead of BIS_fnc_getCfgData.
[(configFile >> "CannonFire" >> "LightExp"),"lifeTime",0] call BIS_fnc_returnConfigEntry; // 0.5
To compose collected Number into Array, use BIS_fnc_getCfgDataArray instead.
(configFile >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") call BIS_fnc_getCfgDataArray;
To retype collected Number into Boolean, use BIS_fnc_getCfgDataBool. Anything bigger than 0 is true, otherwise false.
(configFile >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") call BIS_fnc_getCfgDataBool;