getArray: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<code>([^ ]+) <\/code>" to "<code>$1</code>")
m (Text replacement - "<code>([^\[]+)<\/code>" to "<sqf>$1</sqf>")
Line 39: Line 39:
({{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>
({{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>_cfg = configFile >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type"
<sqf>_cfg = configFile >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type"
switch ( true ) do
switch ( true ) do
{
{
Line 46: Line 46:
case (isArray _cfg): {getArray _cfg;};
case (isArray _cfg): {getArray _cfg;};
default { nil };
default { nil };
};</code>
};</sqf>
'''Recommended workaround:'''
'''Recommended workaround:'''
<code>(configFile >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") call BIS_fnc_getCfgData;</code>
<sqf>(configFile >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") call BIS_fnc_getCfgData;</sqf>
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>[(configFile >> "CannonFire" >> "LightExp"),"lifeTime",0] call BIS_fnc_returnConfigEntry; // 0.5</code>
<code>[(configFile >> "CannonFire" >> "LightExp"),"lifeTime",0] call BIS_fnc_returnConfigEntry; // 0.5</code>

Revision as of 21:08, 13 May 2022

Hover & click on the images for description

Description

Description:
Extract array from config entry.
Groups:
Config

Syntax

Syntax:
getArray config
Parameters:
config: Config
Return Value:
Array

Examples

Example 1:
_array = getArray (configFile >> "CfgVehicles" >> "Thing" >> "threat");

Additional Information

See also:
configFile config / name configName count getText getNumber 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
Posted on Mar 28, 2014 - 07:52
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
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 Boolean.
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