{"name":"Description.ext","title":"Description.ext","type":"topic","url":"https://community.bistudio.com/wiki/Description.ext","revid":378503,"updated":"2026-04-29T15:54:18Z","aliases":["Arma 3 CfgCommands","Arma 3: CfgCommands","CfgCommands","CfgSounds","EXT","desc.ext","description.ext","disableAI (description.ext)"],"markdown":"The Description.ext file is a missionConfigFile and is used to set the overall mission attributes or to define global properties that will be available for other scripts.\nIt 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.\n\nAdditionally, many attributes can also be set via the Eden Editor, where changes are automatically refreshed upon scenario preview.\nIn the 2D Editor the mission has to be reloaded for changes to be applied.\n\n> [!NOTE]\n> This file is required in Operation Flashpoint: Elite for MP missions to work, otherwise a **-1 error** is shown.\n\n> [!NOTE]\n> This page is about the **Mission Description.ext**. For the campaign version, see Campaign Description.ext.\n\n> [!WARNING]\n> The keyword `class` for class definitions **must** be lowercase, otherwise a parsing error will occur.\n\n> [!IMPORTANT]\n> Accidentally creating this file with a wrong file extension is a frequent cause of issues.\n> If you are unfamiliar with script file creation, read Introduction to Arma Scripting#File Creation for a step-by-step tutorial.\n\n> [!NOTE]\n> **Arma 3:** Since Arma 3 v2.02, it is possible to import a class from main config and inherit from it in mission config:\n>\n> ```cpp\n> import RscText;\n> class MyText : RscText\n> {\n>     // ...\n> };\n> ```\n>\n> For more information, see the import (Config) page.\n\n### Mission Information\n\nThis section helps you find out how to customise Mission overall external appearance, from Mission Overview to Loading Screens.\n\n**Loading screen parameters**\n\n```cpp\nauthor            = \"Varanon\";\nonLoadName        = \"Point Insertion\";\nonLoadMission    = \"A group of NATO soldiers is tasked with sabotaging a coastal defense.\";\nloadScreen        = \"images\\loadScreen.paa\";\n\nclass Header\n{\n    gameType = \"Coop\";    // game type\n    minPlayers =  1;    // minimum number of players the mission supports\n    maxPlayers = 10;    // maximum number of players the mission supports\n};\n```\n\n> [!NOTE]\n> Header's `playerCountMultipleOf` entry is available in earlier titles (from Operation Flashpoint: Elite to Arma 3 1.30), allowing to setup the auto-assign team balancing factor: 1 for Coop, 2 for Versus.\n\n##### author (Arma 3 v0.50)\n\nMission author's name. The default loading screen shows this string below the #onLoadName in a smaller font prefixed by \"by \".\n\n##### onLoadName (Arma 3 v0.50)\n\nString (usually mission name) shown during mission loading. The string is shown in a slightly larger font above the loadScreen.\nThe #onLoadMission text is placed below the load screen and the header gameType determines the game type on top of the box.\n\n##### onLoadMission\n\nDisplays 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.\nIn **OFP** this is the name you see when selecting a mission in MP and also the name that is presented to the Multiplayer browser.\n\n```cpp\nonLoadMission = \"YourMissionName\";\n```\n\n##### loadScreen (Arma 2: Operation Arrowhead v1.50)\n\nThe picture to be shown while the mission is loaded. The path is relative to the mission folder. Must be in PAA file format.\n2:1 aspect ratio (different aspect are rendered correctly as well, but won't cover the whole area).\nIdeally 1024x512 pixels.\n\n```cpp\nloadScreen = \"pictures\\intro.paa\";\n```\n\n##### header (Armed Assault v1.00)\n\nThis class defines mission type and other settings displayed in the multiplayer browser.\n\n```cpp\nclass Header\n{\n    gameType = \"CTF\";    // Game type\n    minPlayers =  1;    // minimum number of players the mission supports\n    maxPlayers = 10;    // maximum number of players the mission supports\n};\n```\n\nSee Multiplayer Game Types for more detailed information.\n\n##### onLoadIntro\n\nDisplays a message while the intro is loading.\n\n```cpp\nonLoadIntro = \"YourMessage\";\n```\n\n##### onLoadMissionTime\n\nDefine whether you will see the time and date displayed while the mission loads. Effect unkown in Arma 3.\n\n```cpp\nonLoadMissionTime = 1; // 0: disabled - 1: enabled. Default: 1\n```\n\n##### onLoadIntroTime\n\nDefine whether you will see the time and date displayed while the intro loads.\n\n```cpp\nonLoadIntroTime = 1; // 0: disabled - 1: enabled. Default: 0\n```\n\n##### briefingName (Arma 3 v1.56)\n\nMission name displayed in the mission selection menu.\n\n```cpp\nbriefingName = \"TAG 1-5 CO My super mission\";\n```\n\n> [!IMPORTANT]\n> 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 `@`.\n\n##### CfgLoadingTexts (Take On Helicopters v1.00)\n\nDefine mission specific loading texts.\n\n##### overviewPicture (Arma 3 v0.50)\n\nPath 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).\n\n##### overviewText (Arma 3 v0.50)\n\nText to be displayed below the #overviewPicture on the mission selection screen when the mission is available to play.\n\n> [!IMPORTANT]\n> 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 `@`.\n\n> [!IMPORTANT]\n> The text that appears at the top of an MP mission is defined in **mod** mission definition and **not** through Description.ext:\n>\n> ```cpp\n> class Mission\n> {\n>     // ...\n>     class Intel\n>     {\n>         overviewText = \"This text here\";\n>         // ...\n>     };\n>     // ...\n> };\n> ```\n\n##### overviewTextLocked (Arma 3 v0.50)\n\nText to be displayed below the #overviewPicture on the mission selection screen when the mission is locked from play.\n\n> [!IMPORTANT]\n> Please note that to use localized string prefix stringtable ID with `@`.\n\n##### onBriefingGear\n\nDefines a sound (defined in #CfgSounds) that will play when accessing the gear part of the briefing. See Briefing.html.\n\n```cpp\nonBriefingGear = \"SoundName\";\n```\n\n> [!NOTE]\n> **Arma 3:** Has no effect in Arma 3.\n\n##### onBriefingGroup\n\nDefines a sound (defined in #CfgSounds) that will play when accessing the group part of the briefing. See Briefing.html.\n\n```cpp\nonBriefingGroup = \"SoundName\";\n```\n\n> [!NOTE]\n> **Arma 3:** Has no effect in Arma 3.\n\n##### onBriefingPlan\n\nDefines a sound (defined in #CfgSounds) that will play when accessing the plan part of the briefing. See Briefing.html.\n\n```cpp\nonBriefingPlan = \"SoundName\";\n```\n\n> [!NOTE]\n> **Arma 3:** Has no effect in Arma 3.\n\n##### CfgWorlds (Arma 3 v2.02)\n\nCould be used to override the following properties used on mission loading: author, description, pictureMap, pictureShot, loadingTexts[].\nIf 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.\n\n```cpp\nclass CfgWorlds\n{\n    class Any // or specific world name\n    {\n        author = \"author\";\n        description = \"description\";\n        pictureMap = \"picturepath\";\n        pictureShot = \"picturepath\";\n        loadingTexts[] = { \"text1\", \"text2\", \"text3\" };\n    };\n};\n```\n\n### Respawn/Revive\n\nThis section talks about respawn and revive actions.\n- for Arma 2, see First Aid.\n- for Arma 3, see Arma 3: Respawn and Arma 3: Revive.\n\n|  |  |  |\n|---|---|---|\n| + Respawn types |  |  |\n| ID | Text version | Description |\n| **0** | **\"NONE\"** | No respawn |\n| **1** | **\"BIRD\"** | Respawn as a seagull |\n| **2** | **\"INSTANT\"** | Respawn just where you died. |\n| **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:<br>- Unit respawn: *respawn_**SIDE***<br>- Vehicle respawn: *respawn_vehicle_**SIDE***<br>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. |\n| **4** | **\"GROUP\"** | Respawn in your group. If there is no remaining AI, you will become a seagull. |\n| **5** | **\"SIDE\"** | Armed Assault v1.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. |\n\n##### respawn\n\nSets soldiers and vehicles respawn type.\n\n```cpp\nrespawn = 0;        // Default: 0 for SP, 1 for MP\nrespawn = \"SIDE\";    // text version works too\n```\n\n##### respawnVehicle (Arma 3 v2.18)\n\nSets 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.\n\n```cpp\nrespawnVehicle = 3;            // number version\nrespawnVehicle = \"BASE\";    // text version works too\n```\n\n##### respawnButton\n\nEnable or disable the respawn button in the menu for INSTANT and BASE respawn types.\n\n```cpp\nrespawnButton = 0; // 0: disabled - 1: enabled. Default: 1\n```\n\n##### respawnDelay\n\nSet respawn delay in seconds.\n\n```cpp\nrespawnDelay = 42; // Default: ?\n```\n\n##### respawnVehicleDelay\n\nSet vehicle respawn delay in seconds.\n\n```cpp\nrespawnVehicleDelay = 12; // Default: ?\n```\n\n##### respawnDialog\n\nShow the scoreboard and respawn countdown timer for a player if he is killed with respawn type **3**.\n\n```cpp\nrespawnDialog = 0; // 0: disabled - 1: enabled. Default: 1\n```\n\n##### respawnOnStart\n\nRespawn player when he joins the game. Available only for INSTANT and BASE respawn types.\n\n```cpp\nrespawnOnStart = 1; // Default: 0\n```\n\n- -1 - Dont respawn on start. Don't run respawn script on start.\n-  0 - Dont respawn on start. Run respawn script on start.\n-  1 - Respawn on start. Run respawn script on start.\n\n##### respawnTemplates\n\nRespawn templates from CfgRespawnTemplates. You can combine any number of them together.\n\n```cpp\nrespawnTemplates[] = { \"Counter\", \"Wave\" };\n```\n\n> [!IMPORTANT]\n> Side specific respawn templates can be specified with *respawnTemplates***SIDE***[]* where **SIDE** can be any playable side (West, East, Guer, Civ).\n>\n> When such is undefined, general respawnTemplates are used instead.\n\n##### respawnWeapons (Armed Assault v1.00)\n\nSet weapons players will receive upon respawn. #respawnMagazines has to be defined as well.\n\n```cpp\nrespawnWeapons[] = { \"arifle_Katiba_GL_F\" };\n```\n\n> [!IMPORTANT]\n> Side specific respawn weapons can be specified with *respawnWeapons***SIDE***[]* where **SIDE** can be any playable side (West, East, Guer, Civ).\n>\n> Corresponding *respawnMagazines***SIDE***[]* has to be defined as well.\n\n##### respawnMagazines (Armed Assault v1.00)\n\nSet magazines players will receive upon respawn. #respawnWeapons has to be defined as well.\n\n```cpp\nrespawnMagazines[] = { \"30Rnd_65x39_caseless_green\", \"30Rnd_65x39_caseless_green\" };\n```\n\n> [!IMPORTANT]\n> Side specific respawn weapons can be specified with *respawnMagazines***SIDE***[]* where **SIDE** can be any playable side (West, East, Guer, Civ).\n>\n> Corresponding *respawnWeapons***SIDE***[]* has to be defined as well.\n\n##### reviveMode (Arma 3 v1.62)\n\nDefine if Revive mode is enabled.\n\n```cpp\nreviveMode = 1; // Default: 0\n```\n\n- 0 - disabled\n- 1 - enabled\n- 2 - controlled by player attributes\n\n##### reviveUnconsciousStateMode (Arma 3 v1.62)\n\nDefine revive mode.\n\n```cpp\nreviveUnconsciousStateMode = 0; // Default: 0\n```\n\n- 0 - basic mode\n- 1 - advanced mode\n- 2 - realistic\nSee damage model for more detailed information.\n\n##### reviveRequiredTrait (Arma 3 v1.62)\n\nDefine if only a medic (or unit with medic trait) can perform a revive.\n\n```cpp\nreviveRequiredTrait = 0; // 0: disabled - 1: enabled. Default: 0\n```\n\n##### reviveRequiredItems (Arma 3 v1.62)\n\nDefine if a medical item (first aid kit or medkit) is required to begin a revive process.\n\n```cpp\nreviveRequiredItems = 2; // Default: ?\n```\n\n- 0 - none\n- 1 - medkit\n- 2 - medkit or first aid kit\n\n##### reviveRequiredItemsFakConsumed (Arma 3 v1.62)\n\nDefine if a first aid kit is consumed on reviving a teammate\n\n```cpp\nreviveRequiredItemsFakConsumed = 1; // 0: disabled - 1: enabled. Default: ?\n```\n\n##### reviveMedicSpeedMultiplier (Arma 3 v1.62)\n\nSpeed multiplier for revive performed by medic\n\n```cpp\nreviveMedicSpeedMultiplier = 2; // medic revive will be two times faster compared to another soldier\n```\n\n##### reviveDelay (Arma 3 v1.62)\n\nThe time in seconds it takes to revive an incapacitated unit. Having a Medikit will halve this time.\n\n```cpp\nreviveDelay = 10; // Default: 6\n```\n\n##### reviveForceRespawnDelay (Arma 3 v1.62)\n\nThe time in seconds it takes for an incapacitated unit to force their respawn.\n\n```cpp\nreviveForceRespawnDelay = 5; // Default: 3\n```\n\n##### reviveBleedOutDelay (Arma 3 v1.62)\n\nThe time in seconds it takes for a unit to bleed out.\n\n```cpp\nreviveBleedOutDelay = 300; // Default: 120\n```\n\n##### enablePlayerAddRespawn (Arma 3 v1.62)\n\nUsage unsure, may be related to respawn template **MenuPosition**.\n\n```cpp\nenablePlayerAddRespawn = 0; // Disable framework respawn\n```\n\n##### CfgRespawnInventory (Arma 3 v1.62)\n\nThis class defines a respawn inventory, used with **MenuInventory** respawn template.\nLoadouts with no assigned role are automatically assigned to the \"Default\" role.\n\nSee also BIS_fnc_addRespawnInventory, BIS_fnc_removeRespawnInventory\n\n```cpp\nclass CfgRespawnInventory\n{\n    class Blufor1\n    {\n        displayName = \"Light\";                                    // Name visible in the menu\n        icon = \"\\A3\\Ui_f\\data\\GUI\\Cfg\\Ranks\\sergeant_gs.paa\";    // Icon displayed next to the name\n        role = \"Assault\";                                        // Optional, see CfgRoles\n\n        // Loadout definition, uses same entries as CfgVehicles classes\n        weapons[] =\n        {\n            \"arifle_MXC_F\",\n            \"Binocular\"\n        };\n\n        magazines[] =\n        {\n            \"30Rnd_65x39_caseless_mag\",\n            \"30Rnd_65x39_caseless_mag\",\n            \"SmokeShell\"\n        };\n\n        items[] =\n        {\n            \"FirstAidKit\"\n        };\n\n        linkedItems[] =\n        {\n            \"V_Chestrig_khk\",\n            \"H_Watchcap_blk\",\n            \"optic_Aco\",\n            \"acc_flashlight\",\n            \"ItemMap\",\n            \"ItemCompass\",\n            \"ItemWatch\",\n            \"ItemRadio\"\n        };\n\n        uniformClass = \"U_B_CombatUniform_mcam_tshirt\";\n        backpack = \"B_AssaultPack_mcamo\";\n    };\n\n    class Blufor2\n    {\n        // Alternative configuration pointing to a CfgVehicles class. Loadout will be copied from it.\n        vehicle = \"B_soldier_AR_F\";\n    };\n};\n```\n\n##### CfgRespawnTemplates (Arma 3 v1.62)\n\nThis class defines new respawn templates to be used with respawn templates.\n\n```cpp\nclass CfgRespawnTemplates\n{\n    // class used in respawnTemplates entry\n    class myTag_beacon\n    {\n        // function or script executed upon death\n        // parameters passed into it are the same as are passed into onPlayerKilled.sqf file\n        onPlayerKilled = \"\\myAddon\\scripts\\respawnBeacon.sqf\";\n\n        // function or script executed upon respawn\n        // parameters passed into it are the same as are passed into onPlayerRespawn.sqf file\n        onPlayerRespawn = \"\\myAddon\\scripts\\respawnBeacon.sqf\";\n\n        // default respawn delay\n        // can be overwitten by description.ext attribute of the same name\n        respawnDelay = 20;\n\n        // see respawnOnStart for description and limitations\n        // can be overridden by description.ext attribute of the same name\n        respawnOnStart = 1;\n    };\n\n    class Spectator\n    {\n        onPlayerRespawn = \"BIS_fnc_respawnSpectator\"; // a function can be used instead of a script\n    };\n};\n```\n\n##### CfgRoles (Arma 3 v1.62)\n\nThis 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.\nMission 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.\n\n```cpp\n// all default roles with icons\nclass CfgRoles\n{\n    class Assault\n    {\n        displayName = \"$STR_A3_Role_Assault\";\n        icon = \"a3\\Ui_f\\data\\GUI\\Cfg\\RespawnRoles\\assault_ca.paa\";\n    };\n\n    class Support\n    {\n        displayName = \"$STR_A3_Role_Support\";\n        icon = \"a3\\Ui_f\\data\\GUI\\Cfg\\RespawnRoles\\support_ca.paa\";\n    };\n\n    class Recon\n    {\n        displayName = \"$STR_A3_Role_Recon\";\n        icon = \"a3\\Ui_f\\data\\GUI\\Cfg\\RespawnRoles\\recon_ca.paa\";\n    };\n};\n```\n\n### Mission Keys\n\nMission 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.\n\nActivated keys can be found in user profile (e.g documents\\*username.Arma3profile*) under *activeKeys* section.\n\nSee also commands activateKey, isKeyActive and deActivateKey for more detailed information.\n\n> [!IMPORTANT]\n> Please note that unlike other text items, stringtable translations ($STR_*) cannot be used.\n\n##### keys (Armed Assault v1.00)\n\nList of keys from which #keysLimit counts the *done* ones.\n\n```cpp\nkeys[] = { \"key1\", \"key2\", \"key3\" };\n```\n\n##### keysLimit (Armed Assault v1.00)\n\nNumber of keys from the #keys list needed *done* to unlock (and be able to play) this mission.\n\n```cpp\nkeysLimit = 2;\n```\n\n##### doneKeys (Armed Assault v1.00)\n\nName of keys marked *done* on mission completion.\n\n```cpp\ndoneKeys[] = { \"key4\" };\n```\n\n### Player's UI\n\nThis section explains HUD customisation possibilities.\n\nSee also commands:\n- showCompass, shownCompass, visibleCompass\n- showGPS, shownGPS, visibleGPS\n- showHUD, shownHUD\n- showWatch, shownWatch, visibleWatch\n- showUAVFeed, shownUAVFeed Arma 3 v1.16\n- showPad, shownPad Operation Flashpoint v1.00\n\n##### overrideFeedback (Arma 3 v1.98)\n\nSome 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.\nAdding `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.\nIf 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.\n\n```cpp\noverrideFeedback = 1; // 0: force default handling, 1+: allow custom handling. Default: not set\n```\n\n##### showHUD\n\nEnables/Disables the following IGUI elements:\n- Vehicle and unit info\n- Radar and tactical display\n- Vehicle compass\n- Tank direction indicator\n- Commanding menu\n- Group info bar\n- HUD weapon cursors\n- Vehicle display panels\n- Kill messages\n- 3D Icons visibility\n\n```cpp\nshowHUD = 0; // 0: disabled - 1: enabled. Default: 1\n```\n\nThe effect of using the above **showHUD** param is different from the effects of showHUD scripting command, both methods are rather complementary to each other.\n\nSince Arma 3 v1.50 **showHUD** param can be an array to allow control over separate HUD elements, for example:\n\n```cpp\nshowHUD[] =\n{\n    1,    // Scripted HUD (same as showHUD command)\n    1,    // Vehicle and unit info\n    0,    // Vehicle radar [HIDDEN]\n    0,    // Vehicle compass [HIDDEN]\n    1,    // Tank direction indicator\n    1,    // Commanding menu\n    1,    // Group info bar\n    1,    // HUD weapon cursors\n    1,    // Vehicle display panels\n    1,    // \"x killed by y\" systemChat messages\n    1    // force show drawIcon3D icons\n};\n```\n\n> [!IMPORTANT]\n> Using the **showHUD[]** array parameter will disable the showHUD command entirely.\n\n##### showCompass\n\nDefines if the compass is visible.\n\n```cpp\nshowCompass = 0; // 0: disabled - 1: enabled. Default: 1\n```\n\n##### showGPS\n\nEnables/Disables the GPS.\n\n```cpp\nshowGPS = 0; // 0: disabled - 1: enabled. Default: 1\n```\n\nIn Armed Assault *1.04* toggle this option to disable the mini map attached to the GPS.\n\n##### showGroupIndicator (Arma 3 v1.00)\n\nChanges default GPS mini map into a radar like display that indicates group members relative position to the player.\n\n```cpp\nshowGroupIndicator = 1; // 0: disabled - 1: enabled. Default: 0\n```\n\n> [!IMPORTANT]\n> Has no effect since custom panels were introduced in Arma 3. See BIS_fnc_groupIndicator.\n\n##### showMap\n\nDefines if the map is shown after the mission starts.\n\n```cpp\nshowMap = 0; // 0: disabled - 1: enabled. Default: 1\n```\n\n##### showNotePad (Armed Assault v1.00)\n\nIn Armed Assault, defines if the NotePad is shown after the mission starts.\n\n```cpp\nshowNotePad = 0; // 0: disabled - 1: enabled. Default: 1\n```\n\n##### showPad (Operation Flashpoint v1.00)\n\nDefines if the NotePad is shown after the mission starts. **Only in OFP:CWC**.\n\n```cpp\nshowPad = 0; // 0: disabled - 1: enabled. Default: 1\n```\n\n##### showWatch\n\nDefines if the watch is visible.\n\n```cpp\nshowWatch = 0; // 0: disabled - 1: enabled. Default: 1\n```\n\n##### showUAVFeed (Arma 3 v1.16)\n\nEnables/Disables the UAV Feed.\n\n```cpp\nshowUAVFeed = 0; // 0: disabled - 1: enabled. Default: 1\n```\n\n##### showSquadRadar (Arma 3 v1.60)\n\nDefines if the Squad Radar is visible.\n\n```cpp\nshowSquadRadar = 0; // 0: disabled - 1: enabled. Default: 0\n```\n\n> [!IMPORTANT]\n> Has no effect since custom panels were introduced in Arma 3.\n\n##### overrideHazeQuality (Arma 3 v2.16)\n\n0/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.\n\n```cpp\noverrideHazeQuality = 1; // Low\n```\n\n### Starting Gear\n\nStarting gear points to briefing-available equipment. For respawn equipment, see #Respawn/Revive.\n\nSee also Weapon Pool Commands for more detailed information about weapon pool system.\n\n##### weapons\n\nSet weapons available to players during the briefing.\n\n```cpp\nclass Weapons\n{\n    class AK74        { count = 8; };\n    class RPG7V        { count = 2; };\n    class Binocular    { count = 2; };\n};\n```\n\n##### magazines\n\nSet magazines available to players during the briefing.\n\n```cpp\nclass Magazines\n{\n    class 30Rnd_545x39_AK    { count = 32; };\n    class PG7V                { count =  6; };\n    class HandGrenade        { count = 16; };\n};\n```\n\n##### backpacks (Arma 2: Operation Arrowhead v1.50)\n\nSet backpacks available to players during the briefing.\n\n```cpp\nclass Backpacks\n{\n    class US_Patrol_Pack_EP1    { count = 4; };\n    class US_Assault_Pack_EP1    { count = 4; };\n};\n```\n\n##### allowSubordinatesTakeWeapons (Arma 2: Operation Arrowhead v1.56)\n\nAllows subordinates (i.e., not leaders) to equip items defined in #weapons, #magazines and #backpacks.\n\n```cpp\nallowSubordinatesTakeWeapons = 1; // 0: disabled - 1: enabled. Default: ?\n```\n\n##### arsenalRestrictedItems (Arma 3 v1.98)\n\nUsed to blacklist undesired Arsenal equipment, which prevents user saved loadout from being loaded if it contains restricted items.\n\n```cpp\narsenalRestrictedItems[] = { \"U_B_Soldier_VR\" };\n```\n\n##### allowProfileGlasses (Arma 3 v2.04)\n\nWhen set to 0 will stop glasses set in player profile from being added to player's gear:\n\n```cpp\nallowProfileGlasses = 0;\n```\n\n### Corpse and Wreck Management\n\nThis section explains how to use game-included **garbage collector** (**GC**) for better performances.\n\nSee also addToRemainsCollector, isInRemainsCollector and removeFromRemainsCollector commands.\n\nThe Remains Collector, if enabled, runs at background on every client and clears mission of corpses and wrecks depending on set params and mode.\nIndividual objects can be added or removed from collector monitoring. Items in remains collector are sorted depending on how valuable they are.\nThe 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.\n\n##### corpseManagerMode (Arma 3 v1.32)\n\nSets the mode for automatic corpse removal.\n\n```cpp\ncorpseManagerMode = 0; // Default: 0\n```\n\n- 0 *(Default)* = None - None of the units are automatically managed by the manager\n- 1 = All - All units are automatically managed by the manager\n- 2 = None_But_Respawned - Only units that can respawn are automatically managed by the manager\n- 3 = All_But_Respawned - All units are automatically managed by the manager with the exception of respawned ones (opposite to mode 2)\n\n##### corpseLimit (Arma 3 v0.50)\n\nIf 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.\n\n```cpp\ncorpseLimit = 1; // Default: 15\n```\n\n##### corpseRemovalMinTime (Arma 3 v0.50)\n\nSee #corpseLimit above.\n\n```cpp\ncorpseRemovalMinTime = 60; // seconds. Default: 10\n```\n\n##### corpseRemovalMaxTime (Arma 3 v0.50)\n\nMonitored corpses that are dead for longer than **corpseRemovalMaxTime** will be considered for removal regardless of the #corpseLimit.\n\n```cpp\ncorpseRemovalMaxTime = 1200; // seconds. Default: 3600\n```\n\n##### disposalCheckPeriod (Arma 3 v2.18)\n\nHow often the remains collector checks monitored remains for removal. The value can be between 1 and 60.\n\n```cpp\ndisposalCheckPeriod = 30; // seconds. Default: 10\n```\n\n##### minPlayerDistance (Arma 3 v1.66)\n\nThis 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.\nThe 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.\n\n```cpp\nminPlayerDistance = 50; // meters. Default: 0\n```\n\nArma 3 v2.18 The array variant allows setting individual minPlayerDistance for corpses, wrecks and weaponholders:\n\n```cpp\nminPlayerDistance[] = { 50, 60, 70 }; // metres. Default: { 0, 0, 0 }\n```\n\nArma 3 v2.20 The array supports override times now, format `{ corpsesMinDist, wrecksMinDist, weaponholdersMinDist, corpsesOverrideTime, wrecksOverrideTime, weaponholdersOverrideTime }`\nOverride times are \"force-remove after\" times. For example a corpse is scheduled for deletion but cannot be deleted because a player is nearby.\nIf override time is set, the corpse will be deleted regardless of player proximity.\nSo if for example #removalMaxTime is 3600 and override time is 300, the remains will be definitely deleted within 3600 + 300 = 3900 seconds even if a player is close by.\n\n```cpp\nminPlayerDistance[] = { // metres. Default: { 0, 0, 0, -1, -1, -1 }\n    50,        60,        70,        // corpsesMinDist,        wrecksMinDist,        weaponholdersMinDist\n    300,    120,    60        // corpsesOverrideTime,    wrecksOverrideTime,    weaponholdersOverrideTime\n};\n```\n\n##### weaponholderManagerMode (Arma 3 v2.18)\n\nSets the mode for automatic weapon holder removal.\n\n```cpp\nweaponholderManagerMode = 0; // Default: 0\n```\n\n- 0 *(Default)* = None - None of the weapon holders are automatically managed by the manager\n- 1 = All - All weapon holders are automatically managed by the manager\n- 2 = None_But_Respawned - Only weapon holders from units that can respawn are automatically managed by the manager\n- 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)\n\n> [!NOTE]\n> WeaponHolderSimulated which is created after unit is dead and contains unit's weapon is not managed by the collector, but linked to the corpse and will be deleted when corpse is deleted. WeaponHolderSimulated that is created manually is managed by the collector just like GroundWeaponHolder\n\n##### weaponholderLimit (Arma 3 v2.18)\n\nIf 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.\n\n```cpp\nweaponholderLimit = 1; // Default: 50\n```\n\n##### weaponholderRemovalMinTime (Arma 3 v2.18)\n\nSee #weaponholderLimit above.\n\n```cpp\nweaponholderRemovalMinTime = 60; // seconds. Default: 3600\n```\n\n##### weaponholderRemovalMaxTime (Arma 3 v2.18)\n\nMonitored weapon holders that exist for longer than **weaponholderRemovalMaxTime** will be considered for removal regardless of the #weaponholderLimit.\n\n```cpp\nweaponholderRemovalMaxTime = 1200; // seconds. Default: 36000\n```\n\n##### wreckManagerMode (Arma 3 v1.32)\n\nSets the mode for automatic wreck removal.\n\n```cpp\nwreckManagerMode = 0; // Default: 0\n```\n\n- 0 *(Default)* = None - None of the vehicles are automatically managed by the manager\n- 1 = All - All vehicles are automatically managed by the manager\n- 2 = None_But_Respawned - Only vehicles that can respawn are automatically managed by the manager\n- 3 = All_But_Respawned - All vehicles are automatically managed by the manager with exception of respawned (opposite to mode 2)\n\n##### wreckLimit (Arma 3 v0.50)\n\nIf the total number of monitored wrecks is higher than **wreckLimit**, the wrecks that existed for longer than #wreckRemovalMinTime will be considered for removal.\n\n```cpp\nwreckLimit = 1; // seconds. Default: 15\n```\n\n##### wreckRemovalMinTime (Arma 3 v0.50)\n\nSee #wreckLimit above.\n\n```cpp\nwreckRemovalMinTime = 60; // seconds. Default: 10\n```\n\n##### wreckRemovalMaxTime (Arma 3 v0.50)\n\nMonitored wrecks that existed for longer than **wreckRemovalMaxTime** will be considered for removal regardless of the #wreckLimit.\n\n```cpp\nwreckRemovalMaxTime = 1800; // seconds. Default: 36000 (10 hours)\n```\n\n### Mission Parameters\n\nMission 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.\n\nSee Mission Parameters, along with BIS_fnc_getParamValue function (paramsArray usage is **not** recommended).\n\n##### param1/param2 (Operation Flashpoint v1.00)\n\n**param1** and **param2** are multiplayer options that can be seen in the multiplayer lobby.\nThey can be useful for setting time limits and score limits in such games as Capture the Flag and Death Matches.\nOther popular uses include time acceleration, setting the mission difficulty or switching the intro on/off.\n\nIn the mission, variables **param1** and **param2** have the corresponding values of the chosen options.\n\n> [!IMPORTANT]\n> - 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.\n> - **param1**/**param2** variables can be overridden during the mission as they are **not** read-only.\n\n```cpp\ntitleParam1 = \"Time limit:\";\nvaluesParam1[] = { 0, 300, 600, 900 };\ndefValueParam1 = 900;\ntextsParam1[] = { \"Unlimited\", \"5 min\", \"10 min\", \"15 min\" };\n\ntitleParam2 = \"Score to win:\";\nvaluesParam2[] = { 10000, 5, 7, 10, 15, 20, 25, 30 };\ndefValueParam2 = 5;\ntextsParam2[] = { \"Unlimited\", 5, 7, 10, 15, 20, 25, 30 };\n```\n\nExample:\n\n```sqf\nhint format [\"param1 = %1\\nparam2 = %2\", param1, param2];\n```\n\n##### Params (Arma 2 v1.03)\n\nThese are Multiplayer parameters, available in the lobby by the server administrator.\nThey are intended as a replacement for #param1/param2.\n\n```cpp\nclass Params\n{\n    class ViewDistance\n    {\n        // Visible name in lobby settings list\n        title = \"View distance\";\n\n        // must be integers - commas e.g 1.5 are not allowed\n        values[] = { 500, 1000, 2000, 5000 };\n\n        // Description of each selectable item - must have the same number of items as 'values'\n        // If texts are missing, the values will be displayed instead\n        texts[] = { \"500m\", \"1000m\", \"2 km\", \"5 km\" };\n\n        // must be listed in 'values' array, otherwise 0 is used. If not integer, fallback value is 1\n        default = 1000;\n\n        // (optional) script file called when player joins, selected value is passed as an argument\n        file = \"setViewDistance.sqf\";\n    };\n};\n```\n\nSee Mission Parameters for more detailed information.\n\n### Mission Settings\n\nThese are non-editable, mission maker design settings.\nThey can be used for a smoother experience, briefing/debriefing behaviour, saving options, etc.\n\nSee also Debriefing for more detailed information.\n\n##### aiKills\n\nEnables AI units score to appear in score table.\n\n```cpp\naiKills = 1; // 0: disabled - 1: enabled. Default: 0\n```\n\n##### briefing\n\nSkip briefing screen for SP missions. If no briefing.html is present, it is skipped anyway.\n\n```cpp\nbriefing = 0; // 0: disabled - 1: enabled. Default: 1\n```\n\nBriefing will still be displayed until all clients are connected and done loading.\n\n##### debriefing\n\nDefines if the debriefing is shown or not at the end of the mission.\n\n```cpp\ndebriefing = 0; // 0: disabled - 1: enabled. Default: 1\n```\n\n##### CfgDebriefing (Arma 3 v0.50)\n\nDefine custom mission endings or override the default endings (found under CfgDebriefing in the game's config file).\n\n```cpp\nclass CfgDebriefing\n{\n    // Used when all players die in MP\n    class endDeath\n    {\n        title = \"Both teams have died.\";\n        description = \"Everyone was killed by the bomb.\";\n        picture = \"KIA\";\n    };\n};\n```\n\n**For a detailed description, see Arma 3: Debriefing.**\n\n##### CfgDebriefingSections (Arma 3 v0.50)\n\nDefine custom sections to be displayed on the debriefing screen. Useful for custom scoring systems or displaying player achievements.\n\n```cpp\nclass CfgDebriefingSections\n{\n    class bPoints\n    {\n        title = \"Blufor Points\";\n        variable = \"BLU_P\";\n    };\n\n    class oPoints\n    {\n        title = \"Opfor Points\";\n        variable = \"OPF_P\";\n    };\n};\n```\n\n##### DifficultyOverride (Arma 3 v2.16)\n\nAllow to override a difficulty setting for the mission only.\n\nAt the moment, only `tacticalPing` is supported.\n\n```cpp\nclass DifficultyOverride\n{\n    tacticalPing = 0; // disables tactical ping in this mission, even if selected difficulty preset has it enabled\n}\n```\n\n|  |  |  |  |\n|---|---|---|---|\n| + Channel ID number command correspondence |  |  |  |\n| Name | ID | Radio | Chat |\n| Global | 0 | globalRadio | globalChat |\n| Side | 1 | sideRadio | sideChat |\n| Command | 2 | commandRadio | commandChat |\n| Group | 3 | groupRadio | groupChat |\n| Vehicle | 4 | vehicleRadio | vehicleChat |\n| Direct | 5 | directSay | N/A |\n| System | 6 Arma 2: Operation Arrowhead v1.62<br>16 Arma 3 v0.50 | N/A | systemChat |\n\n##### disableChannels (Arma 2: Operation Arrowhead v1.62)\n\nDisable global, side, command or system chat. MOTD and admin say have exception and will show in global.\n\n> [!NOTE]\n> - This setting is not considered when hosting from Eden Editor.\n> - A mission using **disableChannels** will override any `disableChannels[]` value in server config.\n\n> [!NOTE]\n> **Arma 3:** See enableChannel.\n\nArma 2: Operation Arrowhead v1.62 **basic syntax**:\n\n```cpp\ndisableChannels[] = { 0, 3 }; // simple channel ID list\n```\n\nArma 3 v1.60 **advanced syntax**:\n\n```cpp\ndisableChannels[] =\n{\n    {\n        0,        // channel ID\n        false,    // text chat remains enabled\n        true,    // voice chat is disabled\n        false,    // allow placing map markers (Optional, default false - added in v2.20)\n        true    // disable drawing on map (Optional, default false - added in v2.20)\n    },\n    { 3, true, true }\n};\n```\n\n##### disabledAI\n\nMultiplayer setting that removes all playable units which do not have a human player.\n\nWhen AI is disabled, a player logging out will **not** have AI take control of his character.\n\n> [!IMPORTANT]\n> Disabling AI units will prevent JIP into playable units if **respawn** is disabled.\n\n```cpp\ndisabledAI = 1; // 0: AIs fill empty slots - 1: AIs are disabled, only players can spawn. Default: 0\n```\n\n##### disableRandomization (Arma 3 v1.42)\n\nDisables randomisation on certain objects, object types or object kinds in the mission. For more information visit: Arma 3: Vehicle Customisation\n\n```cpp\ndisableRandomization[] = { \"All\", \"AllVehicles\", \"B_G_Offroad_01_F\", \"myCar\", \"MyUnitName\", \"B_Soldier_F\" };\n```\n\nNote: This takes higher priority and will override the following:\n\n```sqf\n_vehicle setVariable [\"BIS_enableRandomization\", true]; // cannot enable for all or specific vehicles once disabled in description.ext\n```\n\n##### enableDebugConsole (Arma 3 v0.50)\n\nAllows access to the Debug Console in multiplayer scenarios outside of the editor. This has no effect for singleplayer scenarios.\n\nSince Arma 3 v2.18 also makes the console available in singleplayer scenarios.\n\n```cpp\nenableDebugConsole = 2; // dangerous in MP\n```\n\n- 0 - Default behavior, available only in editor\n- 1 - Available in SP and for hosts / logged in admins\n- 2 - Available for everyone\n\nAlternative since Arma 3 v1.72\n\n```cpp\nenableDebugConsole[] = { \"76561198XXXXXXXXX\", \"76561198YYYYYYYYY\", }; // admins and players with their UID in this list have access\n```\n\n##### enableItemsDropping (Arma 2: Operation Arrowhead v1.62)\n\nDisable dropping items while swimming. Introduced in Arma 2: Operation Arrowhead BETA 1.60.93965. Doesn't seem to have any effect in Arma 3.\n\n```cpp\nenableItemsDropping = 0; // 0: disabled - 1: enabled. Default: ?\n```\n\n##### enableTeamSwitch\n\nEnables or disables Team Switch functionality in MP when respawn type is 5 (SIDE).\n\n```cpp\nenableTeamSwitch = 0; // 0: disabled - 1: enabled. Default: 1\n```\n\n##### forceRotorLibSimulation (Arma 3 v1.34)\n\nForce enable or disable RotorLib flight model.\n\n```cpp\nforceRotorLibSimulation = 1; // Default: 0\n```\n\n- 0 - based on player's options\n- 1 - enabled (advanced mode)\n- 2 - disabled (default flight mode)\n\n##### hostDoesNotSkipLobby (Arma 3 v2.06)\n\nStops hosting player from skipping the lobby if  is used\n\n```cpp\nhostDoesNotSkipLobby = 1;\n```\n\n##### joinUnassigned (Arma 3 v0.50)\n\nBy default a new player is not auto assigned a free playable slot in the mission lobby in Multiplayer.\nDisable this setting to make him auto assigned to the side with least players.\n\n```cpp\njoinUnassigned = 0; // 0: disabled - 1: enabled. Default: 1\n```\n\n##### minScore, avgScore, maxScore\n\nSet minimum, average and maximum score for your mission.\nScore is related to the star display in the debriefing screen (OFP:CWC).\nThe score can be influenced during a missions progress by using the addRating command.\n\n```cpp\nminScore = 0;\navgScore = 1800;\nmaxScore = 75000;\n```\n\n> [!IMPORTANT]\n> Values have to follow this formula: **minScore < avgScore < maxScore**. Any other combinations can lead to game freeze upon mission end.\n\n##### missionGroup (Arma 3 v2.10)\n\nShared mission group name to override default missionName used with missionProfileNamespace, saveMissionProfileNamespace\n\n```cpp\nmissionGroup = \"SomeNameDescribingCommonMissions\";\n```\n\n##### onCheat (Arma 3 v1.00)\n\nExecutes custom statement when player enters the GETALLGEAR cheat (see: GETALLGEAR).\n\n```cpp\nonCheat = \"hint str _this\";\n```\n\n##### onPauseScript (Arma 2: Operation Arrowhead v1.62)\n\nExecutes a custom SQF script or function in scheduled environment (execVM) when player brings up Game Pause screen (presses 'Esc' button).\nDisplay parameter of the resulting dialog is available via `_this select 0` inside the script.\n\n```cpp\nonPauseScript    = \"myOnPauseScript.sqf\";                            // file path\nonPauseScript[]    = { \"myOnPauseFunction1\", \"myOnPauseFunction2\" };    // function name - since Arma 3\n```\n\n> [!IMPORTANT]\n> The script or function executes **in its own namespace**. In order to get/set external global variable you need to explicitly use mission namespace:\n> **Set:**\n>\n> ```sqf\n> // myVar2 = \"345\";                                    // will set the variable only in onPauseScript namespace\n> missionNamespace setVariable [\"myVar2\", \"345\"];        // will be available as a global variable\n> ```\n>\n> **Get:**\n>\n> ```sqf\n> // hint str myVar;                                    // will raise an undefined variable myVar error\n> hint str (missionNamespace getVariable \"myVar\");    // will access the global variable properly\n> ```\n\n##### saving (Armed Assault v1.00)\n\nToggle saving possibility.\n\n```cpp\nsaving = 0; // 0: disabled - 1: enabled. Default: 1\n```\n\n##### scriptedPlayer (Take On Helicopters v1.00)\n\nWhen scripted player is enabled, game no longer shows \"No player select\" error message upon mission start when no player unit is present.\n\n```cpp\nscriptedPlayer = 1; // 0: disabled - 1: enabled. Default: 0\n```\n\n##### skipLobby (Arma 3 v1.60)\n\nWhen enabled, joining player will join the mission bypassing role selection screen.\nThe #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.\n\n```cpp\nskipLobby = 1; // 0: disabled - 1: enabled. Default: 0\n```\n\n### Server Security\n\nThis section underlines mission security settings for server. They can secure or break your mission, so be sure to use them wisely.\n\n##### allowFunctionsLog (Arma 3 v0.50)\n\nAllows functions to log to the RPT file.\n\n```cpp\nallowFunctionsLog = 1; // 0: disabled - 1: enabled. Default: ?\n```\n\n##### allowFunctionsRecompile (Arma 3 v1.00)\n\nAs a security measure, functions are by default protected against rewriting during mission.\nThis restriction does not apply in missions previewed from the editor.\n\n```cpp\nallowFunctionsRecompile = 1; // 0: disabled - 1: enabled. Default: 0\n```\n\n##### zeusCompositionScriptLevel (Arma 3 v2.06)\n\n```cpp\nzeusCompositionScriptLevel = 0;    // 0: all scripts are forbidden\n                                // 1: only attributes are allowed (including custom attributes added by mods)\n                                // 2: all scripts are allowed including init scripts\n                                // Default: 1\n```\n\n##### CfgDisabledCommands (Arma 3 v1.66)\n\nDefine disabled script commands. See CfgDisabledCommands for more detailed explanations.\n\n##### CfgRemoteExec (Arma 3 v1.50)\n\nDefine remoteExec and remoteExecCall restrictions. See CfgRemoteExec for more detailed explanations and examples.\n\n### Tasks\n\nTasks are part of the mission. This section deals with the settings for them.\n\nSee also Arma 3: Task Framework#Task Overhaul\n\n##### taskManagement_markers2D (Arma 3 v1.42)\n\nUse new 2D markers.\n\n```cpp\ntaskManagement_markers2D = 1; // 0: disabled - 1: enabled. Default: 0\n```\n\n##### taskManagement_markers3D (Arma 3 v1.42)\n\nUse new 3D markers.\n\n```cpp\ntaskManagement_markers3D = 1; // 0: disabled - 1: enabled. Default: 0\n```\n\n##### taskManagement_propagate (Arma 3 v1.42)\n\nPropagate shared tasks to subordinates.\n\n```cpp\ntaskManagement_propagate = 1; // 0: disabled - 1: enabled. Default: 0\n```\n\n##### taskManagement_drawDist (Arma 3 v1.42)\n\n3D marker maximum draw distance in meters. within this range, unassigned tasks are drawn on screen.\n\n```cpp\ntaskManagement_drawDist = 2500; // in meters. Default: 2000\n```\n\n##### CfgTasks (Armed Assault v1.00)\n\nAgents task config\n\n```cpp\nclass CfgTasks\n{\n    class Default\n    {\n        name = \"\";\n        fsm = \"\";        // relative path to fsm file\n        condition = \"\";    // relative path to sqf file (compiled and stored for the duration of run time, executed frequently)\n        description = \"\";\n        destination = \"\";\n        resources[] = {};\n    };\n};\n```\n\n##### CfgTaskTypes (Arma 3 v1.54)\n\nDefine Task types and their icons.\n\n```cpp\nclass CfgTaskTypes\n{\n    class Attack\n    {\n        icon    = \"\\A3\\UI_F_MP_Mark\\Data\\Tasks\\Types\\Attack_ca.paa\";\n        icon3D    = \"\\A3\\UI_F_MP_Mark\\Data\\Tasks\\Types3D\\Attack_ca.paa\";\n    };\n\n    class Defend\n    {\n        icon    = \"\\A3\\UI_F_MP_Mark\\Data\\Tasks\\Types\\Defend_ca.paa\";\n        icon3D    = \"\\A3\\UI_F_MP_Mark\\Data\\Tasks\\Types3D\\Defend_ca.paa\";\n    };\n};\n```\n\n##### CfgTaskDescriptions (Arma 3 v1.12)\n\nDefine Task titles and descriptions.\n\n```cpp\nclass CfgTaskDescriptions\n{\n    class myTask1\n    {\n        title        = \"my task title\";\n        description    = \"my task description\";\n        marker        = \"my task destination marker\";\n    };\n\n    class myTask2\n    {\n        title        = \"STR_myTask2Title\";            // note the lack of $ sign here!\n        description    = \"STR_myTask2Description\";        // without $, it translates for each client\n        marker        = \"STR_myTask2Marker\";            // with $ everyone sees the server's language\n    };\n};\n```\n\n##### CfgTaskEnhancements (Arma 3 v1.42)\n\nDefines tasks enhancements directly in a class.\n\n```cpp\nclass CfgTaskEnhancements\n{\n    enable        = 1; // 0: disable new task features (default), 1: enable new task features and add new task markers and task widgets into the map\n    3d            = 1; // 0: do not use new 3D markers (default), 1: replace task waypoints with new 3D markers\n    3dDrawDist    = 0; // 3d marker draw distance (default: 2000)\n    share        = 1; // 0: do not count assigned players (default), 1: count how many players have the task assigned\n    propagate    = 1; // 0: do not propagate (default), 1: propagate shared tasks to subordinates\n};\n```\n\n### Custom Content Definition\n\nThe following class definitions allow for mission-defined content like sounds, music, or more advanced content like functions\n\n##### CfgCameraEffects\n\nConfigure custom cameraEffect.\n\n```cpp\nclass CfgCameraEffects\n{\n    class Array\n    {\n        class External\n        {\n            type = 0;\n            duration = 6;    // 3 seconds for some reason\n            file = \"\";        // some kind of custom .p3d file for camera\n        };\n\n        class AutoTerminate : External\n        {\n            type = 3;        // CamChained\n            chain[] = { \"External\", \"Terminate\" }; // Terminate will trigger after 3 seconds\n        };\n    };\n};\n```\n\nExample:\n\n```sqf\nshowCinemaBorder false;\nprivate _dur = getNumber (missionConfigFile >> \"CfgCameraEffects\" >> \"Array\" >> _this >> \"duration\");\nprivate _cam = \"camera\" camCreate (player modelToWorld [0, -100, 50]);\n_cam camSetTarget player;\n_cam camSetRelPos [0, -0.1, 1.8];\n_cam camCommit (_dur / 2);\n_cam cameraEffect [\"AutoTerminate\", \"Back\"];\nwaitUntil { camCommitted _cam };\ncamDestroy _cam;\n```\n\n##### CfgCommunicationMenu (Arma 3 v1.00)\n\nThis entry allows to add commanding menu option in the communication menu. See Arma 3: Communication Menu for more information.\n\n##### CfgCommands (Arma 3 v1.50)\n\nThis entry contains a list of configurations for certain scripting commands (currently only `allowedHTMLLoadURIs` for htmlLoad, ctrlSetURL and menuSetURL).\nThis entry can be defined in Config.cpp or in a campaign or mission Description.ext; the most local variant is used.\n\n```cpp\nclass CfgCommands\n{\n    // Note that in case of clients connected to dedicated server, restrictions defined in its config have priority.\n    allowedHTMLLoadURIs[] +=\n    {\n        \"*.mywebsite.com\",\n        \"*.mywebsite2.com/something/*\",\n        // ...\n        \"*.mywebsiteN.com\"\n    };\n};\n```\n\n###### `allowedHTMLLoadURIs`\n\nDefines a list of URIs that can be used with htmlLoad, ctrlSetURL and menuSetURL. Only URIs with the following protocols are supported:\n- HTTP (e.g. `http://example.com/`)\n- HTTPS (e.g. `https://example.com/`)\n- FTP (e.g. `ftp://ftp.example.com/`)\n- Gopher (e.g. `gopher://gopher.example.com/`)\n- Arma 3 v2.22 TeamSpeak 3 (e.g. `ts3server://ts3.example.com`)\n\nThe URIs support wildcards:\n- `-` matches any character zero or more times (e.g. `https://*.example.com/` matches `https://www.example.com/` and `https://files.example.com/`)\n- `?` matches any character exactly once (e.g. `https://example.com/?` matches `https://example.com/a` and `https://example.com/b`)\n\n> [!NOTE]\n> Some domains are automatically whitelisted, such as \"arma3.com\" or \"bistudio.com\".\n> This is a list of all patterns for whitelisted URLs in the engine:\n>\n> ```sqf\n> \"(ftp|http|https)://arma3\\\\.com/.*\"\n> \"(ftp|http|https)://[a-zA-Z0-9]+\\\\.arma3\\\\.com/.*\"\n> \"(ftp|http|https)://bistudio\\\\.com/.*\"\n> \"(ftp|http|https)://[a-zA-Z0-9]+\\\\.bistudio\\\\.com/.*\"\n> \"(ftp|http|https)://bohemia\\\\.net/.*\"\n> \"(ftp|http|https)://[a-zA-Z0-9]+\\\\.bohemia\\\\.net/.*\"\n> \"(ftp|http|https)://armaplatform\\\\.com/.*\"\n> \"(ftp|http|https)://[a-zA-Z0-9]+\\\\.armaplatform\\\\.com/.*\"\n> \"(ftp|http|https)://store\\\\.steampowered\\\\.com/.*\"\n> \"https://steamcommunity\\\\.com/workshop/.*\"\n> ```\n\n##### CfgFunctions (Arma 2 v1.00)\n\nDefine functions for your mission. For a detailed explanation, see:\n\n|  |  |\n|---|---|\n| - Arma 3 v1.00 | Arma 3: Functions Library |\n| - Arma 2 v1.00 Arma 2: Operation Arrowhead v1.00 | Arma 2: Functions Library |\n| - Take On Helicopters v1.00 | Take On Helicopters: Functions Library |\n\n##### CfgHints (Arma 3 v1.00)\n\nDefine Advanced Hints (similar to the Field Manual ones). See Advanced Hints for more information.\n\n##### CfgIdentities\n\nDefine the identities of individual units, you can specify the face, type of glasses worn, voice, tone of voice and name of an identity.\nYou then give a specific unit this identity by using the command setIdentity in the mission.\n\n> [!NOTE]\n> the `nameSound` entry is only valid since Arma 3. See setNameSound for possible values.\n\n```cpp\nclass CfgIdentities\n{\n    class MyLittleSoldier\n    {\n        name        = \"Givens\";\n        nameSound    = \"Givens\"; // Arma 3 only!\n        face        = \"whiteHead_06\";\n        glasses        = \"None\";\n        speaker        = \"Male05ENG\";\n        pitch        = 1.1;\n    };\n};\n```\n\nExample:\n\n```sqf\nplayer setIdentity \"MyLittleSoldier\";\n```\n\nSee CfgIdentities for more detailed information and valid options for face, glasses, speaker etc.\n\n##### CfgLeaflets (Arma 3 v1.76)\n\nDefine leaflets for your missions. See Arma 3: Leaflets for more information.\n\n##### CfgMusic\n\nDefines music you can play with playMusic.\n\n```cpp\nclass CfgMusic\n{\n    tracks[] = {};\n    class MyIntro\n    {\n        // display name\n        name    = \"My intro music\";\n\n        // filename, volume, pitch\n        sound[]    = { \"\\music\\filename.ogg\", db + 0, 1.0 };\n    };\n    class Ludwig9\n    {\n        name    = \"Ludwig Van Beethoven's Ninth Symphony\";\n        sound[]    = { \"\\music\\ludwig9.ogg\", db + 10, 1.0 };\n    };\n};\n```\n\nExample:\n\n```sqf\nplayMusic \"MyIntro\";\n```\n\n> [!IMPORTANT]\n> Setting volume (db) of music far from zero will disable fadeMusic command. Optimal values are from -10 to 10.\n\n##### CfgNotifications (Arma 3 v1.12)\n\nDefine custom notifications to be shown with BIS_fnc_showNotification. See Notification for more detailed information and examples.\n\n##### CfgPostprocessTemplates (Arma 3 v1.00)\n\nDefine custom post-process effects, to Post Process Effects format (only \"colorCorrection\" and \"filmGrain\" are supported for now).\n\nTo be used with BIS_fnc_setPPeffectTemplate.\n\n```cpp\nclass CfgPostprocessTemplates\n{\n    class MyPurplePP\n    {\n        colorCorrections[] = { 1, 1, 0, { 1, 1, 1, 0 }, { 1, 0.5, 1, 0 }, { 0.75, 0.25, 0, 1 } };\n        displayName = \"Purple-ish!\";\n        filmGrain[] = { 0.04, 1, 1, 0, 1 };\n    };\n};\n```\n\n##### CfgRadio\n\nDefines radio sentences you can play with these radio commands: customRadio, vehicleRadio, groupRadio, sideRadio, globalRadio.\n\n```cpp\nclass CfgRadio\n{\n    sounds[] = {};\n    class RadioMsg1\n    {\n        // display name\n        name    = \"\";\n\n        // filename, volume, pitch\n        sound[]    = { \"\\sound\\filename1.ogg\", db - 100, 1.0 };\n\n        // radio caption\n        title    = \"I am ready for your orders.\";\n    };\n\n    class RadioMsg2\n    {\n        name    = \"\";\n        sound[]    = { \"\\sound\\filename2\", db - 100, 1.0 }; // .wss implied\n        title    = \"$STR_RADIO_2\";\n    };\n};\n```\n\nExample:\n\n```sqf\nunit sideRadio \"RadioMsg2\";\n```\n\n##### CfgSentences\n\nSee Conversations for more information.\n\n##### CfgSFX\n\nSee CfgSFX for more information.\n\n##### CfgSounds\n\nGeneral sounds that can be used for dialog, voiceovers in the briefing etc.\n\nSee also commands playSound, say, say2D and say3D.\n\n```cpp\nclass CfgSounds\n{\n    sounds[] = {}; // OFP required it filled, now it can be empty or absent depending on the game's version\n\n    class wolf1\n    {\n        name = \"My wolf sound\";                        // display name\n        sound[] = { \"fx\\wolf1.ogg\", 1, 1, 100 };    // file, volume, pitch, maxDistance\n        titles[] = { 0, \"*wolf growls*\" };            // subtitles\n\n        titlesFont = \"LCD14\";        // OFP:R - titles font family\n        titlesSize = 0.1;            // OFP:R - titles font size\n\n        forceTitles = 1;            // Arma 3 - display titles even if global show titles option is off (1) or not (0)\n        titlesStructured = 1;        // Arma 3 - treat titles as Structured Text (1) or not (0)\n    };\n};\n```\n\n| Property | Description |\n|---|---|\n| sounds[] | *Was* required in previous titles, and needed to be filled with `CfgSounds` defined sounds at the beginning of Operation Flashpoint.<br>At least in Arma 3 the engine finds them without this value which can now be ignored entirely. |\n| 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\"`) |\n| sound[] | An array containing:<br>- file path: the relative path to the file<br>Since Arma 3 v1.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\"`<br>- volume: between 0 and 5, 1 being normal volume<br>> [!NOTE]<br>> 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))`.<br>- pitch: 1 is normal pitch, 2 = chipmunk, 0.5 = Darth Vader, etc<br>- max distance: (Optional, default `*volume* × 1000`) maximum distance at which the sound is heard, in metres |\n| titles[] | An array format `{ time1, text1, time2, text2 }` etc:<br>- time#: can be a number or an array:<br>  - number: sound time at which the text is displayed (2 = 2s after sound start)<br>  - array: format `{ displayTime, displayDurationFactor }`:<br>    - displayTime: sound time at which the text is displayed (2 = 2s after sound start)<br>    - displayDurationFactor: default value is 1 (for 10s subtitle display), 0.5 means half the time (5s), 2 means twice the time (20s) etc<br>- text#: the text to be displayed<br>> [!IMPORTANT]<br>> 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). |\n| Operation Flashpoint: Resistance v1.75 titlesFont | (Optional) titles font family |\n| Operation Flashpoint: Resistance v1.75 titlesSize | (Optional) titles font size |\n| Arma 3 v0.50 forceTitles | (Optional) if set to 1, will display titles even if global show titles option is off |\n| Arma 3 v0.50 titlesStructured | (Optional) if set to 1, treat titles as Structured Text (e.g `0, \"<t color=\"\"#ff0000\"\">Red text</t>\"`) |\n\nExample:\n\n```sqf\nplaySound \"wolf1\"; // class name as string\nplayer say [\"wolf1\", 100];\n```\n\n> [!NOTE]\n> See [OFP ToadLife's tutorial](http://ofp.toadlife.net/downloads/tutorials/tutorial_sound/tutorial_sound.html) for a sound advice.\n\n##### CfgUnitInsignia (Arma 3 v1.24)\n\nDefine custom unit insignia (shoulder patches). See Arma 3: Unit Insignia for more detailed information.\n\n```cpp\nclass CfgUnitInsignia\n{\n    class 111thID\n    {\n        displayName = \"111th Infantry Division\";    // name displayed in Arsenal\n        author = \"Bohemia Interactive\";                // author displayed in Arsenal\n        texture = \"\\a3\\UI_F_Bootcamp\\Data\\CfgUnitInsignia\\B_111thID_texture_ca.paa\"; // image path\n        textureVehicle = \"\";                        // does nothing, was reserved for future use\n    };\n};\n```\n\n##### CfgUnitTemplates (Arma 3 v1.50)\n\nThis class is used to create units templates. For now, this is only used with the function BIS_fnc_unitHeadgear.\n\n```cpp\nclass CfgUnitTemplates\n{\n    // Classic selectRandom\n    class MyFirstTemplate : Default\n    {\n        headgearList[] =\n        {\n            \"H_Cap_blk\",\n            \"H_Cap_grn\",\n            \"H_Cap_oli_hs\"\n        };\n\n        facewearList[] =\n        {\n            \"G_Bandanna_beast\",\n            \"G_Bandanna_blk\",\n            \"G_Bandanna_khk\"\n        };\n    };\n\n    // the probabilities will be considered, weighted random\n    class MySecondTemplate : Default\n    {\n        headgearList[] =\n        {\n            \"H_Cap_blk\",    0.9,\n            \"H_Cap_grn\",    0.6,\n            \"H_Cap_oli_hs\",    0.55\n        };\n\n        facewearList[] =\n        {\n            \"G_Bandanna_beast\",    0.5,\n            \"G_Bandanna_blk\",    0.5,\n            \"G_Bandanna_khk\",    0.5\n        };\n    };\n};\n```\n\nExample:\n\n```sqf\n[myUnit, \"MyFirstTemplate\"]        call BIS_fnc_unitHeadgear;\n[myUnit, \"MySecondTemplate\"]    call BIS_fnc_unitHeadgear;\n```\n\n##### CfgVehicles (Arma 3 v1.70)\n\nThis class can only be used to create sound sources.\n\nSee also #CfgSFX for more detailed information.\n\n```cpp\nclass CfgVehicles\n{\n    class MyOwlSound        // class name to be used with createSoundSource\n    {\n        sound = \"MyOwl\";    // reference to CfgSFX class\n    };\n};\n```\n\n##### CfgVehicleTemplates (Arma 3 v1.42)\n\nThis class is used to create vehicle templates used by the Vehicle Customisation system.\n\n```cpp\nclass CfgVehicleTemplates\n{\n    class BIS_Offroad_01_default\n    {\n        displayName = \"Default\";\n        author = \"Bohemia Interactive\";\n        textureList[] =\n        {\n            \"guerilla_01\", 0.5,\n            \"guerilla_02\", 1\n        };\n\n        animationList[] =\n        {\n            \"HideBumper1\", 1,\n            \"HideBumper2\", 1\n        };\n    };\n};\n```\n\n##### RscTitles\n\nThis class is used to define custom HUDs. See Arma: GUI Configuration for more information.","sections":[{"heading":null,"level":1,"markdown":"The Description.ext file is a missionConfigFile and is used to set the overall mission attributes or to define global properties that will be available for other scripts.\nIt 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.\n\nAdditionally, many attributes can also be set via the Eden Editor, where changes are automatically refreshed upon scenario preview.\nIn the 2D Editor the mission has to be reloaded for changes to be applied.\n\n> [!NOTE]\n> This file is required in Operation Flashpoint: Elite for MP missions to work, otherwise a **-1 error** is shown.\n\n> [!NOTE]\n> This page is about the **Mission Description.ext**. For the campaign version, see Campaign Description.ext.\n\n> [!WARNING]\n> The keyword `class` for class definitions **must** be lowercase, otherwise a parsing error will occur.\n\n> [!IMPORTANT]\n> Accidentally creating this file with a wrong file extension is a frequent cause of issues.\n> If you are unfamiliar with script file creation, read Introduction to Arma Scripting#File Creation for a step-by-step tutorial.\n\n> [!NOTE]\n> **Arma 3:** Since Arma 3 v2.02, it is possible to import a class from main config and inherit from it in mission config:\n>\n> ```cpp\n> import RscText;\n> class MyText : RscText\n> {\n>     // ...\n> };\n> ```\n>\n> For more information, see the import (Config) page."},{"heading":"Mission Information","level":3,"markdown":"This section helps you find out how to customise Mission overall external appearance, from Mission Overview to Loading Screens.\n\n**Loading screen parameters**\n\n```cpp\nauthor            = \"Varanon\";\nonLoadName        = \"Point Insertion\";\nonLoadMission    = \"A group of NATO soldiers is tasked with sabotaging a coastal defense.\";\nloadScreen        = \"images\\loadScreen.paa\";\n\nclass Header\n{\n    gameType = \"Coop\";    // game type\n    minPlayers =  1;    // minimum number of players the mission supports\n    maxPlayers = 10;    // maximum number of players the mission supports\n};\n```\n\n> [!NOTE]\n> Header's `playerCountMultipleOf` entry is available in earlier titles (from Operation Flashpoint: Elite to Arma 3 1.30), allowing to setup the auto-assign team balancing factor: 1 for Coop, 2 for Versus."},{"heading":"author (Arma 3 v0.50)","level":5,"markdown":"Mission author's name. The default loading screen shows this string below the #onLoadName in a smaller font prefixed by \"by \"."},{"heading":"onLoadName (Arma 3 v0.50)","level":5,"markdown":"String (usually mission name) shown during mission loading. The string is shown in a slightly larger font above the loadScreen.\nThe #onLoadMission text is placed below the load screen and the header gameType determines the game type on top of the box."},{"heading":"onLoadMission","level":5,"markdown":"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.\nIn **OFP** this is the name you see when selecting a mission in MP and also the name that is presented to the Multiplayer browser.\n\n```cpp\nonLoadMission = \"YourMissionName\";\n```"},{"heading":"loadScreen (Arma 2: Operation Arrowhead v1.50)","level":5,"markdown":"The picture to be shown while the mission is loaded. The path is relative to the mission folder. Must be in PAA file format.\n2:1 aspect ratio (different aspect are rendered correctly as well, but won't cover the whole area).\nIdeally 1024x512 pixels.\n\n```cpp\nloadScreen = \"pictures\\intro.paa\";\n```"},{"heading":"header (Armed Assault v1.00)","level":5,"markdown":"This class defines mission type and other settings displayed in the multiplayer browser.\n\n```cpp\nclass Header\n{\n    gameType = \"CTF\";    // Game type\n    minPlayers =  1;    // minimum number of players the mission supports\n    maxPlayers = 10;    // maximum number of players the mission supports\n};\n```\n\nSee Multiplayer Game Types for more detailed information."},{"heading":"onLoadIntro","level":5,"markdown":"Displays a message while the intro is loading.\n\n```cpp\nonLoadIntro = \"YourMessage\";\n```"},{"heading":"onLoadMissionTime","level":5,"markdown":"Define whether you will see the time and date displayed while the mission loads. Effect unkown in Arma 3.\n\n```cpp\nonLoadMissionTime = 1; // 0: disabled - 1: enabled. Default: 1\n```"},{"heading":"onLoadIntroTime","level":5,"markdown":"Define whether you will see the time and date displayed while the intro loads.\n\n```cpp\nonLoadIntroTime = 1; // 0: disabled - 1: enabled. Default: 0\n```"},{"heading":"briefingName (Arma 3 v1.56)","level":5,"markdown":"Mission name displayed in the mission selection menu.\n\n```cpp\nbriefingName = \"TAG 1-5 CO My super mission\";\n```\n\n> [!IMPORTANT]\n> 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 `@`."},{"heading":"CfgLoadingTexts (Take On Helicopters v1.00)","level":5,"markdown":"Define mission specific loading texts."},{"heading":"overviewPicture (Arma 3 v0.50)","level":5,"markdown":"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)."},{"heading":"overviewText (Arma 3 v0.50)","level":5,"markdown":"Text to be displayed below the #overviewPicture on the mission selection screen when the mission is available to play.\n\n> [!IMPORTANT]\n> 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 `@`.\n\n> [!IMPORTANT]\n> The text that appears at the top of an MP mission is defined in **mod** mission definition and **not** through Description.ext:\n>\n> ```cpp\n> class Mission\n> {\n>     // ...\n>     class Intel\n>     {\n>         overviewText = \"This text here\";\n>         // ...\n>     };\n>     // ...\n> };\n> ```"},{"heading":"overviewTextLocked (Arma 3 v0.50)","level":5,"markdown":"Text to be displayed below the #overviewPicture on the mission selection screen when the mission is locked from play.\n\n> [!IMPORTANT]\n> Please note that to use localized string prefix stringtable ID with `@`."},{"heading":"onBriefingGear","level":5,"markdown":"Defines a sound (defined in #CfgSounds) that will play when accessing the gear part of the briefing. See Briefing.html.\n\n```cpp\nonBriefingGear = \"SoundName\";\n```\n\n> [!NOTE]\n> **Arma 3:** Has no effect in Arma 3."},{"heading":"onBriefingGroup","level":5,"markdown":"Defines a sound (defined in #CfgSounds) that will play when accessing the group part of the briefing. See Briefing.html.\n\n```cpp\nonBriefingGroup = \"SoundName\";\n```\n\n> [!NOTE]\n> **Arma 3:** Has no effect in Arma 3."},{"heading":"onBriefingPlan","level":5,"markdown":"Defines a sound (defined in #CfgSounds) that will play when accessing the plan part of the briefing. See Briefing.html.\n\n```cpp\nonBriefingPlan = \"SoundName\";\n```\n\n> [!NOTE]\n> **Arma 3:** Has no effect in Arma 3."},{"heading":"CfgWorlds (Arma 3 v2.02)","level":5,"markdown":"Could be used to override the following properties used on mission loading: author, description, pictureMap, pictureShot, loadingTexts[].\nIf 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.\n\n```cpp\nclass CfgWorlds\n{\n    class Any // or specific world name\n    {\n        author = \"author\";\n        description = \"description\";\n        pictureMap = \"picturepath\";\n        pictureShot = \"picturepath\";\n        loadingTexts[] = { \"text1\", \"text2\", \"text3\" };\n    };\n};\n```"},{"heading":"Respawn/Revive","level":3,"markdown":"This section talks about respawn and revive actions.\n- for Arma 2, see First Aid.\n- for Arma 3, see Arma 3: Respawn and Arma 3: Revive.\n\n|  |  |  |\n|---|---|---|\n| + Respawn types |  |  |\n| ID | Text version | Description |\n| **0** | **\"NONE\"** | No respawn |\n| **1** | **\"BIRD\"** | Respawn as a seagull |\n| **2** | **\"INSTANT\"** | Respawn just where you died. |\n| **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:<br>- Unit respawn: *respawn_**SIDE***<br>- Vehicle respawn: *respawn_vehicle_**SIDE***<br>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. |\n| **4** | **\"GROUP\"** | Respawn in your group. If there is no remaining AI, you will become a seagull. |\n| **5** | **\"SIDE\"** | Armed Assault v1.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. |"},{"heading":"respawn","level":5,"markdown":"Sets soldiers and vehicles respawn type.\n\n```cpp\nrespawn = 0;        // Default: 0 for SP, 1 for MP\nrespawn = \"SIDE\";    // text version works too\n```"},{"heading":"respawnVehicle (Arma 3 v2.18)","level":5,"markdown":"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.\n\n```cpp\nrespawnVehicle = 3;            // number version\nrespawnVehicle = \"BASE\";    // text version works too\n```"},{"heading":"respawnButton","level":5,"markdown":"Enable or disable the respawn button in the menu for INSTANT and BASE respawn types.\n\n```cpp\nrespawnButton = 0; // 0: disabled - 1: enabled. Default: 1\n```"},{"heading":"respawnDelay","level":5,"markdown":"Set respawn delay in seconds.\n\n```cpp\nrespawnDelay = 42; // Default: ?\n```"},{"heading":"respawnVehicleDelay","level":5,"markdown":"Set vehicle respawn delay in seconds.\n\n```cpp\nrespawnVehicleDelay = 12; // Default: ?\n```"},{"heading":"respawnDialog","level":5,"markdown":"Show the scoreboard and respawn countdown timer for a player if he is killed with respawn type **3**.\n\n```cpp\nrespawnDialog = 0; // 0: disabled - 1: enabled. Default: 1\n```"},{"heading":"respawnOnStart","level":5,"markdown":"Respawn player when he joins the game. Available only for INSTANT and BASE respawn types.\n\n```cpp\nrespawnOnStart = 1; // Default: 0\n```\n\n- -1 - Dont respawn on start. Don't run respawn script on start.\n-  0 - Dont respawn on start. Run respawn script on start.\n-  1 - Respawn on start. Run respawn script on start."},{"heading":"respawnTemplates","level":5,"markdown":"Respawn templates from CfgRespawnTemplates. You can combine any number of them together.\n\n```cpp\nrespawnTemplates[] = { \"Counter\", \"Wave\" };\n```\n\n> [!IMPORTANT]\n> Side specific respawn templates can be specified with *respawnTemplates***SIDE***[]* where **SIDE** can be any playable side (West, East, Guer, Civ).\n>\n> When such is undefined, general respawnTemplates are used instead."},{"heading":"respawnWeapons (Armed Assault v1.00)","level":5,"markdown":"Set weapons players will receive upon respawn. #respawnMagazines has to be defined as well.\n\n```cpp\nrespawnWeapons[] = { \"arifle_Katiba_GL_F\" };\n```\n\n> [!IMPORTANT]\n> Side specific respawn weapons can be specified with *respawnWeapons***SIDE***[]* where **SIDE** can be any playable side (West, East, Guer, Civ).\n>\n> Corresponding *respawnMagazines***SIDE***[]* has to be defined as well."},{"heading":"respawnMagazines (Armed Assault v1.00)","level":5,"markdown":"Set magazines players will receive upon respawn. #respawnWeapons has to be defined as well.\n\n```cpp\nrespawnMagazines[] = { \"30Rnd_65x39_caseless_green\", \"30Rnd_65x39_caseless_green\" };\n```\n\n> [!IMPORTANT]\n> Side specific respawn weapons can be specified with *respawnMagazines***SIDE***[]* where **SIDE** can be any playable side (West, East, Guer, Civ).\n>\n> Corresponding *respawnWeapons***SIDE***[]* has to be defined as well."},{"heading":"reviveMode (Arma 3 v1.62)","level":5,"markdown":"Define if Revive mode is enabled.\n\n```cpp\nreviveMode = 1; // Default: 0\n```\n\n- 0 - disabled\n- 1 - enabled\n- 2 - controlled by player attributes"},{"heading":"reviveUnconsciousStateMode (Arma 3 v1.62)","level":5,"markdown":"Define revive mode.\n\n```cpp\nreviveUnconsciousStateMode = 0; // Default: 0\n```\n\n- 0 - basic mode\n- 1 - advanced mode\n- 2 - realistic\nSee damage model for more detailed information."},{"heading":"reviveRequiredTrait (Arma 3 v1.62)","level":5,"markdown":"Define if only a medic (or unit with medic trait) can perform a revive.\n\n```cpp\nreviveRequiredTrait = 0; // 0: disabled - 1: enabled. Default: 0\n```"},{"heading":"reviveRequiredItems (Arma 3 v1.62)","level":5,"markdown":"Define if a medical item (first aid kit or medkit) is required to begin a revive process.\n\n```cpp\nreviveRequiredItems = 2; // Default: ?\n```\n\n- 0 - none\n- 1 - medkit\n- 2 - medkit or first aid kit"},{"heading":"reviveRequiredItemsFakConsumed (Arma 3 v1.62)","level":5,"markdown":"Define if a first aid kit is consumed on reviving a teammate\n\n```cpp\nreviveRequiredItemsFakConsumed = 1; // 0: disabled - 1: enabled. Default: ?\n```"},{"heading":"reviveMedicSpeedMultiplier (Arma 3 v1.62)","level":5,"markdown":"Speed multiplier for revive performed by medic\n\n```cpp\nreviveMedicSpeedMultiplier = 2; // medic revive will be two times faster compared to another soldier\n```"},{"heading":"reviveDelay (Arma 3 v1.62)","level":5,"markdown":"The time in seconds it takes to revive an incapacitated unit. Having a Medikit will halve this time.\n\n```cpp\nreviveDelay = 10; // Default: 6\n```"},{"heading":"reviveForceRespawnDelay (Arma 3 v1.62)","level":5,"markdown":"The time in seconds it takes for an incapacitated unit to force their respawn.\n\n```cpp\nreviveForceRespawnDelay = 5; // Default: 3\n```"},{"heading":"reviveBleedOutDelay (Arma 3 v1.62)","level":5,"markdown":"The time in seconds it takes for a unit to bleed out.\n\n```cpp\nreviveBleedOutDelay = 300; // Default: 120\n```"},{"heading":"enablePlayerAddRespawn (Arma 3 v1.62)","level":5,"markdown":"Usage unsure, may be related to respawn template **MenuPosition**.\n\n```cpp\nenablePlayerAddRespawn = 0; // Disable framework respawn\n```"},{"heading":"CfgRespawnInventory (Arma 3 v1.62)","level":5,"markdown":"This class defines a respawn inventory, used with **MenuInventory** respawn template.\nLoadouts with no assigned role are automatically assigned to the \"Default\" role.\n\nSee also BIS_fnc_addRespawnInventory, BIS_fnc_removeRespawnInventory\n\n```cpp\nclass CfgRespawnInventory\n{\n    class Blufor1\n    {\n        displayName = \"Light\";                                    // Name visible in the menu\n        icon = \"\\A3\\Ui_f\\data\\GUI\\Cfg\\Ranks\\sergeant_gs.paa\";    // Icon displayed next to the name\n        role = \"Assault\";                                        // Optional, see CfgRoles\n\n        // Loadout definition, uses same entries as CfgVehicles classes\n        weapons[] =\n        {\n            \"arifle_MXC_F\",\n            \"Binocular\"\n        };\n\n        magazines[] =\n        {\n            \"30Rnd_65x39_caseless_mag\",\n            \"30Rnd_65x39_caseless_mag\",\n            \"SmokeShell\"\n        };\n\n        items[] =\n        {\n            \"FirstAidKit\"\n        };\n\n        linkedItems[] =\n        {\n            \"V_Chestrig_khk\",\n            \"H_Watchcap_blk\",\n            \"optic_Aco\",\n            \"acc_flashlight\",\n            \"ItemMap\",\n            \"ItemCompass\",\n            \"ItemWatch\",\n            \"ItemRadio\"\n        };\n\n        uniformClass = \"U_B_CombatUniform_mcam_tshirt\";\n        backpack = \"B_AssaultPack_mcamo\";\n    };\n\n    class Blufor2\n    {\n        // Alternative configuration pointing to a CfgVehicles class. Loadout will be copied from it.\n        vehicle = \"B_soldier_AR_F\";\n    };\n};\n```"},{"heading":"CfgRespawnTemplates (Arma 3 v1.62)","level":5,"markdown":"This class defines new respawn templates to be used with respawn templates.\n\n```cpp\nclass CfgRespawnTemplates\n{\n    // class used in respawnTemplates entry\n    class myTag_beacon\n    {\n        // function or script executed upon death\n        // parameters passed into it are the same as are passed into onPlayerKilled.sqf file\n        onPlayerKilled = \"\\myAddon\\scripts\\respawnBeacon.sqf\";\n\n        // function or script executed upon respawn\n        // parameters passed into it are the same as are passed into onPlayerRespawn.sqf file\n        onPlayerRespawn = \"\\myAddon\\scripts\\respawnBeacon.sqf\";\n\n        // default respawn delay\n        // can be overwitten by description.ext attribute of the same name\n        respawnDelay = 20;\n\n        // see respawnOnStart for description and limitations\n        // can be overridden by description.ext attribute of the same name\n        respawnOnStart = 1;\n    };\n\n    class Spectator\n    {\n        onPlayerRespawn = \"BIS_fnc_respawnSpectator\"; // a function can be used instead of a script\n    };\n};\n```"},{"heading":"CfgRoles (Arma 3 v1.62)","level":5,"markdown":"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.\nMission 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.\n\n```cpp\n// all default roles with icons\nclass CfgRoles\n{\n    class Assault\n    {\n        displayName = \"$STR_A3_Role_Assault\";\n        icon = \"a3\\Ui_f\\data\\GUI\\Cfg\\RespawnRoles\\assault_ca.paa\";\n    };\n\n    class Support\n    {\n        displayName = \"$STR_A3_Role_Support\";\n        icon = \"a3\\Ui_f\\data\\GUI\\Cfg\\RespawnRoles\\support_ca.paa\";\n    };\n\n    class Recon\n    {\n        displayName = \"$STR_A3_Role_Recon\";\n        icon = \"a3\\Ui_f\\data\\GUI\\Cfg\\RespawnRoles\\recon_ca.paa\";\n    };\n};\n```"},{"heading":"Mission Keys","level":3,"markdown":"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.\n\nActivated keys can be found in user profile (e.g documents\\*username.Arma3profile*) under *activeKeys* section.\n\nSee also commands activateKey, isKeyActive and deActivateKey for more detailed information.\n\n> [!IMPORTANT]\n> Please note that unlike other text items, stringtable translations ($STR_*) cannot be used."},{"heading":"keys (Armed Assault v1.00)","level":5,"markdown":"List of keys from which #keysLimit counts the *done* ones.\n\n```cpp\nkeys[] = { \"key1\", \"key2\", \"key3\" };\n```"},{"heading":"keysLimit (Armed Assault v1.00)","level":5,"markdown":"Number of keys from the #keys list needed *done* to unlock (and be able to play) this mission.\n\n```cpp\nkeysLimit = 2;\n```"},{"heading":"doneKeys (Armed Assault v1.00)","level":5,"markdown":"Name of keys marked *done* on mission completion.\n\n```cpp\ndoneKeys[] = { \"key4\" };\n```"},{"heading":"Player's UI","level":3,"markdown":"This section explains HUD customisation possibilities.\n\nSee also commands:\n- showCompass, shownCompass, visibleCompass\n- showGPS, shownGPS, visibleGPS\n- showHUD, shownHUD\n- showWatch, shownWatch, visibleWatch\n- showUAVFeed, shownUAVFeed Arma 3 v1.16\n- showPad, shownPad Operation Flashpoint v1.00"},{"heading":"overrideFeedback (Arma 3 v1.98)","level":5,"markdown":"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.\nAdding `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.\nIf 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.\n\n```cpp\noverrideFeedback = 1; // 0: force default handling, 1+: allow custom handling. Default: not set\n```"},{"heading":"showHUD","level":5,"markdown":"Enables/Disables the following IGUI elements:\n- Vehicle and unit info\n- Radar and tactical display\n- Vehicle compass\n- Tank direction indicator\n- Commanding menu\n- Group info bar\n- HUD weapon cursors\n- Vehicle display panels\n- Kill messages\n- 3D Icons visibility\n\n```cpp\nshowHUD = 0; // 0: disabled - 1: enabled. Default: 1\n```\n\nThe effect of using the above **showHUD** param is different from the effects of showHUD scripting command, both methods are rather complementary to each other.\n\nSince Arma 3 v1.50 **showHUD** param can be an array to allow control over separate HUD elements, for example:\n\n```cpp\nshowHUD[] =\n{\n    1,    // Scripted HUD (same as showHUD command)\n    1,    // Vehicle and unit info\n    0,    // Vehicle radar [HIDDEN]\n    0,    // Vehicle compass [HIDDEN]\n    1,    // Tank direction indicator\n    1,    // Commanding menu\n    1,    // Group info bar\n    1,    // HUD weapon cursors\n    1,    // Vehicle display panels\n    1,    // \"x killed by y\" systemChat messages\n    1    // force show drawIcon3D icons\n};\n```\n\n> [!IMPORTANT]\n> Using the **showHUD[]** array parameter will disable the showHUD command entirely."},{"heading":"showCompass","level":5,"markdown":"Defines if the compass is visible.\n\n```cpp\nshowCompass = 0; // 0: disabled - 1: enabled. Default: 1\n```"},{"heading":"showGPS","level":5,"markdown":"Enables/Disables the GPS.\n\n```cpp\nshowGPS = 0; // 0: disabled - 1: enabled. Default: 1\n```\n\nIn Armed Assault *1.04* toggle this option to disable the mini map attached to the GPS."},{"heading":"showGroupIndicator (Arma 3 v1.00)","level":5,"markdown":"Changes default GPS mini map into a radar like display that indicates group members relative position to the player.\n\n```cpp\nshowGroupIndicator = 1; // 0: disabled - 1: enabled. Default: 0\n```\n\n> [!IMPORTANT]\n> Has no effect since custom panels were introduced in Arma 3. See BIS_fnc_groupIndicator."},{"heading":"showMap","level":5,"markdown":"Defines if the map is shown after the mission starts.\n\n```cpp\nshowMap = 0; // 0: disabled - 1: enabled. Default: 1\n```"},{"heading":"showNotePad (Armed Assault v1.00)","level":5,"markdown":"In Armed Assault, defines if the NotePad is shown after the mission starts.\n\n```cpp\nshowNotePad = 0; // 0: disabled - 1: enabled. Default: 1\n```"},{"heading":"showPad (Operation Flashpoint v1.00)","level":5,"markdown":"Defines if the NotePad is shown after the mission starts. **Only in OFP:CWC**.\n\n```cpp\nshowPad = 0; // 0: disabled - 1: enabled. Default: 1\n```"},{"heading":"showWatch","level":5,"markdown":"Defines if the watch is visible.\n\n```cpp\nshowWatch = 0; // 0: disabled - 1: enabled. Default: 1\n```"},{"heading":"showUAVFeed (Arma 3 v1.16)","level":5,"markdown":"Enables/Disables the UAV Feed.\n\n```cpp\nshowUAVFeed = 0; // 0: disabled - 1: enabled. Default: 1\n```"},{"heading":"showSquadRadar (Arma 3 v1.60)","level":5,"markdown":"Defines if the Squad Radar is visible.\n\n```cpp\nshowSquadRadar = 0; // 0: disabled - 1: enabled. Default: 0\n```\n\n> [!IMPORTANT]\n> Has no effect since custom panels were introduced in Arma 3."},{"heading":"overrideHazeQuality (Arma 3 v2.16)","level":5,"markdown":"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.\n\n```cpp\noverrideHazeQuality = 1; // Low\n```"},{"heading":"Starting Gear","level":3,"markdown":"Starting gear points to briefing-available equipment. For respawn equipment, see #Respawn/Revive.\n\nSee also Weapon Pool Commands for more detailed information about weapon pool system."},{"heading":"weapons","level":5,"markdown":"Set weapons available to players during the briefing.\n\n```cpp\nclass Weapons\n{\n    class AK74        { count = 8; };\n    class RPG7V        { count = 2; };\n    class Binocular    { count = 2; };\n};\n```"},{"heading":"magazines","level":5,"markdown":"Set magazines available to players during the briefing.\n\n```cpp\nclass Magazines\n{\n    class 30Rnd_545x39_AK    { count = 32; };\n    class PG7V                { count =  6; };\n    class HandGrenade        { count = 16; };\n};\n```"},{"heading":"backpacks (Arma 2: Operation Arrowhead v1.50)","level":5,"markdown":"Set backpacks available to players during the briefing.\n\n```cpp\nclass Backpacks\n{\n    class US_Patrol_Pack_EP1    { count = 4; };\n    class US_Assault_Pack_EP1    { count = 4; };\n};\n```"},{"heading":"allowSubordinatesTakeWeapons (Arma 2: Operation Arrowhead v1.56)","level":5,"markdown":"Allows subordinates (i.e., not leaders) to equip items defined in #weapons, #magazines and #backpacks.\n\n```cpp\nallowSubordinatesTakeWeapons = 1; // 0: disabled - 1: enabled. Default: ?\n```"},{"heading":"arsenalRestrictedItems (Arma 3 v1.98)","level":5,"markdown":"Used to blacklist undesired Arsenal equipment, which prevents user saved loadout from being loaded if it contains restricted items.\n\n```cpp\narsenalRestrictedItems[] = { \"U_B_Soldier_VR\" };\n```"},{"heading":"allowProfileGlasses (Arma 3 v2.04)","level":5,"markdown":"When set to 0 will stop glasses set in player profile from being added to player's gear:\n\n```cpp\nallowProfileGlasses = 0;\n```"},{"heading":"Corpse and Wreck Management","level":3,"markdown":"This section explains how to use game-included **garbage collector** (**GC**) for better performances.\n\nSee also addToRemainsCollector, isInRemainsCollector and removeFromRemainsCollector commands.\n\nThe Remains Collector, if enabled, runs at background on every client and clears mission of corpses and wrecks depending on set params and mode.\nIndividual objects can be added or removed from collector monitoring. Items in remains collector are sorted depending on how valuable they are.\nThe 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."},{"heading":"corpseManagerMode (Arma 3 v1.32)","level":5,"markdown":"Sets the mode for automatic corpse removal.\n\n```cpp\ncorpseManagerMode = 0; // Default: 0\n```\n\n- 0 *(Default)* = None - None of the units are automatically managed by the manager\n- 1 = All - All units are automatically managed by the manager\n- 2 = None_But_Respawned - Only units that can respawn are automatically managed by the manager\n- 3 = All_But_Respawned - All units are automatically managed by the manager with the exception of respawned ones (opposite to mode 2)"},{"heading":"corpseLimit (Arma 3 v0.50)","level":5,"markdown":"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.\n\n```cpp\ncorpseLimit = 1; // Default: 15\n```"},{"heading":"corpseRemovalMinTime (Arma 3 v0.50)","level":5,"markdown":"See #corpseLimit above.\n\n```cpp\ncorpseRemovalMinTime = 60; // seconds. Default: 10\n```"},{"heading":"corpseRemovalMaxTime (Arma 3 v0.50)","level":5,"markdown":"Monitored corpses that are dead for longer than **corpseRemovalMaxTime** will be considered for removal regardless of the #corpseLimit.\n\n```cpp\ncorpseRemovalMaxTime = 1200; // seconds. Default: 3600\n```"},{"heading":"disposalCheckPeriod (Arma 3 v2.18)","level":5,"markdown":"How often the remains collector checks monitored remains for removal. The value can be between 1 and 60.\n\n```cpp\ndisposalCheckPeriod = 30; // seconds. Default: 10\n```"},{"heading":"minPlayerDistance (Arma 3 v1.66)","level":5,"markdown":"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.\nThe 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.\n\n```cpp\nminPlayerDistance = 50; // meters. Default: 0\n```\n\nArma 3 v2.18 The array variant allows setting individual minPlayerDistance for corpses, wrecks and weaponholders:\n\n```cpp\nminPlayerDistance[] = { 50, 60, 70 }; // metres. Default: { 0, 0, 0 }\n```\n\nArma 3 v2.20 The array supports override times now, format `{ corpsesMinDist, wrecksMinDist, weaponholdersMinDist, corpsesOverrideTime, wrecksOverrideTime, weaponholdersOverrideTime }`\nOverride times are \"force-remove after\" times. For example a corpse is scheduled for deletion but cannot be deleted because a player is nearby.\nIf override time is set, the corpse will be deleted regardless of player proximity.\nSo if for example #removalMaxTime is 3600 and override time is 300, the remains will be definitely deleted within 3600 + 300 = 3900 seconds even if a player is close by.\n\n```cpp\nminPlayerDistance[] = { // metres. Default: { 0, 0, 0, -1, -1, -1 }\n    50,        60,        70,        // corpsesMinDist,        wrecksMinDist,        weaponholdersMinDist\n    300,    120,    60        // corpsesOverrideTime,    wrecksOverrideTime,    weaponholdersOverrideTime\n};\n```"},{"heading":"weaponholderManagerMode (Arma 3 v2.18)","level":5,"markdown":"Sets the mode for automatic weapon holder removal.\n\n```cpp\nweaponholderManagerMode = 0; // Default: 0\n```\n\n- 0 *(Default)* = None - None of the weapon holders are automatically managed by the manager\n- 1 = All - All weapon holders are automatically managed by the manager\n- 2 = None_But_Respawned - Only weapon holders from units that can respawn are automatically managed by the manager\n- 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)\n\n> [!NOTE]\n> WeaponHolderSimulated which is created after unit is dead and contains unit's weapon is not managed by the collector, but linked to the corpse and will be deleted when corpse is deleted. WeaponHolderSimulated that is created manually is managed by the collector just like GroundWeaponHolder"},{"heading":"weaponholderLimit (Arma 3 v2.18)","level":5,"markdown":"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.\n\n```cpp\nweaponholderLimit = 1; // Default: 50\n```"},{"heading":"weaponholderRemovalMinTime (Arma 3 v2.18)","level":5,"markdown":"See #weaponholderLimit above.\n\n```cpp\nweaponholderRemovalMinTime = 60; // seconds. Default: 3600\n```"},{"heading":"weaponholderRemovalMaxTime (Arma 3 v2.18)","level":5,"markdown":"Monitored weapon holders that exist for longer than **weaponholderRemovalMaxTime** will be considered for removal regardless of the #weaponholderLimit.\n\n```cpp\nweaponholderRemovalMaxTime = 1200; // seconds. Default: 36000\n```"},{"heading":"wreckManagerMode (Arma 3 v1.32)","level":5,"markdown":"Sets the mode for automatic wreck removal.\n\n```cpp\nwreckManagerMode = 0; // Default: 0\n```\n\n- 0 *(Default)* = None - None of the vehicles are automatically managed by the manager\n- 1 = All - All vehicles are automatically managed by the manager\n- 2 = None_But_Respawned - Only vehicles that can respawn are automatically managed by the manager\n- 3 = All_But_Respawned - All vehicles are automatically managed by the manager with exception of respawned (opposite to mode 2)"},{"heading":"wreckLimit (Arma 3 v0.50)","level":5,"markdown":"If the total number of monitored wrecks is higher than **wreckLimit**, the wrecks that existed for longer than #wreckRemovalMinTime will be considered for removal.\n\n```cpp\nwreckLimit = 1; // seconds. Default: 15\n```"},{"heading":"wreckRemovalMinTime (Arma 3 v0.50)","level":5,"markdown":"See #wreckLimit above.\n\n```cpp\nwreckRemovalMinTime = 60; // seconds. Default: 10\n```"},{"heading":"wreckRemovalMaxTime (Arma 3 v0.50)","level":5,"markdown":"Monitored wrecks that existed for longer than **wreckRemovalMaxTime** will be considered for removal regardless of the #wreckLimit.\n\n```cpp\nwreckRemovalMaxTime = 1800; // seconds. Default: 36000 (10 hours)\n```"},{"heading":"Mission Parameters","level":3,"markdown":"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.\n\nSee Mission Parameters, along with BIS_fnc_getParamValue function (paramsArray usage is **not** recommended)."},{"heading":"param1/param2 (Operation Flashpoint v1.00)","level":5,"markdown":"**param1** and **param2** are multiplayer options that can be seen in the multiplayer lobby.\nThey can be useful for setting time limits and score limits in such games as Capture the Flag and Death Matches.\nOther popular uses include time acceleration, setting the mission difficulty or switching the intro on/off.\n\nIn the mission, variables **param1** and **param2** have the corresponding values of the chosen options.\n\n> [!IMPORTANT]\n> - 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.\n> - **param1**/**param2** variables can be overridden during the mission as they are **not** read-only.\n\n```cpp\ntitleParam1 = \"Time limit:\";\nvaluesParam1[] = { 0, 300, 600, 900 };\ndefValueParam1 = 900;\ntextsParam1[] = { \"Unlimited\", \"5 min\", \"10 min\", \"15 min\" };\n\ntitleParam2 = \"Score to win:\";\nvaluesParam2[] = { 10000, 5, 7, 10, 15, 20, 25, 30 };\ndefValueParam2 = 5;\ntextsParam2[] = { \"Unlimited\", 5, 7, 10, 15, 20, 25, 30 };\n```\n\nExample:\n\n```sqf\nhint format [\"param1 = %1\\nparam2 = %2\", param1, param2];\n```"},{"heading":"Params (Arma 2 v1.03)","level":5,"markdown":"These are Multiplayer parameters, available in the lobby by the server administrator.\nThey are intended as a replacement for #param1/param2.\n\n```cpp\nclass Params\n{\n    class ViewDistance\n    {\n        // Visible name in lobby settings list\n        title = \"View distance\";\n\n        // must be integers - commas e.g 1.5 are not allowed\n        values[] = { 500, 1000, 2000, 5000 };\n\n        // Description of each selectable item - must have the same number of items as 'values'\n        // If texts are missing, the values will be displayed instead\n        texts[] = { \"500m\", \"1000m\", \"2 km\", \"5 km\" };\n\n        // must be listed in 'values' array, otherwise 0 is used. If not integer, fallback value is 1\n        default = 1000;\n\n        // (optional) script file called when player joins, selected value is passed as an argument\n        file = \"setViewDistance.sqf\";\n    };\n};\n```\n\nSee Mission Parameters for more detailed information."},{"heading":"Mission Settings","level":3,"markdown":"These are non-editable, mission maker design settings.\nThey can be used for a smoother experience, briefing/debriefing behaviour, saving options, etc.\n\nSee also Debriefing for more detailed information."},{"heading":"aiKills","level":5,"markdown":"Enables AI units score to appear in score table.\n\n```cpp\naiKills = 1; // 0: disabled - 1: enabled. Default: 0\n```"},{"heading":"briefing","level":5,"markdown":"Skip briefing screen for SP missions. If no briefing.html is present, it is skipped anyway.\n\n```cpp\nbriefing = 0; // 0: disabled - 1: enabled. Default: 1\n```\n\nBriefing will still be displayed until all clients are connected and done loading."},{"heading":"debriefing","level":5,"markdown":"Defines if the debriefing is shown or not at the end of the mission.\n\n```cpp\ndebriefing = 0; // 0: disabled - 1: enabled. Default: 1\n```"},{"heading":"CfgDebriefing (Arma 3 v0.50)","level":5,"markdown":"Define custom mission endings or override the default endings (found under CfgDebriefing in the game's config file).\n\n```cpp\nclass CfgDebriefing\n{\n    // Used when all players die in MP\n    class endDeath\n    {\n        title = \"Both teams have died.\";\n        description = \"Everyone was killed by the bomb.\";\n        picture = \"KIA\";\n    };\n};\n```\n\n**For a detailed description, see Arma 3: Debriefing.**"},{"heading":"CfgDebriefingSections (Arma 3 v0.50)","level":5,"markdown":"Define custom sections to be displayed on the debriefing screen. Useful for custom scoring systems or displaying player achievements.\n\n```cpp\nclass CfgDebriefingSections\n{\n    class bPoints\n    {\n        title = \"Blufor Points\";\n        variable = \"BLU_P\";\n    };\n\n    class oPoints\n    {\n        title = \"Opfor Points\";\n        variable = \"OPF_P\";\n    };\n};\n```"},{"heading":"DifficultyOverride (Arma 3 v2.16)","level":5,"markdown":"Allow to override a difficulty setting for the mission only.\n\nAt the moment, only `tacticalPing` is supported.\n\n```cpp\nclass DifficultyOverride\n{\n    tacticalPing = 0; // disables tactical ping in this mission, even if selected difficulty preset has it enabled\n}\n```\n\n|  |  |  |  |\n|---|---|---|---|\n| + Channel ID number command correspondence |  |  |  |\n| Name | ID | Radio | Chat |\n| Global | 0 | globalRadio | globalChat |\n| Side | 1 | sideRadio | sideChat |\n| Command | 2 | commandRadio | commandChat |\n| Group | 3 | groupRadio | groupChat |\n| Vehicle | 4 | vehicleRadio | vehicleChat |\n| Direct | 5 | directSay | N/A |\n| System | 6 Arma 2: Operation Arrowhead v1.62<br>16 Arma 3 v0.50 | N/A | systemChat |"},{"heading":"disableChannels (Arma 2: Operation Arrowhead v1.62)","level":5,"markdown":"Disable global, side, command or system chat. MOTD and admin say have exception and will show in global.\n\n> [!NOTE]\n> - This setting is not considered when hosting from Eden Editor.\n> - A mission using **disableChannels** will override any `disableChannels[]` value in server config.\n\n> [!NOTE]\n> **Arma 3:** See enableChannel.\n\nArma 2: Operation Arrowhead v1.62 **basic syntax**:\n\n```cpp\ndisableChannels[] = { 0, 3 }; // simple channel ID list\n```\n\nArma 3 v1.60 **advanced syntax**:\n\n```cpp\ndisableChannels[] =\n{\n    {\n        0,        // channel ID\n        false,    // text chat remains enabled\n        true,    // voice chat is disabled\n        false,    // allow placing map markers (Optional, default false - added in v2.20)\n        true    // disable drawing on map (Optional, default false - added in v2.20)\n    },\n    { 3, true, true }\n};\n```"},{"heading":"disabledAI","level":5,"markdown":"Multiplayer setting that removes all playable units which do not have a human player.\n\nWhen AI is disabled, a player logging out will **not** have AI take control of his character.\n\n> [!IMPORTANT]\n> Disabling AI units will prevent JIP into playable units if **respawn** is disabled.\n\n```cpp\ndisabledAI = 1; // 0: AIs fill empty slots - 1: AIs are disabled, only players can spawn. Default: 0\n```"},{"heading":"disableRandomization (Arma 3 v1.42)","level":5,"markdown":"Disables randomisation on certain objects, object types or object kinds in the mission. For more information visit: Arma 3: Vehicle Customisation\n\n```cpp\ndisableRandomization[] = { \"All\", \"AllVehicles\", \"B_G_Offroad_01_F\", \"myCar\", \"MyUnitName\", \"B_Soldier_F\" };\n```\n\nNote: This takes higher priority and will override the following:\n\n```sqf\n_vehicle setVariable [\"BIS_enableRandomization\", true]; // cannot enable for all or specific vehicles once disabled in description.ext\n```"},{"heading":"enableDebugConsole (Arma 3 v0.50)","level":5,"markdown":"Allows access to the Debug Console in multiplayer scenarios outside of the editor. This has no effect for singleplayer scenarios.\n\nSince Arma 3 v2.18 also makes the console available in singleplayer scenarios.\n\n```cpp\nenableDebugConsole = 2; // dangerous in MP\n```\n\n- 0 - Default behavior, available only in editor\n- 1 - Available in SP and for hosts / logged in admins\n- 2 - Available for everyone\n\nAlternative since Arma 3 v1.72\n\n```cpp\nenableDebugConsole[] = { \"76561198XXXXXXXXX\", \"76561198YYYYYYYYY\", }; // admins and players with their UID in this list have access\n```"},{"heading":"enableItemsDropping (Arma 2: Operation Arrowhead v1.62)","level":5,"markdown":"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.\n\n```cpp\nenableItemsDropping = 0; // 0: disabled - 1: enabled. Default: ?\n```"},{"heading":"enableTeamSwitch","level":5,"markdown":"Enables or disables Team Switch functionality in MP when respawn type is 5 (SIDE).\n\n```cpp\nenableTeamSwitch = 0; // 0: disabled - 1: enabled. Default: 1\n```"},{"heading":"forceRotorLibSimulation (Arma 3 v1.34)","level":5,"markdown":"Force enable or disable RotorLib flight model.\n\n```cpp\nforceRotorLibSimulation = 1; // Default: 0\n```\n\n- 0 - based on player's options\n- 1 - enabled (advanced mode)\n- 2 - disabled (default flight mode)"},{"heading":"hostDoesNotSkipLobby (Arma 3 v2.06)","level":5,"markdown":"Stops hosting player from skipping the lobby if  is used\n\n```cpp\nhostDoesNotSkipLobby = 1;\n```"},{"heading":"joinUnassigned (Arma 3 v0.50)","level":5,"markdown":"By default a new player is not auto assigned a free playable slot in the mission lobby in Multiplayer.\nDisable this setting to make him auto assigned to the side with least players.\n\n```cpp\njoinUnassigned = 0; // 0: disabled - 1: enabled. Default: 1\n```"},{"heading":"minScore, avgScore, maxScore","level":5,"markdown":"Set minimum, average and maximum score for your mission.\nScore is related to the star display in the debriefing screen (OFP:CWC).\nThe score can be influenced during a missions progress by using the addRating command.\n\n```cpp\nminScore = 0;\navgScore = 1800;\nmaxScore = 75000;\n```\n\n> [!IMPORTANT]\n> Values have to follow this formula: **minScore < avgScore < maxScore**. Any other combinations can lead to game freeze upon mission end."},{"heading":"missionGroup (Arma 3 v2.10)","level":5,"markdown":"Shared mission group name to override default missionName used with missionProfileNamespace, saveMissionProfileNamespace\n\n```cpp\nmissionGroup = \"SomeNameDescribingCommonMissions\";\n```"},{"heading":"onCheat (Arma 3 v1.00)","level":5,"markdown":"Executes custom statement when player enters the GETALLGEAR cheat (see: GETALLGEAR).\n\n```cpp\nonCheat = \"hint str _this\";\n```"},{"heading":"onPauseScript (Arma 2: Operation Arrowhead v1.62)","level":5,"markdown":"Executes a custom SQF script or function in scheduled environment (execVM) when player brings up Game Pause screen (presses 'Esc' button).\nDisplay parameter of the resulting dialog is available via `_this select 0` inside the script.\n\n```cpp\nonPauseScript    = \"myOnPauseScript.sqf\";                            // file path\nonPauseScript[]    = { \"myOnPauseFunction1\", \"myOnPauseFunction2\" };    // function name - since Arma 3\n```\n\n> [!IMPORTANT]\n> The script or function executes **in its own namespace**. In order to get/set external global variable you need to explicitly use mission namespace:\n> **Set:**\n>\n> ```sqf\n> // myVar2 = \"345\";                                    // will set the variable only in onPauseScript namespace\n> missionNamespace setVariable [\"myVar2\", \"345\"];        // will be available as a global variable\n> ```\n>\n> **Get:**\n>\n> ```sqf\n> // hint str myVar;                                    // will raise an undefined variable myVar error\n> hint str (missionNamespace getVariable \"myVar\");    // will access the global variable properly\n> ```"},{"heading":"saving (Armed Assault v1.00)","level":5,"markdown":"Toggle saving possibility.\n\n```cpp\nsaving = 0; // 0: disabled - 1: enabled. Default: 1\n```"},{"heading":"scriptedPlayer (Take On Helicopters v1.00)","level":5,"markdown":"When scripted player is enabled, game no longer shows \"No player select\" error message upon mission start when no player unit is present.\n\n```cpp\nscriptedPlayer = 1; // 0: disabled - 1: enabled. Default: 0\n```"},{"heading":"skipLobby (Arma 3 v1.60)","level":5,"markdown":"When enabled, joining player will join the mission bypassing role selection screen.\nThe #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.\n\n```cpp\nskipLobby = 1; // 0: disabled - 1: enabled. Default: 0\n```"},{"heading":"Server Security","level":3,"markdown":"This section underlines mission security settings for server. They can secure or break your mission, so be sure to use them wisely."},{"heading":"allowFunctionsLog (Arma 3 v0.50)","level":5,"markdown":"Allows functions to log to the RPT file.\n\n```cpp\nallowFunctionsLog = 1; // 0: disabled - 1: enabled. Default: ?\n```"},{"heading":"allowFunctionsRecompile (Arma 3 v1.00)","level":5,"markdown":"As a security measure, functions are by default protected against rewriting during mission.\nThis restriction does not apply in missions previewed from the editor.\n\n```cpp\nallowFunctionsRecompile = 1; // 0: disabled - 1: enabled. Default: 0\n```"},{"heading":"zeusCompositionScriptLevel (Arma 3 v2.06)","level":5,"markdown":"```cpp\nzeusCompositionScriptLevel = 0;    // 0: all scripts are forbidden\n                                // 1: only attributes are allowed (including custom attributes added by mods)\n                                // 2: all scripts are allowed including init scripts\n                                // Default: 1\n```"},{"heading":"CfgDisabledCommands (Arma 3 v1.66)","level":5,"markdown":"Define disabled script commands. See CfgDisabledCommands for more detailed explanations."},{"heading":"CfgRemoteExec (Arma 3 v1.50)","level":5,"markdown":"Define remoteExec and remoteExecCall restrictions. See CfgRemoteExec for more detailed explanations and examples."},{"heading":"Tasks","level":3,"markdown":"Tasks are part of the mission. This section deals with the settings for them.\n\nSee also Arma 3: Task Framework#Task Overhaul"},{"heading":"taskManagement_markers2D (Arma 3 v1.42)","level":5,"markdown":"Use new 2D markers.\n\n```cpp\ntaskManagement_markers2D = 1; // 0: disabled - 1: enabled. Default: 0\n```"},{"heading":"taskManagement_markers3D (Arma 3 v1.42)","level":5,"markdown":"Use new 3D markers.\n\n```cpp\ntaskManagement_markers3D = 1; // 0: disabled - 1: enabled. Default: 0\n```"},{"heading":"taskManagement_propagate (Arma 3 v1.42)","level":5,"markdown":"Propagate shared tasks to subordinates.\n\n```cpp\ntaskManagement_propagate = 1; // 0: disabled - 1: enabled. Default: 0\n```"},{"heading":"taskManagement_drawDist (Arma 3 v1.42)","level":5,"markdown":"3D marker maximum draw distance in meters. within this range, unassigned tasks are drawn on screen.\n\n```cpp\ntaskManagement_drawDist = 2500; // in meters. Default: 2000\n```"},{"heading":"CfgTasks (Armed Assault v1.00)","level":5,"markdown":"Agents task config\n\n```cpp\nclass CfgTasks\n{\n    class Default\n    {\n        name = \"\";\n        fsm = \"\";        // relative path to fsm file\n        condition = \"\";    // relative path to sqf file (compiled and stored for the duration of run time, executed frequently)\n        description = \"\";\n        destination = \"\";\n        resources[] = {};\n    };\n};\n```"},{"heading":"CfgTaskTypes (Arma 3 v1.54)","level":5,"markdown":"Define Task types and their icons.\n\n```cpp\nclass CfgTaskTypes\n{\n    class Attack\n    {\n        icon    = \"\\A3\\UI_F_MP_Mark\\Data\\Tasks\\Types\\Attack_ca.paa\";\n        icon3D    = \"\\A3\\UI_F_MP_Mark\\Data\\Tasks\\Types3D\\Attack_ca.paa\";\n    };\n\n    class Defend\n    {\n        icon    = \"\\A3\\UI_F_MP_Mark\\Data\\Tasks\\Types\\Defend_ca.paa\";\n        icon3D    = \"\\A3\\UI_F_MP_Mark\\Data\\Tasks\\Types3D\\Defend_ca.paa\";\n    };\n};\n```"},{"heading":"CfgTaskDescriptions (Arma 3 v1.12)","level":5,"markdown":"Define Task titles and descriptions.\n\n```cpp\nclass CfgTaskDescriptions\n{\n    class myTask1\n    {\n        title        = \"my task title\";\n        description    = \"my task description\";\n        marker        = \"my task destination marker\";\n    };\n\n    class myTask2\n    {\n        title        = \"STR_myTask2Title\";            // note the lack of $ sign here!\n        description    = \"STR_myTask2Description\";        // without $, it translates for each client\n        marker        = \"STR_myTask2Marker\";            // with $ everyone sees the server's language\n    };\n};\n```"},{"heading":"CfgTaskEnhancements (Arma 3 v1.42)","level":5,"markdown":"Defines tasks enhancements directly in a class.\n\n```cpp\nclass CfgTaskEnhancements\n{\n    enable        = 1; // 0: disable new task features (default), 1: enable new task features and add new task markers and task widgets into the map\n    3d            = 1; // 0: do not use new 3D markers (default), 1: replace task waypoints with new 3D markers\n    3dDrawDist    = 0; // 3d marker draw distance (default: 2000)\n    share        = 1; // 0: do not count assigned players (default), 1: count how many players have the task assigned\n    propagate    = 1; // 0: do not propagate (default), 1: propagate shared tasks to subordinates\n};\n```"},{"heading":"Custom Content Definition","level":3,"markdown":"The following class definitions allow for mission-defined content like sounds, music, or more advanced content like functions"},{"heading":"CfgCameraEffects","level":5,"markdown":"Configure custom cameraEffect.\n\n```cpp\nclass CfgCameraEffects\n{\n    class Array\n    {\n        class External\n        {\n            type = 0;\n            duration = 6;    // 3 seconds for some reason\n            file = \"\";        // some kind of custom .p3d file for camera\n        };\n\n        class AutoTerminate : External\n        {\n            type = 3;        // CamChained\n            chain[] = { \"External\", \"Terminate\" }; // Terminate will trigger after 3 seconds\n        };\n    };\n};\n```\n\nExample:\n\n```sqf\nshowCinemaBorder false;\nprivate _dur = getNumber (missionConfigFile >> \"CfgCameraEffects\" >> \"Array\" >> _this >> \"duration\");\nprivate _cam = \"camera\" camCreate (player modelToWorld [0, -100, 50]);\n_cam camSetTarget player;\n_cam camSetRelPos [0, -0.1, 1.8];\n_cam camCommit (_dur / 2);\n_cam cameraEffect [\"AutoTerminate\", \"Back\"];\nwaitUntil { camCommitted _cam };\ncamDestroy _cam;\n```"},{"heading":"CfgCommunicationMenu (Arma 3 v1.00)","level":5,"markdown":"This entry allows to add commanding menu option in the communication menu. See Arma 3: Communication Menu for more information."},{"heading":"CfgCommands (Arma 3 v1.50)","level":5,"markdown":"This entry contains a list of configurations for certain scripting commands (currently only `allowedHTMLLoadURIs` for htmlLoad, ctrlSetURL and menuSetURL).\nThis entry can be defined in Config.cpp or in a campaign or mission Description.ext; the most local variant is used.\n\n```cpp\nclass CfgCommands\n{\n    // Note that in case of clients connected to dedicated server, restrictions defined in its config have priority.\n    allowedHTMLLoadURIs[] +=\n    {\n        \"*.mywebsite.com\",\n        \"*.mywebsite2.com/something/*\",\n        // ...\n        \"*.mywebsiteN.com\"\n    };\n};\n```"},{"heading":"`allowedHTMLLoadURIs`","level":6,"markdown":"Defines a list of URIs that can be used with htmlLoad, ctrlSetURL and menuSetURL. Only URIs with the following protocols are supported:\n- HTTP (e.g. `http://example.com/`)\n- HTTPS (e.g. `https://example.com/`)\n- FTP (e.g. `ftp://ftp.example.com/`)\n- Gopher (e.g. `gopher://gopher.example.com/`)\n- Arma 3 v2.22 TeamSpeak 3 (e.g. `ts3server://ts3.example.com`)\n\nThe URIs support wildcards:\n- `-` matches any character zero or more times (e.g. `https://*.example.com/` matches `https://www.example.com/` and `https://files.example.com/`)\n- `?` matches any character exactly once (e.g. `https://example.com/?` matches `https://example.com/a` and `https://example.com/b`)\n\n> [!NOTE]\n> Some domains are automatically whitelisted, such as \"arma3.com\" or \"bistudio.com\".\n> This is a list of all patterns for whitelisted URLs in the engine:\n>\n> ```sqf\n> \"(ftp|http|https)://arma3\\\\.com/.*\"\n> \"(ftp|http|https)://[a-zA-Z0-9]+\\\\.arma3\\\\.com/.*\"\n> \"(ftp|http|https)://bistudio\\\\.com/.*\"\n> \"(ftp|http|https)://[a-zA-Z0-9]+\\\\.bistudio\\\\.com/.*\"\n> \"(ftp|http|https)://bohemia\\\\.net/.*\"\n> \"(ftp|http|https)://[a-zA-Z0-9]+\\\\.bohemia\\\\.net/.*\"\n> \"(ftp|http|https)://armaplatform\\\\.com/.*\"\n> \"(ftp|http|https)://[a-zA-Z0-9]+\\\\.armaplatform\\\\.com/.*\"\n> \"(ftp|http|https)://store\\\\.steampowered\\\\.com/.*\"\n> \"https://steamcommunity\\\\.com/workshop/.*\"\n> ```"},{"heading":"CfgFunctions (Arma 2 v1.00)","level":5,"markdown":"Define functions for your mission. For a detailed explanation, see:\n\n|  |  |\n|---|---|\n| - Arma 3 v1.00 | Arma 3: Functions Library |\n| - Arma 2 v1.00 Arma 2: Operation Arrowhead v1.00 | Arma 2: Functions Library |\n| - Take On Helicopters v1.00 | Take On Helicopters: Functions Library |"},{"heading":"CfgHints (Arma 3 v1.00)","level":5,"markdown":"Define Advanced Hints (similar to the Field Manual ones). See Advanced Hints for more information."},{"heading":"CfgIdentities","level":5,"markdown":"Define the identities of individual units, you can specify the face, type of glasses worn, voice, tone of voice and name of an identity.\nYou then give a specific unit this identity by using the command setIdentity in the mission.\n\n> [!NOTE]\n> the `nameSound` entry is only valid since Arma 3. See setNameSound for possible values.\n\n```cpp\nclass CfgIdentities\n{\n    class MyLittleSoldier\n    {\n        name        = \"Givens\";\n        nameSound    = \"Givens\"; // Arma 3 only!\n        face        = \"whiteHead_06\";\n        glasses        = \"None\";\n        speaker        = \"Male05ENG\";\n        pitch        = 1.1;\n    };\n};\n```\n\nExample:\n\n```sqf\nplayer setIdentity \"MyLittleSoldier\";\n```\n\nSee CfgIdentities for more detailed information and valid options for face, glasses, speaker etc."},{"heading":"CfgLeaflets (Arma 3 v1.76)","level":5,"markdown":"Define leaflets for your missions. See Arma 3: Leaflets for more information."},{"heading":"CfgMusic","level":5,"markdown":"Defines music you can play with playMusic.\n\n```cpp\nclass CfgMusic\n{\n    tracks[] = {};\n    class MyIntro\n    {\n        // display name\n        name    = \"My intro music\";\n\n        // filename, volume, pitch\n        sound[]    = { \"\\music\\filename.ogg\", db + 0, 1.0 };\n    };\n    class Ludwig9\n    {\n        name    = \"Ludwig Van Beethoven's Ninth Symphony\";\n        sound[]    = { \"\\music\\ludwig9.ogg\", db + 10, 1.0 };\n    };\n};\n```\n\nExample:\n\n```sqf\nplayMusic \"MyIntro\";\n```\n\n> [!IMPORTANT]\n> Setting volume (db) of music far from zero will disable fadeMusic command. Optimal values are from -10 to 10."},{"heading":"CfgNotifications (Arma 3 v1.12)","level":5,"markdown":"Define custom notifications to be shown with BIS_fnc_showNotification. See Notification for more detailed information and examples."},{"heading":"CfgPostprocessTemplates (Arma 3 v1.00)","level":5,"markdown":"Define custom post-process effects, to Post Process Effects format (only \"colorCorrection\" and \"filmGrain\" are supported for now).\n\nTo be used with BIS_fnc_setPPeffectTemplate.\n\n```cpp\nclass CfgPostprocessTemplates\n{\n    class MyPurplePP\n    {\n        colorCorrections[] = { 1, 1, 0, { 1, 1, 1, 0 }, { 1, 0.5, 1, 0 }, { 0.75, 0.25, 0, 1 } };\n        displayName = \"Purple-ish!\";\n        filmGrain[] = { 0.04, 1, 1, 0, 1 };\n    };\n};\n```"},{"heading":"CfgRadio","level":5,"markdown":"Defines radio sentences you can play with these radio commands: customRadio, vehicleRadio, groupRadio, sideRadio, globalRadio.\n\n```cpp\nclass CfgRadio\n{\n    sounds[] = {};\n    class RadioMsg1\n    {\n        // display name\n        name    = \"\";\n\n        // filename, volume, pitch\n        sound[]    = { \"\\sound\\filename1.ogg\", db - 100, 1.0 };\n\n        // radio caption\n        title    = \"I am ready for your orders.\";\n    };\n\n    class RadioMsg2\n    {\n        name    = \"\";\n        sound[]    = { \"\\sound\\filename2\", db - 100, 1.0 }; // .wss implied\n        title    = \"$STR_RADIO_2\";\n    };\n};\n```\n\nExample:\n\n```sqf\nunit sideRadio \"RadioMsg2\";\n```"},{"heading":"CfgSentences","level":5,"markdown":"See Conversations for more information."},{"heading":"CfgSFX","level":5,"markdown":"See CfgSFX for more information."},{"heading":"CfgSounds","level":5,"markdown":"General sounds that can be used for dialog, voiceovers in the briefing etc.\n\nSee also commands playSound, say, say2D and say3D.\n\n```cpp\nclass CfgSounds\n{\n    sounds[] = {}; // OFP required it filled, now it can be empty or absent depending on the game's version\n\n    class wolf1\n    {\n        name = \"My wolf sound\";                        // display name\n        sound[] = { \"fx\\wolf1.ogg\", 1, 1, 100 };    // file, volume, pitch, maxDistance\n        titles[] = { 0, \"*wolf growls*\" };            // subtitles\n\n        titlesFont = \"LCD14\";        // OFP:R - titles font family\n        titlesSize = 0.1;            // OFP:R - titles font size\n\n        forceTitles = 1;            // Arma 3 - display titles even if global show titles option is off (1) or not (0)\n        titlesStructured = 1;        // Arma 3 - treat titles as Structured Text (1) or not (0)\n    };\n};\n```\n\n| Property | Description |\n|---|---|\n| sounds[] | *Was* required in previous titles, and needed to be filled with `CfgSounds` defined sounds at the beginning of Operation Flashpoint.<br>At least in Arma 3 the engine finds them without this value which can now be ignored entirely. |\n| 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\"`) |\n| sound[] | An array containing:<br>- file path: the relative path to the file<br>Since Arma 3 v1.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\"`<br>- volume: between 0 and 5, 1 being normal volume<br>> [!NOTE]<br>> 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))`.<br>- pitch: 1 is normal pitch, 2 = chipmunk, 0.5 = Darth Vader, etc<br>- max distance: (Optional, default `*volume* × 1000`) maximum distance at which the sound is heard, in metres |\n| titles[] | An array format `{ time1, text1, time2, text2 }` etc:<br>- time#: can be a number or an array:<br>  - number: sound time at which the text is displayed (2 = 2s after sound start)<br>  - array: format `{ displayTime, displayDurationFactor }`:<br>    - displayTime: sound time at which the text is displayed (2 = 2s after sound start)<br>    - displayDurationFactor: default value is 1 (for 10s subtitle display), 0.5 means half the time (5s), 2 means twice the time (20s) etc<br>- text#: the text to be displayed<br>> [!IMPORTANT]<br>> 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). |\n| Operation Flashpoint: Resistance v1.75 titlesFont | (Optional) titles font family |\n| Operation Flashpoint: Resistance v1.75 titlesSize | (Optional) titles font size |\n| Arma 3 v0.50 forceTitles | (Optional) if set to 1, will display titles even if global show titles option is off |\n| Arma 3 v0.50 titlesStructured | (Optional) if set to 1, treat titles as Structured Text (e.g `0, \"<t color=\"\"#ff0000\"\">Red text</t>\"`) |\n\nExample:\n\n```sqf\nplaySound \"wolf1\"; // class name as string\nplayer say [\"wolf1\", 100];\n```\n\n> [!NOTE]\n> See [OFP ToadLife's tutorial](http://ofp.toadlife.net/downloads/tutorials/tutorial_sound/tutorial_sound.html) for a sound advice."},{"heading":"CfgUnitInsignia (Arma 3 v1.24)","level":5,"markdown":"Define custom unit insignia (shoulder patches). See Arma 3: Unit Insignia for more detailed information.\n\n```cpp\nclass CfgUnitInsignia\n{\n    class 111thID\n    {\n        displayName = \"111th Infantry Division\";    // name displayed in Arsenal\n        author = \"Bohemia Interactive\";                // author displayed in Arsenal\n        texture = \"\\a3\\UI_F_Bootcamp\\Data\\CfgUnitInsignia\\B_111thID_texture_ca.paa\"; // image path\n        textureVehicle = \"\";                        // does nothing, was reserved for future use\n    };\n};\n```"},{"heading":"CfgUnitTemplates (Arma 3 v1.50)","level":5,"markdown":"This class is used to create units templates. For now, this is only used with the function BIS_fnc_unitHeadgear.\n\n```cpp\nclass CfgUnitTemplates\n{\n    // Classic selectRandom\n    class MyFirstTemplate : Default\n    {\n        headgearList[] =\n        {\n            \"H_Cap_blk\",\n            \"H_Cap_grn\",\n            \"H_Cap_oli_hs\"\n        };\n\n        facewearList[] =\n        {\n            \"G_Bandanna_beast\",\n            \"G_Bandanna_blk\",\n            \"G_Bandanna_khk\"\n        };\n    };\n\n    // the probabilities will be considered, weighted random\n    class MySecondTemplate : Default\n    {\n        headgearList[] =\n        {\n            \"H_Cap_blk\",    0.9,\n            \"H_Cap_grn\",    0.6,\n            \"H_Cap_oli_hs\",    0.55\n        };\n\n        facewearList[] =\n        {\n            \"G_Bandanna_beast\",    0.5,\n            \"G_Bandanna_blk\",    0.5,\n            \"G_Bandanna_khk\",    0.5\n        };\n    };\n};\n```\n\nExample:\n\n```sqf\n[myUnit, \"MyFirstTemplate\"]        call BIS_fnc_unitHeadgear;\n[myUnit, \"MySecondTemplate\"]    call BIS_fnc_unitHeadgear;\n```"},{"heading":"CfgVehicles (Arma 3 v1.70)","level":5,"markdown":"This class can only be used to create sound sources.\n\nSee also #CfgSFX for more detailed information.\n\n```cpp\nclass CfgVehicles\n{\n    class MyOwlSound        // class name to be used with createSoundSource\n    {\n        sound = \"MyOwl\";    // reference to CfgSFX class\n    };\n};\n```"},{"heading":"CfgVehicleTemplates (Arma 3 v1.42)","level":5,"markdown":"This class is used to create vehicle templates used by the Vehicle Customisation system.\n\n```cpp\nclass CfgVehicleTemplates\n{\n    class BIS_Offroad_01_default\n    {\n        displayName = \"Default\";\n        author = \"Bohemia Interactive\";\n        textureList[] =\n        {\n            \"guerilla_01\", 0.5,\n            \"guerilla_02\", 1\n        };\n\n        animationList[] =\n        {\n            \"HideBumper1\", 1,\n            \"HideBumper2\", 1\n        };\n    };\n};\n```"},{"heading":"RscTitles","level":5,"markdown":"This class is used to define custom HUDs. See Arma: GUI Configuration for more information."}],"categories":["Mission Editing"],"groups":["Scripting"]}