Skip to content

Creating a Mission with the Template

robtherad edited this page Jul 16, 2016 · 2 revisions

Choosing a Map

If you want to make your mission on an island other than Altis you will need to change the island extension on the mission folder to match the island that you want to play on. To find any island's extension just load up that island in the editor and save a blank mission that uses that island.

So, if I wanted to use the template to make a mission on United Sahrani I would change the folder's name from ADV120_MissionTemplate.Altis to ADV120_MissionTemplate.Sara_dbe1. Then in the editor I would go to United Sahrani and I would be able to load up the template mission.


Setting up the Scenario

AO Limit

AO Limit Trigger Location, circled in red

The AO limit trigger forces players to stay within a certain area for your mission. It will pop up a warning letting players know they are outside of the mission area and after 30 seconds of being warned they will be killed. The module synced to the AO limit trigger causes the area outside of the trigger to turn gray on player's maps.

Move the trigger to the location you want your mission to take place and resize or change it's shape as necessary. If you change it's shape to an ellipse you will need to place a marker indicating where the edges of the AO are since the Cover Map module can only create rectangular borders.

To disable this feature comment out or remove it's activation call from your mission's init.sqf file.

Objective(s)

What do you want the players to do during your mission? The main idea behind objectives is to use them to encourage players to focus their efforts into specific areas of the map. As more players from different teams congregate in the same area the odds of a firefight happening increase. Objectives, in coordination with the mission time limit, can also be used to give players an alternate option for completing the mission in the case of one side refusing or being unable to fight.

The template comes with two pre-set options for objectives. There is a simple sector and there are two types of destroyable objectives.

Simple Sector

The simple sector can be placed anywhere within your AO as either a neutral objective or as an objective for a team to defend. Check inside the Sector module and play around with what options you can change. The size of the trigger determines the capture zone for the sector. By default, in the template, the sector module will have code in it's Expression box that triggers a hint letting players know the sector has changed hands. The status of the sector is also displayed near the top right corner of player's screens during the mission.

For more information on the sector module see the BIKI article.

Destroyable Objectives

Objective #1 - Static

A simple objective that will pop up a hint when it gets destroyed.

Move the FIA Ammo Cache named obj1 to wherever you want an objective to be placed in your mission and then place the marker that says Objective #1 in the same location. It's also good practice, but not necessary, to move the attached trigger closer to the mission AO so it is easy to find for anybody who happens to open up your mission. Once everything is in position go ahead and change the FIA Ammo Cache to whatever type of objective you want by right clicking on it and going to Attributes and selecting your desired type from Object: Type.

If you want multiple objectives of this type then copy (CTRL-C) each of the three items (Objective, Marker, Trigger) and paste (CTRL-V) them down again. Then replace all references to obj1 in the trigger and object name with references to a new name (ex: obj69). You will also want to replace all references to Objective #1 in the trigger and marker text with the new name you gave the objective (ex: Objective #69).

Objective #3 - Randomly Placed

A simple objective that will be randomly placed in one of a few predetermined places at mission start. Pops up a hint when it gets destroyed.

At mission start this objective is randomly placed at any of it's attached markers or at it's actual location on the map. The code in the objective's initialization box will cause the marker to move to the correct location of the objective once the mission starts.

If you want multiple objectives of this type then copy (CTRL-C) each of the three items (Objective, Marker, Trigger) and paste (CTRL-V) them down again. Then replace all references to obj1 in the trigger and object name with references to a new name (ex: obj69). You will also want to replace all references to Objective #1 in the trigger and marker text with the new name you gave the objective (ex: Objective #69).

Player Awareness

For players to complete the objectives you must let them know the objectives exist. Assume that you won't be present when the mission is going to be played and try to include all the information that would be required for somebody else to run your mission. The best way to do this is to include the information in the Create Diary Record modules that are synced to all the playable units in the mission.

Player Slots

The template comes with two teams, OPFOR and BLUFOR, that each have 60 players. You may want to adjust the playable roles depending on your mission's objective or your preference for what assets the teams should have. You may want to have the MMG teams to have designated leaders or you may want to remove them entirely. It's all up to you. Just keep in mind that we usually play with infantry squads having 2 fireteams with 6 players each so most players will be more comfortable with a setup similar to that.

