getNumber: Difference between revisions
Jump to navigation
Jump to search
(Add BIS_fnc_returnConfigEntry as an enhanced fnc to bis_fnc_getcfgdata) |
m (note format) |
||
Line 33: | Line 33: | ||
<dd class="notedate">Posted on Mar 28, 2014 - 07:53 | <dd class="notedate">Posted on Mar 28, 2014 - 07:53 | ||
<dt class="note">'''[[User:ffur2007slx2_5|ffur2007slx2_5]]'''<dd class="note"> | <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> | <code> | ||
_cfg = | _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> | </code> | ||
'''Recommended workaround:''' | '''Recommended workaround:''' | ||
<code> | <code> | ||
( | ([[configFile]] >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") [[call]] [[bis_fnc_getCfgData]]; | ||
</code> | </code> | ||
To return default value once entry was not found, we can use [[BIS_fnc_returnConfigEntry]] instead of [[ | To return default value once entry was not found, we can use [[BIS_fnc_returnConfigEntry]] instead of [[bis_fnc_getCfgData]]. | ||
<code> | <code> | ||
[( | [([[configFile]] >> "CannonFire" >> "LightExp"),"lifeTime",0] [[call]] [[BIS_fnc_returnConfigEntry]];//0.5 | ||
</code> | </code> | ||
To compose collected [[Number]] into [[Array]], use [[BIS_fnc_getCfgDataArray]] instead | To compose collected [[Number]] into [[Array]], use [[BIS_fnc_getCfgDataArray]] instead. | ||
<code> | <code> | ||
( | ([[configFile]] >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") [[call]] [[BIS_fnc_getCfgDataArray]]; | ||
</code> | </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> | <code> | ||
( | ([[configFile]] >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") [[call]] [[BIS_fnc_getCfgDataBool]]; | ||
</code> | </code> | ||
<!-- Note Section END --> | <!-- Note Section END --> |
Revision as of 14:40, 19 July 2014
Description
- Description:
- Extract number from config entry.
- Groups:
- Uncategorised
Syntax
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;