getNumber: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
m (template:command argument fix)
(23 intermediate revisions by 9 users not shown)
Line 7: Line 7:
____________________________________________________________________________________________
____________________________________________________________________________________________


| Extract number from config entry. |= Description
| Extract number from config entry. |DESCRIPTION=
____________________________________________________________________________________________
____________________________________________________________________________________________


| [[Number]] <nowiki>=</nowiki>'''getNumber''' [[Config]]|= Syntax
| [[Number]] <nowiki>=</nowiki> '''getNumber''' config |SYNTAX=


|p1= [[Config]] |= Parameter 1
|p1= config: [[Config]] |PARAMETER1=


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


| [[configFile]], [[config/name]], [[configName]], [[count config]], [[getArray config]], [[getText config]], [[inheritsFrom config]], [[isArray config]], [[isClass config]], [[isNumber config]], [[isText config]], [[select config]] |= See also
| [[configFile]], [[config/name]], [[configName]], [[count]], [[getArray]], [[getText]], [[inheritsFrom]], [[isArray]], [[isClass]], [[isNumber]], [[isText]], [[select]] |SEEALSO=


}}
}}
Line 27: Line 27:
<dl class="command_description">
<dl class="command_description">
<!-- Note Section BEGIN -->
<!-- Note Section BEGIN -->
<dd class="notedate">Posted on 04:45, 3 March 2007 (CET)</dd>
<dd class="notedate">Posted on 04:45, 3 March 2007 (CET)
<dt class="note>'''[[User:Donnervogel|Donnervogel]]'''</dt><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>
<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
<dt class="note>'''[[User:Loki|Loki]]'''<dd class="note">
With an not existing entry, [[getNumber]] returns 0.
<dd class="notedate">Posted on Mar 28, 2014 - 07:53
<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:
<code>
_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};
};
</code>
'''Recommended workaround:'''
<code>
([[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]].
<code>
[([[configFile]] >> "CannonFire" >> "LightExp"),"lifeTime",0] [[call]] [[BIS_fnc_returnConfigEntry]];//0.5
</code>
To compose collected [[Number]] into [[Array]], use [[BIS_fnc_getCfgDataArray]] instead.
<code>
([[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.
<code>
([[configFile]] >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") [[call]] [[BIS_fnc_getCfgDataBool]];
</code>
<!-- Note Section END -->
<!-- Note Section END -->
</dl>
</dl>
Line 35: Line 69:
[[Category:Scripting Commands|GETNUMBER]]
[[Category:Scripting Commands|GETNUMBER]]
[[Category:Scripting Commands ArmA|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}}}}]]
[[Category:Command_Group:_System_Commands|{{uc:{{PAGENAME}}}}]]

Revision as of 15:40, 7 April 2019

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

Description

Description:
Extract number from config entry.
Groups:
Uncategorised

Syntax

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

Examples

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

Additional Information

See also:
configFileconfig/nameconfigNamecountgetArraygetTextinheritsFromisArrayisClassisNumberisTextselect

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

Posted on 04:45, 3 March 2007 (CET)
Donnervogel
Use getNumber to get 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.
Posted on 13 September 2011
Loki
With an not existing entry, getNumber returns 0.
Posted on Mar 28, 2014 - 07:53
ffur2007slx2_5
(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.
Traditional workaround: _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;

Bottom Section