Arma 3 Editor Guide
Arma 3 Editor Guide
Arma 3 Editor Guide
7
Introduction
Hi, I'm sproyd. Welcome to my simple Arma 3 Editor Guide. This guide is designed to teach you how to use the Arma 3 editor from scratch to create your own missions and scenarios and get your ideas from your head into the game. It is written in plain English and assuming no prior knowledge of editing although you should have a good ase level of skill in playing Arma. This guide is designed to e read from start to finish and should ring you up to a asic level of skill in the Arma 3 Editor. A little a out me ! I am y no means an editor guru, in fact my first foray into Arma missions was in Arma 3. I don't have a ackground in coding or game design ut I am a huge gamer and Arma fan and I hope that this guide will introduce you to the wonderful world that awaits you in the Arma 3 Editor. What Can I Do The Arma 3 editor is pro a ly one of the most powerful editors in the gaming world. This isn't a cookie!cutter editor with only a few customi"ation options ! you can create everything from asic #ingle $layer or %o!&p missions to huge 'ultiplayer wars or entirely new game modes( This guide will focus on how to create fairly asic missions with functional )riefings, *ynamic Tasks, +in conditions, ,ose conditions and more. A!!reviations "sed in #his Guide A##$W - At the time of writing .this is important as Arma 3 ATT&+ is in )eta phase and there will e a lot of changes to the game as it goes through development and final release. I will try and keep this up to date as est I can, so check ack online to make sure you have the latest version of the /uide0 %IS - )ohemia Interactive #tudios .the developers of Arma0 A3 - Arma 3 .all versions0 A& - Arma 1 $A - Arma 12 &peration Arrowhead ! a standalone e3pansion for A1 D'C - *ownloada le %ontent .e3pansion packs0 Editor - Arma 3 Editor Guide - sproyd's #imple Arma 3 Editor /uide S( - #ingle $layer )( - 'ultiplayer Co*$p - %o!&perative .'$ with friends playing together against the AI0 A$ - Area of &perations #$D - Time &f *ay
Gettin+ Started
4. %uy Arma 3.
ATT&+ you can uy A3 from either #team or from )I# directly at their online store. 5ersions ought from )I# will still need to e activated in #team for download. There are three now two versions of A3, all include the ase game in its varying phases of development and access to the full game upon release. Here is what you are getting for each version. a. Arma 3 %eta The cheapest option, includes everything you need to start playing A3. . Arma 3 Di+ital Delu,e Edition The mid!tier option. Includes .a0, some digital goodies including maps, soundtrack and a tactical guide as well as Arma 2 %old +ar Assault. c. Arma 3 Supporter Edition no lon+er availa!le The most e3pensive version included all of .a0 and . 0, Arma 6 ! which is pretty much every previous Arma game including A1, &A and *,% ! and access to future unannounced A3 *,%. 7ou could also get a )I# 8orum adge and early purchasers got their names in the A3 credits. 1. 'aunch A3 in Steam. There are a num er of things you can do pre!launch to optimise your e3perience. I won't go into detail here ut I'll point you in the right direction if you want to google it. 7ou can9 a0 %ustomise launch parameters to make the game oot faster or optimise hardware detection. 0 &pt!in to the developer's uild which includes fre:uent updates and roll!out of e3perimental features at the e3pense of sta ility. c0 &ptimise your hardware. A3 is %$;!heavy so many users overclock their %$; to oost in!game performance. 3. 'aunch the Editor. %lick Editor in the 'ain 'enu.
<. Choose a )ap and clic- Continue. ATT&+ the only map .A=A an island0 availa le in A3 is Stratis. This is the map we will e using for the purposes of this guide. However, thanks to A3's iterative engine, it is possi le to play A1, &A and user created maps in A3 with almost no glitches. >efer to the )I# 8orums for guides on that.
?. Chan+e to #raditional 'ayout. 7ou should now e in the Editor, viewing a map of #tratis. The default A3 editor layout is a new layout called '#treamlined'. +e are going to change this to the 'Traditional' layout which I think is more user!friendly. %lick the utton indicated elow.
@ow click Traditional, then &=. 7ou will need to restart the Editor, although ne3t time you launch the Editor it should default to Traditional layout.
4.
1.
3.
#he icons in the top left should look familiar ! from left to right9 The 4e0 (a+e icon opens a fresh 'ission, the 1older icon opens an e3isting 'ission you are working on, the 1loppy Dis- icon saves your current 'ission, the second 1loppy Dis- icon is 'save as' which allows you to save a version of your current 'ission without overwriting the main 'ission .useful for templates0, the Arro0s allow you to merge two missions together and the Chec-er %oard toggles etween topographical .recommended0 and satellite view. *on't worry a out the rest of the icons you won't need them for now. #he main Editor (anel. Here you can :uick!edit the Weather and #$D, you can edit Advanced Intel which allows you to customise the name of the 'ission, the date and highly detailed weather adBustments and you can select the various editing modes. Alternatively, you can also use the 15 to 17 -eys on your key oard to select these modes. The (revie0 %utton will appear here once you have placed a $layer unit ! this lets you Bump into the game to check things out ! and the %ontinue utton will appear once you have clicked $review once .although I recommend not using %ontinue to ensure any changes you make have a chance to reload0. #he )ap. Here is the visual representation of your mission. 7ou will e a le to see all of the units, waypoints, triggers and modules that you have placed. As you can imagine it can get :uite messy so it is important to try and keep things as clean as possi le. Here is a small section of a mission I have made to give you an idea of what it will look like when +I$. Thankfully, 'arkers are only visi le in the Editor when in 'arkers mode which helps to reduce clutter.
,et's give it a whirl. 7ou have pro a ly noticed that a (revie0 utton has appeared on the Editor (anel to the right now that we have a $layer unit. %lick it. If you are now a solitary rifleman standing in the middle of the airfield then congratulations you have successfully Bust placed your first unit in the Editor. $ress Esc and Suspend to return to the Editor. If you want to )ove the placement of the unit, Bust dra+ and drop like you would with a file in +indows. If you want to 9otate the unit's initial orientation, simply hold do0n Shi3t and then click the unit, holding the mouse utton .which will turn green0 and dragging until the desired orientation is reached. To Delete a unit hover your cursor over the unit and press the Delete -ey. Care3ul8 this can't !e undone. Hence why you need to deli erately hover over the unit to delete it. The same applies to Copy : (aste ! hover over a unit, press Ctrl ; C to Copy, then hover over where you want to create a duplicate unit and press Ctrl ; < to (aste. This will also copy fields from the units *ialog )o3 including the Init field.
+e'll now take a look at the "nit Dialo+ %o, that pops up when you first create a unit. 7ou can also open an e3isting unit's dialog o3 for editing y dou le clicking on that unit in the Editor. *o that now on our >ifleman.
+hile this o3 may look slightly daunting, this is a very powerful tool for editing our units. Here is what everything does. We are +oin+ to ma-e some chan+es to our ri3leman in !lue underline. Side= This is pro a ly greyed out as ),;8&> for our unit. This is ecause he is our first unit and has already een created. Any new unit or su se:uent unit we create you can change its #ide. %hanging the #ide also changes selections availa le for the type of ;nit ecause different #ides have access to different types of e:uipment and training. 1action= At the moment there is only one option of 8action for each #ide so it can't e changed. However, in the future there may e different options i.e. for ),;8&> there could e ;#, ;=, 8rance. Class2 *ifferent types of units. 'et's chan+e Class 3rom ')en' into 'Cars'. "nit= This will show us all the different types of ;nit for a given #ide, 8action and %lass. +e have selected ),;8&> F )lue F %ars and so should e a le to see a selection of different vehicles. 'et's choose >uad!i-e. )y default vehicles created will e occupied y men, and if selected as $layer you will usually e the driver. 7ou can also place empty vehicles y changing #ide to Empty. Special= This had to do with a su !element of placement. #electing 4one will put your unit e3actly where you placed him in the Editor. #electing In Car+o will place your unit in a friendly vehicle he is /rouped with .more on /rouping later0, selecting 1lyin+ will place your unit flying in mid!air .aircraft only(0, and In 1ormation .the default0 will place the unit instantly in formation with the /roup leader, even if they were placed on opposite ends of the map. 'eave this on In 1ormation 3or no0.
Control= This is :uite important. 7our first unit y default will e (layer. &nly one unit can e designated as (layer and this is who you will control in #$ 'issions. ;nits designated as (laya!le can e selected y players in %o!&p or '$ missions. 4on (laya!le is self!e3planatory I hope( &ther options are availa le when placing vehicles i.e. (layer as Driver or (laya!le as Gunner. <ehicle 'oc-= *etermines who can and can't use a vehicle. ,eave on *efault. 9an-= The unit's military rank. Important for /roups .more on that later0. 8or now, let's chan+e it 3rom (rivate to 'ieutenant. These roughly resem le military ranks ut are more for game purposes rather than realism as in real life ranks vary depending on country and military division .Army, Air 8orce, @avy etc0. In3o A+e= Ignore this for now. ;sed for providing intel i.e. last known position. A2imuth and Elevation= I recommend adBusting unit A2imuth .direction0 directly on the 'ap y holding down Shi3t ; Clic-. If you want to have multiple units facing the e3act same direction you can manually enter the A2imuth in the dialog o3. Elevation is useful for determining height of flying aircraft and is also useful for placing ;nits at the correct floor in multi! floored uildings. *efault is G which is ground level. 4ame= The ;nit's Editor name. Important for advanced editing, make sure you keep track of each of your unit's names. 'et's call our >uad!i-e unit ?uad5 !y typin+ in the !o,.
!!! Initiali2ation= Also known as the Init 1ield. This is e3tremely important for advanced editing, including customising a ;nit's loadout, launching scripts and a myriad of other features. ,eave it lank for now. Description= *isplayed if the unit is a $laya le unit. S-ill= AI #kill if an AI unit. Higher skill means the unit will e more accurate when shooting. @ealthAArmor8 1uel8 Ammunition= #elf!e3planatory, used to adBust the various :ualities of units and vehicles. (ro!a!ility o3 (resence= 8or $laya leE$layer units leave this at default. 8or @on $laya le units this will introduce an element of randomness and varia ility to your missions as some friendly or enemy units may or may not e spawned on mission launch depending on your settings. Condition o3 (resence= Ignore for now. (lacement 9adius= Another element of randomness ! this will randomise placement within a set radius from where you place the unit on the map. #hat's it 3or the "nit Dialo+ %o,.
Here we can see the group of 4G ;nits all in wedge formation, with us on our Juad ike in the middle. %urrently we aren't part of the /roup. @ote that the units spawn in formation, not where they're placed on the map, with the e3ception of the group leader who is the a3is point for the formation. This is where the second part of the /rouping mode comes in. *rag a line from the #:uad ,eader to our $layer ;nit .or vice versa0 while still in /roup mode. This will Boin the Juad ike to the e3isting /roup. &nce you do this you will notice that the /rouping lines now all lead to the $layer as the /roup ,eader. This is ecause we earlier changed the >ank of the $layer to ,ieutenant, which Bust happens to e the highest >ank in this /roup. %lick $review again to see what's changed.
+ell as you can see you now look like a adass on your Juad ike with your 4G man /roup flanking you in wedge formation. +hat's more, as the /roup ,eader you are now in control of the /roup and should see an icon for each /roup 'em ers at the ottom left of the screen.
7ou can now give commands to your /roup and if you move up the airfield they will follow you in formation. %ool huhK &kay, now for an e3periment. %hange ack to 6157 "nits mode and dou le click the $layer ;nit. %hange his >ank ack to $rivate and click &=. As you can see, you should still e /rouped ut you are no longer the /roup ,eader. If you dou le click the #:uad ,eader you will see he is a #ergeant. If he were to get killed, the /roup ,eader role would then default to the ne3t highest rank and so on.
%licking $review now you should notice that you are still in formation with the /roup, ut instead now you are no longer in control of the /roup and you will e at the ack of the formation. @ow go ack to the Editor and try dragging your $layer ;nit far away from the /roup.
%licking $review you will notice you are instantly ack In 8ormation with the /roup as under your ;nit *ialog )o3 you have chosen In 8ormation under the #pecial field. If you change this to @one you will remain /rouped with the /roup ut will retain your map placement upon launch. /ive it a go. 7our AI /roup ,eader might even yell at you L>eturn to 8ormation((L. #o unGroup a "nit 3rom a Group Bust select the 61&7 Group mode and dra+ 3rom the unit to an empty space on the map. #hat's a!out all you need to -no0 a!out Groupin+ 3or no0. If you are getting ored and want to have a little fun efore moving on, try creating a separate ),;8&> and &$8&> /roup at opposite ends of the airfield and watch them fight it out( &r create your own /roup and assault an enemy /roup's position. 7ou can issue commands to a /roup y pressing the 8 key corresponding to the unit otherwise they will follow you in formation and attack when they see an enemy. /o /roups(
#elect 61E7 Waypoints with your mouse on the right hand side of the screen or press 1E on your key oard. +ith the >ifleman selected dou le!click on a near y spot and the +aypoint *ialog )o3 will pop up. The default +aypoint is, thankfully, 'ove, and so Bust click &= for now. 7our Editor should look like this.
%lick (revie0 to see what the >ifleman does. He should e legging it towards the +aypoint you set. This isn't very natural ehaviour and once he gets there he is pro a ly Bust going to stop and look dum . ,et's go ack to the Editor now and dou le click the +aypoint. Must like editing ;nits the +aypoint *ialog )o3 will pop!up, allowing you to edit it. ,et's change the Speed field to 'imited and %ehaviour to Sa3e.
%lick $review and lets see the difference. &ur >ifleman is now walking at a natural, casual pace with his weapon down and one hand free. This much more realistically reflects how a soldier would act in a non! com at situation .unless eing yelled at y a %& of course...0. #u se:uent +aypoints will follow the prior +aypoint settings if you leave them set at @o change. &ur >ifleman, although pretty chilled, still stops at one point. ,et's create two new +aypoints ! a second 'ove +aypoint for him to move to after the first, and then a %ycle +aypoint which will have him loop ack and walk etween prior +aypoints. 8irst, create another 'ove +aypoint, and then create another +aypoint, nearer to the first +aypoint and change the Select #ype to Cycle in the +aypoint *ialog )o3. 7ou will notice handy arrows that show you the direction of travel, very useful if you have do"ens of waypoints going around the map. @ote that the %ycle +aypoint is not actually a +aypoint that the ;nit will go to, it instead instructs him what +aypoint to go to once he has reached the prior +aypoint creating a loop. This is how your Editor should look. 7ou will notice I have purposefully placed my %ycle +aypoint out of the way, forming a triangle, ut the >ifleman will Bust walk ack and forth etween the two initial +aypoints forever. There are lots of other +aypoint Types ut 'ove and %ycle is all we really need to know for now. As mentioned earlier, if you assign a +aypoint to a /roup ,eader, the /roup will e3ecute the +aypoint, which saves a lot of time and Editor clutter in assigning individual +aypoints to individual ;nits.
#elect 6137 #ri++ers with your mouse on the right hand side of the screen or press 13 on your key oard. >emem er, Triggers are designed for one thing ! to e Activated.
*ou le click in some empty space on the airfield to place a Trigger. The #ri++er Dialo+ %o, will appear, don't change anything and Bust click &= at this stage. &ne of the most asic Triggers is a '&nce $resent' Trigger which is the default. 7ou should now see the Trigger in the Editor sym olised y a lue flag with a lue circle around it reflecting the default ?G3?G radius. >ight now, the Trigger does nothing. However, Triggers are very versatile ! they can e used to +in a 'ission, to ,ose a 'ission, to complete, fail or assign a Task, to trigger AI to move to a new waypoint, to call in reinforcements, to play a sound, to show a hint, to display some te3t, to change the weather, to change a varia le, to.... you get the idea. ,et's have this Trigger Win the )ission upon Activation. *ou le click the Trigger flag to ring up the Trigger *ialog )o3. %hange #ype to End F5 .which is e:uivalent to +in N4 ! there can e up to A different endings O 4 ,ose0. The ne3t 3 fields read .sort of0 in order ! so y setting Activation to %'"1$9 we get L&nce ),;8&> is $resentL the Trigger will e Activated. %ondition 'this' Bust means that the a ove condition applies. If you want a custom condition for activation you can enter it under the %ondition field. @ow click $review. *rive towards your Trigger. 7ou pro a ly notice that there is no visual representation of the Trigger in game, not even on your 'ap. Hopefully you remem ered where you put it ! otherwise go ack to the Editor and put it in an easier place to reach. If done correctly you should get )ission Completed.
+ell done, you Bust completed your first 'ission( However, if all A3 'issions were like this you'd get ored pretty :uickly( Also, you may e wondering what would happen if another ),;8&> unit was to stum le into the Trigger area while you were out doing heroic duties ! would that also trigger 'ission %ompleteK .7es0. And if you didn't know the Trigger was there ! how would you know where to goK .7ou wouldn't0. +hat if there were multiple triggers in a missionK .Must imagine(0 +e are now going to step up the level of comple3ity y using #ri++ers, #as-s, )odules, Syncin+ and <aria!les all in one step( *on't worry, I'll hold your hand. *elete the old Trigger and create 3 new Triggers ! one to the @orth, +est and East of the $layer. 'ake sure that the $layer is not in the Trigger areas ! if you want you can play with different Trigger areas and shapes in the Trigger *ialog )o3. However, change the @orthern 'ost Trigger to a G area.
+e want to give the $layer two Tasks ! one to arrive at the +est Trigger and one to arrive at the East Trigger. &nce the $layer has done oth of these tasks we want the 'ission to complete. +e are going to use a simple and useful techni:ue rather than Bust the L&nce ),;8&> presentL we used earlier ! and it actually uses the H81I /roups mode we learned a out earlier. #witch to /roups mode and /roup the $layer with each of the two +est and East Triggers y dragging etween them. A light lue line should now run from each Trigger to your $layer like the picture to the left. @ow open the Trigger *ialog )o3 for one of the Triggers. 7ou will notice that the Activation field should now read <ehicle. ,et's check the other options y clicking on the drop!down o3. <ehicle means the "nit that this #ri++er is Grouped 0ith * 0hether that !e a lone soldier8 an empty car8 a man on a ?uad!i-e8 a helicopter etc. It is not restricted to vehicles per se. However, if the ;nit the Trigger is /rouped with is part of an actual /roup, there are some other great options like having to have the +hole /roup present in order to Activate the Trigger or Any /roup 'em er for a mission where some casualties are accepta le. ,et's leave this on 5ehicle for now ! the Trigger should Activate &nce the $layer ;nit it is /rouped with is present in the Trigger radius. *o the same with the other Trigger.
Creatin+ #as-s "sin+ )odules There are a variety of ways to create Tasks including hard coding. The est way I've found is to use the Tasks 'odule. #elect 6177 )odules with your mouse on the right hand side of the screen or press 17 on your key oard. FYI 'odules e3ist in the Editor to simplify things that you would do :uite often ut would take much more time or skill than Bust simply using the 'odules feature. Must like efore, dou le click on the map to place a 'odule. It doesn't matter where you place this module ! ut make it easily accessi le. ,et's change the Cate+ory field to Intel and )odule field to Create #as-. As you can imagine, this 'odule will %reate a Task for us. ,et's fill in a few more details as elow.
/reat, so now we have a task with an I* of task4, and the Title and *escription will e visi le to whoever owns this Task, in this case entire /roups of synchroni"ed o Bects. %lick &=. 7ou have pro a ly already guessed the ne3t step ! we need to synchroni"e our $layer with the 'odule in order to give him the task. E3citing( +e finally get to use 61G7 Synchroni2e( 7ou know the drill, click on the #ynchroni"e mode or press 8? on your key oard. #ynchroni"ing .or #yncing0 works Bust like /rouping, Bust drag a line from one item to another, in this case the 'odule to your $layer. !!! 7ou will notice the #ync line is dark lue, whereas the /rouping lines are light lue. This is important to distinguish as Groupin+ and Syncin+ have a completely di33erent e33ect and i3 mi,ed up it can !rea- a mission .more on that shortly0.
%lick $review, and then once in!game, press H to check your tasks.
%reate another 'odule near y, and set the 'odule 8ield to #et Task #tate and the #tate to #ucceeded. This 'odule will e use to set our Task to %omplete once fulfilled. %lick &=. 7ou will notice that y default the 'odule is /rouped .a light lue line0 to the %reate Task module. This is not what we want and is Bust an unwanted default feature of the engine .it may e fi3ed in future uilds0. @ow, .40 *e/roup the two 'odules .10 #ync the two 'odules and .30 #ync the #et Task #tate 'odule to the +estern Trigger. 7our Editor should e looking like this. #ynchroni"ing here has two different effects. #ynchroni"ing the two 'odules asically Bust links them together so A3 knows that they relate to the same task in this instance. However, synchroni"ing the #et Task #tate 'odule to the Trigger is a different yet very important concept which once you understand will give you a lot of power and control over mission elements. +e are saying that only once the #ri++er is Activated8 can the Set #as- State )odule proceed. ,et's test this out ! Bump in to the game, and drive due +est towards the trigger. If you have followed all of the steps a ove correctly you will get a nice little pop!up animation like this. /ood Bo ( ,et's now set a *estination for the Task that will display to the $layer on the map and in!game when set as the current Task so you know where to go. %reate another 'odule and set the 'odule field to #et Task *estination and the *estination field to 'odule $osition. #ync the new 'odule with the original %reate Task 'odule .not the #et Task #tate 'odule ! this won't work, and don't forget to un/roup0. @ow move the new 'odule where you want the Task to e ! somewhere in the Trigger area is a good idea. %lick $review, and once in!game press 'M' to view Tasks and click Set as Current #as- * you should now see a Task location arrow and distance on screen making it much easier to find. @ow I'm going to stop holding your hand and ask you to replicate everything we've done a ove ut for the Eastern Trigger, calling the Task I* tas-& ! readyK /o(
Welcome !ac- =D. Hopefully, your Editor should now look a little something like this and you didn't get too lost without me.
In!/ame you should now e a le to see two Tasks when pressin+ H and hopefully you remem ered to change the second Task I*, Title etc if you used a copy O paste method. 7ou should e a le to separately complete each Task .in any order0 and you should also e a le to switch current Task etween the two to see the two different destinations. If so, well done( If you are having issues make sure you read ack over the steps efore proceeding. )ut wait, we don't have a cool 'I##I&@ %&'$,ETE* screen like efore... and if we change one of the Triggers to a +in Trigger then it will Bust end the mission regardless of what else needs doing. This is what our third Trigger to the @orth is for, don't tell me you forgot a out that one( 'et's chan+e it to an End F5 #ri++er .and from now on I'll call it End Trigger0. )ut, it has no area and is not grouped with any units so how can we have this Trigger end the 'issionK ,ike many things in the Editor there are multiple ways of going a out it y using scripting, I'll show you a few. Way 4o. 5D 4amin+ #ri++ers This is an easy way, simply open your +est and East triggers and give them a name in the @ame field, let's call one simply 0esttri++er and the other easttri++er. Then let's open our End Trigger and in the Condition )o3, delete the te3t 'this' and insert the following code. Code triggerActivated westtrigger OO triggerActivated easttrigger
#o instead of the Trigger re:uiring a standard condition like ),;8&> or 5ehicle present or not present, it instead will activate once the code ecomes True. It uses oolean maths .4s and Gs0 or logic and some asic Arma!specific scripting language. This is a fairly simple snippet of code ut your synta3 has to e perfect or the Editor won't recognise it. The script 'triggerActivated' will check whether a named trigger i.e. westtrigger has een activated If activated it will return True .or oolean 40. The OO in the middle .you need two Os0 means the %ondition is only True if oth snippets of code return a value of True. Try it now(
Way 4o. &D Chec-in+ #as- States This is a very similar method to +ay @o. 4 ut using tas-Completed instead of tri++erActivated and the two scripts should work identically. However, unfortunately ATT&+ this doesn't appear to e working with the Task 'odule in A3. Way no. 3D "sin+ <aria!les This is another fun and :uick way to trigger stuff, we can use varia les. &pen the +est Trigger. %urrently the $n Act )o3 is lank and typically you don't need to put anything in here. However, you can get Triggers to do a whole load of cool stuff once Activated y using this field. ,et's create a varia le called '0estdone' and set the value of the varia le to true as follows9
Easy, huhK @otice the semicolon .90 afterwardsK This is not mandatory here ut will denote the end of the scripting line, and allow you to put multiple lines in here .each with 9 after it0. *o the same for the East Trigger ut call the varia le 'eastdone'. So no08 0hen each #ri++er is activated they 0ill do t0o thin+s8 complete the synchroni2ed tas-8 and create a uni?ue varia!le 0hich is set to #rue. @ow open the End Trigger. *elete whatever is in the %ondition o3 and simply input westdone OO eastdone.
Try it out, the mission should complete Bust like efore when oth varia les ecome true. Although, the pro lem here is A3 is so fast that it may complete the mission efore the Trigger even completes the Task( A :uick fi3 is to open the End Trigger and edit the Timer section in the ottom!left. 'ake sure its set to Timeout not %ountdown mode and fill in the three fields 'in, 'id and 'a3. The units are seconds and there are three fields in order to introduce an element of randomness. If you have them all set at ? seconds, the mission will complete at e3actly ? seconds after oth TriggersETasksE5aria les have een completed. If you use 4, ?, 4G like I have the final End Trigger will complete anywhere etween 4 and 4G seconds after the Activation conditions have een met at an average point of ? seconds. This will give A3 time for the Trigger to complete the Task efore 'ission %omplete( FYI The %ountdown Timer 'ode means that the %onditions have to e met for that length of time efore the Trigger is Activated. In this case it doesn't make a maBor difference. An e3ample of when that might e useful is having a Trigger cover a key area with a %ondition of &$8&> @ot $resent ! you might want &$8&> to e kept out of that area for a set amount of time in order to win the mission so the %ountdown mode will work well.
ye!
7ou are still here aren't you... +ell okay then, here is a sneak peak of what's to come.
The rest of the Guide is for those of you that want to get more involved and create missions that are of a high quality - good enough to distribute publicly, have critiqued, play with friends and have all the finishing touches and polish that you would expect from a BI -made mission!
%lick the #ave As dropdown o3, the options are as follows2 "ser mission= This Bust saves another version of your mission in the Editor. ;seful if you are working from a template, or if there are two comple3 parts to your mission you might want to work on them separately and merge them later. E,port to sin+le missions : E,port to multiplayer missions= This is what we want ! it will create a p o mission file in your Arma 3 folder. @ote that mission Editor files are generally saved under !y "ocuments # $rma % # !issions +hereas p o files will e saved under your core A3 directory &rogram Files # 'team # steamapps # $rma % # !issions or !&!issions Send !y e*mail= This doesn't seem to work ATT&+. 'ay take some setting up. In order to distri ute, you simply need to email the p o file to your friends and they can place it into their 'issions folder. It is considered good practice to undle the p o into a "ip file with a .t3t document that has asic mission information, version num er, changelog and any known issues and upcoming changes. (lu!lish on Steam Wor-shop= This lets you pu lish your mission directly on #team( However, I strongly suggest posting it online or with friends for testing efore you do this, otherwise #team users may e less forgiving and downvote your mission efore its up to speed.
+here to pu lish and get feed ackK 7ou can pu lish your mission on any we site ut the most popular places are the %IS 3orums and Armaholic.com. If your mission is +I$ and very uggy, make sure you upload it to the 'In $rogress' part of the forums for testing. There are generally lots of community mem ers that are willing to help test your missions if you are open and honest a out the shortcomings. If you pu lish a mission full of ugs as 'finished', then people will e less likely to test out your missions in future. FYI $u lishing on #team is great for players as it makes downloading and updating missions easy. However, as a mission maker e aware that you lose a lot of your ownership rights when doing this.
I will often Bump in and out of my mission while adBusting weather and T&* to get things feeling Bust right. If you want to put added time pressure into the mission you can set the 8orecasted weather to poor conditions so the player is forced to rush to get things done efore the weather gets hairy.
%lick $review. &nce in!game you should see yellow te3t saying '%haracter %ustomi"er'. $ress space to activate the paper doll gear selector which should look like this9
&n the right hand side you will notice a range of sliders. $lay around with them and you'll notice your player character magically changes his loadout. The rest is fairly self!e3planatory. &nce you've found the loadout you want, click the %&$7 utton on the ottom!left which will copy the loadout with scripting commands to the clip oard of your $%. If we now alt*ta! to windows and open @otepad .or @otepadDD which is what I like to use, its free(0 and press paste .Ctrl ; <D. 7ou should now see some lines of code looking something similar to the elow. I've put red crosses ne3t to the fields that are lank. In this case you can see that I added new headgear, uniform, weapon, scope ut did not change the vest, ackpack and other fields.
/uh0 +ondering what all this gi erish meansK Its scripting( 'this' refers to the ;nit in :uestion, 'addHeadgear' etc is a scripting command instructing the engine to... you guessed it, add headgear and the last part is called a string .you can tell ecause it's in :uotations0 and refers to items in game using what are known as Lclass namesL. The semicolons 9 denote the end of the scripting line. I am going to delete the lank fields .with red 6's0 to tidy up the code and prevent script errors.
'uch etter( @ow I'm going to copy and paste this into my ;nit's init field ack in my mission in the Editor. ,et's alt!ta ack to the Editor and %trl D 5 to paste.
The formatting is a it messy ut should work fine. @ow $review. +ow, this unit now looks great with a custom loadout. However, he pro a ly doesn't have any ammo( 7ou are going to have to find out the class name of the ammo for each particular weapon and add it in. 7ou can search for it here, although the list isn't e3haustive. http2EE rowser.si3! proBects.netEcfgPweaponsEclasslistKversion-AQ In this case I know the ammo class name is %()*nd)+,$C&)!ag)'!-)(. +hich translates in English to a 3G round maga"ine of <?A%$ ammo for #'/PG4( @ow how to add it...
There is a great scripting command called add'aga"ines which simply adds maga"ines to your ;nit's inventory. Each scripting command has a very particular synta3 which must e strictly followed in order for the script to work. Here's the one for add'aga"ines.
#he unit that the script applies to. I3 you are insertin+ the script in the unit's init 3ield you can Bust type 'this' li-e 0ith our loadout script a!ove. Easy. the Script command Cit must !e in this orderD ma+a2ine4ame is a strin+ so must !e in ?uotations count is a num!er8 not a strin+8 no ?uotations
unit
add)a+a2ines
ma+a2ine4ame
count I
*on't forget the other synta3 like Hs:uare racketsI, commas and always end with a semicolon( #o in order to add the ammo to our unit lets put this script into his init field this addmaga"ines HL3G>ndP<?A%$P'agP#'/PG4L,?I9 'ake sure there are still semicolons separating each script line. &ro12ip Always place an add'aga"ines script efore an add+eapon script in the init field, that way the weapon will already have a maga"ine loaded. If you do it the other way around you will end up with a weapon that re:uires reloading in!game efore it can e used, and that's Bust not cricket( %lick $review and your ;nit should now e loaded up with ? maga"ines of your chosen ammo(
)ar-ers8 %rie3in+s and 1inishin+ #ouches &ne of the many greath things a out the Editor is that it's )I#'s tool for creating official A3 missions. This means that the professional looking riefings that you see when starting a mission can ecome a feature of your missions too( 'arkers ,et's learn a out 'arkers first. #elect 61I7 )ar-ers with your mouse on the right hand side of the screen or press 17 on your key oard. This mode allows you to create 'arkers which are visi le to the $layer when viewing the 'ap or a riefing. This is an a solutely critical way of conveying intel to the player that heEshe will need to complete the mission. I'm now going to place our :uad4 ;nit at the @E corner of the #tratis Air )ase. I'll set a 'arker for him to rende"vous with a contact in Agia 'arina, near the each. As efore, placing 'arkers is easy, Bust dou le!click on the map to place and open the 'arker *ialog )o3. 7ou will need to select the Icon .displays on the map0, %olour, @ame .important for riefings0 and Te3t .displays ne3t to the 'arker on the map0. >emem er, 'arkers have to e named. If you try and create a 'arker without a name you will get a pop!up error message. Try and keep track of your 'arker names for later. ,et's call our first 'arker 'marker4'.
%lick $review. Then press ''' to open your 'ap and you should e a le to see the 'arker that you placed. 7ou can also place 'arkers over "ones. $lace another 'arker +est of Agia 'arina. ,ike Triggers, you can select shapes of >ectangle and Ellipse. #elect a shape and play with the a3is si"es. 7ou can orientate the 'arkers the same as ;nits, y holding down #hift and clicking and dragging from the center point. )elow I have placed a red, vertically filled ?G34GG "one. I can then place another 'filled arrow' marker ne3t to it to la el it, in this case Enemy A&.
)riefings )riefings are critical intel to your troops on the ground which they should receive efore em arking on their 'ission ! what do they need to do, where do they need to do it and what tools do they have at their disposal to do it. In addition to )riefings displaying te3t and the map with the 'arkers you have set, they can also interact with your 'arker names via a hyperlink. ;nfortunately, )riefings re:uire a it of light scripting. Alt!Ta from A3 and open your 'ission folder .i.e. in 'y *ocs E Arma 3 E missionsE 'y8irst'ission.#tratis0 and create a new file called riefing.s:f. &pen the document in @otepad .or @otepadDD0 and type the following9 Code player create*iary>ecord HL*iaryL,HL)riefing InfoL, LIt's vitally important that you drive to Rmarker name -'marker4'Fthe each REmarkerF LII9 This will create a line of code for your riefing. 7ou also need to create a file called init.s:f in the same folder, open it with notepad and insert the following to launchEe3ecute your riefing upon mission start9 Code e3ec5' L riefing.s:fL9 $review the mission and press ''' to check your map. 7ou should see a )riefing ta , click this and within the )riefing Info .or whatever you named it0 su !ta you will see the description. If you click on 'the each' you should see the 'ap center on your marker4 you created earlier as elow.
If you'd like for the )riefing to display upon 'ission start without having to enter the map .I always do0 then place another file in the mission folder called mission.html ut leave the whole thing lank. This will tell the Editor to launch the riefing prior to starting the mission. @ote that this doesn't have any effect when $reviewing with the Editor ut when your mission has een e3ported or pu lished this will make the )riefing display efore the $layer is launched into the 'ission. &ro12ip 7ou can create multiple riefing entries in riefing.s:f y inserting multiple 'player create*iary>ecord' entries. Try having one entry descri ing the main o Bectives, one descri ing the weather, one descri ing the opposing forces etc. 8inishing Touches If you want to look fancy then you'll need to add some finishing touches to your mission. Here's how to do it. ,et's create another file, this time called description.e,t in your mission folder. 8irstly, let's add some asic flourishes to our mission y adding the following code to description.e,t with notepad. The te3t after EE e3plains what each line of code does, and you can even insert this e3planation in the document as the EE tells the A3 Editor to ignore the te3t. This might help with future editing. Code authorJKyournameKL EEappears as author in the overview and loading screen overvie0#e,tJKA Simple )issionKL EEte3t that appears in overview and loading screen on'oad4ameJK)y 1irst )issionKL EEmission name for loading screen only overvie0(ictureJKovervie0.Bp+KL EEmission picture for overview screen, file in mission root folder loadscreenJKloadpic.Bp+KL EEmission picture for loading screen, file in mission root folder respa0nJGL EEallows Team #witch and respawn to ne3t playa le unit on side on'oad)ission#ime J 5L EEshows mission time on launch de!rie3in+J5L EEdefines if the de riefing is shown at the end of the mission.
A full list of description.e,t scripts and their possi le values is availa le at http2EEcommunity. istudio.comEwikiE*escription.e3t ,et's save our mission to our #$ 'issions folder and see how it looks when players load it. &kay, &peration #and %astle is looking pretty official. >emem er, the overviewTe3t field has a character limit so keep the description short. The )riefing is to e used for more detailed instructions to the $layer./et creative with your loading screen or Bust display a screenshot. ;p to you.
'ore 8ancy #tuff ,et's do some more fancy stuff with description.e,t. This time we'll create multiple de riefings and do so with )I#'s cool graphic interface. Insert the following code into your description.e3t file. Code class %fg*e riefing S class End4 S title - L'ission 8ailedL9 su title - L7ou %heatedL9 description - L%heaters fail at lifeL9 T9 class End1 S title - L'ission AccomplishedL9 su title - L+ell *one(L9 description - L%ongratulations, you won the mission( +ell done chap.L9 T9 class End3 S title - L'ission 8ailedL9 su title - LL9 description - LE3pect a demotion and some time to think.L9 T9 T9 This script creates multiple endings and de riefings for the $layer to achieve using the 'title', 'su title' and 'description' fields. As you can see End5 is set as 'ission 8ailed with a rude comment a out cheating ! this is ecause most mission win cheats involve invoking End4 so this will strip them of their satisfaction( End& we have set as the est outcome and End3 is set as failure of the mission. +e've only really done two ut you can set many different ending and de riefing te3ts to match( @ow we need to do some minor scripting in the Editor to ring up these de riefings. 7ou will remem er that we earlier created a mission win Trigger when the player achieved westdone OO eastdone varia les. ,et's open that Trigger and change type to @one, we will then instead insert the following te3t into the '&n Act.' field Code Lend1L call )I#PfncPend'ission
@ow, once we complete a mission we should get some cool te3t, in line with the appropriate ending in the description.e,t file like so9
As for the 'ission 8ailed de riefing ! let's have a strict AG second time limit for 'ission completion. %reate a new Trigger and in the %ondition field simply enter9 Code time F AG9 time is a script command ased in seconds and can e any length you'd like. In the &n Act. field enter9 Code Lend3L call )I#PfncPend'ission ,aunch the 'ission and see what happens after a minute. /reat( This seems to work. &f course, you can have the ,ose Trigger set to activate from whatever you want, such as death of a 5I$, alerting guards or a convoy reaching a destination. /et creative(
"se3ul Scriptin+ Commands : )ission #ric-s +ell, we've done some :uite cool things in the Editor you and I, and y now you should e starting to appreciate the power of Arma's native scripting language. I've compiled a list of some trusty scripts that should stand you in good stead for your asic mission making aspirations. And without further ado I give you9 Alive yntax" alive ob#ect
This is a oolean script so only can have two possi le values TrueE4 or 8alseEG. Its used to check whether an o Bect is alive. 7ou can also switch it with an ( e3clamation mark to mean not alive. #o for e3ample if I had a 5I$ who was named in the Editor ;nit *ialog )o3 as 'vip' I could have the following Trigger.
+hich means with the 5I$ is dead, end3 would e called from description.e,t. If I had multiple vip's .i.e. vip4 and vip10 I could also use the or and .330 modifiers so that the mission finishes if one or oth of them die.
Trigger activated once uilding destroyed 7ou can have a Trigger activate upon destruction of a uilding. #imply create a Trigger with a radius that circles the uilding then press the I* ta to display static o Bect I*s, then 61&7 Group the Trigger with the static o Bect. 'ake sure the Trigger Activation is set to '#tatic & Bect' '@ot $resent' in order for the Trigger to activate once the static o BectE uilding is destroyed. %ondition can e left as this and you can put a varia le into the &n Act. field as well as syncing it with a #et Task #tate 'odule for full effect. This is a very fun trick and very useful. Must make sure you place the Trigger area over the o Bect or it won't work(
Boin#ilent yntax" i!e! or unit$rray #oin ilent group %unit&, unit'( #oin ilent )group unit*+ %unit&, unit'( #oin ilent player
This is a useful script that will Boin a ;nit or multiple ;nits to aEyour /roup. The key thing to note is that the first part of the script has to e an array which means it needs to e in s:uare rackets. An array can contain any num er of items, in this case units, or Bust one if you like. 7ou can then have these units Bust Boint the player's /roup ! the most common usage ! or any other group y specifying .group P30 where P3 is a mem er of the group. +hen might this e usefulK In a hostage situation you might have hostages Boin your group .and hence your control0 once you get near to them.
%reating $atrols 'ilitary patrol routes are common in real life as well as in games and A3 is no different. #et up an enemy patrol with any num er of waypoints ut make sure you set up a cycle +aypoint so the patrol keeps going ackwards and forwards on its route. )elow I've set a patrol of two &$8&> to walk a long route along a ridgeline, ack and then cycle.
'ake sure you set the first +aypoint to have the correct 8ormation, #peed and )ehaviour that you want. The most common is of course %olumn, ,imited and #afe. #u se:uent +aypoints can e left as @o change. &ro12ip 7ou can set Time&ut times for +ay$oints Bust like Triggers. +hat this does is make AI ;nits wait at +aypoints efore moving on. )y varying your 'in and 'a3 fields you can create an element of randomisation in patrols as AI will wait at +aypoints for a random amount of time, putting players off their game.
>andom #pawn $oints 7ou can easily randomise spawn location of $layers and AI using a simple trick with invisi le 'arkers. $lace a $layer ;nit on the map and then place two 'arkers at different ends of the map. As mentioned a ove, you have to name all 'arkers, ut in this case it doesn't matter what you name them. However, make sure you select the 'arker Icon as Empty. 7ou now need to 61&7 Group the Empty 'arkers with your ;nit. This is a little tricky as once you press 81 to switch to Group mode, the 'arkers disappear( 'ake sure you remem er where you put them and if you can't find them Bust switch ack to 61I7 )ar-ers mode to find them. @ow, everytime the ;nit spawns it's start position will e randomised etween the 'arkers and its placement position. This means if there are two 'arkers /rouped with the ;nit it will have 3 possi le start positions. Try it now ! keep restarting your 'ission until you see all 3 start points to verify they are working. The same applies to AI units which can e used to create an element of randomness. %aptive ;nits .set%aptive0 Another mission making trick of the trade is to set units to captive state. In plain English this means that these units cannot e seen y other units so can go a out their usiness without affecting their ehaviour. As you might have gathered this makes it :uite a powerful scripting tool so should e used sparingly. I mainly use this script when testing missions so I can run around watching ehaviour without getting shot at. yntax" unit,ame set-aptive status
#o for e3ample, the most asic application would e to make your player effectively invisi le to enemy AI. 7ou could insert the following code in your player's init line9 Code this set%aptive true9 Try it out now and see if you can run circles around an enemy and even shoot at them without them flinching. This is also useful for mission atmospheric elements ! you might want a helicopter to fly overhead ut without invoking enemy fire... Bust simply set the heli to captive and forget a out comple3 A3 AI conse:uences. Intros and $utros )ission E,amples
#$ %E C$4#I4"ED8 ('EASE ($S# 1EED%ACM $4 %IS 1$9")S I1 /$" 'IME W@A# /$" SEE S$ 1A9 A4D WA4# )$9E C$4#E4#