Description.ext
The Description.ext file sets the overall mission attributes, and defines some global entities that will be available to other scripts. It is placed in mission's root folder. It uses the same syntax and structure as the Config.cpp file, but supports only a limited number of the full set of Config.cpp classes. Many, such as CfgVehicles, won't work.
In 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.
Attributes
Intro- duced in | Attribute | Type | Description | See Also
onLoadMission |
String | Displays a message while the mission is loading. Note that a mission that takes very little time to load will only display the message for a short time. 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 |
String | Displays a message while the intro is loading.
onLoadIntro = "YourMessage" onLoadMissionTime |
Number | Define whether you will see the time and date displayed while the mission loads. 1 means visible, 0 hidden.
onLoadMissionTime = 1; onLoadIntroTime |
Number | Define whether you will see the time and date displayed while the intro loads. 1 means visible, 0 hidden.
onLoadIntroTime = 1; loadScreen |
String | 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"; cfgLoadingTexts |
Class | Define mission specific loading texts.
minScore |
Number | Set minimum score for your mission. Score is related to the star display in the debriefing screen. The score can be influenced during a missions progress by using the addRating command.
minScore = 0; Values have to follow this formula: minScore < avgScore < maxScore. Any other combinations can lead to game freeze upon mission end. |
avgScore, maxScore
avgScore |
Number | Set average score for your mission. Score is related to the star display in the debriefing screen. The score can be influenced during a missions progress by using the addRating command.
avgScore = 1800; Values have to follow this formula: minScore < avgScore < maxScore. Any other combinations can lead to game freeze upon mission end. |
minScore, maxScore
maxScore |
Number | Set maximum score for your mission. Score is related to the star display in the debriefing screen. The score can be influenced during a missions progress by using the addRating command.
maxScore = 75000; Values have to follow this formula: minScore < avgScore < maxScore. Any other combinations can lead to game freeze upon mission end. |
minScore, avgScore
respawn |
String or Number | Sets respawn type.
Can be one of:
|
respawnDelay, respawnVehicleDelay, respawnDialog
respawnDelay |
Number | Set respawn delay in seconds.
respawnDelay = 42; |
respawn, respawnVehicleDelay, respawnDialog
respawnVehicleDelay |
Number | Set vehicle respawn delay in seconds.
respawnVehicleDelay = 11; |
respawn, respawnDelay, respawnDialog
respawnDialog |
Number | Show the scoreboard and respawn countdown timer for a player if he is killed with respawnType 3. Default is 1 (true).
respawnDialog = 0; |
respawn, respawnDelay, respawnVehicleDelay
cfgSounds |
Class | General sounds that can be used for dialog, voiceovers in the briefing etc.
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 sound[] = {"fx\wolf1.ogg", 1, 1}; // subtitle delay in seconds, subtitle text titles[] = {1, "*wolf growls*"}; }; }; Use in missions: playSound "wolf1"; // use the class name! player say ["wolf1", 100]; (see tutorial) cfgRadio |
Class | Radio sentences
class CfgRadio { sounds[] = {}; class RadioMsg1 { name = ""; sound[] = {"\sound\filename1.ogg", db-100, 1.0}; title = "I am ready for your orders."; }; class RadioMsg2 { name = ""; sound[] = {"\sound\filename2", db-100, 1.0}; // .wss implied title = {$STR_RADIO_2}; }; }; Note that the location of the sound file is relative to the mission. Use in missions: unit sideRadio "RadioMsg2"; cfgMusic |
Class |
class CfgMusic { tracks[]={}; 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 Use in missions: playMusic "MarsIntro" cfgIdentities |
Class | 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; }; }; See Category:CfgIdentities for valid options for: face, glasses, speaker etc. |
setIdentity
cfgFunctions |
Class | Define a functions for your mission. See Functions Library for detailed info. | Functions Library
CfgUnitInsignia |
Class | Define custom unit insignia (shoulder patches).
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 }; }; |
Arma 3 Unit Insignia
keys |
Array | List of keys (needed for keysLimit)
keys[] = {"key1","key2","key3"}; Note that unlike other 'text' items $STR_ variables (in the stringtable.csv for the mission) cannot be used |
keysLimit, doneKeys
keysLimit |
Number | Number of keys from the keys list needed for unlock a mission.
keysLimit[] = 2; |
keys, doneKeys
doneKeys |
Array | Name of key(s) needed for mark a mission in SP missions list as completed.
doneKeys[] = {"key4"}; Note that unlike other 'text' items $STR_ variables (in the stringtable.csv for the mission) cannot be used Keys can be activated using activateKey and checked by isKeyActive. |
keys, keysLimit
disabledAI |
Number | When 1, removes all playable units which do not have a human player. When 0, a logging out player will have AI take control of his character. Default value is 0. (MP)
disabledAI = 1; Disabling all the AI units will prevent JIP into playable units. aiKills |
Number | Enables scorelist for AI players
aiKills = 1; briefing |
Number | Skip briefing screen for SP missions. If no briefing.html is present, it is skipped anyway.
briefing = 0; Briefing will still be displayed until all clients are connected and done loading. debriefing |
Number | Defines if the debriefing is shown or not at the end of the mission.
debriefing = 0; showGPS |
Number | Enables/Disables the GPS
ShowGPS = 0; In ArmA 1.04 toggle this option to disable the mini map attached to the GPS. |
showGPS, shownGPS, visibleGPS
showCompass |
Number | Defines if the compass is visible.
showCompass = 0; |
showCompass, shownCompass, visibleCompass
showMap |
Number | Defines if the map is shown after the mission starts.
showMap = 0; |
showMap, shownMap
showNotePad |
Number | In ArmA, defines if the NotePad is shown after the mission starts.
showNotePad = 0; showPad |
Number | Defines if the NotePad is shown after the mission starts. (Not in ArmA)
showPad = 0; |
showPad, shownPad
showWatch |
Number | Defines if the watch is visible.
showWatch = 0; |
showWatch, shownWatch, visibleWatch
showUAVFeed |
Number | Enables/Disables the UAV Feed
showUAVFeed = 0; |
showUAVFeed, shownUAVFeed
scriptedPlayer |
Number | When scripted player is enabled, game no longer shows "No player select" error message upon mission start when no player unit is present.
scriptedPlayer = 1; rscTitles |
Class | Defines custom UI displays.
To show such displays, use cutRsc or titleRsc. weapons |
Class | Set weapons available to players during the briefing.
class Weapons { class AK74 {count = 8;}; class RPG7V {count = 2;}; class Binocular {count = 2;}; }; |
magazines, backpacks
magazines |
Class | Set magazines available to players during the briefing.
class Magazines { class 30Rnd_545x39_AK {count = 32;}; class PG7V {count = 6;}; class HandGrenade {count = 16;}; }; |
weapons, backpacks
backpacks |
Class | Set backpacks available to players during the briefing.
class Backpacks { class US_Patrol_Pack_EP1 {count = 4;}; class US_Assault_Pack_EP1 {count = 4;}; }; |
weapons, magazines
weaponPool |
Number | Allows equipment transferred from one campaign mission to the next to be available during the briefing in the gear menu.
weaponPool = 1; See also Command Group: Weapon Pool. allowSubordinatesTakeWeapons |
Number | Allows subordinates (i.e., not leaders) to equip items defined in weapons, magazines and backpacks.
allowSubordinatesTakeWeapons= 1; titleParam% |
String | titleParam1 and titleParam2 (% in title is replaced either by 1 or 2) are multiplayer options. These options are seen in the lobby of a multiplayer game. These options can be useful for setting time limits and score limits in such games as Capture the Flag and Death Matches. Other popular uses include accelerate time, setting the mission difficulty or switching the intro on/off.
In the mission param1 and param2 have the values of the chosen options. Many people will assign a variable in the init.sqs file to param1 for simplicity, an example of this would be to assign variable timelimit = param1. 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}; valuesParam% |
Array | See titleParam% | titleParam%
defValueParam% |
Number | See titleParam% | titleParam%
textsParam% |
Array | See titleParam% | titleParam%
params |
Class | See Arma 3 Mission Parameters
header |
Class | See Multiplayer Game Types
disableChannels |
Array | Disable global, side, command and system chat. MOTD and admin say have exception and will show in global. Introduced in BETA 1.60.93398.
disableChannels[]={0,1,2,6}; 0 = Global enableItemsDropping |
Number | Disable dropping items while swimming. Introduced in BETA 1.60.93965.
enableItemsDropping = 0; 0 = Disable onPauseScript |
String | Executes a custom .sqf script 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"; NOTE: The script 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! onLoadName |
String | 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 time on top of the box. |
Loading Screens
author |
String | Author of the mission. The default loading screen shows this string below the onLoadName in a smaller font prefixed by "by ". | Loading Screens
overviewPicture |
String | Path to image which will be displayed when the mission is highlighted on the mission selection screen. Image should be .paa format and in 2:1 aspect ratio. | Mission Overview
overviewText |
String | Text to be displayed below the overviewPicture on the mission selection screen when the mission is available to play. | Mission Overview
overviewTextLocked |
String | Text to be displayed below the overviewPicture on the mission selection screen when the mission is locked from play. | Mission Overview
joinUnassigned |
Number | By default a new player is not auto assigned a free playable slot in the mission lobby in Multiplayer. Set it to 0/false to make him auto assigned to the side with least players.
joinUnassigned = 0;//false; 0 = Disable allowFunctionsLog |
Number | Allows functions to log to the RPT file. Set it to 1/true to allow RPT logging.
allowFunctionsLog = 1;//true 0 = Disable |
BIS_fnc_error
enableDebugConsole |
Number | 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 |
Mission_Editor:_Debug_Console
corpseManagerMode |
Number | Sets the mode for corpse removal manager.
corpseManagerMode = 0; 0 = None - None of the units are managed by the manager |
wreckManagerMode, addToRemainsCollector, isInRemainsCollector, removeFromRemainsCollector
corpseLimit |
Number | Corpse limit before which ( <= ) corpseRemovalMaxTime applies and after which ( > ) corpseRemovalMinTime applies (see below).
corpseLimit = 1; Default value: 15 |
wreckLimit
corpseRemovalMinTime |
Number | Remove all bodies that have been dead longer than corpseRemovalMinTime when corpseLimit is breached.
corpseRemovalMinTime = 60; //seconds Default value: 10 |
wreckRemovalMinTime
corpseRemovalMaxTime |
Number | Maximum time a corpse can remain on the ground if total number of corpses is equal or under corpseLimit.
corpseRemovalMaxTime = 1200; //seconds Default value: 3600 |
wreckRemovalMaxTime
wreckManagerMode |
Number | Sets the mode for wreck removal manager.
wreckManagerMode = 0; 0 = None - None of the vehicles are managed by the manager |
corpseManagerMode, addToRemainsCollector, isInRemainsCollector, removeFromRemainsCollector
wreckLimit |
Number | Vehicle wreck limit before which ( <= ) wreckRemovalMaxTime applies and after which ( > ) wreckRemovalMinTime applies (see below).
wreckLimit = 1; Default value: 15 |
corpseLimit
wreckRemovalMinTime |
Number | Remove all wrecks that have existed longer than wreckRemovalMinTime when wreckLimit is breached.
wreckRemovalMinTime = 60; //seconds Default value: 10 |
corpseRemovalMinTime
wreckRemovalMaxTime |
Number | Maximum time a wreck can remain on the ground if total number of wrecks is equal or under wreckLimit.
wreckRemovalMaxTime = 1200; //seconds Default value: 3600 |
corpseRemovalMaxTime
forceRotorLibSimulation |
Number | Force enable or disable RotorLib.
forceRotorLibSimulation = 1; //force enable Default value: 0 - options based; 1 - force enable; 2 - force disable |
---|