From Bohemia Interactive Community
- Posted on 04:45, 3 March 2007 (CET)
- Donnervogel
-
Use getNumber to get boolean values from a config entry. 1 equals true, 0 equals false.
- Posted on 13 September 2011
- Loki
-
With an not existing entry, getNumber returns 0.
- Posted on Mar 28, 2014 - 07:53
- ffur2007slx2_5
-
(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:
_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;