By Cheetah

The description.ext is a file with which you can implement more stuff in a mission. Including sounds, music and character identities. It is a powerful yet strict file. If you miss a semicolon or use wrong syntax, ArmA will crash and you'll have to fix the file before loading up the mission again.

Important: if you have changed the description.ext and want to see the effect, you will have to save the mission!

OnLoadMission = "Near the fishing village";
OnLoadIntro = "";
OnLoadIntroTime = False;
OnLoadMissionTime = False;

The first part of the description involves displaying texts during loading time before the intro and briefing. with this, you can let the player know where the mission will take place by adding: "Near Corazol".

With the two other options, you can toggle time display on or off during the loading of the intro or briefing. In the attached Example Mission you can take a look at the complete description.ext.


In the debriefing, you will be scored according to your achievements in the mission. With these three options, you can determine the amount of red crosses, stars or silver balls a player gets for his score. In this mission you are supposed to destroy a shilka and kill an officer, which should produce more than 500 points. That's why we set the minScore to 500. Killing everything on the map will produce a score of about 7000. Normally, players won't kill that many, which is why the average score is around 3000.

class CfgIdentities
class CaptainSparrow
name="Cpt. Jack Sparrow";
class Petey
name="Mr. Petey";

With the above, you can have someone appear, for example in the briefing, with a different name. You can do that by using

player setIdentity "CaptainSparrow";

This will give the unit named "player" the identity option you have assigned to them in the description.ext. By changing the pitch of a unit, we will either get a higher or lower voice. Changing glasses="none" to "sunglasses" will give the unit sunglasses. "glasses" will give him normal glasses.

disabledAI = false/true;
ShowGPS = 0;
debriefing = 0;
showCompass = 0;
showMap = 0;
showPad = 0;
showWatch = 0;
briefing = 0;

Disabling AI will prevent "Join in Progress" in MP games. Because all the AI units are automatically disabled. The other options are easy, 0; disables and 1; enables the element.

class Weapons
class MP5SD {count = 1;};
class G36K {count = 1;};
class Binocular {count = 1;};

class Magazines
class 30Rnd_9x19_MP5SD {count = 9;};
class 30Rnd_556x45_G36 {count = 6;};
class HandGrenade {count = 16;};

Use the OFPEC Weapon List to find classnames for any weapons you want to include. By including this weapon list, you enable the user to select weapons in the briefing. A powerful tool to make missions replayable.

You can change the amount of weapons and magazines by adjusting the number. Changing the classnames will change the weapons. Notice that you can add more weapons than I did simply by copy-pasting and replacing the class and count values.

So far, we have an almost complete mission. It is only lacking cutscenes and voices as well as additional scripts to add a few extra elements - these chapters will be included in a future version. With this tutorial, you should be able to start making basic missions! Once you are there, go back to OFPEC and check if there are any new chapters released!