configClasses: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " " to " ")
m (Text replacement - "\{\{( *)Important( *)\|" to "{{$1Feature$2|$2important$2|")
Line 8: Line 8:


| Returns an array of config entries which meet criteria in condition code. Command iterates through all available config sub classes of the given config class. Current looked at config is stored in _x variable (similar to alternative [[count]] command implementation). Condition has to return [[true]] in order for the looked at config to be added to the resulting array. Slightly faster than [[configProperties]], but doesn't account for config properties or inherited entries.
| Returns an array of config entries which meet criteria in condition code. Command iterates through all available config sub classes of the given config class. Current looked at config is stored in _x variable (similar to alternative [[count]] command implementation). Condition has to return [[true]] in order for the looked at config to be added to the resulting array. Slightly faster than [[configProperties]], but doesn't account for config properties or inherited entries.
<br><br>{{Important|  
<br><br>{{Feature|important|  
*The condition code passed to [[configClasses]] should only be used for '''simple filter expressions''' and nothing more
*The condition code passed to [[configClasses]] should only be used for '''simple filter expressions''' and nothing more
* Do not use <tt>"[[isClass]] [[_x]]"</tt> in the condition. The engine does this check already<br>
* Do not use <tt>"[[isClass]] [[_x]]"</tt> in the condition. The engine does this check already<br>

Revision as of 02:09, 7 February 2021

Hover & click on the images for description

Description

Description:
Description needed
Groups:
Config

Syntax

Syntax:
Syntax needed
Parameters:
condition: String
config: Config
Return Value:
Return value needed

Examples

Example 1:
collect all CfgVehicles configs: _configs = "true" configClasses (configFile >> "CfgVehicles");
Example 2:
Return all classes that can transport 10 and more soldiers: _transporters = "getNumber (_x >> 'transportSoldier') >= 10" configClasses (configFile >> "CfgVehicles");
Example 3:
Return all classes that inherit from 'RscText': hint str ("inheritsFrom _x == (configFile >> 'RscText')" configClasses configFile);

Additional Information

See also:
See also needed

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 oct 19, 2014 - 12:24
Iceman77
A fantastic way to filter stuff. eg:
create an array of west vehicles and spawn then in front of the player in rows of 5
private ["_cfgArray", "_xPos", "_yPos", "_veh"]; _cfgArray = "( (getNumber (_x >> 'scope') >= 2) && { getNumber (_x >> 'side') == 1 && { getText (_x >> 'vehicleClass') in ['Armored', 'Car', 'Air'] } } )" configClasses (configFile >> "CfgVehicles"); _xPos = 0; _yPos = 0; { _yPos = _yPos + 20; _veh = createVehicle [(configName _x), player modelToWorld [_xPos, _yPos, 0], [], 0, "None"]; if (_yPos >= 100) then { _yPos = 0; _xPos = _xPos + 20; }; } forEach _cfgArray;


Posted on May 28, 2016 - 20:28 (UTC)
Benargee
configClasses does not account for inherited subclasses, use configProperties with isClass filter instead configProperties [_config, "isClass _x", true];
Posted on May 28, 2017 - 09:18 (UTC)
IT07
this will get a list of ALL locations on the currently loaded world ( "true" configClasses (configFile >> "CfgWorlds" >> worldName >> "names" ) ) apply { // change each config entry into a location nearestLocation [ getArray ( _x >> "position" ), getText ( _x >> "type" ) ] };