Setting + Description

To edit the weather settings for your mission click Attributes, at the top of the screen, and then click Environment. If you are planning on making a night mission, the default template date (2009-08-09) at 2000 hours should be a moonlit night where visibility shouldn't cause people to jack up their gamma setting.

To edit the mission display name and description click Attributes and then click General. The main thing to edit would be the Text field under Overview. That's a good place to add a short, sentence long, description of your mission along with anything players will need to know during the slotting screen.

Saving

Now that you've got your scenario pretty much set up in the editor go ahead and save your mission. Don't hit the 'Save As' button, just hit the 'Save' button. Once you've done that go back to your missions folder and rename the mission from ADV120_MissionTemplate.Sara_dbe1 to something else. Please use the format ADV### for adversarial missions, CO### for co-op missions, and LOL### for party missions. Replace the pound symbols with the maximum player count your mission supports.


Script Configuration

Loadouts

The loadout script checks to see what class the player is in the editor and if the player's class matches one of the defined classes it will remove all of a player's default gear and issue them new gear according to what is defined in the attached file. Player classes are case sensitive so if something is wrong make sure To edit player loadouts go to f\loadout\fn_loadout_set.sqf and find the file for the class you are looking for. All loadout scripts are located in f\loadout\units.

To keep compatibility with the map, gps, and radio parameters present at the slotting screen please only assign such things if the correct variable is set for that player's role. 0 means everybody gets one of those items, 1 means only Team Leaders and Squad Leaders get those items, 2 means only Squad Leaders get those items, and 3 means nobody gets those items. If you don't want to make it compatible with those parameters please remove them from your missions description.ext so there is no confusion. If you are just going to use the premade loadouts provided with the template you don't have to worry about any of this as it's already set up for you. If you are previewing the mission in the editor don't freak out if the AI don't have the loadouts, the loadout script only works on players.

Description.ext

This is a file in the root of your mission's folder that has some key information you will need to edit to personalize your mission.

On line 4 you will want to set maxPlayers equal to the maximum number of players your mission supports. Include the journalists in this count. On line 7 you may want to set author to your name. On line 8 you will want to set onLoadName to the name of your mission except this time spaces are allowed between words. On line 9 you will want to set OnLoadMission to a brief description of your mission.

GPS Markers

This script allows players who have a GPS item equipped in their inventory to be able to see other players who also have a GPS item. If properly configured any vehicles in the mission that belong to a side will also be visible to players on that side. For now, there is no way to see another team's GPS markers.

To edit the settings for this script, find the settings file located at f\gpsmarkers\settings.sqf. The header of the file should tell you everything you need to know.

To disable this script, open up the \description\cfgParams.hpp file in the root of the mission's folder. Look in Class Params { for class s_gps_markers {. Set the class up with the following values values[] = {0};, texts[]={"Disabled"};,default = 0;. When you are done save the description.ext file and reload your mission in the editor. If you do not load the mission again the changes will not take effect. Test to make sure the GPS script isn't running by playing as a character with GPS and see if you can see any markers. If your game crashes you messed up something in the description.ext file.

End Conditions

This script gives feedback to all players when certain conditions are met that would generally result in the mission being ended. There is a component that checks to see if a certain time limit has been reached as well as a component that checks if all players from a certain side have been killed. Depending on your scenario you may not want to have all present sides having their status checked.

To edit the settings for the part of the script that checks if players are alive or not, find the settings file at f\endconditions\settings.sqf. The header of the file should tell you everything you need to know about that.

To edit the settings for the part of the script that checks if a time limit has been reached or not, open the description.ext file in the root of your mission's folder and look for Class Params { and then find class mission_runtime { within it. Adjust the values[], texts[] and default fields to match what you want to use for your mission. Keep in mind that for Friday Night Fights we try to keep the time limit for missions at around 45 minutes not including safestart, slotting, or briefing time.


Finishing Up

Head back into the editor and load up your mission. Now click the Save-As button and select Export to Multiplayer. The mission will be packed into a single .pbo file. Your multiplayer missions folder should be located in your Arma 3 folder and then MPMissions.

Next, get in contact with Fritz and walk him through your mission. Once he's approved it and made sure everything is working properly, we can play it at Friday Night Fights!