Description.ext: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "{{Link|:Category:" to "{{Link|Category:")
 
(253 intermediate revisions by 17 users not shown)
Line 1: Line 1:
The Description.ext file sets the overall mission attributes, and defines some global entities that will be available to other scripts. It is placed in mission's [[Mission_Editor:_External#Mission_Folder|root]] folder. It uses the same syntax and structure as the [[Config.cpp]] file, but supports only a limited number of the full set of Config.cpp classes. Many, such as CfgVehicles, won't work.
<!--


In '''[[:Category:Operation_Flashpoint:_Elite|OFP:Elite]]''' this file is required for MP missions. If this is not included, a "-1 error" is shown when selecting the mission and the mission won't load.  
Wiki editors: do not forget to update miniTOC when adding an H2 title!
 
--><div style="display: flex"><!-- flex start -->
<div style="flex-grow: 1"><!-- scrolling div start -->
 
<!--
Level 2 titles: categories (Mission information, Starting gear, etc.)
Level 3 titles: [NONE AT THE MOMENT] possible sub-categories – e.g "Mission information/Overview/xxx"
Level 4 titles: the settings themselves
-->
The [[Description.ext]] is a [[missionConfigFile]] and is used to set the overall mission attributes or to define global properties that will be available for other scripts.
It is placed in the [[Mission Editor: External#Mission Folder|mission root folder]] and uses the same syntax as the config.cpp file, but supports only a limited number of config classes.
 
Additionally, many attributes can also be set via the [[:Category:Eden Editor|Eden Editor]], where changes are automatically refreshed upon scenario preview.
In the [[2D Editor]] the mission has to be reloaded for changes to be applied.
 
{{Feature|ofpe|This file is required in {{GameCategory|ofpe|link= y}} for MP missions to work, otherwise a '''-1 error''' is shown.}}
{{Feature|informative|This page is about the '''Mission Description.ext'''. For the campaign version, see [[Campaign Description.ext]].}}
{{Feature|warning|The keyword {{hl|class}} for class definitions '''must''' be lowercase, otherwise a parsing error will occur.}}
{{Feature|important|
Accidentally creating this file with a wrong file extension is a frequent cause of issues.
If you are unfamiliar with script file creation, read {{Link|Introduction to Arma Scripting#File Creation}} for a step-by-step tutorial.
}}
 
{{Feature|arma3|Since {{arma3}} v2.02, it is possible to import a class from main config and inherit from it in mission config:
<syntaxhighlight lang="cpp">
import RscText;
class MyText : RscText
{
// ...
};
</syntaxhighlight>
For more information, see the [[import (Config)]] page.
}}
 
 
{{ConfigPage|start|notoc= y}}
{{ConfigPage|abc}}
== Mission Information ==
 
This section helps you find out how to customise Mission overall external appearance, from [[Mission Overview]] to [[Loading Screens]].
 
 
<div style="text-align: center">'''Loading screen parameters'''</div>
<div class="float-right">[[File:2013-03-08_00004.jpg|thumb|Loading screen example|250px]]</div>
<syntaxhighlight lang="cpp">
author = "Varanon";
onLoadName = "Point Insertion";
onLoadMission = "A group of NATO soldiers is tasked with sabotaging a coastal defense.";
loadScreen = "images\loadScreen.paa";
 
class Header
{
gameType = "Coop"; // Game type
minPlayers =  1; // minimum number of players the mission supports
maxPlayers = 10; // maximum number of players the mission supports
};
</syntaxhighlight>
{{Feature|informative|The {{hl|playerCountMultipleOf}} entry is available in earlier titles ({{ofpe}} to {{arma3}} 1.30) to setup the auto-assign team balancing factor: 1 for Coop, 2 for Versus.}}
 
 
{{ArgTitle|4|author|{{GVI|arma3|0.50}}}}
Mission author's name. The default loading screen shows this string below the {{Link|#onLoadName}} in a smaller font prefixed by "by ".
 
 
{{ArgTitle|4|onLoadName|{{GVI|arma3|0.50}}}}
String (usually mission name) shown during [[Loading Screens|mission loading]]. The string is shown in a slightly larger font above the loadScreen.
The {{Link|#onLoadMission}} text is placed below the load screen and the {{Link|#header|header gameType}} determines the game type on top of the box.


{{Important|In [[2D Editor]], scenario has to be saved or re-loaded before changes to ''Description.ext'' takes effect.
'''In [[Eden Editor]], changes are refreshed automatically upon scenario preview.}}
{{Horizontoc|include=2|also=nonumtoc}}
== Attributes ==
{| class="bikitable sortable"
! Intro- duced in
! Attribute
! Type
! class="unsortable"| Description
! class="unsortable"| See Also


<!----------------------------------------------------------->
{{Table Config Item}}
==== onLoadMission ====
==== onLoadMission ====
|[[String]]
Displays a message while the mission is loading. Note that a mission that takes very little time to load will only display the message for a short time.
|Displays a message while the mission is loading. Note that a mission that takes very little time to load will only display the message for a short time. Care should be taken to see whether your message is readable in that timeframe.
In '''{{Name|ofp|short}}''' this is the name you see when selecting a mission in MP and also the name that is presented to the Multiplayer browser.
onLoadMission <nowiki>=</nowiki> "YourMissionName";
<syntaxhighlight lang="cpp">onLoadMission = "YourMissionName";</syntaxhighlight>
The '''OnLoadMission''' option is used to present the mission name to the user. In MP this is the name you see when selecting a mission and also the name that is presented to the MultiPlayer browser.
 
|
 
{{ArgTitle|4|loadScreen|{{GVI|arma2oa|1.50}}}}
The picture to be shown while the mission is loaded. The path is relative to the mission folder. Must be in PAA file format.
2:1 aspect ratio (different aspect are rendered correctly as well, but won't cover the whole area).
Ideally 1024x512 pixels.
<syntaxhighlight lang="cpp">loadScreen = "pictures\intro.paa";</syntaxhighlight>
 
 
{{ArgTitle|4|header|{{GVI|arma1|1.00}}}}
This class defines mission type and other settings displayed in the multiplayer browser.
<syntaxhighlight lang="cpp">
class Header
{
gameType = "CTF"; // Game type
minPlayers =  1; // minimum number of players the mission supports
maxPlayers = 10; // maximum number of players the mission supports
};
</syntaxhighlight>
See [[Multiplayer Game Types]] for more detailed information.
 


<!----------------------------------------------------------->
{{Table Config Item}}
==== onLoadIntro ====
==== onLoadIntro ====
|[[String]]
Displays a message while the intro is loading.
|Displays a message while the intro is loading.
<syntaxhighlight lang="cpp">onLoadIntro = "YourMessage";</syntaxhighlight>
onLoadIntro <nowiki>=</nowiki> "YourMessage"
 


<!----------------------------------------------------------->
{{Table Config Item}}
==== onLoadMissionTime ====
==== onLoadMissionTime ====
|[[Number]]
Define whether you will see the time and date displayed while the mission loads. Effect unkown in {{arma3}}.
|Define whether you will see the time and date displayed while the mission loads. 1 means visible, 0 hidden.
<syntaxhighlight lang="cpp">onLoadMissionTime = 1; // 0: disabled - 1: enabled. Default: 1</syntaxhighlight>
onLoadMissionTime = 1;
 


<!----------------------------------------------------------->
{{Table Config Item}}
==== onLoadIntroTime ====
==== onLoadIntroTime ====
|[[Number]]
Define whether you will see the time and date displayed while the intro loads.
|Define whether you will see the time and date displayed while the intro loads. 1 means visible, 0 hidden.
<syntaxhighlight lang="cpp">onLoadIntroTime = 1; // 0: disabled - 1: enabled. Default: 0</syntaxhighlight>
onLoadIntroTime = 1;


<!----------------------------------------------------------->
{{Table Config Item|arma2oa|1.51}}
==== loadScreen ====
|[[String]]
|You can define a picture to be shown while the mission is loaded.


The path is relative to the mission folder.
{{ArgTitle|4|briefingName|{{GVI|arma3|1.56}}}}
loadScreen = "pictures\intro.paa";
Mission name displayed in the mission selection menu.
<syntaxhighlight lang="cpp">briefingName = "TAG 1-5 CO My super mission";</syntaxhighlight>


<!----------------------------------------------------------->
{{Feature|important|Please note that the same parameter can be defined in 3DEN in Attributes->General->Presentation->Title, but 'briefingName' from 'description.ext' has a priority. To use [[localize]]d string either in 3DEN field or in 'description.ext', prefix stringtable ID with {{hl|@}}.}}
{{Table Config Item|TKOH}}
==== CfgLoadingTexts ====
|Class
|Define mission specific [[Loading_Screens#Texts|loading texts]].


<!----------------------------------------------------------->
{{Table Config Item}}
==== minScore ====
|[[Number]]
|Set minimum score for your mission. Score is related to the star display in the debriefing screen. The score can be influenced during a missions progress by using the [[addRating]] command.
minScore = 0;
Values have to follow this formula: ''minScore < avgScore < maxScore''. Any other combinations can lead to game freeze upon mission end.
|[[#avgScore|avgScore]], [[#maxScore|maxScore]]


<!----------------------------------------------------------->
{{ArgTitle|4|CfgLoadingTexts|{{GVI|tkoh|1.00}}}}
{{Table Config Item}}
Define mission specific [[Loading Screens#Texts|loading texts]].
==== avgScore ====
|[[Number]]
|Set average score for your mission. Score is related to the star display in the debriefing screen. The score can be influenced during a missions progress by using the [[addRating]] command.
avgScore = 1800;
Values have to follow this formula: ''minScore < avgScore < maxScore''. Any other combinations can lead to game freeze upon mission end.
|[[#minScore|minScore]], [[#maxScore|maxScore]]


<!----------------------------------------------------------->
{{Table Config Item}}
==== maxScore ====
|[[Number]]
|Set maximum score for your mission. Score is related to the star display in the debriefing screen. The score can be influenced during a missions progress by using the [[addRating]] command.
maxScore = 75000;
Values have to follow this formula: ''minScore < avgScore < maxScore''. Any other combinations can lead to game freeze upon mission end.
|[[#minScore|minScore]], [[#avgScore|avgScore]]


<!----------------------------------------------------------->
{{ArgTitle|4|overviewPicture|{{GVI|arma3|0.50}}}}
{{Table Config Item}}
Path to image which will be displayed when the mission is highlighted on the mission selection screen. Image should be .paa format and in 2:1 aspect ratio – ideally 1024&times;512 ({{arma3}}).
 
 
{{ArgTitle|4|overviewText|{{GVI|arma3|0.50}}}}
Text to be displayed below the {{Link|#overviewPicture}} on the mission selection screen when the mission is available to play.
{{Feature|important|Please note that the same parameter can be defined in 3DEN in Attributes->General->Overview->Text, but 'overviewText' from 'description.ext' has a priority. To use [[localize]]d string either in 3DEN field or in 'description.ext', prefix stringtable ID with {{hl|@}}.}}
 
{{Feature|important|
The text that appears at the top of an MP mission is defined in '''mod''' mission definition and '''not''' through [[Description.ext]]:
<syntaxhighlight lang="cpp">
class Mission
{
// ...
class Intel
{
overviewText = "This text here";
// ...
};
// ...
};
</syntaxhighlight>
}}
 
 
{{ArgTitle|4|overviewTextLocked|{{GVI|arma3|0.50}}}}
Text to be displayed below the {{Link|#overviewPicture}} on the mission selection screen when the mission is locked from play.
{{Feature|important|Please note that to use [[localize]]d string prefix stringtable ID with {{hl|@}}.}}
 
 
==== onBriefingGear ====
Defines a sound (defined in {{Link|#CfgSounds}}) that will play when accessing the gear part of the briefing. See [[Briefing.html#Advanced Briefings|Briefing.html]].
<syntaxhighlight lang="cpp">onBriefingGear = "SoundName";</syntaxhighlight>
{{Feature|arma3|Has no effect in {{arma3}}.}}
 
 
==== onBriefingGroup ====
Defines a sound (defined in {{Link|#CfgSounds}}) that will play when accessing the group part of the briefing. See [[Briefing.html#Advanced Briefings|Briefing.html]].
<syntaxhighlight lang="cpp">onBriefingGroup = "SoundName";</syntaxhighlight>
{{Feature|arma3|Has no effect in {{arma3}}.}}
 
 
==== onBriefingPlan ====
Defines a sound (defined in {{Link|#CfgSounds}}) that will play when accessing the plan part of the briefing. See [[Briefing.html#Advanced Briefings|Briefing.html]].
<syntaxhighlight lang="cpp">onBriefingPlan = "SoundName";</syntaxhighlight>
{{Feature|arma3|Has no effect in {{arma3}}.}}
 
 
{{ArgTitle|4|CfgWorlds|{{GVI|arma3|2.02}}}}
Could be used to override the following properties used on mission loading: author, description, pictureMap, pictureShot, loadingTexts[].
If a specific world name given as a subclass, override will happen only when this world is loading. If subclass with name Any is used, then aforementioned properties would be overridden for any world that is loading.
<syntaxhighlight lang="cpp">
class CfgWorlds
{
class Any // or specific world name
{
author = "author";
description = "description";
pictureMap = "picturepath";
pictureShot = "picturepath";
loadingTexts[] = { "text1", "text2", "text3" };
};
};
</syntaxhighlight>


==== respawn ====
|[[String]] or [[Number]]
|Sets respawn type.


Can be one of:
== Respawn/Revive ==
* '''0''' or '''"NONE"''' - No respawn
* '''1''' or '''"BIRD"''' - Respawn as a seagull
* '''2''' or '''"INSTANT"''' - Respawn just where you died.
* '''3''' or '''"BASE"''' - Respawn in base.
** Requires a marker named:
*** ''respawn_west''
*** ''respawn_east''
*** ''respawn_guerrila''
*** ''respawn_civilian''
** Add markers named with the prefix 'respawn_west' with any suffix (eg: respawn_westABC, respawn_west1, respawn_west_2, etc) for multiple random respawn points. Similarly for east, guerrilla and civilian.
** Vehicle respawn in base requires a marker named:
*** ''respawn_vehicle_west''
*** ''respawn_vehicle_east''
*** ''respawn_vehicle_guerrila''
*** ''respawn_vehicle_civilian''
* '''4''' or '''"GROUP"''' - Respawn in your group (if there's no AI left, you'll become a seagull).
* {{GVI|arma|1.08}} '''5''' or '''"SIDE"''' - Respawn into an AI unit on your side (if there's no AI left, you'll become a seagull). With this respawn type, team switch is also available to any AI controlled playable units.
|[[#respawnDelay|respawnDelay]], [[#respawnVehicleDelay|respawnVehicleDelay]], [[#respawnDialog|respawnDialog]]


<!----------------------------------------------------------->
This section talks about respawn and revive actions.
{{Table Config Item}}
* for {{arma2}}, see [[First Aid]].
* for {{arma3}}, see [[Arma 3: Respawn]] and [[Arma 3: Revive]].


====enableTeamSwitch ====
|[[Number]]
| Enables or disables [[Team Switch]] functionality in MP when [[#respawn|respawn]] type is 5 (SIDE). Default is 1.
enableTeamSwitch = 0; //Manual team switch disabled


|[[#respawn|respawn]]
{| class="wikitable float-right align-center-col-1" style="max-width: 50%"
|+ Respawn types
|-
! style="min-width: 2em" | ID
! Text&nbsp;version
! Description
|-
| '''0'''
| '''"NONE"'''
| No respawn
|-
| '''1'''
| '''"BIRD"'''
| Respawn as a seagull
|-
| '''2'''
| '''"INSTANT"'''
| Respawn just where you died.
|-
| '''3'''
| '''"BASE"'''
| Respawn in base.<br>A respawn marker is needed. If no marker is defined, respawn behaviour will be the same as '''"INSTANT"'''.<br>Marker role names:
* Unit respawn: ''respawn_'''SIDE'''''
* Vehicle respawn: ''respawn_vehicle_'''SIDE'''''
Side can be one of ''west'', ''east'', ''guerrila'' (sic), ''civilian'', e.g '''respawn_west'''.<br>Any suffix (eg: respawn_west'''ABC''', respawn_west'''_1''', etc) will allow multiple random respawn points.
|-
| '''4'''
| '''"GROUP"'''
| Respawn in your group. If there is no remaining AI, you will become a seagull.
|-
| '''5'''
| '''"SIDE"'''
| {{GVI|arma1|1.08}} Respawn into an AI unit on your side (if there's no AI left, you'll become a seagull).<br>With this respawn type, team switch is also available to any AI controlled playable units.
|}
==== respawn ====
Sets soldiers and vehicles respawn type.
<syntaxhighlight lang="cpp">
respawn = 0; // Default: 0 for SP, 1 for MP
respawn = "SIDE"; // text version works too
</syntaxhighlight>


<!----------------------------------------------------------->
{{ArgTitle|4|respawnVehicle|{{GVI|arma3|2.18}}}}
{{Table Config Item}}
Sets vehicles only respawn type. Vehicles can only have 2 (or "INSTANT") and 3 (or "BASE") respawn mode. All other modes are equal to disabled respawn. If 'respawnVehicle' is not defined, the 'respawn' value is used.
<syntaxhighlight lang="cpp">
respawnVehicle = 3;     // number version
respawnVehicle = "BASE"; // text version works too
</syntaxhighlight>


==== respawnButton ====
==== respawnButton ====
|[[Number]]
Enable or disable the respawn button in the menu for INSTANT and BASE respawn types.
|Enable or disable the respawn button in the menu for INSTANT and BASE respawn types. Default is 1 (enabled).
<syntaxhighlight lang="cpp">respawnButton = 0; // 0: disabled - 1: enabled. Default: 1</syntaxhighlight>
respawnButton = 0;
|[[#respawn|respawn]], [[#respawnDialog|respawnDialog]]
<!----------------------------------------------------------->


{{Table Config Item}}


==== respawnDelay ====
==== respawnDelay ====
|[[Number]]
Set respawn delay in seconds.
|Set respawn delay in seconds.
<syntaxhighlight lang="cpp">respawnDelay = 42; // Default: ?</syntaxhighlight>
respawnDelay = 42;
 
|[[#respawn|respawn]], [[#respawnVehicleDelay|respawnVehicleDelay]], [[#respawnDialog|respawnDialog]]


<!----------------------------------------------------------->
{{Table Config Item}}
==== respawnVehicleDelay ====
==== respawnVehicleDelay ====
|[[Number]]
Set vehicle respawn delay in seconds.
|Set vehicle respawn delay in seconds.
<syntaxhighlight lang="cpp">respawnVehicleDelay = 12; // Default: ?</syntaxhighlight>
respawnVehicleDelay = 11;
 
|[[#respawn|respawn]], [[#respawnDelay|respawnDelay]], [[#respawnDialog|respawnDialog]]


<!----------------------------------------------------------->
{{Table Config Item}}
==== respawnDialog ====
==== respawnDialog ====
|[[Number]]
Show the scoreboard and respawn countdown timer for a player if he is killed with {{Link|#respawn|respawn type}} '''3'''.
|Show the scoreboard and respawn countdown timer for a player if he is killed with respawnType 3. Default is 1 (true).
<syntaxhighlight lang="cpp">respawnDialog = 0; // 0: disabled - 1: enabled. Default: 1</syntaxhighlight>
respawnDialog = 0;
 
|[[#respawn|respawn]], [[#respawnDelay|respawnDelay]], [[#respawnVehicleDelay|respawnVehicleDelay]]


<!----------------------------------------------------------->
{{Table Config Item}}
==== respawnOnStart ====
==== respawnOnStart ====
|[[Number]]
Respawn player when he joins the game. Available only for INSTANT and BASE {{Link|#respawn|respawn types}}.
|1 to respawn player when he joins the game. Available only for INSTANT and BASE respawn types.
<syntaxhighlight lang="cpp">respawnOnStart = 1; // Default: 0</syntaxhighlight>
respawnOnStart = 1;//Respawn on start. Run respawn script on start.
* -1 - Dont respawn on start. Don't run respawn script on start.
respawnOnStart = 0;//Dont respawn on start. Run respawn script on start.
* &nbsp;0 - Dont respawn on start. Run respawn script on start.
respawnOnStart = -1;//Dont respawn on start. Don't run respawn script on start.
* &nbsp;1 - Respawn on start. Run respawn script on start.
|[[#respawn|respawn]], [[#respawnDelay|respawnDelay]], [[#respawnVehicleDelay|respawnVehicleDelay]]


<!----------------------------------------------------------->
{{Table Config Item}}


==== respawnTemplates ====
==== respawnTemplates ====
|[[Array]]
Respawn templates from [[Arma 3: Respawn#Respawn Templates|CfgRespawnTemplates]]. You can combine any number of them together.
|Respawn templates from CfgRespawnTemplates. You can combine any number of them together.
<syntaxhighlight lang="cpp">respawnTemplates[] = { "Counter", "Wave" };</syntaxhighlight>
respawnTemplates[] = {"Counter","Wave"};
{{Feature|important|Side specific respawn templates can be specified with ''respawnTemplates'''''SIDE'''''[]'' where '''SIDE''' can be any playable side (West, East, Guer, Civ).<br>
Side specific respawn templates can be specified with "<i>respawnTemplates<b>SIDE</b>[]</i>" where <i><b>SIDE</b></i> can be any playable side (e.g. <i>respawnTemplatesEast[]</i>). When such is undefined, general respawnTemplates are used instead.
When such is undefined, general respawnTemplates are used instead.}}
|[[#respawn|respawn]], [[#respawnDelay|respawnDelay]], [[#respawnVehicleDelay|respawnVehicleDelay]], [[Arma 3 Respawn]]
 
 
{{ArgTitle|4|respawnWeapons|{{GVI|arma1|1.00}}}}
Set weapons players will receive upon respawn. {{Link|#respawnMagazines}} has to be defined as well.
<syntaxhighlight lang="cpp">respawnWeapons[] = { "arifle_Katiba_GL_F" };</syntaxhighlight>
{{Feature|important|Side specific respawn weapons can be specified with ''respawnWeapons'''''SIDE'''''[]'' where '''SIDE''' can be any playable side (West, East, Guer, Civ).<br>
Corresponding ''respawnMagazines'''''SIDE'''''[]'' has to be defined as well.}}
 
 
{{ArgTitle|4|respawnMagazines|{{GVI|arma1|1.00}}}}
Set magazines players will receive upon respawn. {{Link|#respawnWeapons}} has to be defined as well.
<syntaxhighlight lang="cpp">respawnMagazines[] = { "30Rnd_65x39_caseless_green", "30Rnd_65x39_caseless_green" };</syntaxhighlight>
{{Feature|important|Side specific respawn weapons can be specified with ''respawnMagazines'''''SIDE'''''[]'' where '''SIDE''' can be any playable side (West, East, Guer, Civ).<br>
Corresponding ''respawnWeapons'''''SIDE'''''[]'' has to be defined as well.}}
 
 
{{ArgTitle|4|reviveMode|{{GVI|arma3|1.62}}}}
Define if [[Arma 3: Revive|Revive mode]] is enabled.
<syntaxhighlight lang="cpp">reviveMode = 1; // Default: 0</syntaxhighlight>
* 0 - disabled
* 1 - enabled
* 2 - controlled by player attributes
 
 
{{ArgTitle|4|reviveUnconsciousStateMode|{{GVI|arma3|1.62}}}}
Define revive mode.
<syntaxhighlight lang="cpp">reviveUnconsciousStateMode = 0; // Default: 0</syntaxhighlight>
* 0 - basic mode
* 1 - advanced mode
* 2 - realistic
See [[Arma 3: Revive#Damage Modeling|damage model]] for more detailed information.
 
 
{{ArgTitle|4|reviveRequiredTrait|{{GVI|arma3|1.62}}}}
Define if only a medic (or unit with medic [[setUnitTrait|trait]]) can perform a revive.
<syntaxhighlight lang="cpp">reviveRequiredTrait = 0; // 0: disabled - 1: enabled. Default: 0</syntaxhighlight>
 
 
{{ArgTitle|4|reviveRequiredItems|{{GVI|arma3|1.62}}}}
Define if a medical item (first aid kit or medkit) is required to begin a revive process.
<syntaxhighlight lang="cpp">reviveRequiredItems = 2; // Default: ?</syntaxhighlight>
* 0 - none
* 1 - medkit
* 2 - medkit or first aid kit
 
 
{{ArgTitle|4|reviveRequiredItemsFakConsumed|{{GVI|arma3|1.62}}}}
Define if a first aid kit is consumed on reviving a teammate
<syntaxhighlight lang="cpp">reviveRequiredItemsFakConsumed = 1; // 0: disabled - 1: enabled. Default: ?</syntaxhighlight>
 
 
{{ArgTitle|4|reviveMedicSpeedMultiplier|{{GVI|arma3|1.62}}}}
Speed multiplier for revive performed by medic
<syntaxhighlight lang="cpp">reviveMedicSpeedMultiplier = 2; // medic revive will be two times faster compared to another soldier</syntaxhighlight>
 
 
{{ArgTitle|4|reviveDelay|{{GVI|arma3|1.62}}}}
The time in seconds it takes to revive an incapacitated unit. Having a Medikit will halve this time.
<syntaxhighlight lang="cpp">reviveDelay = 10; // Default: 6</syntaxhighlight>
 
 
{{ArgTitle|4|reviveForceRespawnDelay|{{GVI|arma3|1.62}}}}
The time in seconds it takes for an incapacitated unit to force their respawn.
<syntaxhighlight lang="cpp">reviveForceRespawnDelay = 5; // Default: 3</syntaxhighlight>
 
 
{{ArgTitle|4|reviveBleedOutDelay|{{GVI|arma3|1.62}}}}
The time in seconds it takes for a unit to bleed out.
<syntaxhighlight lang="cpp">reviveBleedOutDelay = 300; // Default: 120</syntaxhighlight>
 
 
{{ArgTitle|4|enablePlayerAddRespawn|{{GVI|arma3|1.62}}}}
Usage unsure, may be related to {{Link|#respawnTemplates|respawn template}} '''MenuPosition'''.
<syntaxhighlight lang="cpp">enablePlayerAddRespawn = 0; // Disable framework respawn</syntaxhighlight>
 
 
{{ArgTitle|4|CfgRespawnInventory|{{GVI|arma3|1.62}}}}
This class defines a respawn inventory, used with '''MenuInventory''' {{Link|#respawnTemplates|respawn template}}.
Loadouts with no assigned role are automatically assigned to the "Default" role.<br>
See also [[BIS_fnc_addRespawnInventory]], [[BIS_fnc_removeRespawnInventory]]
<syntaxhighlight lang="cpp">
class CfgRespawnInventory
{
class Blufor1
{
displayName = "Light"; // Name visible in the menu
icon = "\A3\Ui_f\data\GUI\Cfg\Ranks\sergeant_gs.paa"; // Icon displayed next to the name
role = "Assault"; // Optional, see CfgRoles
 
// Loadout definition, uses same entries as CfgVehicles classes
weapons[] =
{
"arifle_MXC_F",
"Binocular"
};
 
magazines[] =
{
"30Rnd_65x39_caseless_mag",
"30Rnd_65x39_caseless_mag",
"SmokeShell"
};
 
items[] =
{
"FirstAidKit"
};
 
linkedItems[] =
{
"V_Chestrig_khk",
"H_Watchcap_blk",
"optic_Aco",
"acc_flashlight",
"ItemMap",
"ItemCompass",
"ItemWatch",
"ItemRadio"
};
 
uniformClass = "U_B_CombatUniform_mcam_tshirt";
backpack = "B_AssaultPack_mcamo";
};
 
class Blufor2
{
// Alternative configuration pointing to a CfgVehicles class. Loadout will be copied from it.
vehicle = "B_soldier_AR_F"
};
};
</syntaxhighlight>
 
 
{{ArgTitle|4|CfgRespawnTemplates|{{GVI|arma3|1.62}}}}
This class defines new respawn templates to be used with {{Link|#respawnTemplates|respawn templates}}.
 
<syntaxhighlight lang="cpp">
class CfgRespawnTemplates
{
// class used in respawnTemplates entry
class myTag_beacon
{
// function or script executed upon death
// parameters passed into it are the same as are passed into onPlayerKilled.sqf file
onPlayerKilled = "\myAddon\scripts\respawnBeacon.sqf";
 
// function or script executed upon respawn
// parameters passed into it are the same as are passed into onPlayerRespawn.sqf file
onPlayerRespawn = "\myAddon\scripts\respawnBeacon.sqf";
 
// default respawn delay
// can be overwitten by description.ext attribute of the same name
respawnDelay = 20;
 
// see respawnOnStart for description and limitations
// can be overridden by description.ext attribute of the same name
respawnOnStart = 1;
};
 
class Spectator
{
onPlayerRespawn = "BIS_fnc_respawnSpectator"; // a function can be used instead of a script
};
};
</syntaxhighlight>
 
 
{{ArgTitle|4|CfgRoles|{{GVI|arma3|1.62}}}}
This class defines Respawn roles. The main purpose of Roles is to make things clearer and simpler for player when selecting a loadout. All the loadouts available in a mission are now divided into various roles.
Mission designer can use roles already created in the game config, or custom roles can be defined in description.ext file. Loadouts with no role assigned are automatically assigned to the ''Default'' role.
<syntaxhighlight lang="cpp">
// all default roles with icons
class CfgRoles
{
class Assault
{
displayName = "$STR_A3_Role_Assault";
icon = "a3\Ui_f\data\GUI\Cfg\RespawnRoles\assault_ca.paa";
};
 
class Support
{
displayName = "$STR_A3_Role_Support";
icon = "a3\Ui_f\data\GUI\Cfg\RespawnRoles\support_ca.paa";
};
 
class Recon
{
displayName = "$STR_A3_Role_Recon";
icon = "a3\Ui_f\data\GUI\Cfg\RespawnRoles\recon_ca.paa";
};
};
</syntaxhighlight>
 
== Mission Keys ==
 
Mission keys are used to lock/unlock certain missions until you completed other ones. It can also be used in mission to know which missions you finished.<br>
Activated keys can be found in user profile (e.g documents\''username.Arma3profile'') under ''activeKeys'' section.<br>
See also commands [[activateKey]], [[isKeyActive]] and [[deActivateKey]] for more detailed information.
{{Feature|important|Please note that unlike other text items, [[Stringtable.xml|stringtable]] translations ($STR_*) cannot be used.}}
 
 
{{ArgTitle|4|keys|{{GVI|arma1|1.00}}}}
List of keys from which {{Link|#keysLimit}} counts the ''done'' ones.
<syntaxhighlight lang="cpp">keys[] = { "key1", "key2", "key3" };</syntaxhighlight>
 
 
{{ArgTitle|4|keysLimit|{{GVI|arma1|1.00}}}}
Number of keys from the {{Link|#keys}} list needed ''done'' to unlock (and be able to play) this mission.
<syntaxhighlight lang="cpp">keysLimit = 2;</syntaxhighlight>
 
 
{{ArgTitle|4|doneKeys|{{GVI|arma1|1.00}}}}
Name of keys marked ''done'' on mission completion.
<syntaxhighlight lang="cpp">doneKeys[] = { "key4" };</syntaxhighlight>
 
 
== Player's UI ==
 
This section explains HUD customisation possibilities.<br>
See also commands:
* [[showCompass]], [[shownCompass]], [[visibleCompass]]
* [[showGPS]], [[shownGPS]], [[visibleGPS]]
* [[showHUD]], [[shownHUD]]
* [[showWatch]], [[shownWatch]], [[visibleWatch]]
* [[showUAVFeed]], [[shownUAVFeed]] {{GVI|arma3|1.16}}
* [[showPad]], [[shownPad]] {{GVI|ofp|1.00}}
 
 
{{ArgTitle|4|overrideFeedback|{{GVI|arma3|1.98}}}}
Some of the feedback effects in {{arma3}} are scripted and executed by {{hl|functions_f\feedback\fn_feedbackMain.fsm}}. Those include being hit, pulsation, dirt from explosion, choking etc.
Adding {{hl|overrideFeedback}} with value > 0 will stop feedback FSM from executing, allowing mission/mod makers to script their own, custom effects. The param is first checked in the mission config and then mod config.
If mission config has this param set to 0, it will force default feedback handling without possibility to override it by mods. Do not set this param unless you are planning to enforce feedback one way or another.
<syntaxhighlight lang="cpp">overrideFeedback = 1; // 0: force default handling, 1+: allow custom handling. Default: not set</syntaxhighlight>
 
 
==== showHUD ====
Enables/Disables the following IGUI elements:
* Vehicle and unit info
* Radar and tactical display
* Vehicle compass
* Tank direction indicator
* Commanding menu
* Group info bar
* HUD weapon cursors
* Vehicle display panels
* Kill messages
* 3D Icons visibility
<syntaxhighlight lang="cpp">showHUD = 0; // 0: disabled - 1: enabled. Default: 1</syntaxhighlight>
 
The effect of using the above '''showHUD''' param is different from the effects of [[showHUD]] scripting command, both methods are rather complementary to each other.<br>
Since {{arma3}} v1.50 '''showHUD''' param can be an array to allow control over separate HUD elements, for example:
<syntaxhighlight lang="cpp">
showHUD[] =
{
1, // Scripted HUD (same as showHUD command)
1, // Vehicle and unit info
0, // Vehicle radar [HIDDEN]
0, // Vehicle compass [HIDDEN]
1, // Tank direction indicator
1, // Commanding menu
1, // Group info bar
1, // HUD weapon cursors
1, // Vehicle display panels
1, // "x killed by y" systemChat messages
1 // force show drawIcon3D icons
};
</syntaxhighlight>
{{Feature|important|Using the '''showHUD[]''' array parameter will disable the [[showHUD]] command entirely.}}
 
 
==== showCompass ====
Defines if the compass is visible.
<syntaxhighlight lang="cpp">showCompass = 0; // 0: disabled - 1: enabled. Default: 1</syntaxhighlight>
 
 
==== showGPS ====
Enables/Disables the GPS.
<syntaxhighlight lang="cpp">showGPS = 0; // 0: disabled - 1: enabled. Default: 1</syntaxhighlight>
In [[:Category:ArmA: Armed Assault|{{arma1}}]] ''1.04'' toggle this option to disable the mini map attached to the GPS.
 
 
{{ArgTitle|4|showGroupIndicator|{{GVI|arma3|1.00}}}}
Changes default GPS mini map into a radar like display that indicates group members relative position to the player.
<syntaxhighlight lang="cpp">showGroupIndicator = 1; // 0: disabled - 1: enabled. Default: 0</syntaxhighlight>
{{Feature|important|Has no effect since custom panels were introduced in {{arma3}}. See [[BIS_fnc_groupIndicator]].}}
 
 
==== showMap ====
Defines if the map is shown after the mission starts.
<syntaxhighlight lang="cpp">showMap = 0; // 0: disabled - 1: enabled. Default: 1</syntaxhighlight>
 
 
{{ArgTitle|4|showNotePad|{{GVI|arma1|1.00}}}}
In {{arma1}}, defines if the NotePad is shown after the mission starts.
<syntaxhighlight lang="cpp">showNotePad = 0; // 0: disabled - 1: enabled. Default: 1</syntaxhighlight>
 
 
{{ArgTitle|4|showPad|{{GVI|ofp|1.00}}}}
Defines if the NotePad is shown after the mission starts. '''Only in OFP:CWC'''.
<syntaxhighlight lang="cpp">showPad = 0; // 0: disabled - 1: enabled. Default: 1</syntaxhighlight>
 
 
==== showWatch ====
Defines if the watch is visible.
<syntaxhighlight lang="cpp">showWatch = 0; // 0: disabled - 1: enabled. Default: 1</syntaxhighlight>
 
 
{{ArgTitle|4|showUAVFeed|{{GVI|arma3|1.16}}}}
Enables/Disables the UAV Feed.
<syntaxhighlight lang="cpp">showUAVFeed = 0; // 0: disabled - 1: enabled. Default: 1</syntaxhighlight>
 
 
{{ArgTitle|4|showSquadRadar|{{GVI|arma3|1.60}}}}
Defines if the Squad Radar is visible.
<syntaxhighlight lang="cpp">showSquadRadar = 0; // 0: disabled - 1: enabled. Default: 0</syntaxhighlight>
{{Feature|important|Has no effect since custom panels were introduced in {{arma3}}.}}
 
 
{{ArgTitle|4|overrideHazeQuality|{{GVI|arma3|2.16}}}}
0/1/2 - VeryLow/Low/Standard - Forces haze quality and in MP has priority over the server 'overrideHazeQuality' option. Standard(2) - mod config driven. Default(-1) - do not force.
<syntaxhighlight lang="cpp">overrideHazeQuality = 1; // Low </syntaxhighlight>
 
 
== Starting Gear ==
 
Starting gear points to briefing-available equipment. For respawn equipment, see {{Link|#Respawn/Revive}}.<br>
See also [[:Category:Command Group: Weapon Pool|Weapon Pool Commands]] for more detailed information about weapon pool system.
 
 
==== weapons ====
Set weapons available to players during the briefing.
<syntaxhighlight lang="cpp">
class Weapons
{
class AK74 { count = 8; };
class RPG7V { count = 2; };
class Binocular { count = 2; };
};
</syntaxhighlight>
 
 
==== magazines ====
Set magazines available to players during the briefing.
<syntaxhighlight lang="cpp">
class Magazines
{
class 30Rnd_545x39_AK { count = 32; };
class PG7V { count =  6; };
class HandGrenade { count = 16; };
};
</syntaxhighlight>
 
 
{{ArgTitle|4|backpacks|{{GVI|arma2oa|1.50}}}}
Set [[Arma 2 OA: Backpacks|backpacks]] available to players during the briefing.
<syntaxhighlight lang="cpp">
class Backpacks
{
class US_Patrol_Pack_EP1 { count = 4; };
class US_Assault_Pack_EP1 { count = 4; };
};
</syntaxhighlight>
 
 
{{ArgTitle|4|allowSubordinatesTakeWeapons|{{GVI|arma2oa|1.56}}}}
Allows subordinates (i.e., not leaders) to equip items defined in {{Link|#weapons}}, {{Link|#magazines}} and {{Link|#backpacks}}.
<syntaxhighlight lang="cpp">allowSubordinatesTakeWeapons = 1; // 0: disabled - 1: enabled. Default: ?</syntaxhighlight>
 


<!----------------------------------------------------------->
{{ArgTitle|4|arsenalRestrictedItems|{{GVI|arma3|1.98}}}}
Used to blacklist undesired [[Arma 3: Arsenal|Arsenal]] equipment, which prevents user saved loadout from being loaded if it contains restricted items.
<syntaxhighlight lang="cpp">arsenalRestrictedItems[] = { "U_B_Soldier_VR" };</syntaxhighlight>


{{Table Config Item|arma3|1.62}}


==== ReviveMode ====
{{ArgTitle|4|allowProfileGlasses|{{GVI|arma3|2.04}}}}
|[[Number]]
When set to 0 will stop glasses set in player profile from being added to player's gear:
| 0: disabled, 1: enabled, 2: controlled by player attributes
<syntaxhighlight lang="cpp">allowProfileGlasses = 0;</syntaxhighlight>
ReviveMode = 1;
| [[Arma 3 Revive|Revive]]
<!----------------------------------------------------------->


{{Table Config Item|arma3|1.62}}


==== ReviveUnconsciousStateMode ====
== Corpse and Wreck Management ==
|[[Number]]
| 0: basic, 1: advanced, 2: realistic
ReviveUnconsciousStateMode = 0;
| [[Arma 3 Revive|Revive]]
<!----------------------------------------------------------->


{{Table Config Item|arma3|1.62}}
This section explains how to use game-included '''garbage collector''' ('''GC''') for better performances.<br>
See also [[addToRemainsCollector]], [[isInRemainsCollector]] and [[removeFromRemainsCollector]] commands.


==== ReviveRequiredTrait ====
The Remains Collector, if enabled, runs at background on every client and clears mission of corpses and wrecks depending on set params and mode.
|[[Number]]
Individual objects can be added or removed from collector monitoring. Items in remains collector are sorted depending on how valuable they are.
| 0: none, 1: medic trait is required
The most valuable items are pushed to the end of remains array and will be deleted last if possible; for example, the flag carrier is never deleted while it has the flag.
ReviveRequiredTrait = 0;
| [[Arma 3 Revive|Revive]]
<!----------------------------------------------------------->


{{Table Config Item|arma3|1.62}}


==== ReviveRequiredItems ====
{{ArgTitle|4|corpseManagerMode|{{GVI|arma3|1.32}}}}
|[[Number]]
Sets the mode for automatic corpse removal.
| 0: none, 1: medkit, 2: medkit or first aid kit
<syntaxhighlight lang="cpp">corpseManagerMode = 0; // Default SP: 0; Default MP: 2</syntaxhighlight>
ReviveRequiredItems = 2;
* 0 ''(Default in SP)'' = None - None of the units are automatically managed by the manager
| [[Arma 3 Revive|Revive]]
* 1 = All - All units are automatically managed by the manager
<!----------------------------------------------------------->
* 2 ''(Default in MP)'' = None_But_Respawned - Only units that can respawn are automatically managed by the manager
* 3 = All_But_Respawned - All units are automatically managed by the manager with the exception of respawned ones (opposite to mode 2)


{{Table Config Item|arma3|1.62}}


==== ReviveRequiredItemsFakConsumed ====
{{ArgTitle|4|corpseLimit|{{GVI|arma3|0.50}}}}
|[[Number]]
If the total number of monitored corpses is higher than '''corpseLimit''', the corpses that have been dead for longer than {{Link|#corpseRemovalMinTime}} will be considered for removal.
| 0: first aid kit is not consumed upon revive, 1: first aid kit is consumed
<syntaxhighlight lang="cpp">corpseLimit = 1; // Default: 15</syntaxhighlight>
ReviveRequiredItemsFakConsumed = 1;
| [[Arma 3 Revive|Revive]]
<!----------------------------------------------------------->


{{Table Config Item|arma3|1.62}}


==== ReviveMedicSpeedMultiplier ====
{{ArgTitle|4|corpseRemovalMinTime|{{GVI|arma3|0.50}}}}
|[[Number]]
See {{Link|#corpseLimit}} above.
| speed multiplier for revive performed by medic
<syntaxhighlight lang="cpp">corpseRemovalMinTime = 60; // seconds. Default: 10</syntaxhighlight>
ReviveMedicSpeedMultiplier = 2;
| [[Arma 3 Revive|Revive]]
<!----------------------------------------------------------->


{{Table Config Item|arma3|1.42}}


==== reviveDelay  ====
{{ArgTitle|4|corpseRemovalMaxTime|{{GVI|arma3|0.50}}}}
|[[Number]]
Monitored corpses that are dead for longer than '''corpseRemovalMaxTime''' will be considered for removal regardless of the {{Link|#corpseLimit}}.
| The time it takes to revive an incapacitated unit (default: 6 seconds). Having a Medikit will halve this time. Must have "Revive" Respawn template enabled.
<syntaxhighlight lang="cpp">corpseRemovalMaxTime = 1200; // seconds. Default: 3600</syntaxhighlight>
reviveDelay = 6;
| [[Arma 3 Revive|Revive]]
<!----------------------------------------------------------->
{{Table Config Item|arma3|1.42}}


==== reviveForceRespawnDelay  ====
|[[Number]]
| The time it takes for an incapacitated unit to force their respawn (default: 3 seconds). Must have "Revive" Respawn template enabled.
reviveForceRespawnDelay = 3;
| [[Arma 3 Revive|Revive]]
<!----------------------------------------------------------->
{{Table Config Item|arma3|1.42}}


==== reviveBleedOutDelay  ====
{{ArgTitle|4|disposalCheckPeriod|{{GVI|arma3|2.18}}}}
|[[Number]]
How often the remains collector checks monitored remains for removal. The value can be between 1 and 60.
| The time it takes for a unit to bleed out (default: 2 minutes). Must have "Revive" Respawn template enabled.
<syntaxhighlight lang="cpp">disposalCheckPeriod = 10; // seconds. Default: 5</syntaxhighlight>
reviveBleedOutDelay = 120;
 
| [[Arma 3 Revive|Revive]]
 
<!----------------------------------------------------------->
{{ArgTitle|4|minPlayerDistance|{{GVI|arma3|1.66}}}}
{{Table Config Item}}
This value applies for monitored corpses, wrecks and weaponholders. The minimum distance between remains and the nearest player before the remains are allowed to be removed by the remains collector.
==== CfgCameraEffects ====
The remains closer than minimum distance to nearest player will not be removed until distance increases. If 'minPlayerDistance' is set to 0, the distance check is not performed.
|Class
<syntaxhighlight lang="cpp">minPlayerDistance = 50; // meters. Default: 0</syntaxhighlight>
|Configure custom [[cameraEffect]]
 
class CfgCameraEffects
 
{
{{ArgTitle|4|minPlayerDistance[]|{{GVI|arma3|2.18}}}}
class Array
Array variant of the above that allows setting individual minPlayerDistance for {corpses, wrecks, weaponholders}
{
<syntaxhighlight lang="cpp">minPlayerDistance[] = {50, 60, 70}; // meters. Default: {0, 0, 0}</syntaxhighlight>
class External
 
{
 
type = 0;
{{ArgTitle|4|weaponholderManagerMode|{{GVI|arma3|2.18}}}}
duration = 6; //3 seconds for some reason
Sets the mode for automatic weapon holder removal.
file = ""; //some kind of custom .p3d file for camera
<syntaxhighlight lang="cpp">weaponholderManagerMode = 0; // Default SP: 0; Default MP: 2</syntaxhighlight>
};
* 0 ''(Default in SP)'' = None - None of the weapon holders are automatically managed by the manager
class AutoTerminate: External
* 1 = All - All weapon holders are automatically managed by the manager
{
* 2 ''(Default in MP)'' = None_But_Respawned - Only weapon holders from units that can respawn are automatically managed by the manager
type = 3;
* 3 = All_But_Respawned - All weapon holders are automatically managed by the manager with the exception of the ones from respawned units (opposite to mode 2)
chain[] = {"External","Terminate"}; //Terminate will trigger after 3 seconds
 
};
 
};
{{ArgTitle|4|weaponholderLimit|{{GVI|arma3|2.18}}}}
};
If the total number of monitored weapon holders is higher than '''weaponholderLimit''', the weapon holders that exist for longer than {{Link|#weaponholderRemovalMinTime}} will be considered for removal.
Example:
<syntaxhighlight lang="cpp">weaponholderLimit = 1; // Default: 50</syntaxhighlight>
<code>"AutoTerminate" [[spawn]] {
 
[[showCinemaBorder]] false;
 
_dur = [[getNumber]] ([[missionConfigFile]] >> "CfgCameraEffects" >> "Array" >> _this >> "duration");
{{ArgTitle|4|weaponholderRemovalMinTime|{{GVI|arma3|2.18}}}}
_cam = "camera" [[camCreate]] ([[player]] [[modelToWorld]] [0, -100, 50]);
See {{Link|#weaponholderLimit}} above.
_cam [[camSetTarget]] [[player]];
<syntaxhighlight lang="cpp">weaponholderRemovalMinTime = 60; // seconds. Default: 3600</syntaxhighlight>
_cam [[camSetRelPos]] [0, -0.1, 1.8];  
 
_cam [[camCommit]] _dur/2;
 
_cam [[cameraEffect]] [_this, "Back"];
{{ArgTitle|4|weaponholderRemovalMaxTime|{{GVI|arma3|2.18}}}}
[[waitUntil]] {[[camCommitted]] _cam};
Monitored weapon holders that exist for longer than '''weaponholderRemovalMaxTime''' will be considered for removal regardless of the {{Link|#weaponholderLimit}}.
[[camDestroy]] _cam;
<syntaxhighlight lang="cpp">weaponholderRemovalMaxTime = 1200; // seconds. Default: 36000</syntaxhighlight>
};</code>
 


{{ArgTitle|4|wreckManagerMode|{{GVI|arma3|1.32}}}}
Sets the mode for automatic wreck removal.
<syntaxhighlight lang="cpp">wreckManagerMode = 0; // Default SP: 0; Default MP: 2</syntaxhighlight>
* 0 ''(Default in SP)'' = None - None of the vehicles are automatically managed by the manager
* 1 = All - All vehicles are automatically managed by the manager
* 2 ''(Default in MP)'' = None_But_Respawned - Only vehicles that can respawn are automatically managed by the manager
* 3 = All_But_Respawned - All vehicles are automatically managed by the manager with exception of respawned (opposite to mode 2)


<!----------------------------------------------------------->
{{Table Config Item}}
==== CfgSounds ====
|Class
|General sounds that can be used for dialog, voiceovers in the briefing etc.
class CfgSounds
{
sounds[] = {};
class wolf1
{
{{codecomment|// how the sound is referred to in the editor (e.g. trigger effects)}}
name = "my_wolf_sound";
{{codecomment|// filename, volume, pitch}}
sound[] = {"fx\wolf1.ogg", 1, 1};
{{codecomment|// subtitle delay in seconds, subtitle text}}
titles[] = {1, "*wolf growls*"};
};
};
Use in missions:
[[playSound]] "wolf1";  // use the class name!
[[player]] [[say]] ["wolf1", 100];


(see [http://ofp.toadlife.net/downloads/tutorials/tutorial_sound/tutorial_sound.html tutorial])
{{ArgTitle|4|wreckLimit|{{GVI|arma3|0.50}}}}
If the total number of monitored wrecks is higher than '''wreckLimit''', the wrecks that existed for longer than {{Link|#wreckRemovalMinTime}} will be considered for removal.
<syntaxhighlight lang="cpp">wreckLimit = 1; // seconds. Default: 15</syntaxhighlight>


'''NOTE:''' Since Arma 3 v1.49.131710 it is possible to define AddOn sounds in mission config. In order to make engine look for the sound in AddOn, the sound path must start with '''@''' (instead of '''\''') for example:
class CfgSounds
{
sounds[] = {};
class addonsound1
{
name = "sound from addon";
{{codecomment|// start path to sound file in AddOn with @}}
sound[] = {"@a3\Ui_F_Curator\Data\Sound\CfgSound\visionMode", 0.8, 1};
titles[] = {0,""};
};
};


The following will play Vision Mode change sound from AddOn:
{{ArgTitle|4|wreckRemovalMinTime|{{GVI|arma3|0.50}}}}
See {{Link|#wreckLimit}} above.
<syntaxhighlight lang="cpp">wreckRemovalMinTime = 60; // seconds. Default: 10</syntaxhighlight>


[[playSound]] "addonsound1";
[[player]] [[say]] "addonsound1";
[[player]] [[say2D]] "addonsound1";
[[player]] [[say3D]] "addonsound1";


<!----------------------------------------------------------->
{{ArgTitle|4|wreckRemovalMaxTime|{{GVI|arma3|0.50}}}}
{{Table Config Item}}
Monitored wrecks that existed for longer than '''wreckRemovalMaxTime''' will be considered for removal regardless of the {{Link|#wreckLimit}}.
<syntaxhighlight lang="cpp">wreckRemovalMaxTime = 1800; // seconds. Default: 36000 (10 hours)</syntaxhighlight>


==== CfgRadio ====
== Mission Parameters ==
|Class
| Radio sentences
class CfgRadio
{
sounds[] = {};
class RadioMsg1
{
name = "";
sound[] = {"\sound\filename1.ogg", db-100, 1.0};
title = "I am ready for your orders.";
};
class RadioMsg2
{
name = "";
sound[] = {"\sound\filename2", db-100, 1.0}; // .wss implied
title = {$STR_RADIO_2};
};
};
Note that the location of the sound file is relative to the mission.


Use in missions:
Mission parameters allow you to add settings to your creation. These settings are in-game accessible only in Multiplayer mode, but can also be accessed by commands for a scripted use in Singleplayer mode.<br>
unit [[sideRadio]] "RadioMsg2";
See [[Mission Parameters]], along with [[BIS_fnc_getParamValue]] function ([[paramsArray]] usage is '''not''' recommended).


<!----------------------------------------------------------->
{{Table Config Item}}


==== CfgMusic ====
{{ArgTitle|4|param1/param2|{{GVI|ofp|1.00}}}}
|Class
'''param1''' and '''param2''' are multiplayer options that can be seen in the multiplayer lobby.
|
They can be useful for setting time limits and score limits in such games as Capture the Flag and Death Matches.
class CfgMusic
Other popular uses include time acceleration, setting the mission difficulty or switching the intro on/off.
{
tracks[]={};<br>
class MarsIntro
{
name = "";
sound[] = {"\music\filename.ogg", db+0, 1.0};
};
class Ludwig9
{
name = "";
sound[] = {"\music\filename.ogg", db+10, 1.0};
};
};
'''Name''' can be left blank as in the examples above. Only specify a name if you wish to access these sounds via the environment options of a trigger.


'''Title''' is the text string that will be displayed on the screen when the sound file is played.  See also [[Stringtable.csv]]
In the mission, variables '''param1''' and '''param2''' have the corresponding values of the chosen options.


{{Important|Setting volume (db) of music far from zero will disable [[fadeMusic]] command. Optimal values are from -10 to 10.}}
{{Feature|important|
* While '''param1'''/'''param2''' were introduced in '''{{Name|ofp|short}}''' and can still be used in later titles, it is '''highly recommended''' to use config class {{Link|#Params}}, available since {{arma2}} v1.03.
* '''param1'''/'''param2''' variables can be overridden during the mission as they are '''not''' read-only.
}}


Use in missions:
<syntaxhighlight lang="cpp">
[[playMusic]"MarsIntro"
titleParam1 = "Time limit:";
valuesParam1[] = { 0, 300, 600, 900 };
defValueParam1 = 900;
textsParam1[] = { "Unlimited", "5 min", "10 min", "15 min" };


<!----------------------------------------------------------->
titleParam2 = "Score to win:";
{{Table Config Item}}
valuesParam2[] = { 10000, 5, 7, 10, 15, 20, 25, 30 };
==== CfgIdentities ====
defValueParam2 = 5;
|Class
textsParam2[] = { "Unlimited", 5, 7, 10, 15, 20, 25, 30 };
|Define the identities of individual units, you can specify the face, type of glasses worn, voice, tone of voice and name of an identity. You then give a specific unit this identity by using the command [[setIdentity]] in the mission.  '''Note''':  ''nameSound'' is only valid for Arma 3.
</syntaxhighlight>
class CfgIdentities
{
class MyLittleSoldier
{
name="Givens";
                nameSound = "Givens"; // Arma 3 only!
face="whiteHead_06";
glasses="None";
speaker="Male05ENG";
pitch=1.1;
};
};
See [[:Category:CfgIdentities]] for valid options for: face, glasses, speaker etc.
|[[setIdentity]]


<!----------------------------------------------------------->
Example:
{{Table Config Item|arma2}}
<sqf>hint format ["param1 = %1\nparam2 = %2", param1, param2];</sqf>
==== CfgFunctions ====
|Class
|Define functions for your mission. See [[Functions|Functions Library]] for detailed info.
| [[Functions|Functions Library]]


<!----------------------------------------------------------->
{{Table Config Item|arma3|1.32}}
==== CfgRemoteExecCommands ====
|Class
|Define commands available for remote execution with [[BIS_fnc_MP]]. See [[CfgRemoteExecCommands]] for more info.
class CfgRemoteExecCommands {}; //disable remote execution of all commands
| [[CfgRemoteExecCommands]]


<!----------------------------------------------------------->
{{ArgTitle|4|Params|{{GVI|arma2|1.03}}}}
{{Table Config Item|arma3|1.24}}
These are Multiplayer parameters, available in the lobby by the server administrator.
They are intended as a replacement for {{Link|#param1/param2}}.
<syntaxhighlight lang="cpp">
class Params
{
class ViewDistance
{
// Visible name in lobby settings list
title = "View distance";


==== CfgUnitInsignia ====
// must be integers - commas e.g 1.5 are not allowed
|Class
values[] = { 500, 1000, 2000, 5000 };
|Define custom unit insignia (shoulder patches).
class CfgUnitInsignia
{
class 111thID
{
displayName = "111th Infantry Division"; {{codecomment|// Name displayed in [[Arsenal]]}}
author = "Bohemia Interactive"; {{codecomment|// Author displayed in Arsenal}}
texture = "\a3\UI_F_Bootcamp\Data\CfgUnitInsignia\B_111thID_texture_ca.paa"; {{codecomment|// Image path}}
textureVehicle = ""; {{codecomment|// Does nothing currently, reserved for future use}}
};
};
|[[Arma 3 Unit Insignia]]


<!----------------------------------------------------------->
// Description of each selectable item - must have the same number of items as 'values'
{{Table Config Item|arma}}
// If texts are missing, the values will be displayed instead
texts[] = { "500m", "1000m", "2 km", "5 km" };


==== keys ====
// must be listed in 'values' array, otherwise 0 is used. If not integer, fallback value is 1
|[[Array]]
default = 1000;
|List of keys (needed for keysLimit)
keys[] = {"key1","key2","key3"};
Note that unlike other 'text' items $STR_ variables (in the stringtable.csv for the mission) cannot be used
|[[#keysLimit|keysLimit]], [[#doneKeys|doneKeys]]


<!----------------------------------------------------------->
// (optional) script file called when player joins, selected value is passed as an argument
{{Table Config Item|arma}}
file = "setViewDistance.sqf";
==== keysLimit ====
};
|[[Number]]
};
|Number of keys from the [[#keys|keys]] list needed for unlock a mission.
</syntaxhighlight>
keysLimit = 2;
See [[Mission Parameters]] for more detailed information.
|[[#keys|keys]], [[#doneKeys|doneKeys]]


<!----------------------------------------------------------->
{{Table Config Item|arma}}


==== doneKeys ====
== Mission Settings ==
|[[Array]]
|Name of key(s) needed for mark a mission in SP missions list as completed.
doneKeys[] = {"key4"};
Note that unlike other 'text' items $STR_ variables (in the stringtable.csv for the mission) cannot be used


Keys can be activated using [[activateKey]] and checked by [[isKeyActive]].
These are non-editable, mission maker design settings.
|[[#keys|keys]], [[#keysLimit|keysLimit]]
They can be used for a smoother experience, briefing/debriefing behaviour, saving options, etc.<br>
See also [[Debriefing]] for more detailed information.


<!----------------------------------------------------------->
{{Table Config Item}}
==== disabledAI ====
|[[Number]]
|When 1, removes all playable units which do not have a human player. When 0, a logging out player will have AI take control of his character. Default value is 0. (MP)
disabledAI = 1;
Disabling all the AI units will prevent [[JIP]] into playable units.


<!----------------------------------------------------------->
{{Table Config Item}}
==== aiKills ====
==== aiKills ====
|[[Number]]
Enables AI units score to appear in score table.
|Enables scorelist for AI players
<syntaxhighlight lang="cpp">aiKills = 1; // 0: disabled - 1: enabled. Default: 0</syntaxhighlight>
aiKills = 1;
 


<!----------------------------------------------------------->
{{Table Config Item}}
==== briefing ====
==== briefing ====
|[[Number]]
Skip briefing screen for SP missions. If no briefing.html is present, it is skipped anyway.
|Skip briefing screen for SP missions. If no briefing.html is present, it is skipped anyway.
<syntaxhighlight lang="cpp">briefing = 0; // 0: disabled - 1: enabled. Default: 1</syntaxhighlight>
briefing = 0;
Briefing will still be displayed until all clients are connected and done loading.
Briefing will still be displayed until all clients are connected and done loading.


<!----------------------------------------------------------->
 
{{Table Config Item}}
==== debriefing ====
==== debriefing ====
|[[Number]]
Defines if the debriefing is shown or not at the end of the mission.
|Defines if the debriefing is shown or not at the end of the mission.
<syntaxhighlight lang="cpp">debriefing = 0; // 0: disabled - 1: enabled. Default: 1</syntaxhighlight>
debriefing = 0;


<!----------------------------------------------------------->
 
{{Table Config Item|arma3|0.50}}
{{ArgTitle|4|CfgDebriefing|{{GVI|arma3|0.50}}}}
==== CfgDebriefing ====
Define custom mission endings or override the default endings (found under CfgDebriefing in the game's config file).
|Class
<syntaxhighlight lang="cpp">
|Define custom mission endings or override the default endings (found under CfgDebriefing in the game's config file).
class CfgDebriefing
<code>class CfgDebriefing
{
{
// Used when all players die in MP
// Used when all players die in MP
Line 520: Line 852:
picture = "KIA";
picture = "KIA";
};
};
};</code>
};
|[[Debriefing]]
</syntaxhighlight>
'''For a detailed description, see [[Arma 3: Debriefing]].'''


<!----------------------------------------------------------->
 
{{Table Config Item|arma3|0.50}}
{{ArgTitle|4|CfgDebriefingSections|{{GVI|arma3|0.50}}}}
==== CfgDebriefingSections ====
Define custom sections to be displayed on the debriefing screen. Useful for custom scoring systems or displaying player achievements.
|Class
<syntaxhighlight lang="cpp">
|Define custom sections to be displayed on the debriefing screen. Useful for custom scoring systems or displaying player achievements.
class CfgDebriefingSections
<code>class CfgDebriefingSections
{
{
class bPoints
class bPoints
Line 535: Line 867:
variable = "BLU_P";
variable = "BLU_P";
};
};
class oPoints
class oPoints
{
{
Line 540: Line 873:
variable = "OPF_P";
variable = "OPF_P";
};
};
};</code>
};
|[[Debriefing]]
</syntaxhighlight>
 
 
{{ArgTitle|4|DifficultyOverride|{{GVI|arma3|2.16}}}}
Allow to override a difficulty setting for the mission only.
 
At the moment, only {{hl|tacticalPing}} is supported.
<syntaxhighlight lang="cpp">
class DifficultyOverride
{
tacticalPing = 0; // disables tactical ping in this mission, even if selected difficulty preset has it enabled
}
</syntaxhighlight>


<!----------------------------------------------------------->
{{Table Config Item}}
==== showHUD ====
|[[Number]] or [[Array]]
|Enables/Disables the following IGUI elements:
* Vehicle and Unit Info
* Radar and Tactical Display
* Vehicle Compass
* Tank Direction Indicator
* Commanding Menu
* Group Info Bar
showHUD = 0;
The effect of using the above ''showHUD'' param is different from the effects of [[showHUD]] scripting command, both methods are rather complementary to each other.
<br>As of Arma 3 v1.49.131879 ''showHUD'' param could be an array to allow control over separate HUD elements, for example:
showHUD[] = {
true, // Scripted HUD (same as showHUD command)
true, // Vehicle + soldier info
false, // Vehicle radar [HIDDEN]
false, // Vehicle compass [HIDDEN]
true, // Tank direction indicator
true, // Commanding menu
true, // Group Bar
true, // HUD Weapon Cursors
true // HUD Squad Radar
};
'''NOTE:''' adding new ''showHUD[]'' array param to ''description.ext'' will also disable scripted command [[showHUD]] entirely.
|[[showHUD]], [[shownHUD]]


<!----------------------------------------------------------->
{| class="wikitable float-right align-center" style="max-width: 50%"
{{Table Config Item}}
! colspan="7" | [[Channel IDs|Channel ID]] number command correspondence
|-
| Global
| Side
| Command
| Group
| Vehicle
| Direct
| System
|-
| 0
| 1
| 2
| 3
| 4
| 5
| {{n/a}}
|-
| [[globalRadio]]
| [[sideRadio]]
| [[commandRadio]]
| [[groupRadio]]
| [[vehicleRadio]]
| [[directSay]]
| {{n/a}}
|-
| [[globalChat]]
| [[sideChat]]
| [[commandChat]]
| [[groupChat]]
| [[vehicleChat]]
| {{n/a}}
| [[systemChat]]
|}
{{ArgTitle|4|disableChannels|{{GVI|arma2oa|1.62}}}}
Disable global, side, command or system chat. MOTD and admin say have exception and will show in global.
 
{{Feature|informative|
* This setting is not considered when hosting from {{Link|Category:Eden Editor|Eden Editor}}.
* A mission using '''disableChannels''' will override any <syntaxhighlight lang="cpp" inline>disableChannels[]</syntaxhighlight> value in {{Link|Arma 3: Server Config File|server config}}.
}}
 
{{GVI|arma2oa|1.62}} '''basic syntax''':
<syntaxhighlight lang="cpp">disableChannels[] = { 0, 3 }; // simple channel ID list</syntaxhighlight>
 
{{GVI|arma3|1.60}} '''advanced syntax''':
<syntaxhighlight lang="cpp">
disableChannels[] =
{
{
0, // channel ID
false, // text chat remains enabled
true // voice chat is disabled
},
{ 3, true, true }
};
</syntaxhighlight>
 
 
==== disabledAI ====
Multiplayer setting that removes all playable units which do not have a human player.<br>
When AI is disabled, a player logging out will '''not''' have AI take control of his character.
{{Feature|important|Disabling AI units will prevent [[Multiplayer Scripting#Join In Progress|JIP]] into playable units if '''respawn''' is disabled.}}
<syntaxhighlight lang="cpp">disabledAI = 1; // 0: AIs fill empty slots - 1: AIs are disabled, only players can spawn. Default: 0</syntaxhighlight>
 
 
{{ArgTitle|4|disableRandomization|{{GVI|arma3|1.42}}}}
Disables randomization on certain objects, object types or object kinds in the mission. For more information visit: [[Arma 3: Vehicle Customisation]]
<syntaxhighlight lang="cpp">disableRandomization[] = { "All", "AllVehicles", "B_G_Offroad_01_F", "myCar", "MyUnitName", "B_Soldier_F" };</syntaxhighlight>
Note: This takes higher priority and will override the following:
<sqf>_vehicle setVariable ["BIS_enableRandomization", true]; // cannot enable for all or specific vehicles once disabled in description.ext</sqf>
 
 
{{ArgTitle|4|enableDebugConsole|{{GVI|arma3|0.50}}}}
Allows access to the [[Arma 3: Debug Console|Debug Console]] in multiplayer scenarios outside of the editor. This has no effect for singleplayer scenarios.
 
Since {{GVI|arma3|2.18}} also makes the console available in singleplayer scenarios.
 
<syntaxhighlight lang="cpp">enableDebugConsole = 2; // dangerous in MP</syntaxhighlight>
* 0 - Default behavior, available only in editor
* 1 - Available in SP and for hosts / logged in admins
* 2 - Available for everyone
 
Alternative since {{GVI|arma3|1.72}}
<syntaxhighlight lang="cpp">enableDebugConsole[] = { "76561198XXXXXXXXX", "76561198YYYYYYYYY", }; // admins and players with their UID in this list have access</syntaxhighlight>
 
 
{{ArgTitle|4|enableItemsDropping|{{GVI|arma2oa|1.62}}}}
Disable dropping items while swimming. Introduced in {{arma2oa}} BETA 1.60.93965. Doesn't seem to have any effect in {{arma3}}.
<syntaxhighlight lang="cpp">enableItemsDropping = 0; // 0: disabled - 1: enabled. Default: ?</syntaxhighlight>
 
 
==== enableTeamSwitch ====
Enables or disables [[Team Switch]] functionality in MP when [[#respawn|respawn type]] is 5 (SIDE).
<syntaxhighlight lang="cpp">enableTeamSwitch = 0; // 0: disabled - 1: enabled. Default: 1</syntaxhighlight>
 
 
{{ArgTitle|4|forceRotorLibSimulation|{{GVI|arma3|1.34}}}}
Force enable or disable RotorLib flight model.
<syntaxhighlight lang="cpp">forceRotorLibSimulation = 1; // Default: 0</syntaxhighlight>
* 0 - based on player's options
* 1 - enabled (advanced mode)
* 2 - disabled (default flight mode)
 


==== showGPS ====
{{ArgTitle|4|hostDoesNotSkipLobby|{{GVI|arma3|2.06}}}}
|[[Number]]
Stops hosting player from skipping the lobby if {{hl|c= skipLobby = 1;}} is used
|Enables/Disables the GPS
<syntaxhighlight lang="cpp">hostDoesNotSkipLobby = 1;</syntaxhighlight>
showGPS = 0;
In [[ArmA]] ''1.04'' toggle this option to disable the mini map attached to the GPS.
|[[showGPS]], [[shownGPS]], [[visibleGPS]]


<!----------------------------------------------------------->
{{Table Config Item}}
==== showCompass ====
|[[Number]]
|Defines if the compass is visible.
showCompass = 0;
|[[showCompass]], [[shownCompass]], [[visibleCompass]]


<!----------------------------------------------------------->
{{ArgTitle|4|joinUnassigned|{{GVI|arma3|0.50}}}}
{{Table Config Item}}
By default a new player is not auto assigned a free playable slot in the mission lobby in Multiplayer.
==== showMap ====
Disable this setting to make him auto assigned to the side with least players.
|[[Number]]
<syntaxhighlight lang="cpp">joinUnassigned = 0; // 0: disabled - 1: enabled. Default: 1</syntaxhighlight>
|Defines if the map is shown after the mission starts.
showMap = 0;
|[[showMap]], [[shownMap]]


<!----------------------------------------------------------->
{{Table Config Item|arma}}
==== showNotePad ====
|[[Number]]
|In ArmA, defines if the NotePad is shown after the mission starts.
showNotePad = 0;


<!----------------------------------------------------------->
==== minScore, avgScore, maxScore ====
{{Table Config Item}}
Set minimum, average and maximum score for your mission.
==== showPad ====
Score is related to the star display in the debriefing screen (OFP:CWC).
|[[Number]]
The score can be influenced during a missions progress by using the [[addRating]] command.
|Defines if the NotePad is shown after the mission starts. (Not in ArmA)
<syntaxhighlight lang="cpp">
showPad = 0;
minScore = 0;
|[[showPad]], [[shownPad]]
avgScore = 1800;
maxScore = 75000;
</syntaxhighlight>
{{Feature|important|Values have to follow this formula: '''minScore < avgScore < maxScore'''. Any other combinations can lead to game freeze upon mission end.}}


<!----------------------------------------------------------->
{{Table Config Item}}
==== showWatch ====
|[[Number]]
|Defines if the watch is visible.
showWatch = 0;
|[[showWatch]], [[shownWatch]], [[visibleWatch]]


<!----------------------------------------------------------->
{{ArgTitle|4|missionGroup|{{GVI|arma3|2.10}}}}
{{Table Config Item|arma3|1.16}}
Shared mission group name to override default [[missionName]] used with [[missionProfileNamespace]], [[saveMissionProfileNamespace]]
==== showUAVFeed ====
<syntaxhighlight lang="cpp">missionGroup = "SomeNameDescribingCommonMissions";</syntaxhighlight>
|[[Number]]
|Enables/Disables the UAV Feed
showUAVFeed = 0;
|[[showUAVFeed]], [[shownUAVFeed]]


<!----------------------------------------------------------->
{{Table Config Item|arma3|1.60}}
==== showSquadRadar ====
|[[Number]]
|Defines if the Squad Radar is visible.
showSquadRadar = 0;


<!----------------------------------------------------------->
{{ArgTitle|4|onCheat|{{GVI|arma3|1.00}}}}
{{Table Config Item|TKOH}}
Executes custom statement when player enters the GETALLGEAR cheat (see: [[Arma 3: Cheats#GETALLGEAR|GETALLGEAR]]).
==== scriptedPlayer ====
<syntaxhighlight lang="cpp">onCheat = "hint str _this";</syntaxhighlight>
|[[Number]]
|When scripted player is enabled, game no longer shows "No player select" error message upon mission start when no player unit is present.
scriptedPlayer = 1;


<!----------------------------------------------------------->
{{Table Config Item}}
==== rscTitles ====
|Class
|Defines custom UI [[Dialog Control|displays]].


To show such displays, use [[cutRsc]] or [[titleRsc]].
{{ArgTitle|4|onPauseScript|{{GVI|arma2oa|1.62}}}}
Executes a custom SQF script or function in [[Scheduler#Scheduled Environment|scheduled environment]] ([[execVM]]) when player brings up Game Pause screen (presses 'Esc' button).
[[Display]] parameter of the resulting [[dialog]] is available ''via'' <sqf inline>_this select 0</sqf> inside the script.
<syntaxhighlight lang="cpp">
onPauseScript = "myOnPauseScript.sqf"; // file path
onPauseScript[] = { "myOnPauseFunction1", "myOnPauseFunction2" }; // function name - since Arma 3
</syntaxhighlight>


<!----------------------------------------------------------->
{{Feature|important|The script or function executes '''in its own [[Namespace|namespace]]'''. In order to get/set external global variable you need to explicitly use mission namespace:
{{Table Config Item}}
; Set:
==== weapons ====
<sqf>
|Class
// myVar2 = "345"; // will set the variable only in onPauseScript namespace
|Set weapons available to players during the briefing.
missionNamespace setVariable ["myVar2", "345"]; // will be available as a global variable
class Weapons
</sqf>
{
class AK74 {count = 8;};
class RPG7V {count = 2;};
class Binocular {count = 2;};
};
|[[#magazines|magazines]], [[#backpacks|backpacks]]


<!----------------------------------------------------------->
; Get:
{{Table Config Item}}
<sqf>
==== magazines ====
// hint str myVar; // will raise an undefined variable myVar error
|Class
hint str (missionNamespace getVariable "myVar"); // will access the global variable properly
|Set magazines available to players during the briefing.
</sqf>
class Magazines
}}
{
class 30Rnd_545x39_AK {count = 32;};
class PG7V {count = 6;};
class HandGrenade {count = 16;};
};
|[[#weapons|weapons]], [[#backpacks|backpacks]]


<!----------------------------------------------------------->
{{Table Config Item|arma2oa|1.51}}
==== backpacks ====
|Class
|Set [[ArmA 2 OA: Backpacks|backpacks]] available to players during the briefing.
class Backpacks
{
  class US_Patrol_Pack_EP1 {count = 4;};
  class US_Assault_Pack_EP1 {count = 4;};
};
|[[#weapons|weapons]], [[#magazines|magazines]]


<!----------------------------------------------------------->
{{ArgTitle|4|saving|{{GVI|arma1|1.00}}}}
{{Table Config Item}}
Toggle saving possibility.
==== <span style="letter-spacing:-1px;">weaponPool</span> ====
<syntaxhighlight lang="cpp">saving = 0; // 0: disabled - 1: enabled. Default: 1</syntaxhighlight>
|[[Number]]
|Allows equipment transferred from one campaign mission to the next to be available during the briefing in the gear menu.
weaponPool = 1;
See also [[:Category:Command_Group:_Weapon_Pool|Command Group: Weapon Pool]].


<!----------------------------------------------------------->
{{Table Config Item|arma2oa|1.56}}
==== <span style="letter-spacing:-1px;">allowSubordinatesTakeWeapons</span> ====
|[[Number]]
|Allows subordinates (i.e., not leaders) to equip items defined in [[#weapons|weapons]], [[#magazines|magazines]] and [[#backpacks|backpacks]].
allowSubordinatesTakeWeapons= 1;


<!----------------------------------------------------------->
{{ArgTitle|4|scriptedPlayer|{{GVI|tkoh|1.00}}}}
{{Table Config Item}}
When scripted player is enabled, game no longer shows "No player select" error message upon mission start when no player unit is present.
==== titleParam% ====
<syntaxhighlight lang="cpp">scriptedPlayer = 1; // 0: disabled - 1: enabled. Default: 0</syntaxhighlight>
|[[String]]
|'''titleParam1''' and '''titleParam2''' (% in title is replaced either by 1 or 2) are multiplayer options. These options are seen in the lobby of a multiplayer game. These options can be useful for setting time limits and score limits in such games as Capture the Flag and Death Matches. Other popular uses include accelerate time, setting the mission difficulty or switching the intro on/off.


In the mission '''param1''' and '''param2''' have the values of the chosen options. Many people will assign a variable in the [[Init.sqs|init.sqs]] file to '''param1''' for simplicity, an example of this would be to assign variable ''timelimit''&nbsp;=&nbsp;'''param1'''.
titleParam1 = "Time limit:";
valuesParam1[] = {0, 300, 600, 900};
defValueParam1 = 900;
textsParam1[] = {"Unlimited", "5 min", "10 min", "15 min"};


titleParam2 = "Score to win:";
{{ArgTitle|4|skipLobby|{{GVI|arma3|1.60}}}}
valuesParam2[] = {10000, 5, 7, 10, 15, 20, 25, 30};
When enabled, joining player will join the mission bypassing role selection screen.
defValueParam2 = 5;
The {{Link|#joinUnassigned}} param will be set to 1 automatically, so that player receives first available role from mission template. When leaving such mission, player will go straight back to server browser.
textsParam2[] = {"Unlimited", 5, 7, 10, 15, 20, 25, 30};
<syntaxhighlight lang="cpp">skipLobby = 1; // 0: disabled - 1: enabled. Default: 0</syntaxhighlight>


<!----------------------------------------------------------->
{{Table Config Item}}
==== valuesParam% ====
|[[Array]]
|See [[#titleParam%|titleParam%]]
|[[#titleParam%|titleParam%]]


<!----------------------------------------------------------->
== Server Security ==
{{Table Config Item}}
==== defValueParam% ====
|[[Number]]
|See [[#titleParam%|titleParam%]]
|[[#titleParam%|titleParam%]]


<!----------------------------------------------------------->
This section underlines mission security settings for server. They can secure or break your mission, so be sure to use them wisely.
{{Table Config Item}}
==== textsParam% ====
|[[Array]]
|See [[#titleParam%|titleParam%]]
|[[#titleParam%|titleParam%]]


<!----------------------------------------------------------->
{{Table Config Item|arma2|1.03}}
==== params ====
|Class
|See [[Arma 3 Mission Parameters]]


<!----------------------------------------------------------->
{{ArgTitle|4|allowFunctionsLog|{{GVI|arma3|0.50}}}}
{{Table Config Item|arma}}
Allows functions to log to the RPT file.
==== header ====
<syntaxhighlight lang="cpp">allowFunctionsLog = 1; // 0: disabled - 1: enabled. Default: ?</syntaxhighlight>
|Class
|See [[Multiplayer Game Types]]


<!----------------------------------------------------------->
{{Table Config Item|arma2oa|1.62}}
==== disableChannels ====
|[[Array]]
|Disable global, side, command and system chat. MOTD and admin say have exception and will show in global. Introduced in BETA 1.60.93398.
disableChannels[] = {channelID<number>, channelID<number>...}; // old syntax
Example:  disableChannels[] = {0,1,2};
disableChannels[] = {{channelID<number>, disableChat<bool>, disableVoice<bool>},{channelID<number>, disableChat<bool>, disableVoice<bool>},...}; // new syntax
Example:  disableChannels[]={{0,true,true},{1,true,false}...};


Channel number correspondence:<br>
{{ArgTitle|4|allowFunctionsRecompile|{{GVI|arma3|1.00}}}}
0 = Global<br>
As a security measure, functions are by default protected against rewriting during mission.
1 = Side<br>
This restriction does not apply in missions previewed from the editor.
2 = Command<br>
<syntaxhighlight lang="cpp">allowFunctionsRecompile = 1; // 0: disabled - 1: enabled. Default: 0</syntaxhighlight>
3 = Group<br>
4 = Vehicle<br>
5 = Direct<br>
6 = System<br>


<!----------------------------------------------------------->
{{Table Config Item|arma2oa|1.62}}


==== enableItemsDropping ====
{{ArgTitle|4|zeusCompositionScriptLevel|{{GVI|arma3|2.06}}}}
|[[Number]]
<syntaxhighlight lang="cpp">
|Disable dropping items while swimming. Introduced in BETA 1.60.93965.
zeusCompositionScriptLevel = 0; // 0: all scripts are forbidden
enableItemsDropping = 0;
// 1: only attributes are allowed (including custom attributes added by mods)
0 = Disable<br>
// 2: all scripts are allowed including init scripts
1 = Enable<br>
// Default: 1
<!----------------------------------------------------------->
</syntaxhighlight>
{{Table Config Item|arma2oa|1.62}}
==== onPauseScript ====
|[[String]]<br>or<br>[[Array]]
|Executes a custom .sqf script or function in scheduled environment ([[execVM]]) when player brings up Game Pause screen (presses 'Esc' button). [[Display]] parameter of the resulting [[dialog]] is available via (''_this'' [[select]] 0) inside the script.
onPauseScript = "myOnPauseScript.sqf";
onPauseScript[] = {myOnPauseFunction1,myOnPauseFunction2};//(Arma 3)
'''NOTE:''' The script or function executes in its own namespace, so in order to pass external global variable to the script you need to explicitly indicate namespace passed variable defined in. For example, while expression like myVar = "123"; defined elsewhere usually is treated as if myVar belongs to [[missionNamespace]], inside onPauseScript you have to be explicit about it:
[[hint]] [[str]] myVar; //Undefined variable myVar error!
[[hint]] [[str]] ([[missionNamespace]] [[getVariable]] "myVar"); //123
The above is also true if defining global variable inside onPauseScript for use elsewhere:
myVar2 = "345"; //incorrect!
[[missionNamespace]] [[setVariable]] ["myVar2", "345"]; //correct!
<!----------------------------------------------------------->
{{Table Config Item|arma|1.00}}
==== onCheat ====
|[[String]]
|Executes custom statement when player enters GETALLGEAR cheat (see: [[ArmA:_Cheats#GETALLGEAR|GETALLGEAR]]).
onCheat = "[[hint]] [[str]] [[_this]]";
<!----------------------------------------------------------->
{{Table Config Item|arma3|0.50}}
==== onLoadName ====
|[[String]]
|String (usually mission name) shown during [[Loading Screens|mission loading]]. The string is shown in a slightly larger font above the loadScreen. For example:
author="Varanon";
OnLoadName = "Point Insertion";
OnLoadMission = "A group of NATO soldiers is tasked with sabotaging a coastal defense.";
loadScreen = "images\loadScreen.paa";
This produces the pictured result. The [[#onLoadMission|onLoadMission]] text is placed below the load screen and the [[#header|header gameType]] determines the game time on top of the box.
|[[Loading Screens]]


<!----------------------------------------------------------->
{{Table Config Item|arma3|0.50}}
==== author ====
|[[String]]
|Author of the mission. The default loading screen shows this string below the [[#onLoadName|onLoadName]] in a smaller font prefixed by "by ".
|[[Loading Screens]]


<!----------------------------------------------------------->
{{ArgTitle|4|CfgDisabledCommands|{{GVI|arma3|1.66}}}}
{{Table Config Item|arma3|0.50}}
Define disabled script commands. See [[CfgDisabledCommands]] for more detailed explanations.
==== overviewPicture ====
|[[String]]
|Path to image which will be displayed when the mission is highlighted on the mission selection screen. Image should be .paa format and in 2:1 aspect ratio.
|[[Mission Overview]]
<!----------------------------------------------------------->
{{Table Config Item|arma3|0.50}}
==== overviewText ====
|[[String]]
|Text to be displayed below the [[#overviewPicture|overviewPicture]] on the mission selection screen when the mission is available to play.
|[[Mission Overview]]


<!----------------------------------------------------------->
{{Table Config Item|arma3|0.50}}
==== overviewTextLocked ====
|[[String]]
|Text to be displayed below the [[#overviewPicture|overviewPicture]] on the mission selection screen when the mission is locked from play.
|[[Mission Overview]]
<!----------------------------------------------------------->
{{Table Config Item|arma3|0.50}}
==== joinUnassigned ====
|[[Number]]
|By default a new player is not auto assigned a free playable slot in the mission lobby in Multiplayer. Set it to 0/false to make him auto assigned to the side with least players.
joinUnassigned = 0;//false;
0 = Disable<br>
1 = Enable<br>
Default value: 1


<!----------------------------------------------------------->
{{ArgTitle|4|CfgRemoteExec|{{GVI|arma3|1.50}}}}
{{Table Config Item|arma3|1.60}}
Define [[remoteExec]] and [[remoteExecCall]] restrictions. See [[CfgRemoteExec]] for more detailed explanations and examples.


==== skipLobby ====
|[[Number]]
|When enabled, joining player will join the mission bypassing role selection screen. The joinUnassigned param will be set to 1 automatically, so that player receives 1st available role from mission template. When leaving such mission, player will go straight back to server browser.
skipLobby = 1; //enabled
Default value: 0


<!----------------------------------------------------------->
== Tasks ==
{{Table Config Item|arma3|0.50}}


==== allowFunctionsLog ====
Tasks are part of the mission. This section deals with the settings for them.<br>
|[[Number]]
See also {{Link|Arma 3: Task Framework#Task Overhaul}}
|Allows functions to log to the RPT file. Set it to 1/true to allow RPT logging.
allowFunctionsLog = 1;//true
0 = Disable<br>
1 = Enable<br>
|[[BIS_fnc_error]]


<!----------------------------------------------------------->
{{Table Config Item|arma3|0.50}}


==== enableDebugConsole ====
{{ArgTitle|4|taskManagement_markers2D|{{GVI|arma3|1.42}}}}
|[[Number]]
Use new 2D markers.
|Allows access to the Debug Console outside of the editor during normal gameplay.
<syntaxhighlight lang="cpp">taskManagement_markers2D = 1; // 0: disabled - 1: enabled. Default: 0</syntaxhighlight>
enableDebugConsole = 2;//dangerous in MP
0 = Default behavior, available only in editor<br>
1 = Available in SP and for hosts / logged in admins<br>
2 = Available for everyone<br>
|[[Mission_Editor:_Debug_Console]]
<!----------------------------------------------------------->




<!----------------------------------------------------------->
{{ArgTitle|4|taskManagement_markers3D|{{GVI|arma3|1.42}}}}
{{Table Config Item|arma3|1.32}}
Use new 3D markers.
==== corpseManagerMode ====
<syntaxhighlight lang="cpp">taskManagement_markers3D = 1; // 0: disabled - 1: enabled. Default: 0</syntaxhighlight>
|[[Number]]
| Sets the mode for corpse removal manager.
corpseManagerMode = 0;
0 = None - None of the units are managed by the manager<br>
1 = All - All units are managed by the manager<br>
2 = None_But_Respawned - Only units that can respawn are managed by the manager<br>
3 = All_But_Respawned - All units are managed by the manager with exception of respawned (opposite to mode 2)<br>
Default value: 0 for SP, 2 for MP<br>
|[[#wreckManagerMode|wreckManagerMode]], [[addToRemainsCollector]], [[isInRemainsCollector]], [[removeFromRemainsCollector]]
<!----------------------------------------------------------->


<!----------------------------------------------------------->
{{Table Config Item|arma3|0.50}}


==== corpseLimit ====
{{ArgTitle|4|taskManagement_propagate|{{GVI|arma3|1.42}}}}
|[[Number]]
Propagate shared tasks to subordinates.
| Corpse limit before which ( <= ) [[#corpseRemovalMaxTime|corpseRemovalMaxTime]] applies and after which ( > ) [[#corpseRemovalMinTime|corpseRemovalMinTime]] applies (see below).
<syntaxhighlight lang="cpp">taskManagement_propagate = 1; // 0: disabled - 1: enabled. Default: 0</syntaxhighlight>
corpseLimit = 1;
Default value: 15<br>
|[[#wreckeLimit|wreckLimit]]
<!----------------------------------------------------------->


<!----------------------------------------------------------->
{{Table Config Item|arma3|0.50}}


==== corpseRemovalMinTime ====
{{ArgTitle|4|taskManagement_drawDist|{{GVI|arma3|1.42}}}}
|[[Number]]
3D marker maximum draw distance in meters. within this range, unassigned tasks are drawn on screen.
| Remove all bodies that have been dead longer than '''corpseRemovalMinTime''' when [[#corpseLimit|corpseLimit]] is breached.
<syntaxhighlight lang="cpp">taskManagement_drawDist = 2500; // in meters. Default: 2000</syntaxhighlight>
corpseRemovalMinTime = 60; //seconds
Default value: 10<br>
|[[#wreckeRemovalMinTime|wreckRemovalMinTime]]
<!----------------------------------------------------------->


<!----------------------------------------------------------->
{{Table Config Item|arma3|0.50}}


==== corpseRemovalMaxTime ====
{{ArgTitle|4|CfgTasks|{{GVI|arma1|1.00}}}}
|[[Number]]
Agents task config
| Maximum time a corpse can remain on the ground if total number of corpses is equal or under [[#corpseLimit|corpseLimit]].
<syntaxhighlight lang="cpp">
corpseRemovalMaxTime = 1200; //seconds
class CfgTasks
Default value: 3600<br>
{
|[[#wreckeRemovalMaxTime|wreckRemovalMaxTime]]
class Default
<!----------------------------------------------------------->
{
name = "";
fsm = ""; // relative path to fsm file
condition = ""; // relative path to sqf file (compiled and stored for the duration of run time, executed frequently)
description = "";
destination = "";
resources[] = {};
};
};
</syntaxhighlight>




<!----------------------------------------------------------->
{{ArgTitle|4|CfgTaskTypes|{{GVI|arma3|1.54}}}}
{{Table Config Item|arma3|1.32}}
Define Task types and their icons.
==== wreckManagerMode ====
<syntaxhighlight lang="cpp">
|[[Number]]
class CfgTaskTypes
| Sets the mode for wreck removal manager.
{
wreckManagerMode = 0;
class Attack
0 = None - None of the vehicles are managed by the manager<br>
{
1 = All - All vehicles are managed by the manager<br>
icon = "\A3\UI_F_MP_Mark\Data\Tasks\Types\Attack_ca.paa";
2 = None_But_Respawned - Only vehicles that can respawn are managed by the manager<br>
icon3D = "\A3\UI_F_MP_Mark\Data\Tasks\Types3D\Attack_ca.paa";
3 = All_But_Respawned - All vehicles are managed by the manager with exception of respawned (opposite to mode 2)<br>
};
Default value: 0 for SP, 2 for MP<br>
|[[#corpseManagerMode|corpseManagerMode]], [[addToRemainsCollector]], [[isInRemainsCollector]], [[removeFromRemainsCollector]]
<!----------------------------------------------------------->


class Defend
{
icon = "\A3\UI_F_MP_Mark\Data\Tasks\Types\Defend_ca.paa";
icon3D = "\A3\UI_F_MP_Mark\Data\Tasks\Types3D\Defend_ca.paa";
};
};
</syntaxhighlight>


<!----------------------------------------------------------->
{{Table Config Item|arma3|0.50}}


==== wreckLimit ====
{{ArgTitle|4|CfgTaskDescriptions|{{GVI|arma3|1.12}}}}
|[[Number]]
Define Task titles and descriptions.
| Vehicle wreck limit before which ( <= ) [[#wreckRemovalMaxTime|wreckRemovalMaxTime]] applies and after which ( > ) [[#wreckRemovalMinTime|wreckRemovalMinTime]] applies (see below).
<syntaxhighlight lang="cpp">
wreckLimit = 1;
class CfgTaskDescriptions
Default value: 15<br>
{
|[[#corpseLimit|corpseLimit]]
class myTask1
<!----------------------------------------------------------->
{
title = "my task title";
description = "my task description";
marker = "my task destination marker";
};


<!----------------------------------------------------------->
class myTask2
{{Table Config Item|arma3|0.50}}
{
title = "STR_myTask2Title"; // note the lack of $ sign here!
description = "STR_myTask2Description"; // without $, it translates for each client
marker = "STR_myTask2Marker"; // with $ everyone sees the server's language
};
};
</syntaxhighlight>


==== wreckRemovalMinTime ====
|[[Number]]
| Remove all wrecks that have existed longer than '''wreckRemovalMinTime''' when [[#wreckLimit|wreckLimit]] is breached.
wreckRemovalMinTime = 60; //seconds
Default value: 10<br>
|[[#corpseRemovalMinTime|corpseRemovalMinTime]]
<!----------------------------------------------------------->


<!----------------------------------------------------------->
{{ArgTitle|4|CfgTaskEnhancements|{{GVI|arma3|1.42}}}}
{{Table Config Item|arma3|0.50}}
Defines tasks enhancements directly in a class.
<syntaxhighlight lang="cpp">
class CfgTaskEnhancements
{
enable = 1; // 0: disable new task features (default), 1: enable new task features and add new task markers and task widgets into the map
3d = 1; // 0: do not use new 3D markers (default), 1: replace task waypoints with new 3D markers
3dDrawDist = 0; // 3d marker draw distance (default: 2000)
share = 1; // 0: do not count assigned players (default), 1: count how many players have the task assigned
propagate = 1; // 0: do not propagate (default), 1: propagate shared tasks to subordinates
};
</syntaxhighlight>


==== wreckRemovalMaxTime ====
|[[Number]]
| Maximum time a wreck can remain on the ground if total number of wrecks is equal or under [[#wreckLimit|wreckLimit]].
wreckRemovalMaxTime = 1200; //seconds
Default value: 36000 (10 hrs)<br>
|[[#corpseRemovalMaxTime|corpseRemovalMaxTime]]
<!----------------------------------------------------------->


{{Table Config Item|arma3|1.34}}
== Custom Content Definition ==


==== minPlayerDistance ====
The following class definitions allow for mission-defined content like sounds, music, or more advanced content like functions
|[[Number]]
| The minimum distance between corpse or wreck and nearest player before the corpse or wreck is allowed to be removed by the garbage collector.
minPlayerDistance = 50; //meters
Default value: 0<br>
|[[#corpseRemovalMaxTime|corpseRemovalMaxTime]]
<!----------------------------------------------------------->


{{Table Config Item|arma3|1.34}}


==== forceRotorLibSimulation ====
==== CfgCameraEffects ====
|[[Number]]
Configure custom [[cameraEffect]].
| Force enable or disable RotorLib.
<syntaxhighlight lang="cpp">
forceRotorLibSimulation = 1; //force enable
class CfgCameraEffects
Default value: 0 - options based; 1 - force enable; 2 - force disable<br>
{
class Array
{
class External
{
type = 0;
duration = 6; // 3 seconds for some reason
file = ""; // some kind of custom .p3d file for camera
};
 
class AutoTerminate : External
{
type = 3; // CamChained
chain[] = { "External", "Terminate" }; // Terminate will trigger after 3 seconds
};
};
};
</syntaxhighlight>
 
Example:
<sqf>
showCinemaBorder false;
private _dur = getNumber (missionConfigFile >> "CfgCameraEffects" >> "Array" >> _this >> "duration");
private _cam = "camera" camCreate (player modelToWorld [0, -100, 50]);
_cam camSetTarget player;
_cam camSetRelPos [0, -0.1, 1.8];
_cam camCommit (_dur / 2);
_cam cameraEffect ["AutoTerminate", "Back"];
waitUntil { camCommitted _cam };
camDestroy _cam;
</sqf>
 
 
{{ArgTitle|4|CfgCommunicationMenu|{{GVI|arma3|1.00}}}}
This entry allows to add commanding menu option in the communication menu. See [[Arma 3: Communication Menu]] for more information.
 
 
{{ArgTitle|4|CfgCommands|{{GVI|arma3|1.50}}}}
This entry contains a list of configurations for certain scripting commands (currently only {{hl|allowedHTMLLoadURIs}} for [[htmlLoad]], [[ctrlSetURL]] and [[menuSetURL]]).
Can be defined in [[Config.cpp]] or in campaign's or mission's [[Description.ext]]; the most local variant is used.
<syntaxhighlight lang="cpp">
class CfgCommands
{
// a list of URIs supported by HTMLLoad
// note that in case of clients connected to dedicated server, restrictions defined in its config have priority.
allowedHTMLLoadURIs[] =
{
"*.mywebsite.com", // strings support wildcards '*' and '?'
"*.mywebsite2.com/something/*",
// ...
"*.mywebsiteN.com",
};
};
</syntaxhighlight>
{{Feature|informative|Some domains are automatically whitelisted, such as "arma3.com" or "bistudio.com".}}
 
 
{{ArgTitle|4|CfgFunctions|{{GVI|arma2|1.00}}}}
Define functions for your mission. For a detailed explanation, see:
{|
|
* {{GVI|arma3|1.00}}
| [[Arma 3: Functions Library]]
|-
|
* {{GVI|arma2|1.00}} {{GVI|arma2oa|1.00}}
| [[Arma 2: Functions Library]]
|-
|
|
<!----------------------------------------------------------->
* {{GVI|tkoh|1.00}}
| [[Take On Helicopters: Functions Library]]
|}


{{Table Config Item|arma1|1.00}}


==== saving ====
{{ArgTitle|4|CfgHints|{{GVI|arma3|1.00}}}}
|[[Number]]
Define [[Arma 3: Advanced Hints (Field Manual)|Advanced Hints]] (similar to the Field Manual ones). See [[Arma 3: Advanced Hints (Field Manual)#Config|Advanced Hints]] for more information.
| Toggle saving.
saving = 0; // disable saving
Default value: 1
|
<!----------------------------------------------------------->


{{Table Config Item|arma1|1.00}}


==== respawnWeaponsWest ====
==== CfgIdentities ====
|[[Array]] of [[String]]s
Define the identities of individual units, you can specify the face, type of glasses worn, voice, tone of voice and name of an identity.
| Set weapons which BLUFOR players will receive upon respawn. ''respawnMagazinesWest'' has to be defined as well.
You then give a specific unit this identity by using the command [[setIdentity]] in the mission.
respawnWeaponsWest[] = {"arifle_Katiba_GL_F"};
{{Feature|informative|the {{hl|nameSound}} entry is only valid since {{arma3}}. See [[setNameSound]] for possible values.}}
Default value: ''Nothing''
<syntaxhighlight lang="cpp">
|
class CfgIdentities
<!----------------------------------------------------------->
{
class MyLittleSoldier
{
name = "Givens";
nameSound = "Givens"; // Arma 3 only!
face = "whiteHead_06";
glasses = "None";
speaker = "Male05ENG";
pitch = 1.1;
};
};
</syntaxhighlight>
 
Example:
<sqf>player setIdentity "MyLittleSoldier";</sqf>
See [[:Category:CfgIdentities|CfgIdentities]] for more detailed information and valid options for face, glasses, speaker etc.


{{Table Config Item|arma1|1.00}}


==== respawnMagazinesWest ====
{{ArgTitle|4|CfgLeaflets|{{GVI|arma3|1.76}}}}
|[[Array]] of [[String]]s
Define leaflets for your missions. See [[Arma 3: Leaflets]] for more information.
| Set magazineswhich BLUFOR players will receive upon respawn. ''respawnWeaponsWest'' has to be defined as well.
respawnMagazinesWest[] = {"30Rnd_65x39_caseless_green","30Rnd_65x39_caseless_green"};
Default value: ''Nothing''
|
<!----------------------------------------------------------->


{{Table Config Item|arma1|1.00}}


==== respawnWeaponsEast ====
==== CfgMusic ====
|[[Array]] of [[String]]s
Defines music you can play with [[playMusic]].
| Set weapons which OPFOR players will receive upon respawn. ''respawnMagazinesEast'' has to be defined as well.
<syntaxhighlight lang="cpp">
respawnWeaponsEast[] = {"arifle_Katiba_GL_F"};
class CfgMusic
Default value: ''Nothing''
{
|
tracks[] = {};
<!----------------------------------------------------------->
class MyIntro
{
// display name
name = "My intro music";


{{Table Config Item|arma1|1.00}}
// filename, volume, pitch
sound[] = { "\music\filename.ogg", db + 0, 1.0 };
};
class Ludwig9
{
name = "Ludwig Van Beethoven's Ninth Symphony";
sound[] = { "\music\ludwig9.ogg", db + 10, 1.0 };
};
};
</syntaxhighlight>


==== respawnMagazinesEast ====
Example:
|[[Array]] of [[String]]s
<sqf>playMusic "MyIntro";</sqf>
| Set magazineswhich OPFOR players will receive upon respawn. ''respawnWeaponsEast'' has to be defined as well.
{{Feature|important|Setting volume (db) of music far from zero will disable [[fadeMusic]] command. Optimal values are from -10 to 10.}}
respawnMagazinesEast[] = {"30Rnd_65x39_caseless_green","30Rnd_65x39_caseless_green"};
Default value: ''Nothing''
|
<!----------------------------------------------------------->


{{Table Config Item|arma1|1.00}}


==== respawnWeaponsGuer ====
{{ArgTitle|4|CfgNotifications|{{GVI|arma3|1.12}}}}
|[[Array]] of [[String]]s
Define custom notifications to be shown with [[BIS_fnc_showNotification]]. See [[Notification]] for more detailed information and examples.
| Set weapons which Independent players will receive upon respawn. ''respawnMagazinesGuer'' has to be defined as well.
respawnWeaponsGuer[] = {"arifle_Katiba_GL_F"};
Default value: ''Nothing''
|
<!----------------------------------------------------------->


{{Table Config Item|arma1|1.00}}


==== respawnMagazinesGuer ====
{{ArgTitle|4|CfgPostprocessTemplates|{{GVI|arma3|1.00}}}}
|[[Array]] of [[String]]s
Define custom post-process effects, to [[Post Process Effects]] format (only "colorCorrection" and "filmGrain" are supported for now).<br>
| Set magazineswhich Independent players will receive upon respawn. ''respawnWeaponsGuer'' has to be defined as well.
To be used with [[BIS_fnc_setPPeffectTemplate]].
respawnMagazinesGuer[] = {"30Rnd_65x39_caseless_green","30Rnd_65x39_caseless_green"};
<syntaxhighlight lang="cpp">
Default value: ''Nothing''
class CfgPostprocessTemplates
|
{
<!----------------------------------------------------------->
class MyPurplePP
{
colorCorrections[] = { 1, 1, 0, { 1, 1, 1, 0 }, { 1, 0.5, 1, 0 }, { 0.75, 0.25, 0, 1 } };
displayName = "Purple-ish!";
filmGrain[] = { 0.04, 1, 1, 0, 1 };
};
};
</syntaxhighlight>


{{Table Config Item|arma1|1.00}}


==== respawnWeaponsCiv ====
==== CfgRadio ====
|[[Array]] of [[String]]s
Defines radio sentences you can play with these radio commands: [[customRadio]], [[vehicleRadio]], [[groupRadio]], [[sideRadio]], [[globalRadio]].
| Set weapons which Civilian players will receive upon respawn. ''respawnMagazinesCiv'' has to be defined as well.
<syntaxhighlight lang="cpp">
respawnWeaponsCiv[] = {"arifle_Katiba_GL_F"};
class CfgRadio
Default value: ''Nothing''
{
|
sounds[] = {};
<!----------------------------------------------------------->
class RadioMsg1
{
// display name
name = "";


{{Table Config Item|arma1|1.00}}
// filename, volume, pitch
sound[] = { "\sound\filename1.ogg", db - 100, 1.0 };


==== respawnMagazinesCiv ====
// radio caption
|[[Array]] of [[String]]s
title = "I am ready for your orders.";
| Set magazineswhich Civilian players will receive upon respawn. ''respawnWeaponsCiv'' has to be defined as well.
};
respawnMagazinesCiv[] = {"30Rnd_65x39_caseless_green","30Rnd_65x39_caseless_green"};
Default value: ''Nothing''
|
<!----------------------------------------------------------->


class RadioMsg2
{
name = "";
sound[] = { "\sound\filename2", db - 100, 1.0 }; // .wss implied
title = "$STR_RADIO_2";
};
};
</syntaxhighlight>


{{Table Config Item|arma3|1.42}}
Example:
<sqf>unit sideRadio "RadioMsg2";</sqf>


==== taskManagement_markers2D ====
|[[Number]]
| 0: do not use new 2D markers (default), 1: replace task markers with new 2D markers
taskManagement_markers2D = 1;
| [[Shared Objectives]]
<!----------------------------------------------------------->


{{Table Config Item|arma3|1.42}}
==== CfgSentences ====
See [[Conversations#.bikb BIS_fnc_kbTell Example|Conversations]] for more information.


==== taskManagement_markers3D ====
|[[Number]]
| 0: do not use new 3D markers (default), 1: replace task waypoints with new 3D markers
taskManagement_markers3D = 1;
| [[Shared Objectives]]
<!----------------------------------------------------------->


{{Table Config Item|arma3|1.42}}
==== CfgSFX ====
See [[CfgSFX]] for more information.


==== taskManagement_propagate ====
|[[Number]]
| 0: do not propagate (default), 1: propagate shared tasks to subordinates
taskManagement_propagate = 1;
| [[Shared Objectives]]
<!----------------------------------------------------------->


{{Table Config Item|arma3|1.42}}
==== CfgSounds ====
General sounds that can be used for dialog, voiceovers in the briefing etc.<br>
See also commands [[playSound]], [[say]], [[say2D]] and [[say3D]].
<syntaxhighlight lang="cpp">
class CfgSounds
{
sounds[] = {}; // OFP required it filled, now it can be empty or absent depending on the game's version


==== taskManagement_drawDist ====
class wolf1
|[[Number]]
{
| 3d marker draw distance in meters (default: 2000). within this range, unassigned tasks are drawn on screen.
name = "My wolf sound"; // display name
taskManagement_drawDist = 2500;
sound[] = { "fx\wolf1.ogg", 1, 1, 100 }; // file, volume, pitch, maxDistance
| [[Shared Objectives]]
titles[] = { 0, "*wolf growls*" }; // subtitles
<!----------------------------------------------------------->


{{Table Config Item|arma3|1.42}}
titlesFont = "LCD14"; // OFP:R - titles font family
titlesSize = 0.1; // OFP:R - titles font size


==== disableRandomization ====
forceTitles = 1; // Arma 3 - display titles even if global show titles option is off (1) or not (0)
|[[Array]]
titlesStructured = 1; // Arma 3 - treat titles as Structured Text (1) or not (0)
| Disables randomization on certain objects, object types or object kinds in the mission.
};
disableRandomization[] = {"All", "AllVehicles", "B_G_Offroad_01_F", "myCar", "MyUnitName", "B_Soldier_F"};
};
</syntaxhighlight>
{| class="wikitable align-left-col-1 align-center-row-1 valign-top"
! style="min-width: 15em" |<!-- line returns are to force a <p> in the cell -->
Property
!
Description
|-
!
sounds[]
|
|
<!----------------------------------------------------------->
''Was'' required in previous titles, and needed to be filled with {{hl|CfgSounds}} defined sounds at the beginning of {{ofp}}.<br>
At least in {{arma3}} the engine finds them without this value which can now be ignored entirely.
|-
!
name
|
(Optional) how the sound is referred to in the editor (e.g. name in trigger effects) this can be a translation (e.g <sqf inline>"$STR_My_Translation"</sqf>)
|-
!
sound[]
|
An array containing:
* file path: the relative path to the file<br><!--
-->Since {{GVI|arma3|1.50|size= 0.75}} the path can be prefixed with {{hl|@}} in order to look directly into addon files, e.g {{hl|"@a3\Ui_F_Curator\Data\Sound\CfgSound\visionMode"}}
* volume: between 0 and 5, 1 being normal volume<br>{{Feature|informative|Volume may at some point be found defined with '''db''' (e.g {{hl|db-40}}). The formula for db-based volume is: {{hl|10^(''number'' * (1/20))}}.}}
* pitch: 1 is normal pitch, 2 = chipmunk, 0.5 = Darth Vader, etc
* max distance: (Optional, default {{hl|''volume'' &times; 1000}}) maximum distance at which the sound is heard, in metres
|-
!
titles[]
|
An array format <syntaxhighlight lang="cpp" inline>{ time1, text1, time2, text2 }</syntaxhighlight> etc:
* time#: can be a number or an array:
** number: sound time at which the text is displayed (2 = 2s after sound start)
** array: format <syntaxhighlight lang="cpp" inline>{ displayTime, displayDurationFactor }</syntaxhighlight>:
*** displayTime: sound time at which the text is displayed (2 = 2s after sound start)
*** displayDurationFactor: default value is 1 (for 10s subtitle display), 0.5 means half the time (5s), 2 means twice the time (20s) etc
* text#: the text to be displayed
{{Feature|important|If a subtitle is timed for ''after'' the sound is done, the sound will repeat until the subtitle is played (then played until its end).}}
|-
!
{{GVI|ofpr|1.75|size= 0.75}} titlesFont
|
(Optional) titles font family
|-
!
{{GVI|ofpr|1.75|size= 0.75}} titlesSize
|
(Optional) titles font size
|-
!
{{GVI|arma3|0.50|size= 0.75}} forceTitles
|
(Optional) if set to 1, will display titles even if global show titles option is off
|-
!
{{GVI|arma3|0.50|size= 0.75}} titlesStructured
|
(Optional) if set to 1, treat titles as [[Structured Text]] (e.g <syntaxhighlight lang="html" inline>0, "<t color=""#ff0000"">Red text</t>"</syntaxhighlight>)
|}


Example:
<sqf>
playSound "wolf1"; // class name as string
player say ["wolf1", 100];
</sqf>


{{Table Config Item|arma3|1.42}}
{{Feature|informative|See {{Link|http://ofp.toadlife.net/downloads/tutorials/tutorial_sound/tutorial_sound.html|OFP ToadLife's tutorial}} for a sound advice.}}


==== CfgVehicleTemplates ====
|Class
| This class is used to create vehicle templates used by the Vehicle Customization system
class CfgVehicleTemplates
{
class BIS_Offroad_01_default
{
displayName = "Default";
author = "Bohemia Interactive";
textureList[] =
{
"guerilla_01", 1,
"guerilla_02", 1
};
animationList[] =
{
"HideBumper1", 1,
"HideBumper2", 1
};
};
};
|[[Vehicle_Customization (VhC)]]
<!----------------------------------------------------------->


{{Table Config Item|arma3|1.50}}
{{ArgTitle|4|CfgUnitInsignia|{{GVI|arma3|1.24}}}}
Define custom unit insignia (shoulder patches). See [[Arma 3: Unit Insignia]] for more detailed information.
<syntaxhighlight lang="cpp">
class CfgUnitInsignia
{
class 111thID
{
displayName = "111th Infantry Division"; // name displayed in Arsenal
author = "Bohemia Interactive"; // author displayed in Arsenal
texture = "\a3\UI_F_Bootcamp\Data\CfgUnitInsignia\B_111thID_texture_ca.paa"; // image path
textureVehicle = ""; // does nothing, was reserved for future use
};
};
</syntaxhighlight>
 
 
{{ArgTitle|4|CfgUnitTemplates|{{GVI|arma3|1.50}}}}
This class is used to create units templates. For now, this is only used with the function [[BIS_fnc_unitHeadgear]].
<syntaxhighlight lang="cpp">
class CfgUnitTemplates
{
// Classic selectRandom
class MyFirstTemplate : Default
{
headgearList[] =
{
"H_Cap_blk",
"H_Cap_grn",
"H_Cap_oli_hs"
};
 
facewearList[] =
{
"G_Bandanna_beast",
"G_Bandanna_blk",
"G_Bandanna_khk"
};
};
 
// the probabilities will be considered, weighted random
class MySecondTemplate : Default
{
headgearList[] =
{
"H_Cap_blk", 0.9,
"H_Cap_grn", 0.6,
"H_Cap_oli_hs", 0.55
};
 
facewearList[] =
{
"G_Bandanna_beast", 0.5,
"G_Bandanna_blk", 0.5,
"G_Bandanna_khk", 0.5
};
};
};
</syntaxhighlight>


==== CfgUnitTemplates ====
Example:
|Class
<sqf>
| This class is used to create units templates. For now, this is only used with the function [[BIS_fnc_unitHeadgear]]
[myUnit, "MyFirstTemplate"] call BIS_fnc_unitHeadgear;
class CfgUnitTemplates
[myUnit, "MySecondTemplate"] call BIS_fnc_unitHeadgear;
{
</sqf>
// Classic selectRandom
// [cursorTarget, "MyFirstTemplate"] call bis_fnc_unitHeadgear;
class MyFirstTemplate: Default
{
headgearList[] =
{
"H_Cap_blk","H_Cap_grn","H_Cap_oli","H_Cap_oli_hs","H_Cap_tan","H_Cap_blk_Raven"
};
facewearList[] =
{
"G_Bandanna_beast","G_Bandanna_blk","G_Bandanna_khk","G_Bandanna_oli","G_Bandanna_shades"
};
};
// the probabilities will be considered, weighted random
// [cursorTarget, "MySecondTemplate"] call bis_fnc_unitHeadgear;
class MySecondTemplate: Default
{
headgearList[] =
{
"H_Cap_blk",0.9,"H_Cap_grn",0.6,"H_Cap_oli",0.75,"H_Cap_oli_hs",0.55,"H_Cap_tan",0.9,"H_Cap_blk_Raven",0.75
};
facewearList[] =
{
"G_Bandanna_beast",0.5,"G_Bandanna_blk",0.5,"G_Bandanna_khk",0.5,"G_Bandanna_oli",0.5,"G_Bandanna_shades",0.5
};
};
};
|[[BIS_fnc_unitHeadgear]]
<!----------------------------------------------------------->


{{Table Config Item|arma3|1.00}}


==== showGroupIndicator ====
{{ArgTitle|4|CfgVehicles|{{GVI|arma3|1.70}}}}
|[[Number]]
This class can only be used to [[createSoundSource|create sound sources]].<br>
| When set to 1, changes default GPS mini map into a radar like display that indicates group members relative position to the player
See also {{Link|#CfgSFX}} for more detailed information.
showGroupIndicator = 1;
<syntaxhighlight lang="cpp">
|
class CfgVehicles
<!----------------------------------------------------------->
{
class MyOwlSound // class name to be used with createSoundSource
{
sound = "MyOwl"; // reference to CfgSFX class
};
};
</syntaxhighlight>


{{Table Config Item|arma3|1.50}}
==== CfgRemoteExec ====
|Class
|Define remoteExec restrictions.


class CfgRemoteExec
{{ArgTitle|4|CfgVehicleTemplates|{{GVI|arma3|1.42}}}}
{
This class is used to create vehicle templates used by the [[Arma 3: Vehicle Customisation|Vehicle Customization system]].
      // List of script functions allowed to be sent from client via remoteExec
<syntaxhighlight lang="cpp">
      class Functions
class CfgVehicleTemplates
      {
{
              // RemoteExec modes:
class BIS_Offroad_01_default
              // 0-turned off
{
              // 1-turned on, taking whitelist into account
displayName = "Default";
              // 2-turned on, ignoring whitelist (default, because of backward compatibility)
author = "Bohemia Interactive";
              mode = 2;
textureList[] =
              // Ability to send jip messages: 0-disabled, 1-enabled (default)
{
              jip = 1;
"guerilla_01", 0.5,
              // your functions here
"guerilla_02", 1
              class YourFunction1
};
              {
                      allowedTargets=0; // can target anyone (default)
                      jip = 0; // sending jip messages is disabled for this function (overrides settings in the Functions class)
              };
              class YourFunction2 { allowedTargets=1; }; // can target only clients
              class YourFunction3 { allowedTargets=2; }; // can target only the server
      };       
      // List of script commands allowed to be sent from client via remoteExec
      class Commands
      {
              // your commands here
              class YourCommand1
              {
                      allowedTargets=0; // can target anyone
                      jip=0; // sending jip is turned off (overrides settings in the Commands class)
              };
      };
};


|[[CfgRemoteExec]], [[remoteExec]], [[remoteExecCall]]
animationList[] =
<!----------------------------------------------------------->
{
"HideBumper1", 1,
"HideBumper2", 1
};
};
};
</syntaxhighlight>


{{Table Config Item|arma3|1.00}}


==== allowFunctionsRecompile ====
==== RscTitles ====
|[[Number]]
This class is used to define custom HUDs. See [[Arma: GUI Configuration]] for more information.
| As a security measure, functions are by default protected against rewriting during the mission. This restriction does not apply in missions previewed from the editor and in missions with the following attribute in Description.ext
allowFunctionsRecompile = 1;
|


<!----------------------------------------------------------->
{{ConfigPage|end}}


{{Table Config Item|arma3dev|1.53}}
</div><!-- scrolling div end -->


==== CfgTaskTypes ====
<div>
|Class
<div style="margin-left: 2em; position: sticky; top: 2em">
| Define Task types and their icons
{{TabView
class CfgTaskTypes
|title1= Full TOC
{
|title2= Mini TOC
    class Attack
|content1= <div style="overflow: auto; max-height: 80vh; min-width: 22em">{{TOC}}</div>
    {
|content2=
        icon    = \A3\UI_F_MP_Mark\Data\Tasks\Types\Attack_ca.paa;
<div style="min-width: 12em">
        icon3D  = \A3\UI_F_MP_Mark\Data\Tasks\Types3D\Attack_ca.paa;
{{TOC|subtoc|title= Main Categories|content=
    };
* 1. {{Link|#Mission Information}}
    class Defend
* 2. {{Link|#Respawn/Revive}}
    {
* 3. {{Link|#Mission Keys}}
        icon    = \A3\UI_F_MP_Mark\Data\Tasks\Types\Defend_ca.paa;
* 4. {{Link|#Player's UI}}
        icon3D  = \A3\UI_F_MP_Mark\Data\Tasks\Types3D\Defend_ca.paa;
* 5. {{Link|#Starting Gear}}
    };
* 6. {{Link|#Corpse and Wreck Management}}
    …
* 7. {{Link|#Mission Parameters}}
    …
* 8. {{Link|#Mission Settings}}
};
* 9. {{Link|#Server Security}}
|[[Arma_3_Task_Enhancements#How_are_the_task_types_defined.3F|Arma 3 Task Enhancements]]
* 10. {{Link|#Tasks}}
* 11. {{Link|#Custom Content Definition}}
}}
</div>
</div><!-- sticky end -->
}}<!-- TabView end -->
</div>
</div><!-- flex end -->


<!----------------------------------------------------------->


[[Category:ArmA: Mission Editing]]
[[Category:Mission Editing]]
[[Category:Mission Editor]]

Latest revision as of 14:51, 16 October 2024

The Description.ext is a missionConfigFile and is used to set the overall mission attributes or to define global properties that will be available for other scripts. It is placed in the mission root folder and uses the same syntax as the config.cpp file, but supports only a limited number of config classes.

Additionally, many attributes can also be set via the Eden Editor, where changes are automatically refreshed upon scenario preview. In the 2D Editor the mission has to be reloaded for changes to be applied.

Operation Flashpoint: Elite
This file is required in Operation Flashpoint: Elite for MP missions to work, otherwise a -1 error is shown.
This page is about the Mission Description.ext. For the campaign version, see Campaign Description.ext.
The keyword class for class definitions must be lowercase, otherwise a parsing error will occur.
Accidentally creating this file with a wrong file extension is a frequent cause of issues. If you are unfamiliar with script file creation, read Introduction to Arma Scripting - File Creation for a step-by-step tutorial.
Arma 3
Since Arma 3 v2.02, it is possible to import a class from main config and inherit from it in mission config:
import RscText;
class MyText : RscText
{
	// ...
};
For more information, see the import (Config) page.


Mission Information

This section helps you find out how to customise Mission overall external appearance, from Mission Overview to Loading Screens.


Loading screen parameters
Loading screen example
author			= "Varanon";
onLoadName		= "Point Insertion";
onLoadMission	= "A group of NATO soldiers is tasked with sabotaging a coastal defense.";
loadScreen		= "images\loadScreen.paa";

class Header
{
	gameType = "Coop";	// Game type
	minPlayers =  1;	// minimum number of players the mission supports
	maxPlayers = 10;	// maximum number of players the mission supports
};
The playerCountMultipleOf entry is available in earlier titles (Operation Flashpoint: Elite to Arma 3 1.30) to setup the auto-assign team balancing factor: 1 for Coop, 2 for Versus.


author

Mission author's name. The default loading screen shows this string below the onLoadName in a smaller font prefixed by "by ".


onLoadName

String (usually mission name) shown during mission loading. The string is shown in a slightly larger font above the loadScreen. The onLoadMission text is placed below the load screen and the header gameType determines the game type on top of the box.


onLoadMission

Displays a message while the mission is loading. Note that a mission that takes very little time to load will only display the message for a short time. In OFP this is the name you see when selecting a mission in MP and also the name that is presented to the Multiplayer browser.

onLoadMission = "YourMissionName";


loadScreen

The picture to be shown while the mission is loaded. The path is relative to the mission folder. Must be in PAA file format. 2:1 aspect ratio (different aspect are rendered correctly as well, but won't cover the whole area). Ideally 1024x512 pixels.

loadScreen = "pictures\intro.paa";


header

This class defines mission type and other settings displayed in the multiplayer browser.

class Header
{
	gameType = "CTF";	// Game type
	minPlayers =  1;	// minimum number of players the mission supports
	maxPlayers = 10;	// maximum number of players the mission supports
};

See Multiplayer Game Types for more detailed information.


onLoadIntro

Displays a message while the intro is loading.

onLoadIntro = "YourMessage";


onLoadMissionTime

Define whether you will see the time and date displayed while the mission loads. Effect unkown in Arma 3.

onLoadMissionTime = 1; // 0: disabled - 1: enabled. Default: 1


onLoadIntroTime

Define whether you will see the time and date displayed while the intro loads.

onLoadIntroTime = 1; // 0: disabled - 1: enabled. Default: 0


briefingName

Mission name displayed in the mission selection menu.

briefingName = "TAG 1-5 CO My super mission";
Please note that the same parameter can be defined in 3DEN in Attributes->General->Presentation->Title, but 'briefingName' from 'description.ext' has a priority. To use localized string either in 3DEN field or in 'description.ext', prefix stringtable ID with @.


CfgLoadingTexts

Define mission specific loading texts.


overviewPicture

Path to image which will be displayed when the mission is highlighted on the mission selection screen. Image should be .paa format and in 2:1 aspect ratio – ideally 1024×512 (Arma 3).


overviewText

Text to be displayed below the overviewPicture on the mission selection screen when the mission is available to play.

Please note that the same parameter can be defined in 3DEN in Attributes->General->Overview->Text, but 'overviewText' from 'description.ext' has a priority. To use localized string either in 3DEN field or in 'description.ext', prefix stringtable ID with @.
The text that appears at the top of an MP mission is defined in mod mission definition and not through Description.ext:
class Mission
{
	// ...
	class Intel
	{
		overviewText = "This text here";
		// ...
	};
// ...
};


overviewTextLocked

Text to be displayed below the overviewPicture on the mission selection screen when the mission is locked from play.

Please note that to use localized string prefix stringtable ID with @.


onBriefingGear

Defines a sound (defined in CfgSounds) that will play when accessing the gear part of the briefing. See Briefing.html.

onBriefingGear = "SoundName";
Arma 3
Has no effect in Arma 3.


onBriefingGroup

Defines a sound (defined in CfgSounds) that will play when accessing the group part of the briefing. See Briefing.html.

onBriefingGroup = "SoundName";
Arma 3
Has no effect in Arma 3.


onBriefingPlan

Defines a sound (defined in CfgSounds) that will play when accessing the plan part of the briefing. See Briefing.html.

onBriefingPlan = "SoundName";
Arma 3
Has no effect in Arma 3.


CfgWorlds

Could be used to override the following properties used on mission loading: author, description, pictureMap, pictureShot, loadingTexts[]. If a specific world name given as a subclass, override will happen only when this world is loading. If subclass with name Any is used, then aforementioned properties would be overridden for any world that is loading.

class CfgWorlds
{
	class Any // or specific world name
	{
		author = "author";
		description = "description";
		pictureMap = "picturepath";
		pictureShot = "picturepath";
		loadingTexts[] = { "text1", "text2", "text3" };
	};
};


Respawn/Revive

This section talks about respawn and revive actions.


Respawn types
ID Text version Description
0 "NONE" No respawn
1 "BIRD" Respawn as a seagull
2 "INSTANT" Respawn just where you died.
3 "BASE" Respawn in base.
A respawn marker is needed. If no marker is defined, respawn behaviour will be the same as "INSTANT".
Marker role names:
  • Unit respawn: respawn_SIDE
  • Vehicle respawn: respawn_vehicle_SIDE

Side can be one of west, east, guerrila (sic), civilian, e.g respawn_west.
Any suffix (eg: respawn_westABC, respawn_west_1, etc) will allow multiple random respawn points.

4 "GROUP" Respawn in your group. If there is no remaining AI, you will become a seagull.
5 "SIDE" Logo A1 black.png1.08 Respawn into an AI unit on your side (if there's no AI left, you'll become a seagull).
With this respawn type, team switch is also available to any AI controlled playable units.

respawn

Sets soldiers and vehicles respawn type.

respawn = 0;		// Default: 0 for SP, 1 for MP
respawn = "SIDE";	// text version works too

respawnVehicle

Sets vehicles only respawn type. Vehicles can only have 2 (or "INSTANT") and 3 (or "BASE") respawn mode. All other modes are equal to disabled respawn. If 'respawnVehicle' is not defined, the 'respawn' value is used.

respawnVehicle = 3;		    // number version
respawnVehicle = "BASE";	// text version works too

respawnButton

Enable or disable the respawn button in the menu for INSTANT and BASE respawn types.

respawnButton = 0; // 0: disabled - 1: enabled. Default: 1


respawnDelay

Set respawn delay in seconds.

respawnDelay = 42; // Default: ?


respawnVehicleDelay

Set vehicle respawn delay in seconds.

respawnVehicleDelay = 12; // Default: ?


respawnDialog

Show the scoreboard and respawn countdown timer for a player if he is killed with respawn type 3.

respawnDialog = 0; // 0: disabled - 1: enabled. Default: 1


respawnOnStart

Respawn player when he joins the game. Available only for INSTANT and BASE respawn types.

respawnOnStart = 1; // Default: 0
  • -1 - Dont respawn on start. Don't run respawn script on start.
  •  0 - Dont respawn on start. Run respawn script on start.
  •  1 - Respawn on start. Run respawn script on start.


respawnTemplates

Respawn templates from CfgRespawnTemplates. You can combine any number of them together.

respawnTemplates[] = { "Counter", "Wave" };
Side specific respawn templates can be specified with respawnTemplatesSIDE[] where SIDE can be any playable side (West, East, Guer, Civ).
When such is undefined, general respawnTemplates are used instead.


respawnWeapons

Set weapons players will receive upon respawn. respawnMagazines has to be defined as well.

respawnWeapons[] = { "arifle_Katiba_GL_F" };
Side specific respawn weapons can be specified with respawnWeaponsSIDE[] where SIDE can be any playable side (West, East, Guer, Civ).
Corresponding respawnMagazinesSIDE[] has to be defined as well.


respawnMagazines

Set magazines players will receive upon respawn. respawnWeapons has to be defined as well.

respawnMagazines[] = { "30Rnd_65x39_caseless_green", "30Rnd_65x39_caseless_green" };
Side specific respawn weapons can be specified with respawnMagazinesSIDE[] where SIDE can be any playable side (West, East, Guer, Civ).
Corresponding respawnWeaponsSIDE[] has to be defined as well.


reviveMode

Define if Revive mode is enabled.

reviveMode = 1; // Default: 0
  • 0 - disabled
  • 1 - enabled
  • 2 - controlled by player attributes


reviveUnconsciousStateMode

Define revive mode.

reviveUnconsciousStateMode = 0; // Default: 0
  • 0 - basic mode
  • 1 - advanced mode
  • 2 - realistic

See damage model for more detailed information.


reviveRequiredTrait

Define if only a medic (or unit with medic trait) can perform a revive.

reviveRequiredTrait = 0; // 0: disabled - 1: enabled. Default: 0


reviveRequiredItems

Define if a medical item (first aid kit or medkit) is required to begin a revive process.

reviveRequiredItems = 2; // Default: ?
  • 0 - none
  • 1 - medkit
  • 2 - medkit or first aid kit


reviveRequiredItemsFakConsumed

Define if a first aid kit is consumed on reviving a teammate

reviveRequiredItemsFakConsumed = 1; // 0: disabled - 1: enabled. Default: ?


reviveMedicSpeedMultiplier

Speed multiplier for revive performed by medic

reviveMedicSpeedMultiplier = 2; // medic revive will be two times faster compared to another soldier


reviveDelay

The time in seconds it takes to revive an incapacitated unit. Having a Medikit will halve this time.

reviveDelay = 10; // Default: 6


reviveForceRespawnDelay

The time in seconds it takes for an incapacitated unit to force their respawn.

reviveForceRespawnDelay = 5; // Default: 3


reviveBleedOutDelay

The time in seconds it takes for a unit to bleed out.

reviveBleedOutDelay = 300; // Default: 120


enablePlayerAddRespawn

Usage unsure, may be related to respawn template MenuPosition.

enablePlayerAddRespawn = 0; // Disable framework respawn


CfgRespawnInventory

This class defines a respawn inventory, used with MenuInventory respawn template. Loadouts with no assigned role are automatically assigned to the "Default" role.
See also BIS_fnc_addRespawnInventory, BIS_fnc_removeRespawnInventory

class CfgRespawnInventory
{
	class Blufor1
	{
		displayName = "Light";									// Name visible in the menu
		icon = "\A3\Ui_f\data\GUI\Cfg\Ranks\sergeant_gs.paa";	// Icon displayed next to the name
		role = "Assault";										// Optional, see CfgRoles

		// Loadout definition, uses same entries as CfgVehicles classes
		weapons[] =
		{
			"arifle_MXC_F",
			"Binocular"
		};

		magazines[] =
		{
			"30Rnd_65x39_caseless_mag",
			"30Rnd_65x39_caseless_mag",
			"SmokeShell"
		};

		items[] =
		{
			"FirstAidKit"
		};

		linkedItems[] =
		{
			"V_Chestrig_khk",
			"H_Watchcap_blk",
			"optic_Aco",
			"acc_flashlight",
			"ItemMap",
			"ItemCompass",
			"ItemWatch",
			"ItemRadio"
		};

		uniformClass = "U_B_CombatUniform_mcam_tshirt";
		backpack = "B_AssaultPack_mcamo";
	};

	class Blufor2
	{
		// Alternative configuration pointing to a CfgVehicles class. Loadout will be copied from it.
		vehicle = "B_soldier_AR_F"
	};
};


CfgRespawnTemplates

This class defines new respawn templates to be used with respawn templates.

class CfgRespawnTemplates
{
	// class used in respawnTemplates entry
	class myTag_beacon
	{
		// function or script executed upon death
		// parameters passed into it are the same as are passed into onPlayerKilled.sqf file
		onPlayerKilled = "\myAddon\scripts\respawnBeacon.sqf";

		// function or script executed upon respawn
		// parameters passed into it are the same as are passed into onPlayerRespawn.sqf file
		onPlayerRespawn = "\myAddon\scripts\respawnBeacon.sqf";

		// default respawn delay
		// can be overwitten by description.ext attribute of the same name
		respawnDelay = 20;

		// see respawnOnStart for description and limitations
		// can be overridden by description.ext attribute of the same name
		respawnOnStart = 1;
	};

	class Spectator
	{
		onPlayerRespawn = "BIS_fnc_respawnSpectator"; // a function can be used instead of a script
	};
};


CfgRoles

This class defines Respawn roles. The main purpose of Roles is to make things clearer and simpler for player when selecting a loadout. All the loadouts available in a mission are now divided into various roles. Mission designer can use roles already created in the game config, or custom roles can be defined in description.ext file. Loadouts with no role assigned are automatically assigned to the Default role.

// all default roles with icons
class CfgRoles
{
	class Assault
	{
		displayName = "$STR_A3_Role_Assault";
		icon = "a3\Ui_f\data\GUI\Cfg\RespawnRoles\assault_ca.paa";
	};

	class Support
	{
		displayName = "$STR_A3_Role_Support";
		icon = "a3\Ui_f\data\GUI\Cfg\RespawnRoles\support_ca.paa";
	};

	class Recon
	{
		displayName = "$STR_A3_Role_Recon";
		icon = "a3\Ui_f\data\GUI\Cfg\RespawnRoles\recon_ca.paa";
	};
};

Mission Keys

Mission keys are used to lock/unlock certain missions until you completed other ones. It can also be used in mission to know which missions you finished.
Activated keys can be found in user profile (e.g documents\username.Arma3profile) under activeKeys section.
See also commands activateKey, isKeyActive and deActivateKey for more detailed information.

Please note that unlike other text items, stringtable translations ($STR_*) cannot be used.


keys

List of keys from which keysLimit counts the done ones.

keys[] = { "key1", "key2", "key3" };


keysLimit

Number of keys from the keys list needed done to unlock (and be able to play) this mission.

keysLimit = 2;


doneKeys

Name of keys marked done on mission completion.

doneKeys[] = { "key4" };


Player's UI

This section explains HUD customisation possibilities.
See also commands:


overrideFeedback

Some of the feedback effects in Arma 3 are scripted and executed by functions_f\feedback\fn_feedbackMain.fsm. Those include being hit, pulsation, dirt from explosion, choking etc. Adding overrideFeedback with value > 0 will stop feedback FSM from executing, allowing mission/mod makers to script their own, custom effects. The param is first checked in the mission config and then mod config. If mission config has this param set to 0, it will force default feedback handling without possibility to override it by mods. Do not set this param unless you are planning to enforce feedback one way or another.

overrideFeedback = 1; // 0: force default handling, 1+: allow custom handling. Default: not set


showHUD

Enables/Disables the following IGUI elements:

  • Vehicle and unit info
  • Radar and tactical display
  • Vehicle compass
  • Tank direction indicator
  • Commanding menu
  • Group info bar
  • HUD weapon cursors
  • Vehicle display panels
  • Kill messages
  • 3D Icons visibility
showHUD = 0; // 0: disabled - 1: enabled. Default: 1

The effect of using the above showHUD param is different from the effects of showHUD scripting command, both methods are rather complementary to each other.
Since Arma 3 v1.50 showHUD param can be an array to allow control over separate HUD elements, for example:

showHUD[] =
{
	1,	// Scripted HUD (same as showHUD command)
	1,	// Vehicle and unit info
	0,	// Vehicle radar [HIDDEN]
	0,	// Vehicle compass [HIDDEN]
	1,	// Tank direction indicator
	1,	// Commanding menu
	1,	// Group info bar
	1,	// HUD weapon cursors
	1,	// Vehicle display panels
	1,	// "x killed by y" systemChat messages
	1	// force show drawIcon3D icons
};
Using the showHUD[] array parameter will disable the showHUD command entirely.


showCompass

Defines if the compass is visible.

showCompass = 0; // 0: disabled - 1: enabled. Default: 1


showGPS

Enables/Disables the GPS.

showGPS = 0; // 0: disabled - 1: enabled. Default: 1

In Armed Assault 1.04 toggle this option to disable the mini map attached to the GPS.


showGroupIndicator

Changes default GPS mini map into a radar like display that indicates group members relative position to the player.

showGroupIndicator = 1; // 0: disabled - 1: enabled. Default: 0
Has no effect since custom panels were introduced in Arma 3. See BIS_fnc_groupIndicator.


showMap

Defines if the map is shown after the mission starts.

showMap = 0; // 0: disabled - 1: enabled. Default: 1


showNotePad

In Armed Assault, defines if the NotePad is shown after the mission starts.

showNotePad = 0; // 0: disabled - 1: enabled. Default: 1


showPad

Defines if the NotePad is shown after the mission starts. Only in OFP:CWC.

showPad = 0; // 0: disabled - 1: enabled. Default: 1


showWatch

Defines if the watch is visible.

showWatch = 0; // 0: disabled - 1: enabled. Default: 1


showUAVFeed

Enables/Disables the UAV Feed.

showUAVFeed = 0; // 0: disabled - 1: enabled. Default: 1


showSquadRadar

Defines if the Squad Radar is visible.

showSquadRadar = 0; // 0: disabled - 1: enabled. Default: 0
Has no effect since custom panels were introduced in Arma 3.


overrideHazeQuality

0/1/2 - VeryLow/Low/Standard - Forces haze quality and in MP has priority over the server 'overrideHazeQuality' option. Standard(2) - mod config driven. Default(-1) - do not force.

overrideHazeQuality = 1; // Low


Starting Gear

Starting gear points to briefing-available equipment. For respawn equipment, see Respawn/Revive.
See also Weapon Pool Commands for more detailed information about weapon pool system.


weapons

Set weapons available to players during the briefing.

class Weapons
{
	class AK74		{ count = 8; };
	class RPG7V		{ count = 2; };
	class Binocular	{ count = 2; };
};


magazines

Set magazines available to players during the briefing.

class Magazines
{
	class 30Rnd_545x39_AK	{ count = 32; };
	class PG7V				{ count =  6; };
	class HandGrenade		{ count = 16; };
};


backpacks

Set backpacks available to players during the briefing.

class Backpacks
{
	class US_Patrol_Pack_EP1	{ count = 4; };
	class US_Assault_Pack_EP1	{ count = 4; };
};


allowSubordinatesTakeWeapons

Allows subordinates (i.e., not leaders) to equip items defined in weapons, magazines and backpacks.

allowSubordinatesTakeWeapons = 1; // 0: disabled - 1: enabled. Default: ?


arsenalRestrictedItems

Used to blacklist undesired Arsenal equipment, which prevents user saved loadout from being loaded if it contains restricted items.

arsenalRestrictedItems[] = { "U_B_Soldier_VR" };


allowProfileGlasses

When set to 0 will stop glasses set in player profile from being added to player's gear:

allowProfileGlasses = 0;


Corpse and Wreck Management

This section explains how to use game-included garbage collector (GC) for better performances.
See also addToRemainsCollector, isInRemainsCollector and removeFromRemainsCollector commands.

The Remains Collector, if enabled, runs at background on every client and clears mission of corpses and wrecks depending on set params and mode. Individual objects can be added or removed from collector monitoring. Items in remains collector are sorted depending on how valuable they are. The most valuable items are pushed to the end of remains array and will be deleted last if possible; for example, the flag carrier is never deleted while it has the flag.


corpseManagerMode

Sets the mode for automatic corpse removal.

corpseManagerMode = 0; // Default SP: 0; Default MP: 2
  • 0 (Default in SP) = None - None of the units are automatically managed by the manager
  • 1 = All - All units are automatically managed by the manager
  • 2 (Default in MP) = None_But_Respawned - Only units that can respawn are automatically managed by the manager
  • 3 = All_But_Respawned - All units are automatically managed by the manager with the exception of respawned ones (opposite to mode 2)


corpseLimit

If the total number of monitored corpses is higher than corpseLimit, the corpses that have been dead for longer than corpseRemovalMinTime will be considered for removal.

corpseLimit = 1; // Default: 15


corpseRemovalMinTime

See corpseLimit above.

corpseRemovalMinTime = 60; // seconds. Default: 10


corpseRemovalMaxTime

Monitored corpses that are dead for longer than corpseRemovalMaxTime will be considered for removal regardless of the corpseLimit.

corpseRemovalMaxTime = 1200; // seconds. Default: 3600


disposalCheckPeriod

How often the remains collector checks monitored remains for removal. The value can be between 1 and 60.

disposalCheckPeriod = 10; // seconds. Default: 5


minPlayerDistance

This value applies for monitored corpses, wrecks and weaponholders. The minimum distance between remains and the nearest player before the remains are allowed to be removed by the remains collector. The remains closer than minimum distance to nearest player will not be removed until distance increases. If 'minPlayerDistance' is set to 0, the distance check is not performed.

minPlayerDistance = 50; // meters. Default: 0


minPlayerDistance[]

Array variant of the above that allows setting individual minPlayerDistance for {corpses, wrecks, weaponholders}

minPlayerDistance[] = {50, 60, 70}; // meters. Default: {0, 0, 0}


weaponholderManagerMode

Sets the mode for automatic weapon holder removal.

weaponholderManagerMode = 0; // Default SP: 0; Default MP: 2
  • 0 (Default in SP) = None - None of the weapon holders are automatically managed by the manager
  • 1 = All - All weapon holders are automatically managed by the manager
  • 2 (Default in MP) = None_But_Respawned - Only weapon holders from units that can respawn are automatically managed by the manager
  • 3 = All_But_Respawned - All weapon holders are automatically managed by the manager with the exception of the ones from respawned units (opposite to mode 2)


weaponholderLimit

If the total number of monitored weapon holders is higher than weaponholderLimit, the weapon holders that exist for longer than weaponholderRemovalMinTime will be considered for removal.

weaponholderLimit = 1; // Default: 50


weaponholderRemovalMinTime

See weaponholderLimit above.

weaponholderRemovalMinTime = 60; // seconds. Default: 3600


weaponholderRemovalMaxTime

Monitored weapon holders that exist for longer than weaponholderRemovalMaxTime will be considered for removal regardless of the weaponholderLimit.

weaponholderRemovalMaxTime = 1200; // seconds. Default: 36000


wreckManagerMode

Sets the mode for automatic wreck removal.

wreckManagerMode = 0; // Default SP: 0; Default MP: 2
  • 0 (Default in SP) = None - None of the vehicles are automatically managed by the manager
  • 1 = All - All vehicles are automatically managed by the manager
  • 2 (Default in MP) = None_But_Respawned - Only vehicles that can respawn are automatically managed by the manager
  • 3 = All_But_Respawned - All vehicles are automatically managed by the manager with exception of respawned (opposite to mode 2)


wreckLimit

If the total number of monitored wrecks is higher than wreckLimit, the wrecks that existed for longer than wreckRemovalMinTime will be considered for removal.

wreckLimit = 1; // seconds. Default: 15


wreckRemovalMinTime

See wreckLimit above.

wreckRemovalMinTime = 60; // seconds. Default: 10


wreckRemovalMaxTime

Monitored wrecks that existed for longer than wreckRemovalMaxTime will be considered for removal regardless of the wreckLimit.

wreckRemovalMaxTime = 1800; // seconds. Default: 36000 (10 hours)

Mission Parameters

Mission parameters allow you to add settings to your creation. These settings are in-game accessible only in Multiplayer mode, but can also be accessed by commands for a scripted use in Singleplayer mode.
See Mission Parameters, along with BIS_fnc_getParamValue function (paramsArray usage is not recommended).


param1/param2

param1 and param2 are multiplayer options that can be seen in the multiplayer lobby. They can be useful for setting time limits and score limits in such games as Capture the Flag and Death Matches. Other popular uses include time acceleration, setting the mission difficulty or switching the intro on/off.

In the mission, variables param1 and param2 have the corresponding values of the chosen options.

  • While param1/param2 were introduced in OFP and can still be used in later titles, it is highly recommended to use config class Params, available since Arma 2 v1.03.
  • param1/param2 variables can be overridden during the mission as they are not read-only.
titleParam1 = "Time limit:";
valuesParam1[] = { 0, 300, 600, 900 };
defValueParam1 = 900;
textsParam1[] = { "Unlimited", "5 min", "10 min", "15 min" };

titleParam2 = "Score to win:";
valuesParam2[] = { 10000, 5, 7, 10, 15, 20, 25, 30 };
defValueParam2 = 5;
textsParam2[] = { "Unlimited", 5, 7, 10, 15, 20, 25, 30 };

Example:

hint format ["param1 = %1\nparam2 = %2", param1, param2];


Params

These are Multiplayer parameters, available in the lobby by the server administrator. They are intended as a replacement for param1/param2.

class Params
{
	class ViewDistance
	{
		// Visible name in lobby settings list
		title = "View distance";

		// must be integers - commas e.g 1.5 are not allowed
		values[] = { 500, 1000, 2000, 5000 };

		// Description of each selectable item - must have the same number of items as 'values'
		// If texts are missing, the values will be displayed instead
		texts[] = { "500m", "1000m", "2 km", "5 km" };

		// must be listed in 'values' array, otherwise 0 is used. If not integer, fallback value is 1
		default = 1000;

		// (optional) script file called when player joins, selected value is passed as an argument
		file = "setViewDistance.sqf";
	};
};

See Mission Parameters for more detailed information.


Mission Settings

These are non-editable, mission maker design settings. They can be used for a smoother experience, briefing/debriefing behaviour, saving options, etc.
See also Debriefing for more detailed information.


aiKills

Enables AI units score to appear in score table.

aiKills = 1; // 0: disabled - 1: enabled. Default: 0


briefing

Skip briefing screen for SP missions. If no briefing.html is present, it is skipped anyway.

briefing = 0; // 0: disabled - 1: enabled. Default: 1

Briefing will still be displayed until all clients are connected and done loading.


debriefing

Defines if the debriefing is shown or not at the end of the mission.

debriefing = 0; // 0: disabled - 1: enabled. Default: 1


CfgDebriefing

Define custom mission endings or override the default endings (found under CfgDebriefing in the game's config file).

class CfgDebriefing
{
	// Used when all players die in MP
	class endDeath
	{
		title = "Both teams have died.";
		description = "Everyone was killed by the bomb.";
		picture = "KIA";
	};
};

For a detailed description, see Arma 3: Debriefing.


CfgDebriefingSections

Define custom sections to be displayed on the debriefing screen. Useful for custom scoring systems or displaying player achievements.

class CfgDebriefingSections
{
	class bPoints
	{
		title = "Blufor Points";
		variable = "BLU_P";
	};

	class oPoints
	{
		title = "Opfor Points";
		variable = "OPF_P";
	};
};


DifficultyOverride

Allow to override a difficulty setting for the mission only.

At the moment, only tacticalPing is supported.

class DifficultyOverride
{
	tacticalPing = 0; // disables tactical ping in this mission, even if selected difficulty preset has it enabled
}


Channel ID number command correspondence
Global Side Command Group Vehicle Direct System
0 1 2 3 4 5 N/A
globalRadio sideRadio commandRadio groupRadio vehicleRadio directSay N/A
globalChat sideChat commandChat groupChat vehicleChat N/A systemChat

disableChannels

Disable global, side, command or system chat. MOTD and admin say have exception and will show in global.

  • This setting is not considered when hosting from Eden Editor.
  • A mission using disableChannels will override any disableChannels[] value in server config.

A2 OA Logo.png1.62 basic syntax:

disableChannels[] = { 0, 3 }; // simple channel ID list

Arma 3 logo black.png1.60 advanced syntax:

disableChannels[] =
{
	{
		0,		// channel ID
		false,	// text chat remains enabled
		true	// voice chat is disabled
	},
	{ 3, true, true }
};


disabledAI

Multiplayer setting that removes all playable units which do not have a human player.
When AI is disabled, a player logging out will not have AI take control of his character.

Disabling AI units will prevent JIP into playable units if respawn is disabled.
disabledAI = 1; // 0: AIs fill empty slots - 1: AIs are disabled, only players can spawn. Default: 0


disableRandomization

Disables randomization on certain objects, object types or object kinds in the mission. For more information visit: Arma 3: Vehicle Customisation

disableRandomization[] = { "All", "AllVehicles", "B_G_Offroad_01_F", "myCar", "MyUnitName", "B_Soldier_F" };

Note: This takes higher priority and will override the following:

_vehicle setVariable ["BIS_enableRandomization", true]; // cannot enable for all or specific vehicles once disabled in description.ext


enableDebugConsole

Allows access to the Debug Console in multiplayer scenarios outside of the editor. This has no effect for singleplayer scenarios.

Since Arma 3 logo black.png2.18 also makes the console available in singleplayer scenarios.

enableDebugConsole = 2; // dangerous in MP
  • 0 - Default behavior, available only in editor
  • 1 - Available in SP and for hosts / logged in admins
  • 2 - Available for everyone

Alternative since Arma 3 logo black.png1.72

enableDebugConsole[] = { "76561198XXXXXXXXX", "76561198YYYYYYYYY", }; // admins and players with their UID in this list have access


enableItemsDropping

Disable dropping items while swimming. Introduced in Arma 2: Operation Arrowhead BETA 1.60.93965. Doesn't seem to have any effect in Arma 3.

enableItemsDropping = 0; // 0: disabled - 1: enabled. Default: ?


enableTeamSwitch

Enables or disables Team Switch functionality in MP when respawn type is 5 (SIDE).

enableTeamSwitch = 0; // 0: disabled - 1: enabled. Default: 1


forceRotorLibSimulation

Force enable or disable RotorLib flight model.

forceRotorLibSimulation = 1; // Default: 0
  • 0 - based on player's options
  • 1 - enabled (advanced mode)
  • 2 - disabled (default flight mode)


hostDoesNotSkipLobby

Stops hosting player from skipping the lobby if skipLobby = 1; is used

hostDoesNotSkipLobby = 1;


joinUnassigned

By default a new player is not auto assigned a free playable slot in the mission lobby in Multiplayer. Disable this setting to make him auto assigned to the side with least players.

joinUnassigned = 0; // 0: disabled - 1: enabled. Default: 1


minScore, avgScore, maxScore

Set minimum, average and maximum score for your mission. Score is related to the star display in the debriefing screen (OFP:CWC). The score can be influenced during a missions progress by using the addRating command.

minScore = 0;
avgScore = 1800;
maxScore = 75000;
Values have to follow this formula: minScore < avgScore < maxScore. Any other combinations can lead to game freeze upon mission end.


missionGroup

Shared mission group name to override default missionName used with missionProfileNamespace, saveMissionProfileNamespace

missionGroup = "SomeNameDescribingCommonMissions";


onCheat

Executes custom statement when player enters the GETALLGEAR cheat (see: GETALLGEAR).

onCheat = "hint str _this";


onPauseScript

Executes a custom SQF script or function in scheduled environment (execVM) when player brings up Game Pause screen (presses 'Esc' button). Display parameter of the resulting dialog is available via _this select 0 inside the script.

onPauseScript	= "myOnPauseScript.sqf";							// file path
onPauseScript[]	= { "myOnPauseFunction1", "myOnPauseFunction2" };	// function name - since Arma 3
The script or function executes in its own namespace. In order to get/set external global variable you need to explicitly use mission namespace:
Set

// myVar2 = "345"; // will set the variable only in onPauseScript namespace missionNamespace setVariable ["myVar2", "345"]; // will be available as a global variable

Get
// hint str myVar; // will raise an undefined variable myVar error hint str (missionNamespace getVariable "myVar"); // will access the global variable properly


saving

Toggle saving possibility.

saving = 0; // 0: disabled - 1: enabled. Default: 1


scriptedPlayer

When scripted player is enabled, game no longer shows "No player select" error message upon mission start when no player unit is present.

scriptedPlayer = 1; // 0: disabled - 1: enabled. Default: 0


skipLobby

When enabled, joining player will join the mission bypassing role selection screen. The joinUnassigned param will be set to 1 automatically, so that player receives first available role from mission template. When leaving such mission, player will go straight back to server browser.

skipLobby = 1; // 0: disabled - 1: enabled. Default: 0


Server Security

This section underlines mission security settings for server. They can secure or break your mission, so be sure to use them wisely.


allowFunctionsLog

Allows functions to log to the RPT file.

allowFunctionsLog = 1; // 0: disabled - 1: enabled. Default: ?


allowFunctionsRecompile

As a security measure, functions are by default protected against rewriting during mission. This restriction does not apply in missions previewed from the editor.

allowFunctionsRecompile = 1; // 0: disabled - 1: enabled. Default: 0


zeusCompositionScriptLevel

zeusCompositionScriptLevel = 0;	// 0: all scripts are forbidden
								// 1: only attributes are allowed (including custom attributes added by mods)
								// 2: all scripts are allowed including init scripts
								// Default: 1


CfgDisabledCommands

Define disabled script commands. See CfgDisabledCommands for more detailed explanations.


CfgRemoteExec

Define remoteExec and remoteExecCall restrictions. See CfgRemoteExec for more detailed explanations and examples.


Tasks

Tasks are part of the mission. This section deals with the settings for them.
See also Arma 3: Task Framework - Task Overhaul


taskManagement_markers2D

Use new 2D markers.

taskManagement_markers2D = 1; // 0: disabled - 1: enabled. Default: 0


taskManagement_markers3D

Use new 3D markers.

taskManagement_markers3D = 1; // 0: disabled - 1: enabled. Default: 0


taskManagement_propagate

Propagate shared tasks to subordinates.

taskManagement_propagate = 1; // 0: disabled - 1: enabled. Default: 0


taskManagement_drawDist

3D marker maximum draw distance in meters. within this range, unassigned tasks are drawn on screen.

taskManagement_drawDist = 2500; // in meters. Default: 2000


CfgTasks

Agents task config

class CfgTasks
{
	class Default
	{
		name = "";
		fsm = "";		// relative path to fsm file
		condition = "";	// relative path to sqf file (compiled and stored for the duration of run time, executed frequently)
		description = "";
		destination = "";
		resources[] = {};
	};
};


CfgTaskTypes

Define Task types and their icons.

class CfgTaskTypes
{
	class Attack
	{
		icon	= "\A3\UI_F_MP_Mark\Data\Tasks\Types\Attack_ca.paa";
		icon3D	= "\A3\UI_F_MP_Mark\Data\Tasks\Types3D\Attack_ca.paa";
	};

	class Defend
	{
		icon	= "\A3\UI_F_MP_Mark\Data\Tasks\Types\Defend_ca.paa";
		icon3D	= "\A3\UI_F_MP_Mark\Data\Tasks\Types3D\Defend_ca.paa";
	};
};


CfgTaskDescriptions

Define Task titles and descriptions.

class CfgTaskDescriptions
{
	class myTask1
	{
		title		= "my task title";
		description	= "my task description";
		marker		= "my task destination marker";
	};

	class myTask2
	{
		title		= "STR_myTask2Title";			// note the lack of $ sign here!
		description	= "STR_myTask2Description";		// without $, it translates for each client
		marker		= "STR_myTask2Marker";			// with $ everyone sees the server's language
	};
};


CfgTaskEnhancements

Defines tasks enhancements directly in a class.

class CfgTaskEnhancements
{
	enable		= 1; // 0: disable new task features (default), 1: enable new task features and add new task markers and task widgets into the map
	3d			= 1; // 0: do not use new 3D markers (default), 1: replace task waypoints with new 3D markers
	3dDrawDist	= 0; // 3d marker draw distance (default: 2000)
	share		= 1; // 0: do not count assigned players (default), 1: count how many players have the task assigned
	propagate	= 1; // 0: do not propagate (default), 1: propagate shared tasks to subordinates
};


Custom Content Definition

The following class definitions allow for mission-defined content like sounds, music, or more advanced content like functions


CfgCameraEffects

Configure custom cameraEffect.

class CfgCameraEffects
{
	class Array
	{
		class External
		{
			type = 0;
			duration = 6;	// 3 seconds for some reason
			file = "";		// some kind of custom .p3d file for camera
		};

		class AutoTerminate : External
		{
			type = 3;		// CamChained
			chain[] = { "External", "Terminate" }; // Terminate will trigger after 3 seconds
		};
	};
};

Example:

showCinemaBorder false; private _dur = getNumber (missionConfigFile >> "CfgCameraEffects" >> "Array" >> _this >> "duration"); private _cam = "camera" camCreate (player modelToWorld [0, -100, 50]); _cam camSetTarget player; _cam camSetRelPos [0, -0.1, 1.8]; _cam camCommit (_dur / 2); _cam cameraEffect ["AutoTerminate", "Back"]; waitUntil { camCommitted _cam }; camDestroy _cam;


CfgCommunicationMenu

This entry allows to add commanding menu option in the communication menu. See Arma 3: Communication Menu for more information.


CfgCommands

This entry contains a list of configurations for certain scripting commands (currently only allowedHTMLLoadURIs for htmlLoad, ctrlSetURL and menuSetURL). Can be defined in Config.cpp or in campaign's or mission's Description.ext; the most local variant is used.

class CfgCommands
{
	// a list of URIs supported by HTMLLoad
	// note that in case of clients connected to dedicated server, restrictions defined in its config have priority.
	allowedHTMLLoadURIs[] =
	{
		"*.mywebsite.com", // strings support wildcards '*' and '?'
		"*.mywebsite2.com/something/*",
		// ...
		"*.mywebsiteN.com",
	};
};
Some domains are automatically whitelisted, such as "arma3.com" or "bistudio.com".


CfgFunctions

Define functions for your mission. For a detailed explanation, see:

Arma 3: Functions Library
Arma 2: Functions Library
Take On Helicopters: Functions Library


CfgHints

Define Advanced Hints (similar to the Field Manual ones). See Advanced Hints for more information.


CfgIdentities

Define the identities of individual units, you can specify the face, type of glasses worn, voice, tone of voice and name of an identity. You then give a specific unit this identity by using the command setIdentity in the mission.

the nameSound entry is only valid since Arma 3. See setNameSound for possible values.
class CfgIdentities
{
	class MyLittleSoldier
	{
		name		= "Givens";
		nameSound	= "Givens"; // Arma 3 only!
		face		= "whiteHead_06";
		glasses		= "None";
		speaker		= "Male05ENG";
		pitch		= 1.1;
	};
};

Example:

player setIdentity "MyLittleSoldier";
See CfgIdentities for more detailed information and valid options for face, glasses, speaker etc.


CfgLeaflets

Define leaflets for your missions. See Arma 3: Leaflets for more information.


CfgMusic

Defines music you can play with playMusic.

class CfgMusic
{
	tracks[] = {};
	class MyIntro
	{
		// display name
		name	= "My intro music";

		// filename, volume, pitch
		sound[]	= { "\music\filename.ogg", db + 0, 1.0 };
	};
	class Ludwig9
	{
		name	= "Ludwig Van Beethoven's Ninth Symphony";
		sound[]	= { "\music\ludwig9.ogg", db + 10, 1.0 };
	};
};

Example:

playMusic "MyIntro";

Setting volume (db) of music far from zero will disable fadeMusic command. Optimal values are from -10 to 10.


CfgNotifications

Define custom notifications to be shown with BIS_fnc_showNotification. See Notification for more detailed information and examples.


CfgPostprocessTemplates

Define custom post-process effects, to Post Process Effects format (only "colorCorrection" and "filmGrain" are supported for now).
To be used with BIS_fnc_setPPeffectTemplate.

class CfgPostprocessTemplates
{
	class MyPurplePP
	{
		colorCorrections[] = { 1, 1, 0, { 1, 1, 1, 0 }, { 1, 0.5, 1, 0 }, { 0.75, 0.25, 0, 1 } };
		displayName = "Purple-ish!";
		filmGrain[] = { 0.04, 1, 1, 0, 1 };
	};
};


CfgRadio

Defines radio sentences you can play with these radio commands: customRadio, vehicleRadio, groupRadio, sideRadio, globalRadio.

class CfgRadio
{
	sounds[] = {};
	class RadioMsg1
	{
		// display name
		name	= "";

		// filename, volume, pitch
		sound[]	= { "\sound\filename1.ogg", db - 100, 1.0 };

		// radio caption
		title	= "I am ready for your orders.";
	};

	class RadioMsg2
	{
		name	= "";
		sound[]	= { "\sound\filename2", db - 100, 1.0 }; // .wss implied
		title	= "$STR_RADIO_2";
	};
};

Example:

unit sideRadio "RadioMsg2";


CfgSentences

See Conversations for more information.


CfgSFX

See CfgSFX for more information.


CfgSounds

General sounds that can be used for dialog, voiceovers in the briefing etc.
See also commands playSound, say, say2D and say3D.

class CfgSounds
{
	sounds[] = {}; // OFP required it filled, now it can be empty or absent depending on the game's version

	class wolf1
	{
		name = "My wolf sound";						// display name
		sound[] = { "fx\wolf1.ogg", 1, 1, 100 };	// file, volume, pitch, maxDistance
		titles[] = { 0, "*wolf growls*" };			// subtitles

		titlesFont = "LCD14";		// OFP:R - titles font family
		titlesSize = 0.1;			// OFP:R - titles font size

		forceTitles = 1;			// Arma 3 - display titles even if global show titles option is off (1) or not (0)
		titlesStructured = 1;		// Arma 3 - treat titles as Structured Text (1) or not (0)
	};
};

Property

Description

sounds[]

Was required in previous titles, and needed to be filled with CfgSounds defined sounds at the beginning of Operation Flashpoint.
At least in Arma 3 the engine finds them without this value which can now be ignored entirely.

name

(Optional) how the sound is referred to in the editor (e.g. name in trigger effects) this can be a translation (e.g "$STR_My_Translation")

sound[]

An array containing:

  • file path: the relative path to the file
    Since Arma 3 logo black.png1.50 the path can be prefixed with @ in order to look directly into addon files, e.g "@a3\Ui_F_Curator\Data\Sound\CfgSound\visionMode"
  • volume: between 0 and 5, 1 being normal volume
    Volume may at some point be found defined with db (e.g db-40). The formula for db-based volume is: 10^(number * (1/20)).
  • pitch: 1 is normal pitch, 2 = chipmunk, 0.5 = Darth Vader, etc
  • max distance: (Optional, default volume × 1000) maximum distance at which the sound is heard, in metres

titles[]

An array format { time1, text1, time2, text2 } etc:

  • time#: can be a number or an array:
    • number: sound time at which the text is displayed (2 = 2s after sound start)
    • array: format { displayTime, displayDurationFactor }:
      • displayTime: sound time at which the text is displayed (2 = 2s after sound start)
      • displayDurationFactor: default value is 1 (for 10s subtitle display), 0.5 means half the time (5s), 2 means twice the time (20s) etc
  • text#: the text to be displayed
If a subtitle is timed for after the sound is done, the sound will repeat until the subtitle is played (then played until its end).

ofpr version.gif1.75 titlesFont

(Optional) titles font family

ofpr version.gif1.75 titlesSize

(Optional) titles font size

Arma 3 logo black.png0.50 forceTitles

(Optional) if set to 1, will display titles even if global show titles option is off

Arma 3 logo black.png0.50 titlesStructured

(Optional) if set to 1, treat titles as Structured Text (e.g 0, "<t color=""#ff0000"">Red text</t>")

Example:

playSound "wolf1"; // class name as string player say ["wolf1", 100];

See OFP ToadLife's tutorial for a sound advice.


CfgUnitInsignia

Define custom unit insignia (shoulder patches). See Arma 3: Unit Insignia for more detailed information.

class CfgUnitInsignia
{
	class 111thID
	{
		displayName = "111th Infantry Division";	// name displayed in Arsenal
		author = "Bohemia Interactive";				// author displayed in Arsenal
		texture = "\a3\UI_F_Bootcamp\Data\CfgUnitInsignia\B_111thID_texture_ca.paa"; // image path
		textureVehicle = "";						// does nothing, was reserved for future use
	};
};


CfgUnitTemplates

This class is used to create units templates. For now, this is only used with the function BIS_fnc_unitHeadgear.

class CfgUnitTemplates
{
	// Classic selectRandom
	class MyFirstTemplate : Default
	{
		headgearList[] =
		{
			"H_Cap_blk",
			"H_Cap_grn",
			"H_Cap_oli_hs"
		};

		facewearList[] =
		{
			"G_Bandanna_beast",
			"G_Bandanna_blk",
			"G_Bandanna_khk"
		};
	};

	// the probabilities will be considered, weighted random
	class MySecondTemplate : Default
	{
		headgearList[] =
		{
			"H_Cap_blk",	0.9,
			"H_Cap_grn",	0.6,
			"H_Cap_oli_hs",	0.55
		};

		facewearList[] =
		{
			"G_Bandanna_beast",	0.5,
			"G_Bandanna_blk",	0.5,
			"G_Bandanna_khk",	0.5
		};
	};
};

Example:

[myUnit, "MyFirstTemplate"] call BIS_fnc_unitHeadgear; [myUnit, "MySecondTemplate"] call BIS_fnc_unitHeadgear;


CfgVehicles

This class can only be used to create sound sources.
See also CfgSFX for more detailed information.

class CfgVehicles
{
	class MyOwlSound		// class name to be used with createSoundSource
	{
		sound = "MyOwl";	// reference to CfgSFX class
	};
};


CfgVehicleTemplates

This class is used to create vehicle templates used by the Vehicle Customization system.

class CfgVehicleTemplates
{
	class BIS_Offroad_01_default
	{
		displayName = "Default";
		author = "Bohemia Interactive";
		textureList[] =
		{
			"guerilla_01", 0.5,
			"guerilla_02", 1
		};

		animationList[] =
		{
			"HideBumper1", 1,
			"HideBumper2", 1
		};
	};
};


RscTitles

This class is used to define custom HUDs. See Arma: GUI Configuration for more information.

Full TOC
Mini TOC