missionConfigFile: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\[\[Category\: ?Command[ _]Group\:.*\|\{\{uc\:\{\{PAGENAME\}\}\}\}\]\] " to "")
m (Text replacement - "Category:Eden Editor" to "Eden Editor")
 
(33 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Scripting Commands|MISSIONCONFIGFILE]]
{{RV|type=command
[[Category:Scripting Commands Armed Assault|MISSIONCONFIGFILE]]


|game1= arma1
|version1= 1.00


{{Command|Comments=
|game2= arma2
____________________________________________________________________________________________
|version2= 1.00


| arma |Game name=
|game3= arma2oa
|version3= 1.50


|gr1= Config |GROUP1=
|game4= tkoh
|version4= 1.00


|game5= arma3
|version5= 0.50


|gr1= Config


|1.00|Game version=
|descr= Return root of mission [[Description.ext]] entries hierarchy.
____________________________________________________________________________________________
{{Feature|important|Since the introduction of the [[:Category:Eden Editor|Eden Editor]], scenario attributes can be configured in the editor itself, not only in the external Description.ext file.
 
To access desired value independently on where it is stored, use the following commands:
| Return root of mission [[Description.ext]] entries hierarchy.
<br><br>
{{Important|Since introduction of the [[Eden Editor]], scenario attributes can be configured in the editor itself, not only in the external Description.ext file. To access desired value independently on where it is stored, use the following commands instead:
* [[getMissionConfigValue]]
* [[getMissionConfigValue]]
* [[getMissionConfig]]}}<br>
* [[getMissionConfig]]
{{warning|
}}
If your [[Description.ext]] file is empty, [[str]] [[missionConfigFile]] may report an empty string instead of the path to the file. You have to put at least one entry into your config.
}} |DESCRIPTION=
____________________________________________________________________________________________


|'''missionConfigFile''' |SYNTAX=
|s1= [[missionConfigFile]]


| [[Config]] |RETURNVALUE=
|r1= [[Config]]
____________________________________________________________________________________________


|x1= <code>[[for]] "_i" [[from]] (0) [[to]] (([[count]] [[paramsArray]]) - 1) [[do]] {
|x1= <sqf>
    [[missionNamespace]] [[setVariable]] [<nowiki/>[[configName]] (([[missionConfigFile]]/"Params") [[select]] _i), [[paramsArray]] [[select]] _i];
for "_i" from 0 to (count paramsArray - 1) do
};</code> |EXAMPLE1=
{
missionNamespace setVariable [configName ((missionConfigFile/"Params") select _i), paramsArray select _i];
};
</sqf>


|x2= To define custom values in [[description.ext]]:
|x2= To define custom values in [[Description.ext|description.ext]]:
<syntaxhighlight lang=cpp>class myMissionConfig
<syntaxhighlight lang="cpp">
class myMissionConfig
{
{
    class mySetup
class mySetup
    {
{
        myNumber = 3;
myNumber = 3;
        myArray[] = { 1, 2, 3 };
myArray[] = { 1, 2, 3 };
        myText = "LOL";
myText = "LOL";
    };
};
};</syntaxhighlight>
};
</syntaxhighlight>


To read defined custom values from a script:
To read defined custom values from a script:
<code>_myNumber = [[getNumber]] ([[missionConfigFile]] [[gtgt|>>]] "myMissionConfig" [[gtgt|>>]] "mySetup" [[gtgt|>>]] "myNumber");
<sqf>
_myArray = [[getArray]] ([[missionConfigFile]] [[gtgt|>>]] "myMissionConfig" [[gtgt|>>]] "mySetup" [[gtgt|>>]] "myArray");
_myNumber = getNumber (missionConfigFile >> "myMissionConfig" >> "mySetup" >> "myNumber");
_myText = [[getText]] ([[missionConfigFile]] [[gtgt|>>]] "myMissionConfig" [[gtgt|>>]] "mySetup" [[gtgt|>>]] "myText");</code> |EXAMPLE2=
_myArray = getArray (missionConfigFile >> "myMissionConfig" >> "mySetup" >> "myArray");
 
_myText = getText (missionConfigFile >> "myMissionConfig" >> "mySetup" >> "myText");
|x3= To get file path with [[description.ext]] to play sound via [[playSound3D]]:
</sqf>
<code>MISSION_ROOT = [[str]] [[missionConfigFile]] [[select]] [0, [[count]] [[str]] [[missionConfigFile]] - 15];</code> | = Example 3
____________________________________________________________________________________________
 
| [[configClasses]], [[configProperties]], [[configFile]], [[campaignConfigFile]], [[config/name]], [[config greater greater name|config >> name]], [[configName]], [[count]], [[getArray]], [[getText]], [[getNumber]], [[inheritsFrom]], [[isArray]], [[isClass]], [[isNumber]], [[isText]], [[select]], [[configHierarchy]], [[getMissionConfigValue]], [[getMissionPath]] |SEEALSO=


|seealso=[[configFile]] [[campaignConfigFile]] [[getMissionConfigValue]] [[getMissionConfig]] [[getMissionPath]]
}}
}}


