Lou Montana/Sandbox – User

From Bohemia Interactive Community
< User:Lou Montana
Revision as of 15:21, 3 March 2018 by Lou Montana (talk | contribs) (Second Description.ext sharing)
Jump to navigation Jump to search


Template:toclimitThe Description.ext file sets the overall mission attributes, and defines some global entities that will be available to other scripts. It is placed in mission's root folder. It uses the same syntax and structure as the Config.cpp file, but supports only a limited number of the full set of Config.cpp classes. Many, such as CfgAmmo, won't work. In OFP:Elite this file is required for MP missions. If this is not included, a "-1 error" is shown when selecting the mission and the mission won't load.
In 2D Editor, scenario has to be saved or re-loaded before changes to Description.ext takes effect. In Eden Editor, changes are refreshed automatically upon scenario preview.


Mission informations

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


-wrong parameter ("Arma") defined!-1.00

header

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 informations.


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. Care should be taken to see whether your message is readable in that timeframe.

onLoadMission = "YourMissionName";

The OnLoadMission option is used to present the mission name to the user. In MP this is the name you see when selecting a mission and also the name that is presented to the Multiplayer browser.


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. 1 means visible, 0 hidden. Default: 0

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

loadScreen

You can define a picture to be shown while the mission is loaded. The path is relative to the mission folder.

loadScreen = "pictures\intro.paa";


briefingName

Mission name displayed in the mission selection menu.

briefingName = "TAG 1-5 CO My super mission";


CfgLoadingTexts

Define mission specific loading texts.


Example load screen

onLoadName

String (usually mission name) shown during mission loading. The string is shown in a slightly larger font above the loadScreen. For example:

author			= "Varanon";
OnLoadName		= "Point Insertion";
OnLoadMission		= "A group of NATO soldiers is tasked with sabotaging a coastal defense.";
loadScreen		= "images\loadScreen.paa";

This produces the pictured result. The onLoadMission text is placed below the load screen and the header gameType determines the game type on top of the box.


author

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


overviewPicture

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


overviewText

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


overviewTextLocked

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



Respawn/Revive

This section talks about respawn and revive actions.


respawn

Sets respawn type.

Can be one of:

  • 0 or "NONE" - No respawn
  • 1 or "BIRD" - Respawn as a seagull
  • 2 or "INSTANT" - Respawn just where you died.
  • 3 or "BASE" - Respawn in base.
    • Requires a marker named:
      • respawn_west
      • respawn_east
      • respawn_guerrila
      • respawn_civilian
    • Add markers named with the prefix 'respawn_west' with any suffix (eg: respawn_westABC, respawn_west1, respawn_west_2, etc) for multiple random respawn points. Similarly for east, guerrilla and civilian.
    • Vehicle respawn in base requires a marker named:
      • respawn_vehicle_west
      • respawn_vehicle_east
      • respawn_vehicle_guerrila
      • respawn_vehicle_civilian
  • 4 or "GROUP" - Respawn in your group (if there's no AI left, you'll become a seagull).
  • -wrong parameter ("Arma") defined!-1.08 5 or "SIDE" - Respawn into an AI unit on your side (if there's no AI left, you'll become a seagull). With this respawn type, team switch is also available to any AI controlled playable units.


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;


respawnVehicleDelay

Set vehicle respawn delay in seconds.

respawnVehicleDelay = 11;


respawnDialog

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

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


respawnOnStart

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

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


respawnTemplates

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

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


-wrong parameter ("Arma") defined!-1.00

respawnWeapons

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

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


-wrong parameter ("Arma") defined!-1.00

respawnMagazines

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

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


ReviveMode

Define if Revive mode is enabled.

ReviveMode = 1; // 0: disabled - 1: enabled - 2: controlled by player attributes. Default: 0


ReviveUnconsciousStateMode

ReviveUnconsciousStateMode = 0; // 0: basic - 1: advanced - 2: realistic. Default: 0 – see damage model for more detailed informations.


ReviveRequiredTrait

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

ReviveRequiredTrait = 0; // 0: disable - 1: enable. Default: 0


ReviveRequiredItems

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

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


ReviveRequiredItemsFakConsumed

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

ReviveRequiredItemsFakConsumed = 1; // 0: disable - 1: enable. Default: ?


ReviveMedicSpeedMultiplier

Speed multiplier for revive performed by medic

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


reviveDelay

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

reviveDelay = 6; // Default: 6


reviveForceRespawnDelay

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

reviveForceRespawnDelay = 3; // Default: 3


reviveBleedOutDelay

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

