Description.ext

From Bohemia Interactive Community
Revision as of 14:46, 5 January 2007 by Hoz (talk | contribs) (→‎Introduction)
Jump to navigation Jump to search

Introduction

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, ArmAthough is strict and requires a ;.

When editing a mission in the mission editor description.ext is only read when the mission is loaded, not when you preview the mission.

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



OnLoad

OnLoadMission et al

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.

Example:

OnLoadMission = "YourMessage";
OnLoadIntro = "YourMessage";

OnLoadIntroTime et al

This allows you to define whether you will see the time and date displayed whilst the mission loads. Variables are True or False.

Example:

OnLoadIntroTime = False;
OnLoadMissionTime = False;



Score

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.

Example:

MinScore = 0;
AvgScore = 1800;
MaxScore = 7500;



Respawn Options

respawn = value;

Value can be:

  • 0 or "NONE": No respawn.
  • 1 or "BIRD": Respawn as a seagull.
  • 2 or "INSTANT": Respawn just where you died.
  • 3 or "BASE": Is base respawn (at marker respawn_west, respawn_east, respawn_guerrila (sic!) or respawn_civilian).
  • 4 or "GROUP": Respawn in your group (if there's no AI left, you'll become a seagull).
  • 5 or "SIDE": Respawn on your side (if there's no AI left, you'll become a seagull) - planned, but was never implemented.


respawndelay=TIME;

Respawn delay is in seconds.



Sounds

There are three types of sound that can be specified:

  1. 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
  2. Dialog where one unit talks over the radio, for example using the command sideRadio
  3. Music using the command playMusic name


Examples:

General sounds:

class CfgSounds
{
 sounds[] = {};   
  class wolf1
  {
   name = "";
   sound[] = {"\sound\wolf1.ogg", 1, 1};
   titles[] = {};
  };
  class wolf2
  {
   name = "";
   sound[] = {"\sound\wolf2.ogg", 1, 1};
   titles[] = {};
  };
};

Radio:

class CfgRadio
{
 sounds[] = {};
  class RadioMsg1
  {
   name = "";
    sound[] = {"\sound\filename1.ogg", db-100, 1.0};
    title = "Well all the civilians are now safe in the lodge.  I am ready for your orders.";
  };
  class RadioMsg2   {    name = "";    sound[] = {"\sound\filename2.ogg", db-100, 1.0};    title = {$STR_RADIO_2};   }; };

Music:

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


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.

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.



Identities

It is here that you can define the identies 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 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.



Miscellaneous

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 OFP:Elite and presumably ArmA.

disableAI = false/true

Enables/Disables the GPS

ShowGPS = 0;

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

debriefing = 0;

Defines if the compass is visible.

showCompass = 0;

Defines if the map is shown after the mission starts.

showMap = 0;

Defines if the NotePad is shown after the mission starts.

showPad = 0;

Defines if the watch is visible.

showWatch = 0;



Multiplayer

TitleParam1 and TitleParam2 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.

Example:

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


Header Class

With the introduction of OFP:Elite, BI started to include a new class definition in the description.ext. The purpose of this definition is to signal the engine the game type which is displayed in the MP game browser. This can assist other players for finding particular missions with the filters.

Note: In OFP:Elite this file is required for MP missions other wise you receive a -1 error and the mission won't load.

Note: In ArmA if this class is missing the mission will still load with an error in the RPT file.


class Header
{
 gameType = COOP;            //DM, Team, Coop, CTI
 minPlayers = 1;             //min # of players the mission supports
 maxPlayers = 10;            //Max # of players the mission supports
 playerCountMultipleOf = 1;  //Unknown
};