Difference between revisions of "configFile"

From Bohemia Interactive Community
Jump to navigation Jump to search
(see also)
m (Some wiki formatting)
 
(71 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{Command|= Comments
+
{{RV|type=command
____________________________________________________________________________________________
 
  
| arma |= Game name
+
|game1= arma1
 +
|version1= 1.00
  
|1.00|= Game version
+
|game2= arma2
____________________________________________________________________________________________
+
|version2= 1.00
  
| Return root of config entries hierarchy.<br />
+
|game3= arma2oa
See [[AllInOne Config]] for a full config extract as example. |= Description
+
|version3= 1.50
____________________________________________________________________________________________
 
  
| [[Config]] <nowiki>=</nowiki> '''configFile''' |= Syntax
+
|game4= tkoh
 +
|version4= 1.00
  
| [[Config]] |= Return value
+
|game5= arma3
____________________________________________________________________________________________
+
|version5= 0.50
  
|x1= <code>_isMyClassActive = [[isClass]] ([[configFile]] / "CfgPatches" / "MyClass");</code> |= Example 1
+
|gr1= Config
____________________________________________________________________________________________
 
  
| [[configClasses]], [[missionConfigFile]], [[campaignConfigFile]], [[config/name]], [[config greater greater name|config >> name]], [[configName]], [[count]], [[getArray]], [[getText]], [[getNumber]], [[inheritsFrom]], [[isArray]], [[isClass]], [[isNumber]], [[isText]], [[select]] |= See also
+
|descr= Return root of config entries hierarchy.
  
 +
|s1= [[configFile]]
 +
 +
|r1= [[Config]]
 +
 +
|x1= <sqf>_isMyClassActive = isClass (configFile >> "CfgPatches" >> "MyClass");</sqf>
 +
 +
|seealso= [[missionConfigFile]] [[campaignConfigFile]]
 
}}
 
}}
  
<h3 style="display:none">Notes</h3>
+
{{Note
<dl class="command_description">
+
|user= ffur2007slx2_5
<!-- Note Section BEGIN -->
+
|timestamp= 20140719200800
<dd class="notedate">Posted on Apr 3, 2014 - 00:37
+
|text= {{GVI|arma3|1.24}} It is recommended to use [[configClasses]] instead of [[BIS_fnc_getCfgSubClasses]] and [[BIS_fnc_uniqueClasses]] on subclasses collection or conditional selection.
<dt class="note">'''[[User:ffur2007slx2_5|ffur2007slx2_5]]'''<dd class="note">
+
<sqf>_faces = "true" configClasses (configFile >> "CfgFaces");
In ArmA3 ver 1.14 there’re several comfortable workarounds with [[configFile]] for collecting subclasses. As for traditional workaround like:
+
// same as:
<code>
+
_faces = (configfile >> "CfgFaces") call BIS_fnc_getCfgSubClasses;</sqf>
(configfile >> "CfgFaces") call {
+
<sqf>//Extract all animals:
  private ["_classes"];
+
animals = "configName _x isKindOf 'animal'" configClasses (configFile >> "CfgVehicles");
  _classes = [];
+
// same as:
  for "_i" from 0 to ((count _this) - 1) do 
+
animals = [];
  {
+
[
    if (isClass (_this select _i)) then
+
configFile >> "CfgVehicles",
  {
+
{
  _classes set [count _classes, configName (_this select _i)];
+
if ((configName _this) isKindOf "animal") then {
  };
+
animals set [count animals, _this]
  };
+
}
  _classes
+
}
};
 
//return: ["Default"……"O_Colonel"] 8 items
 
</code>
 
Alternative recommended workaround by using: [[BIS_fnc_getCfgSubClasses]] e.g.
 
<code>
 
(configfile >> "CfgFaces") call BIS_fnc_getCfgSubClasses
 
//Same as traditional workaround
 
</code>
 
Another powerful replacement is using [[BIS_fnc_returnChildren]] to collect grandchildren classes with desired level, e.g.
 
<code>
 
[(configfile >> "CfgFaces"),1,true,true] call BIS_fnc_returnChildren;
 
//Return all children faces with a total number at 68
 
</code>
 
And as for another advanced workaround for direct processing collected classes, use [[BIS_fnc_uniqueClasses]]. E.g.
 
<code>
 
my_array = [];  
 
[(configfile >> "BombCrater"),
 
  {
 
    my_array set [count my_array,(_this select 2) call bis_fnc_getcfgdata]
 
  }
 
 
] call BIS_fnc_uniqueClasses;
 
] call BIS_fnc_uniqueClasses;
//return [[0,0,0],[0,0,0],[0,0,0]]
+
</sqf>
</code>
 
<!-- Note Section END -->
 
</dl>
 
  
<h3 style="display:none">Bottom Section</h3>
+
Return nested subclasses, currently still [[BIS_fnc_returnChildren]]
 
+
<sqf>
[[Category:Scripting Commands|CONFIGFILE]]
+
// return all nested config classes
[[Category:Scripting Commands ArmA|CONFIGFILE]]
+
[configFile >> "CfgFaces", 1, true, true] call BIS_fnc_returnChildren;
[[Category:Command_Group:_System_Commands|{{uc:{{PAGENAME}}}}]]
+
</sqf>
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
+
}}
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
 
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
 

Latest revision as of 22:39, 17 September 2022

Hover & click on the images for description

Description

Description:
Return root of config entries hierarchy.
Groups:
Config

Syntax

Syntax:
configFile
Return Value:
Config

Examples

Example 1:
_isMyClassActive = isClass (configFile >> "CfgPatches" >> "MyClass");

Additional Information

See also:
missionConfigFile campaignConfigFile

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
ffur2007slx2_5
Posted on Jul 19, 2014 - 20:08 (UTC)
Arma 3 logo black.png1.24 It is recommended to use configClasses instead of BIS_fnc_getCfgSubClasses and BIS_fnc_uniqueClasses on subclasses collection or conditional selection.
_faces = "true" configClasses (configFile >> "CfgFaces"); // same as: _faces = (configfile >> "CfgFaces") call BIS_fnc_getCfgSubClasses;
//Extract all animals: animals = "configName _x isKindOf 'animal'" configClasses (configFile >> "CfgVehicles"); // same as: animals = []; [ configFile >> "CfgVehicles", { if ((configName _this) isKindOf "animal") then { animals set [count animals, _this] } } ] call BIS_fnc_uniqueClasses;
Return nested subclasses, currently still BIS_fnc_returnChildren
// return all nested config classes [configFile >> "CfgFaces", 1, true, true] call BIS_fnc_returnChildren;