<h3 style="display:none">Notes</h3>
{{Note
<dl class="command_description">
|user= Killzone_Kid
<!-- Note Section BEGIN -->
|timestamp= 20150217164600
 
|text= [[missionConfigFile]] can be used to parse ''mission.sqm'' file data as well if it is included into [[Description.ext|description.ext]]:
<!-- Note Section END -->
<syntaxhighlight lang="cpp">
</dl>
 
<h3 style="display:none">Bottom Section</h3>
[[Category:Scripting Commands Arma 2|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Take On Helicopters|{{uc:{{PAGENAME}}}}]]
 
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on February 17, 2015 - 16:46 (UTC)</dd>
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
<dd class="note">
[[missionConfigFile]] can be used to parse ''mission.sqm'' file data as well if it is included into [[description.ext]]:
<syntaxhighlight lang=cpp>
class MissionSQM
class MissionSQM
{
{
#include "mission.sqm"
#include "mission.sqm"
};</syntaxhighlight>
};
</syntaxhighlight>
Then ''mission.sqm'' data can be accessed like this:
Then ''mission.sqm'' data can be accessed like this:
<code>[[getNumber]] ([[missionConfigFile]] >> "MissionSQM" >> "version"); //12 - version param in ''mission.sqm''</code>
<sqf>getNumber (missionConfigFile >> "MissionSQM" >> "version"); // 12 - version param in mission.sqm</sqf>
(courtesy of [[Special:Contributions/Master85|Master85]])
(courtesy of [[Special:Contributions/Master85|Master85]])
</dd>
}}
</dl>
 
<!-- DISCONTINUE Notes -->
{{Note
|user= Dedmen
|timestamp= 20180427203900
|text= If your [[Description.ext]] file is empty, [[str]] [[missionConfigFile]] may report an empty string instead of the path to the file. You have to put at least one entry into your config.<br>
To get file path with [[Description.ext|description.ext]] to play sound via [[playSound3D]] (before [[getMissionPath]]):
<sqf>private _missionRootPath = str missionConfigFile select [0, count str missionConfigFile - 15];</sqf>
}}

Latest revision as of 13:26, 9 July 2023

Hover & click on the images for description

Description

Description:
Return root of mission Description.ext entries hierarchy.
Since the introduction of the Eden Editor, scenario attributes can be configured in the editor itself, not only in the external Description.ext file.

To access desired value independently on where it is stored, use the following commands:

Groups:
Config

Syntax

Syntax:
missionConfigFile
Return Value:
Config

Examples

Example 1:
for "_i" from 0 to (count paramsArray - 1) do { missionNamespace setVariable [configName ((missionConfigFile/"Params") select _i), paramsArray select _i]; };
Example 2:
To define custom values in description.ext:
class myMissionConfig
{
	class mySetup
	{
		myNumber = 3;
		myArray[] = { 1, 2, 3 };
		myText = "LOL";
	};
};

To read defined custom values from a script:

_myNumber = getNumber (missionConfigFile >> "myMissionConfig" >> "mySetup" >> "myNumber"); _myArray = getArray (missionConfigFile >> "myMissionConfig" >> "mySetup" >> "myArray"); _myText = getText (missionConfigFile >> "myMissionConfig" >> "mySetup" >> "myText");

Additional Information

See also:
configFile campaignConfigFile getMissionConfigValue getMissionConfig getMissionPath

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
Killzone_Kid - c
Posted on Feb 17, 2015 - 16:46 (UTC)
missionConfigFile can be used to parse mission.sqm file data as well if it is included into description.ext:
class MissionSQM
{
	#include "mission.sqm"
};

Then mission.sqm data can be accessed like this:

getNumber (missionConfigFile >> "MissionSQM" >> "version"); // 12 - version param in mission.sqm
(courtesy of Master85)

Dedmen - c
Posted on Apr 27, 2018 - 20:39 (UTC)
If your Description.ext file is empty, str missionConfigFile may report an empty string instead of the path to the file. You have to put at least one entry into your config.
To get file path with description.ext to play sound via playSound3D (before getMissionPath):
private _missionRootPath = str missionConfigFile select [0, count str missionConfigFile - 15];