reviveBleedOutDelay = 300; // Default: 120



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 informations.


-wrong parameter ("Arma") defined!-1.00

keys

List of keys (needed for keysLimit)

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

Note that unlike other 'text' items, stringtable translations ($STR_*) cannot be used


-wrong parameter ("Arma") defined!-1.00

keysLimit

Number of keys from the keys list needed for unlock a mission.

keysLimit = 2;


-wrong parameter ("Arma") defined!-1.00

doneKeys

Name of key(s) needed for mark a mission in SP missions list as completed.

doneKeys[] = { "key4" };

Note that unlike other 'text' items, stringtable translations ($STR_*) cannot be used



player's UI

This section explains HUD customisation possibilities.
See also commands:


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
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.
As of Arma 3 v1.49.131879 showHUD param could be an array to allow control over separate HUD elements, for example:

showHUD[] = {
	true,	// Scripted HUD (same as showHUD command)
	true,	// Vehicle + soldier info
	false,	// Vehicle radar [HIDDEN]
	false,	// Vehicle compass [HIDDEN]
	true,	// Tank direction indicator
	true,	// Commanding menu
	true,	// Group Bar
	true,	// HUD Weapon Cursors
	true	// Vehicle display panels
};

NOTE: adding new showHUD[] array param to description.ext will also disable scripted command showHUD entirely.


showCompass

Defines if the compass is visible.

showCompass = 0; // 0: disable - 1: enable. Default: 1

showGPS

Enables/Disables the GPS

showGPS = 0; // 0: disable - 1: enable. Default: 1

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


showGroupIndicator

When set to 1, changes default GPS mini map into a radar like display that indicates group members relative position to the player

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


showMap

Defines if the map is shown after the mission starts.

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


-wrong parameter ("Arma") defined!-1.00

showNotePad

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

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


showPad

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

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


showWatch

Defines if the watch is visible.

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


showUAVFeed

Enables/Disables the UAV Feed.

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


showSquadRadar

Defines if the Squad Radar is visible.

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



Starting gear

Starting gear points to briefing-available equipment. For respawn equipment, see #Respawn/Revive.
See also Command Group: Weapon Pool for more detailed informations about weapon pool system.


weapons

Set weapons available to players during the briefing.

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


magazines

Set magazines available to players during the briefing.

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


backpacks

Set backpacks available to players during the briefing.

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


weaponPool

Allows equipment transferred from one campaign mission to the next to be available during the briefing in the gear menu.

weaponPool = 1;


allowSubordinatesTakeWeapons

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

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



Corpse & wreck management

This section explains how to use game-included garbage collector (GC) for better performances.
See also commands:


corpseManagerMode

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)


corpseLimit

Corpse limit before which ( <= ) corpseRemovalMaxTime applies and after which ( > ) corpseRemovalMinTime applies.

corpseLimit = 1;

Default value: 15


corpseRemovalMinTime

Remove all bodies that have been dead longer than corpseRemovalMinTime when corpseLimit is breached.

corpseRemovalMinTime = 60; // seconds. Default: 10

Default value: 10


corpseRemovalMaxTime

Maximum time a corpse can remain on the ground if total number of corpses is equal or under corpseLimit.

corpseRemovalMaxTime = 1200; // seconds. Default: 3600


wreckManagerMode

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)


wreckLimit

Vehicle wreck limit before which ( <= ) wreckRemovalMaxTime applies and after which ( > ) wreckRemovalMinTime applies .

wreckLimit = 1; //seconds. Default: 15


wreckRemovalMinTime

Remove all wrecks that have existed longer than wreckRemovalMinTime when wreckLimit is breached.

wreckRemovalMinTime = 60; // seconds. Default: 10


wreckRemovalMaxTime

Maximum time a wreck can remain on the ground if total number of wrecks is equal or under wreckLimit.

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


minPlayerDistance

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 commands BIS_fnc_getParamValue (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. These options can be useful for setting time limits and score limits in such games as Capture the Flag and Death Matches. Other popular uses include accelerate time, setting the mission difficulty or switching the intro on/off.

While param1/param2 were introduced in OFP:CWC and can still be used in later titles, it is highly recommended to use config class params.

In the mission param1 and param2 have the 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];


params

See Arma 3 Mission Parameters for more detailed informations.



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 informations.


aiKills

Enables scorelist for AI players

aiKills = 1;


briefing

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

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

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


debriefing

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

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


CfgDebriefing

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

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


CfgDebriefingSections

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

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


disableChannels

Disable global, side, command and system chat. MOTD and admin say have exception and will show in global. Introduced in Arma 2 Arrowhead BETA 1.60.93398.

