From Bohemia Interactive Community
Notes
- Posted on Mar 28, 2014 - 07:52
- 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
Bottom Section
- Posted on January 12, 2018 - 19:48 (UTC)
- demellion
-
There is special behaviour if you try to read a description.ext config entry Array that contains a Bool.
Getting array in MP will result in Number, while SP will return String.
// SP with false in array
getArray (missionConfigFile >> "someClass" >> "someArray") // -> "false"
// MP with false in array
getArray (missionConfigFile >> "someClass" >> "someArray") // -> 0