Description.ext: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 1: Line 1:
===Introduction===
Description.ext is mission config placed in mission's [[Mission_Editor:_External#Mission_Folder|root]]. Even while it retains [[Config.cpp]] structure, supported classes are limited and many like CfgVehicles won't work.
The '''description.ext''' is a text file located in the root of the mission folder which allows you to define many things in your mission. Each entry must be given a new line in the '''description.ext'''. The description.ext in fact uses the same syntax as all config files, therefore each line should be terminated with ''';'''. [[OFP]] is most often able to recover from missing semicolons, [[ArmA]] though is strict and requires a ''';'''.
 
In '''[[:Category:Operation_Flashpoint:_Elite|OFP:Elite]]''' this file is required for MP missions. If this is not included -1 error is shown when selecting a mission and the mission won't load.  


When editing a mission in the mission editor '''description.ext''' is only read when the mission is loaded, not when you preview the mission.
{{Important|For edits to '''description.ext''' to take effect in Preview you must first save or re-load the mission into the editor.}}
{{Important|For edits to '''description.ext''' to take effect in Preview you must first save or re-load the mission into the editor.}}


== Params ==
{| class="wikitable sortable"
! Intro- duced in
! Param name
! Type
! class="unsortable"| Description
! class="unsortable"| See Also


<hr>
<!----------------------------------------------------------->
{{Table Config Item}}
====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 <nowiki>=</nowiki> "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 GameSpy browser.


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


This displays a message whilst 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.
<!----------------------------------------------------------->
{{Table Config Item}}
==== onLoadMissionTime ====
|[[Number]]
|Define whether you will see the time and date displayed while the mission loads. 1 means visible, 0 hidden.
onLoadMissionTime = 1;


  OnLoadMission = "YourMissionName";
<!----------------------------------------------------------->
{{Table Config Item}}
==== onLoadIntroTime ====
|[[Number]]
|Define whether you will see the time and date displayed while the intro loads. 1 means visible, 0 hidden.
  onLoadIntroTime = 1;


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 GameSpy browser.
<!----------------------------------------------------------->
 
{{Table Config Item|arma2oa|1.51}}
If the option is missing from the description.ext then the filename is presented. *''note needs verified''
==== loadScreen ====
 
|[[String]]
====OnLoadIntro====
|You can define a picture to be shown while the mission is loaded.
 
OnLoadIntro = "YourMessage";// Title that appears on screen in briefing
 
====OnLoadIntroTime====
====OnLoadMissionTime====
 
This allows you to define whether you will see the time and date displayed whilst the mission/intro loads. Variables are True or False.
 
OnLoadIntroTime = False;
OnLoadMissionTime = False;
 
 
<hr>
 
===loadScreen===


The path is relative to the mission folder.
  loadScreen =  "pictures\intro.paa";
  loadScreen =  "pictures\intro.paa";


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


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


===Score===
<!----------------------------------------------------------->
{{Table Config Item}}
==== maxScore ====
|[[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.
maxScore = 75000;
Values have to follow this formula: ''minScore < avgScore < maxScore''. Any other combinations can lead to game freeze upon mission end.
|[[#minScore|minScore]], [[#avgScore|avgScore]]


This feature allows you to set scores 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.
<!----------------------------------------------------------->
{{Table Config Item}}
==== respawn ====
|[[String]] or [[Number]]
|Sets respawn type.


MinScore = 0;
Can be one of:
AvgScore = 1800;
* '''0''' or '''"NONE"''' - No respawn
MaxScore = 7500;
* '''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, guerrila 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).
* [[File:arma 1.08.gif]] '''5''' or '''"SIDE"''' - Respawn into an AI unit on your side (if there's no AI left, you'll become a seagull). With this respawn type, team switch is also available to any AI controlled playable units.
|[[#respawnDelay|respawnDelay]], [[#respawnVehicleDelay|respawnVehicleDelay]], [[#respawnVehicleDialog|respawnVehicleDialog]]


Values have to follow this formula:
<!----------------------------------------------------------->
  minScore < avgScore < maxScore
{{Table Config Item}}
Any other combinations can lead to game freeze upon mission end.
==== respawnDelay ====
|[[Number]]
|Set respawn delay in seconds.
  respawnDelay = 42;
|[[#respawn|respawn]], [[#respawnVehicleDelay|respawnVehicleDelay]], [[#respawnVehicleDialog|respawnVehicleDialog]]


<hr>
<!----------------------------------------------------------->
{{Table Config Item}}
==== respawnVehicleDelay ====
|[[Number]]
|Set vehicle respawn delay in seconds.
respawnVehicleDelay = 11;
|[[#respawn|respawn]], [[#respawnDelay|respawnDelay]], [[#respawnVehicleDialog|respawnVehicleDialog]]


===Respawn===
<!----------------------------------------------------------->
''Line in a file description.ext''
{{Table Config Item}}
 
==== respawnDialog ====
'''respawn''' = ''RespawnType'';
|[[Number]]
 
|Show the scoreboard and respawn countdown timer for a player if he is killed with respawnType 3. Default is 1 (true).
'''respawnDelay''' = ''DelayInSeconds'';
respawnDialog = 0;
 
|[[#respawn|respawn]], [[#respawnDelay|respawnDelay]], [[#respawnVehicleDelay|respawnVehicleDelay]]
'''respawnVehicleDelay''' = ''DelayInSeconds'';
 
'''respawnDialog''' = 0; // Show the scoreboard and respawn countdown timer for a player if he is killed with respawnType 3. Default is 1 (true).
 
<br><br>
 
<table border=".2" cellpadding="2" cellspacing="2">
    <tr>
      <td>'''RespawnType'''</td>
  <td>'''Description'''</td>
    </tr>
    <tr>
      <td>0 or "NONE"</td>
  <td>No respawn</td>
    </tr>
    <tr>
      <td>1 or "BIRD"</td>
  <td>Respawn as a seagull</td>
    </tr>
    <tr>
      <td>2 or "INSTANT"</td>
  <td>Respawn just where you died.</td>
    </tr>
    <tr>
      <td>3 or "BASE"</td>
  <td>Respawn in base. Requires a marker named:
*<tt>respawn_west</tt>
*<tt>respawn_east</tt>
*<tt>respawn_guerrila</tt>
*<tt>respawn_civilian</tt>
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, guerrila and civilian.
 
 
Vehicle respawn in base requires a marker named:
*<tt>respawn_vehicle_west</tt>
*<tt>respawn_vehicle_east</tt>
*<tt>respawn_vehicle_guerrila</tt>
*<tt>respawn_vehicle_civilian</tt></td>
    </tr>
<tr>
      <td>4 or "GROUP"</td>
  <td>Respawn in your group (if there's no AI left, you'll become a seagull).</td>
    </tr>
  <tr>
      <td>5 or "SIDE"</td>
  <td>Respawn into an AI unit on your side (if there's no AI left, you'll become a seagull) - ''implemented in ArmA 1.08: with this respawn type, team switch is also available to any AI controlled playable units''.
</td>
    </tr>
</table>
 
<hr>
 
===Sounds===
There are three types of sound that can be specified:
# General sounds that can be used for dialog, voiceovers in the briefing etc.  These sounds are actioned in a mission by using the commands: [[say]], [[playSound]]<br>
# Dialog where one unit talks over the radio, for example using the command [[sideRadio]]<br>
# Music using the command [[playMusic]]<br>
 
'''Examples''':
 
====CfgSounds====
 
General Sounds


<!----------------------------------------------------------->
{{Table Config Item}}
==== cfgSounds ====
|Class
|General sounds that can be used for dialog, voiceovers in the briefing etc.
  class CfgSounds
  class CfgSounds
  {
  {
&nbsp;sounds[] = {};
sounds[] = {};
&nbsp;&nbsp;class wolf1
class wolf1
&nbsp;&nbsp;{
{
&nbsp;&nbsp;&nbsp;name = "my_wolf_sound";  // how the sound is referred to in the editor (e.g. trigger effects)
{{codecomment|// how the sound is referred to in the editor (e.g. trigger effects)}}
&nbsp;&nbsp;&nbsp;sound[] = {"fx\wolf1.ogg", 1, 1};   // filename, volume, pitch
name = "my_wolf_sound";
&nbsp;&nbsp;&nbsp;titles[] = {};
{{codecomment|// filename, volume, pitch}}
&nbsp;&nbsp;};
sound[] = {"fx\wolf1.ogg", 1, 1};
  };''
titles[] = {};
 
};
  };
Use in missions:
  [[playSound]] "wolf1";  // use the class name!
  [[playSound]] "wolf1";  // use the class name!
  player [[say]] ["wolf1", 100];
  player [[say]] ["wolf1", 100];
Line 144: Line 151:
(see [http://ofp.toadlife.net/downloads/tutorials/tutorial_sound/tutorial_sound.html tutorial])
(see [http://ofp.toadlife.net/downloads/tutorials/tutorial_sound/tutorial_sound.html tutorial])


====CfgRadio====
<!----------------------------------------------------------->
{{Table Config Item}}
==== cfgRadio ====
|Class
| Radio sentences
  class CfgRadio
  class CfgRadio
  {
  {
&nbsp;sounds[] = {};
sounds[] = {};
&nbsp;&nbsp;class RadioMsg1
class RadioMsg1
&nbsp;&nbsp;{
{
&nbsp;&nbsp;&nbsp;name = "";
name = "";
&nbsp;&nbsp;&nbsp;&nbsp;sound[] = {"\sound\filename1.ogg", db-100, 1.0};
sound[] = {"\sound\filename1.ogg", db-100, 1.0};
&nbsp;&nbsp;&nbsp;&nbsp;title = "Well all the civilians are now safe in the lodge.  I am ready for your orders.";
title = "I am ready for your orders.";
&nbsp;&nbsp;};<br>
};
&nbsp;&nbsp;class RadioMsg2
class RadioMsg2
&nbsp;&nbsp;{
{
&nbsp;&nbsp;&nbsp;name = "";
name = "";
&nbsp;&nbsp;&nbsp;sound[] = {"\sound\filename2", db-100, 1.0}; // .wss implied
sound[] = {"\sound\filename2", db-100, 1.0}; // .wss implied
&nbsp;&nbsp;&nbsp;title = {$STR_RADIO_2};
title = {$STR_RADIO_2};
&nbsp;&nbsp;};
};
  };''
  };
 
Note that the location of the sound file is relative to the mission.
Note that the location of the sound file is relative to the mission.


*usage
Use in missions:
  unit [[sideRadio]] RadioMsg2
  unit [[sideRadio]] RadioMsg2


====CfgMusic====
<!----------------------------------------------------------->
{{Table Config Item}}
==== cfgMusic ====
|Class
|
  class CfgMusic
  class CfgMusic
  {
  {
&nbsp;tracks[]={};<br>
tracks[]={};<br>
&nbsp;class MarsIntro
class MarsIntro
&nbsp;{
{
&nbsp;&nbsp;name = "";
name = "";
&nbsp;&nbsp;sound[] = {"\music\filename.ogg", db+0, 1.0};
sound[] = {"\music\filename.ogg", db+0, 1.0};
&nbsp;};
};
&nbsp;class Ludwig9
class Ludwig9
&nbsp;{
{
&nbsp;&nbsp;name = "";
name = "";
&nbsp;&nbsp;sound[] = {"\music\filename.ogg", db+10, 1.0};
sound[] = {"\music\filename.ogg", db+10, 1.0};
&nbsp;};
};
  };
  };
[[playMusic]]  "MarsIntro"
====Notes====
'''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.
'''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.


Line 192: Line 202:
{{Important|Setting volume (db) of music far from zero will disable [[fadeMusic]] command. Optimal values are from -10 to 10.}}
{{Important|Setting volume (db) of music far from zero will disable [[fadeMusic]] command. Optimal values are from -10 to 10.}}


Use in missions:
[[playMusic]]  "MarsIntro"


<hr>
<!----------------------------------------------------------->
 
{{Table Config Item}}
===CfgIdentities===
==== cfgIdentities ====
It is here that you can 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. <br>
|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.
'''Example:'''
  class CfgIdentities
  class CfgIdentities
  {
  {
&nbsp;class John_Doe
class John_Doe
&nbsp;{
{
&nbsp;&nbsp;name="John Bartholemew Doe";
name="John Bartholemew Doe";
&nbsp;&nbsp;face="Face20";
face="Face20";
&nbsp;&nbsp;glasses="None";
glasses="None";
&nbsp;&nbsp;speaker="Dan";
speaker="Dan";
&nbsp;&nbsp;pitch=1.1;
pitch=1.1;
&nbsp;};
};
  };
  };
See [[setIdentity]] for valid options for: face, glasses, speaker etc.
See [[setIdentity]] for valid options for: face, glasses, speaker etc.


<hr>
<!----------------------------------------------------------->
====Name====
{{Table Config Item|arma}}
*Name can be any string, including none, and $STR_Anything
==== keys ====
====Face====
|[[Array]]
Face can take any of the following values:
|List of keys (needed for keysLimit)
keys[] = {"key1","key2","key3"};
Note that unlike other 'text' items $STR_ variables (in the stringtable.csv for the mission) cannot be used
|[[#keysLimit|keysLimit]], [[#doneKeys|doneKeys]]


*Male: OFP
<!----------------------------------------------------------->
**"Face1" to "Face52"
{{Table Config Item|arma}}
**"Face99"
==== keysLimit ====
**"FaceR01" to "Face R04" : Resistance only
|[[Number]]
 
|Number of keys from the [[#keys|keys]] list needed for unlock a mission.
*Male: ArmA
  keysLimit[] = 2;
**"Face1" to "Face53" : ArmA
|[[#keys|keys]], [[#doneKeys|doneKeys]]
 
*Male: Arma 2
**"Face01" to "Face107" : note the zero before 1 to 9
**"_camo1" to "_camo6" for each in addition as extension like "Face107_camo6"
 
*Male: Arma 2 Operation Arrowhead
**"Face01_EP1" to "Face20_EP1" : note the zero before 1 to 9
**"_camo1" to "_camo6" for each in addition as extension like "Face20_camo6_EP1"
**"Facegrover_EP1"
**"_camo1" to "_camo6" for each in addition as extension like "Facegrover_camo6_EP1"
**"Facegrover_wounded_EP1"
**"_camo1" to "_camo6" for each in addition as extension like "Facegrover_wounded_camo6_EP1"
 
*Male: Arma 2 British Armed Forces
**"Face01_baf" to "Face09_baf"
**"FrostFace"
 
*Male: Arma 2 PMC
**"Face108_PMC" to "Face124_PMC"
**"_camo1" to "_camo6" for each in addition as extension like "Face124_camo6_PMC"
**"FacePoet"
**"FaceStranger"
**"FaceTanny"
 
*Female: OFP
**"Eva"
**"Kamila"
**"Lada"
**"Lucie"
**"Marketa"
**"Nada"
 
*Female: Arma 2
**"Woman"
**"Secretary"
**"Damsel"
**"Farmwife"
**"Hooker"
**"HouseWife"
**"SportsWoman"
**"Valentina"
**"Wife"
 
====Glasses====
 
*'''OFP'''
**"None"
**"Spectacles"
**"Sunglasses"
 
*'''ArmA'''
**"None"
 
*'''Arma 2'''
**"None"
**"Spectacles"
**"RoundGlasses"
**"SunGlasses"
**"Tactical"
**"BlackSun"
**"BlueSun"
**"RedSun"
**"GreenSun" : these are yellow glasses
**"LHD_glasses" : these are combat glasses, unavailable via profile editor
 
*'''Arma 2: Operation Arrowhead'''
**"Delta_glasses" : these are SF glasses, unavailable via profile editor
**All from Arma 2
 
*'''Arma 2: British Armed Forces'''
**"None_pmc"
**"Tactical_pmc"
**"Sunglasses_PMC"
**"BlackSun_pmc"
**"BlueSun_pmc"
**"RedSun_pmc"
**"GreenSun_pmc"
 
*'''Arma 2: PMC'''
**"None_baf"
**"Tactical_baf"
**"BlackSun_baf"
**"BlueSun_baf"
**"RedSun_baf"
 
====Speaker====
Speaker determines which voice is used and can take any of the following values:
*'''OFP'''
**"Adam"
**"Dan"
**"George"
**"Greg"
**"John"
**"Jonah"
**"Marc"
**"Patrick"
**"Paul"
**"Peter"
**"Rich"
**"Rob"
**"Ted"
**"Tom"
*'''Red Hammer'''
**"Aleksei"
**"Andrei"
**"Boris"
**"Georgiy"
**"Ivan"
**"Nikolai"
**"Oleg"
**"Ruslan"
**"Sergey"
**"Vadim"
**"Vitaliy"
**"Vladimir"
 
*'''ArmA'''
**Amy
**Brian
**Dan
**Dusan
**Howard
**Mathew
**Robert
**Russell
**Ryan
Note that ArmA voice files are severely deficient.
*There are many many more voice profiles in the arma pbo than the limited list above, but are not 'get attable'
*ALL of the above profiles have missing sounds to one degree or another. Some have su25.wss (eg) others do not.
*There are countless sound files (more than 50%)in each profile that simply cannot be accessed. "fifty.wss" eg
*Where possible, and voices are important to you, use a fixed up pbo such as cwr_voice.pbo
 
*'''Arma 2'''
**Male01
**Male02
**Male03
**Male04
**Male05
**Female01
**Female02
**Female03
Each voice having localization variant, e.g Male01EN, Male01CZ, Male01RU. EN for English, CZ for Chernarussian, RU for Russian.
 
*'''Arma 2: Operation Arrowhead'''
**Male01TK
**Male02TK
**Male03TK
**Male04TK
**Male05TK
**Female01EN_EP1
**Female01TK_EP1
 
*'''Arma 2: British Armed Forces'''
**Male01_BAF
**Male02_BAF
**Male03_BAF
**Male04_BAF
 
*'''Arma 2: PMC'''
**Male01_GB_EN_PMC
**Male02_GB_EN_PMC
**Male03_GB_EN_PMC
**Male04_GB_EN_PMC
 
====Pitch====
Pitch sets the tone of voice. 1.0 for normal; < 1.0 for deep; >1.0 for high pitched
 
=== Keys ===
Since [[Armed Assault]] it's possible to define keys for every mission.
 
Keys are used in single player missions for
 
* marking mission as completed in mission list (square left to mission name) and
* for unlocking hidden content.
 
keys[] = {"key1","key2","key3"};  // List of keys (needed for keysLimit)
keysLimit = 2;                    // Number of keys from the list needed for unlock a mission.
   
doneKeys[] = {"key4"};           // Name of key(s) needed for mark a mission in SP missions list as completed.


<!----------------------------------------------------------->
{{Table Config Item|arma}}
==== 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
Note that unlike other 'text' items $STR_ variables (in the stringtable.csv for the mission) cannot be used


To create a green mark tick two operations are needed
Keys can be activated using [[activateKey]] and checked by [[isKeyActive]].
 
|[[#keys|keys]], [[#keysLimit|keysLimit]]
1) description.ext
 
doneKeys[] = {Mission04Key,TotallyFailedKey4}; 


2) outro.sqs
<!----------------------------------------------------------->
{{Table Config Item}}
==== disableAI ====
|[[Number]]
|When 1, removes all playable units which do not have a human player. (MP)
disabledAI = 1;
Disabling all the AI units will prevent [[JIP]] into playable units.


  activateKey "Mission04Key"
<!----------------------------------------------------------->
{{Table Config Item}}
==== aiKills ====
|[[Number]]
|Enables scorelist for AI players
  aiKills = 1;


'outro.sqs' is poetic licence for whatever-it-is you decide to end a mission in a way that will set this key or keys
<!----------------------------------------------------------->
 
{{Table Config Item}}
it is up to you to decide what is successful, and indeed, how you end, your mission
==== briefing ====
 
|[[Number]]
Note that a series of keys can be specified and that as such, which one(s) you set cause other mission(s) to unlock
|Skip briefing screen for SP missions. If no briefing.html is present, it is skipped anyway.
 
A totally failed outcome, could set a totally failed key, and this unlock (say) a retraining mission.
 
 
''See also: [[activateKey]], [[isKeyActive]]''
<hr>
 
===Miscellaneous===
====disabledAI====
Removes all playable units which do not have a human player. (MP)
 
'''Note:''' Disabling all the AI units will prevent [[JIP]] into playable units in [[:category:Operation Flashpoint: Elite|OFP:Elite]] and [[ArmA]].
disabledAI = false/true
 
====aiKills====
Enables scorelist for AI players
aiKills = 1/0;
 
====briefing====
Skip briefing screen for SP missions. If no briefing.html is present, it is skipped anyway. '''Note:''' Added in ''1.05''
 
In VBS2 version ''+1.30'', if set, mission will start soon as all clients are done loading data and will skip the briefing. '''Note:''' Briefing will still be displayed untill all clients are connected and done loading.  
  briefing = 0;
  briefing = 0;
Briefing will still be displayed untill all clients are connected and done loading.


====debriefing====
<!----------------------------------------------------------->
Defines if the debriefing is shown or not at the end of the mission.
{{Table Config Item}}
==== debriefing ====
|[[Number]]
|Defines if the debriefing is shown or not at the end of the mission.
  debriefing = 0;
  debriefing = 0;


<hr>
<!----------------------------------------------------------->
 
{{Table Config Item}}
===Show...===
==== showGPS ====
====ShowGPS====
|[[Number]]
Enables/Disables the GPS
|Enables/Disables the GPS
  ShowGPS = 0;
  ShowGPS = 0;
In [[ArmA]] ''1.04'' toggle this option to disable the mini map attached to the GPS.


'''Note:''' In [[ArmA]] ''1.04'' toggle this option to disable the mini map attached to the GPS.
<!----------------------------------------------------------->
{{Table Config Item}}
==== showCompass ====
|[[Number]]
|Defines if the compass is visible.
showCompass = 0;


====showCompass====
<!----------------------------------------------------------->
Defines if the compass is visible.
{{Table Config Item}}
showCompass = 0;
==== showMap ====
====showMap====
|[[Number]]
Defines if the map is shown after the mission starts.
|Defines if the map is shown after the mission starts.
  showMap = 0;
  showMap = 0;
====showNotePad====
 
In ArmA, defines if the NotePad is shown after the mission starts.
<!----------------------------------------------------------->
{{Table Config Item|arma}}
==== showNotePad ====
|[[Number]]
|In ArmA, defines if the NotePad is shown after the mission starts.
  showNotePad = 0;
  showNotePad = 0;
====showPad====
 
Defines if the NotePad is shown after the mission starts. (Not in ArmA)
<!----------------------------------------------------------->
{{Table Config Item}}
==== showPad ====
|[[Number]]
|Defines if the NotePad is shown after the mission starts. (Not in ArmA)
  showPad = 0;
  showPad = 0;
====showWatch====
 
Defines if the watch is visible.
<!----------------------------------------------------------->
{{Table Config Item}}
==== showWatch ====
|[[Number]]
|Defines if the watch is visible.
  showWatch = 0;
  showWatch = 0;
<hr>


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


Dialogs are also configured in the '''description.ext''' into classes.  
To show such displays, use [[cutRsc]] or [[titleRsc]].


 
<!----------------------------------------------------------->
See [[Dialogs]] for more information.
{{Table Config Item}}
 
==== weapons ====
===RscTitles===
|Class
 
|Set weapons available to players during the briefing.
RscTitles class defines image, text and object ''resources'' for use with commands such as: [[cutRsc]], [[cutText]], [[cutObj]], [[titleRsc]], [[titleText]], [[titleObj]].
 
'''Example:'''
class RscTitles
{
  titles[] = {introImage}; // optional
  class introImage
  {
    idd = -1;
    movingEnable = false;
    duration = 120;
    fadein = 0;
    name = "IntroImage";
    controls[] = {"image1"};
    class image1: RscPicture
    {
      x = 0;
      y = 0;
      w = 1;
      h = 1;
      text = "IntroImage.paa";
    };
  };
 
cutRsc["introImage", "PLAIN", 1];
 
'''Example 2:'''
 
class RscTitles
{
titles[]={MiDisplay};
class MiDisplay {
idd=1111;
movingEnable=0;
  duration=10000;
  fadein=1;
  name="MiDisplay";
  onLoad = "Sa_MiDisplay = _this";
  class controls  {
      class fn0 : RscText {
idc = 1120;
    colorBackground[] = {0,0,0,1 };
x=0.3;
y=0.2;
w=0.4;
h=0.04;
text="";
    };
  };
};
 
 
Sa_MiDisplay = [];
/*
..........
*/
1110 cutRsc ["MiDisplay", "Plain"];
/*
..........
*/
disableSerialization;
((Sa_MiDisplay select 0) displayCtrl 1120) ctrlSetText "Text";
/*
..........
*/
1110 cuttext ["","plain"];
 
===Weapons and Magazines===
 
The [[ArmA:_Weapons|weapons and magazines]] available to players during the briefing are also defined in '''description.ext'''.
 
'''Example:'''
  class Weapons  
  class Weapons  
  {
  {
  class AK74 {count = 8;};
class AK74 {count = 8;};
  class RPG7V {count = 2;};
class RPG7V {count = 2;};
  class Binocular {count = 2;};
class Binocular {count = 2;};
  };
  };
|[[#magazines|magazines]], [[#backpacks|backpacks]]


<!----------------------------------------------------------->
{{Table Config Item}}
==== magazines ====
|Class
|Set magazines available to players during the briefing.
  class Magazines  
  class Magazines  
  {
  {
  class 30Rnd_545x39_AK {count = 32;};
class 30Rnd_545x39_AK {count = 32;};
  class PG7V {count = 6;};
class PG7V {count = 6;};
  class HandGrenade {count = 16;};
class HandGrenade {count = 16;};
  };
  };
|[[#weapons|weapons]], [[#backpacks|backpacks]]


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


===Multiplayer===
<!----------------------------------------------------------->
{{Table Config Item|arma2oa|1.56}}
==== <span style="letter-spacing:-1px;">allowSubordinatesTakeWeapons</span> ====
|[[Number]]
|Allows group subordinates to access |[[#weapons|weapons]], [[#magazines|magazines]] and [[#backpacks|backpacks]].
allowSubordinatesTakeWeapons = 1;
|[[#weapons|weapons]], [[#magazines|magazines]], [[#backpacks|backpacks]]


'''TitleParam1''' and '''TitleParam2''' are multiplayer options. These options are seen in the lobby of a <u>multiplayer</u> 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.
<!----------------------------------------------------------->
{{Table Config Item}}
==== 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|init.sqs]] file to '''param1''' for simplicity, an example of this would be to assign variable ''timelimit'' = '''param1'''.  
In the mission '''param1''' and '''param2''' have the values of the chosen options. Many people will assign a variable in the [[Init.sqs|init.sqs]] file to '''param1''' for simplicity, an example of this would be to assign variable ''timelimit''&nbsp;=&nbsp;'''param1'''.
 
'''Example:'''
  titleParam1 = "Time limit:";
  titleParam1 = "Time limit:";
  valuesParam1[] = {0, 300, 600, 900};
  valuesParam1[] = {0, 300, 600, 900};
Line 604: Line 395:
  textsParam2[] = {"Unlimited", 5, 7, 10, 15, 20, 25, 30};
  textsParam2[] = {"Unlimited", 5, 7, 10, 15, 20, 25, 30};


[[Arma_2:_Patch_v1.03.58899_Beta#How_to_add_multiple_parameters_to_your_MP_mission|Arma 2: Patch v1.03.58899 Beta]] has added multiple parameters support,
{{Table Config Item}}
that you can setup like this :
==== valuesParam% ====
|[[Array]]
|See [[#titleParam%|titleParam%]]
|[[#titleParam%|titleParam%]]


{{Table Config Item}}
==== defValueParam% ====
|[[Number]]
|See [[#titleParam%|titleParam%]]
|[[#titleParam%|titleParam%]]
{{Table Config Item}}
==== textsParam% ====
|[[Array]]
|See [[#titleParam%|titleParam%]]
|[[#titleParam%|titleParam%]]
{{Table Config Item|arma2|1.03}}
==== params ====
|Class
|Advanced multiplayer mission params, replacing obsolete [[#titleParam%|titleParam%]].
<code>class Params
<code>class Params
{
{
Line 625: Line 435:
etc. .....
etc. .....
}</code>
}</code>
|[[#titleParam%|titleParam%]]


===Header Class===
{{Table Config Item|arma}}
 
==== header ====
With the introduction of '''OFP:Elite''', [[BI]] started to include a new class definition in the '''description.ext'''. The purpose of this class definition is to signal the engine the gameType which is displayed in the MP game browser. This can assist other players for finding particular missions using the filters.
|Class
 
|The purpose of this class definition is to signal the engine the gameType which is displayed in the MP game browser. This can assist other players for finding particular missions using the filters.
====Example====
Here is a basic class example:
  class Header
  class Header
  {
  {
  gameType = COOP;           ////DM, CTF, FF, Coop, Team, Scont, Hold, Unknown
gameType = COOP; {{codecomment|//game type}}
  minPlayers = 1;             //min # of players the mission supports
minPlayers = 1; {{codecomment|//min # of players the mission supports}}
  maxPlayers = 10;           //Max # of players the mission supports
maxPlayers = 10; {{codecomment|//max # of players the mission supports}}
  playerCountMultipleOf = 1; //OFP:Elite option.
playerCountMultipleOf = 1; {{codecomment|//OFP:Elite option.}}
  };
  };
* '''gameType''' can be one of following
** DM - Death Match
** CTF - Capture the Flag
** FF - Flag Fight
** Coop -Cooperative Mission
** Team - Team Mission
** Scont - Sector Control
** Hold - Hold Location
** Unknown - Unknown - is used when no class header is defined.
* '''playerCountMultipleOf''' was introduced in '''OFP:Elite''', the game server would set the maximum amount of players based on bandwidth and eventually this parameter. The default is 2, so it means the mission will try to balance the game to multiples of 2 (2 vs 2, 4 vs 4, etc.) and you did not end up with a team mission with 5 maximum players(2 vs 3 is unfair?). Coop type missions use 1, Team type missions use 2 (default).


====gameType====
In '''[[:Category:Operation_Flashpoint:_Elite|OFP:Elite]]''' this file is required for MP missions. If this is not included -1 error is shown when selecting a mission and the mission won't load.  
These are basic types to help with filtering in the MP game browser.
 
DM        = Death Match
CTF        = Capture the Flag
FF        = Flag Fight
Coop      = Cooperative Mission
Team      = Team Mission
Scont      = Sector Control
Hold      = Hold Location
Unknown    = Unknown - is used when no class header is defined.
 
====playerCountMultipleOf====
'''playerCountMultipleOf''' was introduced in '''OFP:Elite''', the game server would set the maximum amount of players based on bandwidth and eventually this parameter. The default is 2, so it means the mission will try to balance the game to multiples of 2 (2 vs 2, 4 vs 4, etc.) and you did not end up with a team mission with 5 maximum players(2 vs 3 is unfair?). Coop type missions use 1, Team type missions use 2(default).
 
====Notes====
 
In '''OFP:Elite''' this file is required for MP missions. If this is not included -1 error is shown when selecting a mission and the mission won't load.
 
In '''ArmA''' if this class is missing the mission will still load with an error in the [[Crash Files|RPT file]] and the mission type will be considered '''Unknown'''.


[[Category:ArmA: Mission Editing]]
Since '''[[Arma]]''' if this class is missing the mission will still load with an error in the [[Crash Files|RPT file]] and the mission type will be considered '''Unknown'''.
[[Category:ArmA_2:_Editing]]
|}
[[category:Operation Flashpoint: Editing]]
[[Category:BIS_File_Formats]]

Revision as of 10:46, 26 October 2011

Description.ext is mission config placed in mission's root. Even while it retains Config.cpp structure, supported classes are limited and many like CfgVehicles won't work.

In OFP:Elite this file is required for MP missions. If this is not included -1 error is shown when selecting a mission and the mission won't load.

For edits to description.ext to take effect in Preview you must first save or re-load the mission into the editor.

Params

Intro- duced in Param name Type Description See Also

Template:Table Config Item

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 GameSpy browser.

Template:Table Config Item

onLoadIntro

String Displays a message while the intro is loading.
onLoadIntro = "YourMessage"

Template:Table Config Item

onLoadMissionTime

Number Define whether you will see the time and date displayed while the mission loads. 1 means visible, 0 hidden.
onLoadMissionTime = 1;

Template:Table Config Item

onLoadIntroTime

Number Define whether you will see the time and date displayed while the intro loads. 1 means visible, 0 hidden.
onLoadIntroTime = 1;

Template:Table Config Item

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";

Template:Table Config Item

minScore

Number Set minimum score for your mission. Score is related to the star display in the debriefing screen. The score can be influenced during a missions progress by using the addRating command.
minScore = 0;

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

avgScore, maxScore

Template:Table Config Item

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

Template:Table Config Item

maxScore

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.
maxScore = 75000;

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

minScore, avgScore

Template:Table Config Item

respawn

String or Number 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, guerrila 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).
  • arma 1.08.gif 5 or "SIDE" - Respawn into an AI unit on your side (if there's no AI left, you'll become a seagull). With this respawn type, team switch is also available to any AI controlled playable units.
respawnDelay, respawnVehicleDelay, respawnVehicleDialog

Template:Table Config Item

respawnDelay

Number Set respawn delay in seconds.
respawnDelay = 42;
respawn, respawnVehicleDelay, respawnVehicleDialog

Template:Table Config Item

respawnVehicleDelay

Number Set vehicle respawn delay in seconds.
respawnVehicleDelay = 11;
respawn, respawnDelay, respawnVehicleDialog

Template:Table Config Item

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

Template:Table Config Item

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};
		titles[] = {};
	};
};

Use in missions:

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

(see tutorial)

Template:Table Config Item

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

Template:Table Config Item

cfgMusic

Class
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

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

Use in missions:

playMusic  "MarsIntro"

Template:Table Config Item

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.
class CfgIdentities
{
	class John_Doe
	{
		name="John Bartholemew Doe";
		face="Face20";
		glasses="None";
		speaker="Dan";
		pitch=1.1;
	};
};

See setIdentity for valid options for: face, glasses, speaker etc.

Template:Table Config Item

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

Template:Table Config Item

keysLimit

Number Number of keys from the keys list needed for unlock a mission.
keysLimit[] = 2;
keys, doneKeys

Template:Table Config Item

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

Template:Table Config Item

disableAI

Number When 1, removes all playable units which do not have a human player. (MP)
disabledAI = 1;

Disabling all the AI units will prevent JIP into playable units.

Template:Table Config Item

aiKills

Number Enables scorelist for AI players
aiKills = 1;

Template:Table Config Item

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 untill all clients are connected and done loading.

Template:Table Config Item

debriefing

Number Defines if the debriefing is shown or not at the end of the mission.
debriefing = 0;

Template:Table Config Item

showGPS

Number Enables/Disables the GPS
ShowGPS = 0;

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

Template:Table Config Item

showCompass

Number Defines if the compass is visible.
showCompass = 0;

Template:Table Config Item

showMap

Number Defines if the map is shown after the mission starts.
showMap = 0;

Template:Table Config Item

showNotePad

Number In ArmA, defines if the NotePad is shown after the mission starts.
showNotePad = 0;

Template:Table Config Item

showPad

Number Defines if the NotePad is shown after the mission starts. (Not in ArmA)
showPad = 0;

Template:Table Config Item

showWatch

Number Defines if the watch is visible.
showWatch = 0;

Template:Table Config Item

rscTitles

Class Defines custom UI displays.

To show such displays, use cutRsc or titleRsc.

Template:Table Config Item

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

Template:Table Config Item

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

Template:Table Config Item

backpacks

Class Set Backpacks|backpacks available to players during the briefing.
class Backpacks 
{
 	class US_Patrol_Pack_EP1 {count = 4;};
 	class US_Assault_Pack_EP1 {count = 4;};
};
weapons, magazines

Template:Table Config Item

allowSubordinatesTakeWeapons

Number weapons, magazines and backpacks.
allowSubordinatesTakeWeapons = 1;
weapons, magazines, backpacks

Template:Table Config Item

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};

Template:Table Config Item

valuesParam%

Array See titleParam% titleParam%

Template:Table Config Item

defValueParam%

Number See titleParam% titleParam%

Template:Table Config Item

textsParam%

Array See titleParam% titleParam%

Template:Table Config Item

params

Class Advanced multiplayer mission params, replacing obsolete titleParam%.

class Params { class Score { title = "$STR_mp_param_score"; values[] = {10,200}; texts[] = {"10","200"}; default = 10; }; class Duration { title = "$STR_mp_param_duration"; values[] = {1,2}; texts[] = {"one hour","two hours"}; default = 1; }; etc. ..... }

titleParam%

Template:Table Config Item

header

Class The purpose of this class definition is to signal the engine the gameType which is displayed in the MP game browser. This can assist other players for finding particular missions using the filters.
class Header
{
	gameType = COOP; //game type
	minPlayers = 1; //min # of players the mission supports
	maxPlayers = 10; //max # of players the mission supports
	playerCountMultipleOf = 1; //OFP:Elite option.
};
  • gameType can be one of following
    • DM - Death Match
    • CTF - Capture the Flag
    • FF - Flag Fight
    • Coop -Cooperative Mission
    • Team - Team Mission
    • Scont - Sector Control
    • Hold - Hold Location
    • Unknown - Unknown - is used when no class header is defined.
  • playerCountMultipleOf was introduced in OFP:Elite, the game server would set the maximum amount of players based on bandwidth and eventually this parameter. The default is 2, so it means the mission will try to balance the game to multiples of 2 (2 vs 2, 4 vs 4, etc.) and you did not end up with a team mission with 5 maximum players(2 vs 3 is unfair?). Coop type missions use 1, Team type missions use 2 (default).

In OFP:Elite this file is required for MP missions. If this is not included -1 error is shown when selecting a mission and the mission won't load.

Since Arma if this class is missing the mission will still load with an error in the RPT file and the mission type will be considered Unknown.