// old syntax
disableChannels[] = { <channelID>, <channelID> … };
Example:  disableChannels[] = { 0, 1, 2 };

// new syntax
disableChannels[] = { { <channelID>, <disableChat>, <disableVoice> }, … };
Example:  disableChannels[] = { { 0, true, true }, { 1, true, false }, … };
  • channelID number correspondence:
    • 0 = Global
    • 1 = Side
    • 2 = Command
    • 3 = Group
    • 4 = Vehicle
    • 5 = Direct
    • 6 = System


disabledAI

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

Disabling AI units will prevent JIP into playable units.
disabledAI = 1; // 0: disabled - 1: enabled. Default: 0


disableRandomization

Disables randomization on certain objects, object types or object kinds in the mission.

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


enableDebugConsole

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 Arma 3 logo black.png1.72

enableDebugConsole[] = {"76561198XXXXXXXXX"}; // player with the UID and admin has access


enableItemsDropping

Disable dropping items while swimming. Introduced in BETA 1.60.93965.

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


enableTeamSwitch

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

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


forceRotorLibSimulation

Force enable or disable RotorLib.

forceRotorLibSimulation = 1; // 0: options based - 1: enabled - 2: disabled. Default: 0


joinUnassigned

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

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


minScore, avgScore, maxScore

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

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


-wrong parameter ("Arma") defined!-1.00

onCheat

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

onCheat = "hint str _this";


onPauseScript

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

onPauseScript = "myOnPauseScript.sqf";
onPauseScript[] = { myOnPauseFunction1, myOnPauseFunction2 }; // Arma 3

NOTE: The script or function executes in its own namespace, so in order to pass external global variable to the script you need to explicitly indicate namespace passed variable defined in. For example, while expression like myVar = "123"; defined elsewhere usually is treated as if myVar belongs to missionNamespace, inside onPauseScript you have to be explicit about it:

hint str myVar; // Undefined variable myVar error!
hint str (missionNamespace getVariable "myVar"); // 123

The above is also true if defining global variable inside onPauseScript for use elsewhere:

myVar2 = "345"; // incorrect
missionNamespace setVariable ["myVar2", "345"]; // correct


-wrong parameter ("Arma") defined!-1.00

saving

Toggle saving possibility.

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


scriptedPlayer

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

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


skipLobby

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

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



Server security

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


allowFunctionsLog

Allows functions to log to the RPT file. Set it to 1/true to allow RPT logging.

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


allowFunctionsRecompile

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

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


CfgRemoteExec

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

class CfgRemoteExec
{
	// List of script functions allowed to be sent from client via remoteExec
	class Functions
	{
		// RemoteExec modes: 
		// 0-turned off
		// 1-turned on, taking whitelist into account
		// 2-turned on, ignoring whitelist (default, because of backward compatibility)
		mode = 2;

		// Ability to send jip messages: 0-disabled, 1-enabled (default)
		jip = 1;

		// your functions here
		class BIS_fnc_aFunction
		{
			allowedTargets = 0;	// can target anyone (default)
			jip = 0;		// sending jip messages is disabled for this function
						// (overrides settings in the Functions class)
		};
		class YourFunctionOne { allowedTargets = 1; }; // can target only clients
		class YourFunctionTwo { allowedTargets = 2; }; // can target only the server
	};

	// List of script commands allowed to be sent from client via remoteExec
	class Commands
	{
		// your commands here
		class setDir
		{
			allowedTargets = 2;	// can target only the server
			jip = 0;		// sending jip is turned off
						// (overrides settings in the Commands class)
		};
	};
};


CfgRemoteExecCommands

Define commands available for remote execution with BIS_fnc_MP. See CfgRemoteExecCommands for more detailed explanations.

class CfgRemoteExecCommands {}; // disable remote execution of all commands


CfgDisabledCommands

Disable certain 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 Tasks Overhaul, Shared Objectives.


taskManagement_markers2D

Use new 2D markers

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


taskManagement_markers3D

Use new 3D markers

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


taskManagement_propagate

Propagate shared tasks to subordinates

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


taskManagement_drawDist

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

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


CfgTaskTypes

Define Task types and their icons.

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


CfgTaskDescriptions

Define Task titles and descriptions.

class CfgTaskDescriptions
{
	class myTask1
	{
		title		= "myTaskTitle";
		description	= "myTaskDescription";
		marker		= "myTaskDestinationMarker";
	};
	class myTask2
	{
		title		= $STR_myTask2Title;
		description	= $STR_myTask2Description;
		marker		= $STR_myTask2Marker;
	};
};



