Description.ext
The Description.ext is used to set the overall mission attributes or to define global entites that will be available for other scripts. It is placed in the mission root folder and uses the same syntax as the config.cpp file, but supports only a limited number of config classes.
Additionally, many attributes can also be set via the Eden Editor, where changes are automatically refreshed upon scenario preview. In the 2D Editor the mission has to be reloaded for changes to be applied.
This file is required in OFP: Elite for MP missions to work, otherwise a -1 error is shown.
Mission information
This section helps you find out how to customise Mission overall external appearance, from Mission Overview to Loading Screens.
author = "Varanon";
onLoadName = "Point Insertion";
onLoadMission = "A group of NATO soldiers is tasked with sabotaging a coastal defense.";
loadScreen = "images\loadScreen.paa";
class Header
{
gameType = Coop; // Game type
minPlayers = 1; // minimum number of players the mission supports
maxPlayers = 10; // maximum number of players the mission supports
};
4
Mission author's name. The default loading screen shows this string below the onLoadName in a smaller font prefixed by "by ".
4
String (usually mission name) shown during mission loading. The string is shown in a slightly larger font above the loadScreen. The onLoadMission text is placed below the load screen and the header gameType determines the game type on top of the box.
onLoadMission
Displays a message while the mission is loading. Note that a mission that takes very little time to load will only display the message for a short time. In OFP:CWC this is the name you see when selecting a mission in MP and also the name that is presented to the Multiplayer browser.
onLoadMission = "YourMissionName";
4
The picture to be shown while the mission is loaded. The path is relative to the mission folder. Must be in PAA file format. 2:1 aspect ratio (different aspect are rendered correctly as well, but won't cover the whole area). Ideally 1024x512 pixels.
loadScreen = "pictures\intro.paa";
4
This class defines mission type and other settings displayed in the multiplayer browser.
class Header
{
gameType = CTF; // Game type
minPlayers = 1; // minimum number of players the mission supports
maxPlayers = 10; // maximum number of players the mission supports
};
See Multiplayer Game Types for more detailed information.
onLoadIntro
Displays a message while the intro is loading.
onLoadIntro = "YourMessage";
onLoadMissionTime
Define whether you will see the time and date displayed while the mission loads. Effect unkown in Arma 3.
onLoadMissionTime = 1; // 0: disabled - 1: enabled. Default: 1
onLoadIntroTime
Define whether you will see the time and date displayed while the intro loads.
onLoadIntroTime = 1; // 0: disabled - 1: enabled. Default: 0
4
Mission name displayed in the mission selection menu.
briefingName = "TAG 1-5 CO My super mission";
4
Define mission specific loading texts.
4
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 1024x512 (Arma 3).
4
Text to be displayed below the overviewPicture on the mission selection screen when the mission is available to play.
4
Text to be displayed below the overviewPicture on the mission selection screen when the mission is locked from play.
onBriefingGear
Defines a sound (defined in CfgSounds) that will play when accessing the gear part of the briefing. See Briefing.html.
onBriefingGear = "SoundName";
onBriefingGroup
Defines a sound (defined in CfgSounds) that will play when accessing the group part of the briefing. See Briefing.html.
onBriefingGroup = "SoundName";
onBriefingPlan
Defines a sound (defined in CfgSounds) that will play when accessing the plan part of the briefing. See Briefing.html.
onBriefingPlan = "SoundName";
Respawn/Revive
This section talks about respawn and revive actions.
- for Arma 2, see First Aid.
- for Arma 3, see Arma 3 Respawn and Arma 3 Revive.
Respawn types | |||||
---|---|---|---|---|---|
ID | Text version | Description | |||
0 | "NONE" | No respawn | |||
1 | "BIRD" | Respawn as a seagull | |||
2 | "INSTANT" | Respawn just where you died. | |||
3 | "BASE" | Respawn in base. A respawn marker is needed. If no marker is defined, respawn behaviour will be the same as "INSTANT". Marker role names:
Side can be one of west, east, guerrila (sic), civilian, e.g respawn_west. | |||
4 | "GROUP" | Respawn in your group. If there is no remaining AI, you will become a seagull. | |||
5 | "SIDE" | ![]() With this respawn type, team switch is also available to any AI controlled playable units. |
respawn
Sets respawn type.
respawn = 0; // Default: 0 for SP, 1 for MP
respawn = "SIDE"; // text version works too
respawnButton
Enable or disable the respawn button in the menu for INSTANT and BASE respawn types.
respawnButton = 0; // 0: disabled - 1: enabled. Default: 1
respawnDelay
Set respawn delay in seconds.
respawnDelay = 42; // Default: ?
respawnVehicleDelay
Set vehicle respawn delay in seconds.
respawnVehicleDelay = 12; // Default: ?
respawnDialog
Show the scoreboard and respawn countdown timer for a player if he is killed with respawn type 3.
respawnDialog = 0; // 0: disabled - 1: enabled. Default: 1
respawnOnStart
Respawn player when he joins the game. Available only for INSTANT and BASE respawn types.
respawnOnStart = 0; // Default: 1
- -1 - Dont respawn on start. Don't run respawn script on start.
- 0 - Dont respawn on start. Run respawn script on start.
- 1 - Respawn on start. Run respawn script on start.
respawnTemplates
Respawn templates from CfgRespawnTemplates. You can combine any number of them together.
respawnTemplates[] = { "Counter", "Wave" };
4
Set weapons players will receive upon respawn. respawnMagazines has to be defined as well.
respawnWeapons[] = { "arifle_Katiba_GL_F" };
4
Set magazines players will receive upon respawn. respawnWeapons has to be defined as well.
respawnMagazines[] = { "30Rnd_65x39_caseless_green", "30Rnd_65x39_caseless_green" };
4
Define if Revive mode is enabled.
reviveMode = 1; // Default: 0
- 0 - disabled
- 1 - enabled
- 2 - controlled by player attributes
4
Define revive mode.
reviveUnconsciousStateMode = 0; // Default: 0
- 0 - basic mode
- 1 - advanced mode
- 2 - realistic
See damage model for more detailed information.
4
Define if only a medic (or unit with medic trait) can perform a revive.
reviveRequiredTrait = 0; // 0: disabled - 1: enabled. Default: 0
4
Define if a medical item (first aid kit or medkit) is required to begin a revive process.
reviveRequiredItems = 2; // Default: ?
- 0 - none
- 1 - medkit
- 2 - medkit or first aid kit
4
Define if a first aid kit is consumed on reviving a teammate
reviveRequiredItemsFakConsumed = 1; // 0: disabled - 1: enabled. Default: ?
4
Speed multiplier for revive performed by medic
reviveMedicSpeedMultiplier = 2; // medic revive will be two times faster compared to another soldier
4
The time in seconds it takes to revive an incapacitated unit. Having a Medikit will halve this time.
reviveDelay = 10; // Default: 6
4
The time in seconds it takes for an incapacitated unit to force their respawn.
reviveForceRespawnDelay = 5; // Default: 3
4
The time in seconds it takes for a unit to bleed out.
reviveBleedOutDelay = 300; // Default: 120
4
Usage unsure, may be related to respawn template MenuPosition.
enablePlayerAddRespawn = 0; // Disable framework respawn
4
This class defines a respawn inventory, used with MenuInventory respawn template.
Loadouts with no assigned role are automatically assigned to the "Default" role.
See also BIS_fnc_addRespawnInventory, BIS_fnc_removeRespawnInventory
class CfgRespawnInventory
{
class Blufor1
{
displayName = "Light"; // Name visible in the menu
icon = "\A3\Ui_f\data\GUI\Cfg\Ranks\sergeant_gs.paa"; // Icon displayed next to the name
role = "Assault"; // Optional, see CfgRoles
// Loadout definition, uses same entries as CfgVehicles classes
weapons[] = {
"arifle_MXC_F",
"Binocular"
};
magazines[] = {
"30Rnd_65x39_caseless_mag",
"30Rnd_65x39_caseless_mag",
"SmokeShell"
};
items[] = {
"FirstAidKit"
};
linkedItems[] = {
"V_Chestrig_khk",
"H_Watchcap_blk",
"optic_Aco",
"acc_flashlight",
"ItemMap",
"ItemCompass",
"ItemWatch",
"ItemRadio"
};
uniformClass = "U_B_CombatUniform_mcam_tshirt";
backpack = "B_AssaultPack_mcamo";
};
class Blufor2
{
// Alternative configuration pointing to a CfgVehicles class. Loadout will be copied from it.
vehicle = "B_soldier_AR_F"
};
};
4
This class defines new respawn templates to be used with respawn templates.
class CfgRespawnTemplates
{
// class used in respawnTemplates entry
class myTag_beacon
{
// function or script executed upon death
// parameters passed into it are the same as are passed into onPlayerKilled.sqf file
onPlayerKilled = "\myAddon\scripts\respawnBeacon.sqf";
// function or script executed upon respawn
// parameters passed into it are the same as are passed into onPlayerRespawn.sqf file
onPlayerRespawn = "\myAddon\scripts\respawnBeacon.sqf";
// default respawn delay
// can be overwitten by description.ext attribute of the same name
respawnDelay = 20;
// see respawnOnStart for description and limitations
// can be overridden by description.ext attribute of the same name
respawnOnStart = 1;
};
class Spectator
{
onPlayerRespawn = "BIS_fnc_respawnSpectator"; // a function can be used instead of a script
};
};
4
This class defines Respawn roles. The main purpose of Roles is to make things clearer and simpler for player when selecting a loadout. All the loadouts available in a mission are now divided into various roles. Mission designer can use roles already created in the game config, or custom roles can be defined in description.ext file. Loadouts with no role assigned are automatically assigned to the Default role.
// all default roles with icons
class CfgRoles
{
class Assault
{
displayName = $STR_A3_Role_Assault;
icon = "a3\Ui_f\data\GUI\Cfg\RespawnRoles\assault_ca.paa";
};
class Support
{
displayName = $STR_A3_Role_Support;
icon = "a3\Ui_f\data\GUI\Cfg\RespawnRoles\support_ca.paa";
};
class Recon
{
displayName = $STR_A3_Role_Recon;
icon = "a3\Ui_f\data\GUI\Cfg\RespawnRoles\recon_ca.paa";
};
};
Mission keys
Mission keys are used to lock/unlock certain missions until you completed other ones. It can also be used in mission to know which missions you finished.
Activated keys can be found in user profile (e.g documents\username.Arma3profile) under activeKeys section.
See also commands activateKey, isKeyActive and deActivateKey for more detailed information.
4
List of keys from which keysLimit counts the done ones.
keys[] = { "key1", "key2", "key3" };
4
Number of keys from the keys list needed done to unlock (and be able to play) this mission.
keysLimit = 2;
4
Name of keys marked done on mission completion.
doneKeys[] = { "key4" };
Player's UI
This section explains HUD customisation possibilities.
See also commands:
- showCompass, shownCompass, visibleCompass
- showGPS, shownGPS, visibleGPS
- showHUD, shownHUD
- showWatch, shownWatch, visibleWatch
- showUAVFeed, shownUAVFeed
1.16
- showPad, shownPad
1.00
4
Some of the feedback effects in Arma 3 are scripted and executed by functions_f\feedback\fn_feedbackMain.fsm. Those include being hit, pulsation, dirt from explosion, choking etc. Adding overrideFeedback with value > 0 will stop feedback FSM from executing, allowing mission/mod makers to script their own, custom effects. The param is first checked in the mission config and then mod config. If mission config has this param set to 0, it will force default feedback handling without possibility to override it by mods. Do not set this param unless you are planning to enforce feedback one way or another.
overrideFeedback = 1; // 0: force default handling, 1+: allow custom handling. Default: not set
showHUD
Enables/Disables the following IGUI elements:
- Vehicle and unit info
- Radar and tactical display
- Vehicle compass
- Tank direction indicator
- Commanding menu
- Group info bar
- HUD weapon cursors
- Vehicle display panels
showHUD = 0; // 0: disabled - 1: enabled. Default: 1
The effect of using the above showHUD param is different from the effects of showHUD scripting command, both methods are rather complementary to each other.
Since Arma 3 v1.49.131879 showHUD param can be an array to allow control over separate HUD elements, for example:
showHUD[] = {
1, // Scripted HUD (same as showHUD command)
1, // Vehicle and unit info
0, // Vehicle radar [HIDDEN]
0, // Vehicle compass [HIDDEN]
1, // Tank direction indicator
1, // Commanding menu
1, // Group info bar
1, // HUD weapon cursors
1, // Vehicle display panels
1 // "x killed by y" systemChat messages
};
showCompass
Defines if the compass is visible.
showCompass = 0; // 0: disabled - 1: enabled. Default: 1
showGPS
Enables/Disables the GPS.
showGPS = 0; // 0: disabled - 1: enabled. Default: 1
In Armed Assault 1.04 toggle this option to disable the mini map attached to the GPS.
4
Changes default GPS mini map into a radar like display that indicates group members relative position to the player.
See also BIS_fnc_groupIndicator
showGroupIndicator = 1; // 0: disabled - 1: enabled. Default: 0
showMap
Defines if the map is shown after the mission starts.
showMap = 0; // 0: disabled - 1: enabled. Default: 1
4
In ArmA, defines if the NotePad is shown after the mission starts.
showNotePad = 0; // 0: disabled - 1: enabled. Default: 1
4
Defines if the NotePad is shown after the mission starts. Only in OFP:CWC.
showPad = 0; // 0: disabled - 1: enabled. Default: 1
showWatch
Defines if the watch is visible.
showWatch = 0; // 0: disabled - 1: enabled. Default: 1
4
Enables/Disables the UAV Feed.
showUAVFeed = 0; // 0: disabled - 1: enabled. Default: 1
4
Defines if the Squad Radar is visible.
showSquadRadar = 0; // 0: disabled - 1: enabled. Default: 0
Starting gear
Starting gear points to briefing-available equipment. For respawn equipment, see Respawn/Revive.
See also Weapon Pool Commands for more detailed information about weapon pool system.
weapons
Set weapons available to players during the briefing.
class Weapons
{
class AK74 { count = 8; };
class RPG7V { count = 2; };
class Binocular { count = 2; };
};
magazines
Set magazines available to players during the briefing.
class Magazines
{
class 30Rnd_545x39_AK { count = 32; };
class PG7V { count = 6; };
class HandGrenade { count = 16; };
};
4
Set backpacks available to players during the briefing.
class Backpacks
{
class US_Patrol_Pack_EP1 { count = 4; };
class US_Assault_Pack_EP1 { count = 4; };
};
4
Allows subordinates (i.e., not leaders) to equip items defined in weapons, magazines and backpacks.
allowSubordinatesTakeWeapons = 1; // 0: disabled - 1: enabled. Default: ?
4
Used to blacklist undesired Arsenal equipment, which prevents user saved loadout from being loaded if it contains restricted items.
arsenalRestrictedItems[] = { "U_B_Soldier_VR" };
Corpse & wreck management
This section explains how to use game-included garbage collector (GC) for better performances.
See also addToRemainsCollector, isInRemainsCollector and removeFromRemainsCollector commands.
4
Sets the mode for corpse removal manager.
corpseManagerMode = 0; // Default: 0 for SP, 2 for MP
- 0 = None - None of the units are managed by the manager
- 1 = All - All units are managed by the manager
- 2 = None_But_Respawned - Only units that can respawn are managed by the manager
- 3 = All_But_Respawned - All units are managed by the manager with exception of respawned (opposite to mode 2)
4
Corpse limit before which ( <= ) corpseRemovalMaxTime applies and after which ( > ) corpseRemovalMinTime applies.
corpseLimit = 1; // Default: 15
4
Remove all bodies that have been dead longer than corpseRemovalMinTime when corpseLimit is reached.
corpseRemovalMinTime = 60; // seconds. Default: 10
4
Maximum time a corpse can remain on the ground if total number of corpses is equal or under corpseLimit.
corpseRemovalMaxTime = 1200; // seconds. Default: 3600
4
Sets the mode for wreck removal manager.
wreckManagerMode = 0; // Default: 0 for SP, 2 for MP
- 0 = None - None of the vehicles are managed by the manager
- 1 = All - All vehicles are managed by the manager
- 2 = None_But_Respawned - Only vehicles that can respawn are managed by the manager
- 3 = All_But_Respawned - All vehicles are managed by the manager with exception of respawned (opposite to mode 2)
4
Vehicle wreck limit before which ( <= ) wreckRemovalMaxTime applies and after which ( > ) wreckRemovalMinTime applies .
wreckLimit = 1; // seconds. Default: 15
4
Remove all wrecks that have existed longer than wreckRemovalMinTime when wreckLimit is breached.
wreckRemovalMinTime = 60; // seconds. Default: 10
4
Maximum time a wreck can remain on the ground if total number of wrecks is equal or under wreckLimit.
wreckRemovalMaxTime = 1800; // seconds. Default: 36000 (10 hours)
4
The minimum distance between corpse or wreck and nearest player before the corpse or wreck is allowed to be removed by the garbage collector.
minPlayerDistance = 50; // meters. Default: 0
Mission parameters
Mission parameters allow you to add settings to your creation. These settings are in-game accessible only in Multiplayer mode, but can also be accessed by commands for a scripted use in Singleplayer mode.
for Arma 3, see Arma 3 Mission Parameters.
See also BIS_fnc_getParamValue command (paramsArray usage is not recommended).
titleParam%, valuesParam%, defValueParam%, textParam%
titleParam1 and titleParam2 (% in title is replaced either by 1 or 2) are multiplayer options. These options are seen in the lobby of a multiplayer game. They can be useful for setting time limits and score limits in such games as Capture the Flag and Death Matches. Other popular uses include accelerate time, setting the mission difficulty or switching the intro on/off.
In the mission, variables param1 and param2 have the corresponding values of the chosen options.
titleParam1 = "Time limit:";
valuesParam1[] = { 0, 300, 600, 900 };
defValueParam1 = 900;
textsParam1[] = { "Unlimited", "5 min", "10 min", "15 min" };
titleParam2 = "Score to win:";
valuesParam2[] = { 10000, 5, 7, 10, 15, 20, 25, 30 };
defValueParam2 = 5;
textsParam2[] = { "Unlimited", 5, 7, 10, 15, 20, 25, 30 };
Example:
hint format ["param1 = %1\nparam2 = %2", param1, param2];
4
These are Multiplayer parameters, available in the lobby by the server administrator. They are intended as a replacement for param1/param2.
class Params
{
class ViewDistance
{
// Visible name in lobby settings list
title = "View distance";
// must be integers - commas e.g 1.5 are not allowed
values[] = { 500, 1000, 2000, 5000 };
// Description of each selectable item - must have the same number of items as 'values'
// If texts are missing, the values will be displayed instead
texts[] = { "500m", "1000m", "2 km", "5 km" };
// must be listed in 'values' array, otherwise 0 is used. If not integer, fallback value is 1
default = 1000;
// (optional) script file called when player joins, selected value is passed as an argument
file = "setViewDistance.sqf";
};
};
See Arma 3 Mission Parameters for more detailed information.
Mission settings
These are non-editable, mission maker design settings.
They can be used for a smoother experience, briefing/debriefing behaviour, saving options, etc.
See also Debriefing for more detailed information.
aiKills
Enables AI units score to appear in score table.
aiKills = 1; // 0: disabled - 1: enabled. Default: 0
briefing
Skip briefing screen for SP missions. If no briefing.html is present, it is skipped anyway.
briefing = 0; // 0: disabled - 1: enabled. Default: 1
Briefing will still be displayed until all clients are connected and done loading.
debriefing
Defines if the debriefing is shown or not at the end of the mission.
debriefing = 0; // 0: disabled - 1: enabled. Default: 1
4
Define custom mission endings or override the default endings (found under CfgDebriefing in the game's config file).
class CfgDebriefing
{
// Used when all players die in MP
class endDeath
{
title = "Both teams have died.";
description = "Everyone was killed by the bomb.";
picture = "KIA";
};
};
For a detailed description, see Arma 3 Debriefing.
4
Define custom sections to be displayed on the debriefing screen. Useful for custom scoring systems or displaying player achievements.
class CfgDebriefingSections
{
class bPoints
{
title = "Blufor Points";
variable = "BLU_P";
};
class oPoints
{
title = "Opfor Points";
variable = "OPF_P";
};
};
channel ID number correspondence | ||||||
---|---|---|---|---|---|---|
Global | Side | Command | Group | Vehicle | Direct | System |
0 | 1 | 2 | 3 | 4 | 5 | 6 |
4
Disable global, side, command or system chat. MOTD and admin say have exception and will show in global.
basic syntax: Template:since
disableChannels[] = { 0, 3 }; // simple channel ID list
advanced syntax: Template:since
disableChannels[] = {
{
0, // channel ID
false, // disable text chat
true // disable voice chat
},
{ 3, true, true }
};
disabledAI
Multiplayer setting that removes all playable units which do not have a human player.
When AI is disabled, a player logging out will not have AI take control of his character.
disabledAI = 1; // 0: disabled - 1: enabled. Default: 0
4
Disables randomization on certain objects, object types or object kinds in the mission. For more information visit: Vehicle Customization (VhC)
disableRandomization[] = { "All", "AllVehicles", "B_G_Offroad_01_F", "myCar", "MyUnitName", "B_Soldier_F" };
Note: This takes higher priority and will override the following:
_vehicle setVariable ["BIS_enableRandomization", true]; // Cannot enable for all or specific vehicles once disabled in description.ext
4
Allows access to the Debug Console outside of the editor during normal gameplay.
enableDebugConsole = 2; // dangerous in MP
- 0 - Default behavior, available only in editor
- 1 - Available in SP and for hosts / logged in admins
- 2 - Available for everyone
Alternative since 1.72
enableDebugConsole[] = { "76561198XXXXXXXXX", "76561198YYYYYYYYY", }; // admins and players with their UID in this list have access
4
Disable dropping items while swimming. Introduced in Arma 2 OA BETA 1.60.93965. Doesn't seem to have any effect in Arma 3.
enableItemsDropping = 0; // 0: disabled - 1: enabled. Default: ?
enableTeamSwitch
Enables or disables Team Switch functionality in MP when respawn type is 5 (SIDE).
enableTeamSwitch = 0; // 0: disabled - 1: enabled. Default: 1
4
Force enable or disable RotorLib flight model.
forceRotorLibSimulation = 1; // Default: 0
- 0 - based on player's options
- 1 - enabled (advanced mode)
- 2 - disabled (default flight mode)
4
By default a new player is not auto assigned a free playable slot in the mission lobby in Multiplayer. Disable this setting to make him auto assigned to the side with least players.
joinUnassigned = 0; // 0: disabled - 1: enabled. Default: 1
minScore, avgScore, maxScore
Set minimum, average and maximum score for your mission. Score is related to the star display in the debriefing screen (OFP:CWC). The score can be influenced during a missions progress by using the addRating command.
minScore = 0;
avgScore = 1800;
maxScore = 75000;
4
Executes custom statement when player enters GETALLGEAR cheat (see: GETALLGEAR).
onCheat = "hint str _this";
4
Executes a custom SQF script or function in scheduled environment (execVM) when player brings up Game Pause screen (presses 'Esc' button). Display parameter of the resulting dialog is available via (_this select 0) inside the script.
onPauseScript = "myOnPauseScript.sqf"; // file path
onPauseScript[] = { myOnPauseFunction1, myOnPauseFunction2 }; // function name - since Arma 3
4
Toggle saving possibility.
saving = 0; // 0: disabled - 1: enabled. Default: 1
4
When scripted player is enabled, game no longer shows "No player select" error message upon mission start when no player unit is present.
scriptedPlayer = 1; // 0: disabled - 1: enabled. Default: 0
4
When enabled, joining player will join the mission bypassing role selection screen. The joinUnassigned param will be set to 1 automatically, so that player receives first available role from mission template. When leaving such mission, player will go straight back to server browser.
skipLobby = 1; // 0: disabled - 1: enabled. Default: 0
Server security
This section underlines mission security settings for server. They can secure or break your mission, so be sure to use them wisely.
4
Allows functions to log to the RPT file.
allowFunctionsLog = 1; // 0: disabled - 1: enabled. Default: ?
4
As a security measure, functions are by default protected against rewriting during mission. This restriction does not apply in missions previewed from the editor.
allowFunctionsRecompile = 1; // 0: disabled - 1: enabled. Default: 0
4
Define remoteExec and remoteExecCall restrictions. See CfgRemoteExec for more detailed explanations and examples.
4
Define disabled script commands. See CfgDisabledCommands for more detailed explanations.
Tasks
Tasks are part of the mission. This section deals with the settings for them.
See also Arma 3: Task Framework - Task Overhaul
4
Use new 2D markers.
taskManagement_markers2D = 1; // 0: disabled - 1: enabled. Default: 0
4
Use new 3D markers.
taskManagement_markers3D = 1; // 0: disabled - 1: enabled. Default: 0
4
Propagate shared tasks to subordinates.
taskManagement_propagate = 1; // 0: disabled - 1: enabled. Default: 0
4
3D marker maximum draw distance in meters. within this range, unassigned tasks are drawn on screen.
taskManagement_drawDist = 2500; // in meters. Default: 2000
4
Agents task config
class CfgTasks
{
class Default
{
name = "";
fsm = ""; // relative path to fsm file
condition = ""; // relative path to sqf file (compiled and stored for the duration of run time, executed frequently)
description = "";
destination = "";
resources[] = {};
};
};
4
Define Task types and their icons.
class CfgTaskTypes
{
class Attack
{
icon = "\A3\UI_F_MP_Mark\Data\Tasks\Types\Attack_ca.paa";
icon3D = "\A3\UI_F_MP_Mark\Data\Tasks\Types3D\Attack_ca.paa";
};
class Defend
{
icon = "\A3\UI_F_MP_Mark\Data\Tasks\Types\Defend_ca.paa";
icon3D = "\A3\UI_F_MP_Mark\Data\Tasks\Types3D\Defend_ca.paa";
};
};
4
Define Task titles and descriptions.
class CfgTaskDescriptions
{
class myTask1
{
title = "myTaskTitle";
description = "myTaskDescription";
marker = "myTaskDestinationMarker";
};
class myTask2
{
title = $STR_myTask2Title;
description = $STR_myTask2Description;
marker = $STR_myTask2Marker;
};
};
4
Defines tasks enhancements directly in a class.
class CfgTaskEnhancements
{
enable = 1; // 0: disable new task features (default), 1: enable new task features & add new task markers and task widgets into the map
3d = 1; // 0: do not use new 3D markers (default), 1: replace task waypoints with new 3D markers
3dDrawDist = 0; // 3d marker draw distance (default: 2000)
share = 1; // 0: do not count assigned players (default), 1: count how many players have the task assigned
propagate = 1; // 0: do not propagate (default), 1: propagate shared tasks to subordinates
};
Importing main config classes
4
It is possible to import a class from main config and inherit from it in mission config. For example:
import RscText;
class MyText: RscText
{
....
};
For more information see import page
Custom content definition
The following class definitions allow for mission-defined content like sounds, music, or more advanced content like functions
CfgCameraEffects
Configure custom cameraEffect.
class CfgCameraEffects
{
class Array
{
class External
{
type = 0;
duration = 6; // 3 seconds for some reason
file = ""; // some kind of custom .p3d file for camera
};
class AutoTerminate: External
{
type = 3; // CamChained
chain[] = { "External", "Terminate" }; // Terminate will trigger after 3 seconds
};
};
};
Example:
showCinemaBorder false; _dur = getNumber (missionConfigFile >> "CfgCameraEffects" >> "Array" >> _this >> "duration"); _cam = "camera" camCreate (player modelToWorld [0, -100, 50]); _cam camSetTarget player; _cam camSetRelPos [0, -0.1, 1.8]; _cam camCommit _dur / 2; _cam cameraEffect ["AutoTerminate", "Back"]; waitUntil { camCommitted _cam }; camDestroy _cam;
4
This entry allows to add commanding menu option in the communication menu. See Arma 3 Communication Menu for more information.
4
This entry contains a list of configurations for certain scripting commands (currently only allowedHTMLLoadURIs for htmlLoad and ctrlSetURL). Can be defined in Config.cpp or in campaign's or mission's Description.ext; the most local variant is used.
class CfgCommands
{
// a list of URIs supported by HTMLLoad
// note that in case of clients connected to dedicated server, restrictions defined in its config have priority.
allowedHTMLLoadURIs[] = {
"*.mywebsite.com", // strings support wildcards '*' and '?'
"*.mywebsite2.com/something/*",
(...)
"*.mywebsiteN.com",
};
};
4
Define functions for your mission. See Functions Library for more detailed information.
4
Define Advanced Hints (similar to the Field Manual ones). See Advanced Hints for more information.
CfgIdentities
Define the identities of individual units, you can specify the face, type of glasses worn, voice, tone of voice and name of an identity.
You then give a specific unit this identity by using the command setIdentity in the mission.
NOTE: nameSound is only valid since Arma 3. See setNameSound for possible values.
class CfgIdentities
{
class MyLittleSoldier
{
name = "Givens";
nameSound = "Givens"; // Arma 3 only!
face = "whiteHead_06";
glasses = "None";
speaker = "Male05ENG";
pitch = 1.1;
};
};
Example:
player setIdentity "MyLittleSoldier";
See CfgIdentities for more detailed information and valid options for face, glasses, speaker etc.
4
Define leaflets for your missions. See Arma 3 Leaflets for more information.
CfgMusic
Defines music you can play with playMusic.
class CfgMusic
{
tracks[] = {};
class MyIntro
{
// display name
name = "My intro music";
// filename, volume, pitch
sound[] = { "\music\filename.ogg", db + 0, 1.0 };
};
class Ludwig9
{
name = "Ludwig Van Beethoven's Ninth Symphony";
sound[] = { "\music\ludwig9.ogg", db + 10, 1.0 };
};
};
Example:
playMusic "MyIntro";
4
Define custom notifications to be shown with BIS_fnc_showNotification. See Notification for more detailed information and examples.
4
Define custom post-process effects, to Post process effects format (only "colorCorrection" and "filmGrain" are supported for now).
To be used with BIS_fnc_setPPeffectTemplate.
class CfgPostprocessTemplates
{
class MyPurplePP
{
colorCorrections[] = { 1, 1, 0, {1, 1, 1, 0}, {1, 0.5, 1, 0}, {0.75, 0.25, 0, 1} };
displayName = "Purple-ish!";
filmGrain[] = { 0.04, 1, 1, 0, 1 };
};
};
CfgRadio
Defines radio sentences you can play with these radio commands: customRadio, vehicleRadio, groupRadio, sideRadio, globalRadio.
class CfgRadio
{
sounds[] = {};
class RadioMsg1
{
// display name
name = "";
// filename, volume, pitch
sound[] = { "\sound\filename1.ogg", db - 100, 1.0 };
// radio caption
title = "I am ready for your orders.";
};
class RadioMsg2
{
name = "";
sound[] = { "\sound\filename2", db - 100, 1.0 }; // .wss implied
title = $STR_RADIO_2;
};
};
Example:
unit sideRadio "RadioMsg2";
CfgSentences
See Conversations for more information.
CfgSFX
See CfgSFX for more information.
CfgSounds
General sounds that can be used for dialog, voiceovers in the briefing etc.
See also commands playSound, say, say2D and say3D.
class CfgSounds
{
sounds[] = {};
class wolf1
{
// how the sound is referred to in the editor (e.g. trigger effects)
name = "my_wolf_sound";
// filename, volume, pitch, distance (optional)
sound[] = { "fx\wolf1.ogg", 1, 1, 100 };
// subtitle delay in seconds, subtitle text
titles[] = { 1, "*wolf growls*" };
};
class playerIsHurt
{
name = "Man, you are injured?! - by NPC";
sound[] = { "Sound\playerIsHurt1.ogg", 1, 1 };
titles[] = {
0, "Dude! You are covered in blood!",
6, "Are you sure you are OK?!"
};
};
class AnotherSound
{
name = "Sound with advanced subtitle options";
sound[] = { "somesound.ogg", 1, 1 };
forceTitles = true; // will display titles even if global show titles option is off
titlesFont = "LCD14"; // titles font family
titlesSize = 0.1; // titles font size
titlesStructured = true; // treat titles as Structured Text (see below)
titles[] = {
0, "<t color=""#ff0000"">Red text</t>",
1, "<t color=""#00ff00"">Green text</t>"
};
};
};
Example:
playSound "wolf1"; // class name as string player say ["wolf1", 100];
See OFP ToadLife's tutorial for more detailed information.
4
Define custom unit insignia (shoulder patches). See Arma 3 Unit Insignia for more detailed information.
class CfgUnitInsignia
{
class 111thID
{
displayName = "111th Infantry Division"; // Name displayed in Arsenal
author = "Bohemia Interactive"; // Author displayed in Arsenal
texture = "\a3\UI_F_Bootcamp\Data\CfgUnitInsignia\B_111thID_texture_ca.paa"; // Image path
textureVehicle = ""; // Currently does nothing, reserved for future use
};
};
4
This class is used to create units templates. For now, this is only used with the function BIS_fnc_unitHeadgear.
class CfgUnitTemplates
{
// Classic selectRandom
class MyFirstTemplate: Default
{
headgearList[] =
{
"H_Cap_blk",
"H_Cap_grn",
"H_Cap_oli_hs"
};
facewearList[] =
{
"G_Bandanna_beast",
"G_Bandanna_blk",
"G_Bandanna_khk"
};
};
// the probabilities will be considered, weighted random
class MySecondTemplate: Default
{
headgearList[] =
{
"H_Cap_blk", 0.9,
"H_Cap_grn", 0.6,
"H_Cap_oli_hs", 0.55
};
facewearList[] =
{
"G_Bandanna_beast", 0.5,
"G_Bandanna_blk", 0.5,
"G_Bandanna_khk", 0.5
};
};
};
Example:
[myUnit, "MyFirstTemplate"] call BIS_fnc_unitHeadgear; [myUnit, "MySecondTemplate"] call BIS_fnc_unitHeadgear;
4
This class can only be used to create sound sources (since Arma 3 v1.69.141183).
See also CfgSFX for more detailed information.
class CfgVehicles
{
class MyOwlSound // class name to be used with createSoundSource
{
sound = "MyOwl"; // reference to CfgSFX class
};
};
4
This class is used to create vehicle templates used by the Vehicle Customization system.
class CfgVehicleTemplates
{
class BIS_Offroad_01_default
{
displayName = "Default";
author = "Bohemia Interactive";
textureList[] =
{
"guerilla_01", 0.5,
"guerilla_02", 1
};
animationList[] =
{
"HideBumper1", 1,
"HideBumper2", 1
};
};
};
rscTitles
Defines custom UI displays. To show such displays, use cutRsc or titleRsc.