Custom content definition

These 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:

"AutoTerminate" spawn {
	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 [_this, "Back"];
	waitUntil {camCommitted _cam};
	camDestroy _cam;
};


CfgFunctions

Define functions for your mission. See Functions Library for more detailed informations.


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 for Arma 3.

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 informations and valid options for face, glasses, speaker etc.


CfgLeaflets

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


CfgMusic

Defines music you can play with playMusic.

class CfgMusic
{
	tracks[] = {};
	class MarsIntro
	{
		name	= "";
		sound[]	= { "\music\filename.ogg", db + 0, 1.0 };
	};
	class Ludwig9
	{
		name	= "";
		sound[]	= { "\music\filename.ogg", db + 10, 1.0 };
	};
};

Name can be left blank as in the examples above. Only specify a name if you wish to access these sounds via the environment options of a trigger.
Title is the text string that will be displayed on the screen when the sound file is played. See also Stringtable.csv/Stringtable.xml.

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

Example:

playMusic "MarsIntro";


CfgNotifications

Define custom notifications to be shown with BIS_fnc_showNotification. See Notification for more detailed informations.

class CfgNotifications
{
	class MyNotification
	{
		// NOTE: title, iconPicture, iconText and description are filled by BIS_fnc_showNotification arguments
		title = "";          // Title displayed as text on black background
		iconPicture = "";    // Small icon displayed in left part
		iconText = "";       // Short text displayed over the icon
		description = "";    // Brief description displayed as structured text
		color[] = {1,1,1,1}; // Icon and description color
		duration = 5;        // How many seconds will the notification be displayed
		priority = 0;        // Priority; higher number = more important
		difficulty[] = {};   // Required difficulty settings - all difficulty settings have to be enabled
	};
};


CfgRadio

Defines radio sentences you can play with *Radio commands: customRadio, vehicleRadio, groupRadio, sideRadio, globalRadio

class CfgRadio
{
	sounds[] = {};
	class RadioMsg1
	{
		name	= "";
		sound[]	= { "\sound\filename1.ogg", db - 100, 1.0 };
		title	= "I am ready for your orders.";
	};
	class RadioMsg2
	{
		name	= "";
		sound[]	= { "\sound\filename2", db - 100, 1.0 }; // .wss implied
		title	= { $STR_RADIO_2 };
	};
};

Note that the location of the sound file is relative to the mission.

Use in missions:

unit sideRadio "RadioMsg2";


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
		sound[] = {"fx\wolf1.ogg", 1, 1, 100};

		// subtitle delay in seconds, subtitle text 
		titles[] = { 1, "*wolf growls*" };
	};
	class wolf2
	{
		name = "my_other_wolf_sound";
		sound[] = {"fx\wolf2.ogg", 1, 1, 100};
		titles[] = { 1, "*wolf growls*" };
	};
};

Example:

playSound "wolf1";   // use the class name!
player say ["wolf1", 100];

See OFP ToadLife's tutorial for more detailed informations.

NOTE: Since Arma 3 v1.49.131710 it is possible to define AddOn sounds in mission config. In order to make engine look for the sound in AddOn, the sound path must start with @ (instead of \) for example:

class CfgSounds
{
	sounds[] = {};
	class addonsound1
	{
		name		= "sound from addon";
		// start path to sound file in AddOn with @
		sound[]		= { "@a3\Ui_F_Curator\Data\Sound\CfgSound\visionMode", 0.8, 1, 100 };
		titles[]	= { 0, "" };
	};
};


CfgUnitInsignia

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

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


CfgUnitTemplates

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

class CfgUnitTemplates
{
	// Classic selectRandom
	// [myUnit, "MyFirstTemplate"] call bis_fnc_unitHeadgear;
	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
	// [myUnit, "MySecondTemplate"] call bis_fnc_unitHeadgear;
	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
		};
	};
};


CfgVehicles

This class can only be used to create sound sources, since Arma 3 v1.69.141183.
See also CfgSFX for more detailed informations.

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


CfgVehicleTemplates

This class is used to create vehicle templates used by the |Vehicle Customization system.
class CfgVehicleTemplates
{
	class BIS_Offroad_01_default
	{
		displayName = "Default"; 
		author = "Bohemia Interactive"; 
		textureList[] =
		{
			"guerilla_01", 1,
			"guerilla_02", 1
		};
		animationList[] =
		{
			"HideBumper1", 1, 
			"HideBumper2", 1
		};
	};
};


rscTitles

Defines custom UI displays. To show such displays, use cutRsc or titleRsc.