You are on page 1of 30

The chapters are divided into 5 sections in the form of replies to the first posting:

Ch1 - orientation
Ch2 - Basic Mission
Ch3 - Scripts
3a. Description.ext
3b. Briefing.sqf
3c. Init.sqf
3d. Vehicle.sqf
3e. Custom ammo boxes
Ch4 - F1-F7 complete descriptions of all the stuf
Ch5 - References and Resources

So a few people have started editing in A3 and may want to know a few tricks of the
trade to make mission making smoother. This (very) short guide will include:
How to Start/ placing units
Ending the mission
Short description of some modules I actually know how to use
Description.ext setup w/ example (respawn)
Init.sqf setup w/ example (module activation)
Briefing.sqf setup w/ example (briefing tests in the map)
Custom Equipment Boxes w/ links and examples
Useful links to resources/guides not related directly to the above
Other stuf will be added as I think of them/find them

How to start
First orient yourself to the editor.
F1: Units - this tab is used to place physical items on the map; things you can interact
with, shoot, and use
F3: Groups - this tab is used to place groups of units, group units or objects together,
or ungroup objects or units.
F3: Triggers - this tab is used to place Invisible actions that cause something to
happen or keep something from happening
F4: Waypoints - this tab allows you to force AI to perform an action, or tells the player
where to go or what to do
F5: Synchronize - this tab links to objects together and to a unit so that the object is
usable (more on this later)
F6: Markers - among other things, these are visible marks on the map that help to
orient player characters
F7: Modules - No short description can describe this tab. Modules perform a variety of
predefined functions
Now for the top of the screen (from left to right)
Clear - empties everything of the map
Open - loads a previously saved mission set.
Save - saves the game over the previous save
Save as - saves the game as a new title
Merge - the most useful tool to anyone who wants to make multiple mission sets. This
loads any saved map information into the current mission. Generally, you will want to
have a predefined base and the map simply labeled "base" and can instantly load that
into any game you want to create. I use this for my ammo scripts.
Textures - toggles between satellite and map view
ID - displays the individual identifiers of all objects on the map (don't worry about this
I wont be going over it)
Debug Console - Used to input command lines in order to fix errors (don't even try)
Functions - This is useful if you know you need to use a command, but don't know how
to type it in or what parameters are used for it. You will see the usefulness of this as
you go on through this guide.
CFG viewer This is so incredibly useful. This shows the script name of all objects in
the game, as well as the settings allocated to said item. These define the recoil, flash,
bullet drop and everything in the game. For simple editors, we use these to input the
correct NAMES of items into our command lines
Choose Editor's Layout - this allows you to switch between classic and A3 view modes
for the editor. I prefer classic so that is what I will use in the images

A very short example of what each of the buttons (F1-F7) can do, the below picture
has an example of each.
A Player unit
A Group of both BluFor and OpFor
A trigger forcing the end of the game when all OpFor are eliminated
A waypoint to tell the AI to move, in formation, at combat ready, to the waypoint
A marker to tell the player where the OpFor objective is
A pair support modules, synchronized to the player to allow him/her to call in artillery
(support requester and support provider: artillery virtual)
This part will guide you through making a basic mission. Each step will describe the
concept and what I did in relation to my mission. In addition to making a basic
mission, we will also be making your base mission, which you can use to merge in and
jumpstart future endeavors.
Laying the groundwork

In order to add any EMPTY units on the map, such as vehicles and ammo boxes, you
have to have a UNIT of either OpFor or BluFor labeled as PLAYER in the control section.
For my base file this is a BluFor SIDE, SQUAD LEADER UNIT of lieutenant RANK.

Next, add the UNITS of PLAYABLE BluFor or OpFor. Since I am making a BluFor base,
these will be BluFor SIDE UNITS. Additionally, I have set the SPECIAL line of these units
to read NONE instead of IN FORMATION so that they spawn exactly as they are on the
map, not in a formation on the group leader. Lastly, make sure all of the squad
members are GROUPed to the squad leader.

Now that your squad is ready to move, place any empty object you wish for them to
be able to use on the map. I have placed a vehicle, some ammo boxes, and some
defensive structures around the base. Here are a few hints to help you make your
base:
If a unit is selected and you want to rotate it, you can hold shift and left click to rotate
it. This also works with groups of selected units, like sections of Hesco barriers.
If you want to make long walls, you can place them in sections. Ctrl-C and Ctrl-V are
used to do this. When you copy the selected units, they will be pasted in relation to
where your mouse was when you copied them. Example: if I copy a section of wall
with my mouse over the center of the line, the paste will place the line in the same
orientation, from the center; but, if I copy it from the edge, it will paste it in the same
orientation but from the edge. This can be confusing if you are copy and pasting and
wondering why the section of wall keeps pasting way of of your pointer. This is
because your pointer was way of of it when you copied!
Don't get too extravagant, this is a base file, for use with other missions so the more
elaborate you make it the less fluid it becomes. I usually recommend making separate
missions for your ammo boxes, units, vehicle pools, and fortifications. This allows you
to use the merge function to add in whichever of those individually you want, without
having to delete massive amounts.
To delete multiple things at once, select what you want to delete, and hold Shift while
pressing delete.

When you are satisfied with your base, save as 1base. The 1 will ensure it is always
at the top of your list so its easy to find. When you save the mission it will create a
mission file in your profile either under 'My Documents' or under your directory for A3.
This will save as a folder. Current scripting saves spaces as %20 instead of a space. To
avoid this illegibility, you can use _ in place of spaces. Ex: instead of 'mission 1' save it
as 'mission_1'. When you export this mission to multiplayer (or single player) it will
'pbo' the file, which basically is like zipping it, and move the pbo to the multiplayer (or
single player) folder under your A3 directory.
Making a Mission

Now we need to add an opposing force and a mission.

I have added a simple squad of AI OpFor in the airbase. After you create an enemy,
you need to let you players know where they need to go to kill the enemy. This can be
done in a few diferent ways, of which I will go through 2. (Note: the second method
can be done with a briefing.sqf file mostly which will be covered under the scripts
chapter).

The simplest way is to place a marker and in the TEXT line put in something labeling
the area as hostile. I have put a marker down and it says 'OpFor Here'.

The second method is a little more complex, but will allow for much more fluidity
when creating missions.
First create a waypoint from the BluFor group leader by having the BluFor group leader
(squad leader on mine) selected when you create the waypoint. I have set the
waypoint SELECT TYPE as DESTROY and placed it on the OpFor squad lead. This is the
concept for HVT elimination or objective destroy mission.
The next part can be a little tricky, so I will have a lot of pictures here.

First: Create a module with the CATAGORY as INTEL, the MODULE as CREATE DIARY
RECORD
Set APPLY TO as GROUPS OF SYNCHRONIZED OBJECTS so that the entire BluFor can
see the mission.
Leave the SUBJECT blank to put this into the BRIEFING tab or you can type in your own
heading. You can also use a PRESET TITLE or create your own TITLE.
In the DESCRIPTION you can type whatever you want to show the players what to do,
as long or short as you want.
Now SYNCHRONIZE the module with your squad leader.

Second create a TRIGGER on the BluFor units.


Set the ACTIVATION as BluFor
Set it to act ONCE
Set the condition to PRESENT
Click on EFFECTS
Change the TYPE to TEXT
Type in a message. This message will appear on the center of the screen when the
map starts. Mine says 'view the map to see your mission'.
Now synchronize the trigger to the module you just created.
So now, when the units first spawn into the game, a message will appear telling them
to look at their maps as well as creating a mission briefing telling them to attack the
OpFor. The Waypoint will tell them where to go to attack the OpFor.

With the mission defined and your base ready, you simply have to create a way for
the mission to be completed.

Create a Trigger over the OpFor units.


Set the TYPE to END#1
Set the ACTIVATION to OPFOR
Leave the setting to ONCE
Change the condition to NOT PRESENT
Add in any efect you want to play with. Mine is a text saying 'YOU WIN'

If you find you want a delay between spawn/kill and the triggers you can also change
the TIMER setting to TIMOUT/ 10/10/10. This will delay the activation of the trigger 10
seconds.

You now have a fully functioning mission. Save this and click PREVIEW to test your
triggers and briefing.
And now for truly the most modifiable thing in all of A3 editing, the scripting.
Though most of the scripts I use are completely taken of of armaholic, a few of the
scripts are basic almost requirements for longer single player missions. This section
will include a lot of links and external resources, which will also be in the compiled
links portion at the end of my posts. Additionally, this is really, really long because it
includes full copy paste versions of a script as well as full description for the base 3
scripts

A little tip, when messing with your scripts I highly recommend you have the A3 game
in windowed mode so that you can add in the initiation lines as you create you custom
scripts.

Where to go and what to make

Before we start on the nitty gritty, lets get some basics out of the way first. First you
need to find where the files for your saved games are saved to (not the .pbo). For me
these are in
C://Users/documents/Arma 3 - other profiles/missions

Open the folder for your mission you created in the previous section
Create a text document and save as description.ext
Create a text document and save as briefing.sqf
Create a text document and save as init.sqf
Create a text document and save as vehicle.sqf

The .sqf format is used by arma scripts of all kinds and I will go through a few other
common .sqf files later. These are just the most important ones.

Now lets start putting some stuf into those scripts

Description.ext

Note: description.sqf and description.ext are interchangeable if you read other guides
(don't ask me why).

This script is used to define respawn and mission type, as well as the maximum and
minimum players on a multiplayer mission.
First I will show you the script and then I will explain each line one by one.

class header {
gametype = COOP;
minplayers = 1;
maxplayers = 12;
playerCountMultipleOf = 1;
};

respawn = "BASE";
respawndelay = "60";
[

Class header:
Game type - can be set to any type and is used by the server filter to filter games. If
you have ever looked at the multiplayer server list you will see COOP, TDM, and a few
other common gametypes
Min players and Max players - self explanatory
Player Count... - use 1 for COOP and 2 for anything else
Respawn script:
respawn - this can be set to 5 diferent things in both numbers and words, I use words
because I cant remember the numbers.
1 or BIRD - upon death respawn as a spectating bird
2 or INSTANT - Respawn on the location of death
3 or BASE - requires a special marker on the map. (More on this next)
4 or GROUP - respawn as a currently unused playable character slot in a group
5 or SIDE - same as GROUP except for any slot on the same side
Respawn Delay - how much time the player spends dead before being allowed to
respawn
Now, the BASE spawn type is by far the most commonly used spawn type as it is the
most realistic, but it does require some special stuf to be put onto your mission map.

At the location you wish the BluFor to respawn create a marker with the NAME as
'respawn_west' (no quotes)
For Opfor set the marker as 'respawn_east'
Make sure the marker has no text, no image (EMPTY), nothing. The only thing you do
after creating the marker is type the side respawn text and move it to where you want
it to be on the map.

Briefing.sqf

This is just an example, but this is also the briefing I recommend working from for all
24th represented missions.

player createDiaryRecord["Diary", ["Info", "<br/>Author - Everett<br/>Version


0.01<br/>Edited from MSO base package files"]];
player createDiaryRecord["Diary", ["24th MEU and Teamspeak", "<br/>Website
-www.24th-meu.com<br/><br/>Teamspeak
ID:ts11.gameservers.com:9134<br/>Password: 24thmeu<br/>Please read and heed
the rules"]];
player createDiaryRecord["Diary", ["Testing Info", "<br/>Please note this server is not
dedicated as of now"]];
player createDiaryRecord["Diary", ["Server Rules", "<br/>1. Teamspeak- Come down
to Fox Co. Channel after joining the Teamspeak. Information available on the 24th MEU
tab.<br/><br/>
2. Friendly Fire- Friendly Fire is NOT permited at any time on NPCs or PCs or
civilians.<br/><br/>
3. Wonton waste of vehicles- use of multiperson vehicles by individual players to
combat zones is prohibited.<br/><br/>
4. Wonton waste of Air- Crashing of air vehicles without an attempt to recover is
prohibited. DO NOT USE AIR ASSETS UNLESS SKILLED IN THEIR USE. exeptions made
for use of trainers/trainees.<br/><br/>
5. Right of Fire- No firing on base with the exeption of the 2 designated training areas.
All fire is to be directed only at confirmed targets. Refer to ROE for further
information.<br/><br/>
6. Chain of Command- 24th MEU has an external chain of command. Any directions
given by highest rank are priority and must be followed at all times.<br/><br/>
7. Organization- All persons on this server are responsible for following the command
of those designated as the leaders of the operation at all times.<br/><br/>
8. Questions- Refer to 24th MEU personnel for any questions regarding the rules."]];
player createDiaryRecord["Diary", ["Rules of Engagement", "<br/>1. All Marines are
authorized to defend themselves from anyone determined as a threat.<br/><br/>
2. Civilians- Do not detain civilains unless a. They are in a hostile area and it is best for
their safety, b. Confirmed IED presence and/or hostiles possible or c. Operation
protocol has been determined to detain and search an area. Always uncuf civilians
following securing of an area.<br/><br/>
3. Hostiles- Avoid unessecary force. Detain surrendered personnel. Avoid collateral
damage.<br/><br/>
4. See EOF for farther information."]];
player createDiaryRecord["Diary", ["Escalation of Force", "<br/>1. Raise arms,
showing the individual in question you are armed.<br/><br/>
2. Fire a round in the vicinity of the individual or vehicle in order to stop
them.<br/><br/>
3. If the individual or vehicle continues toward the unit disable them and search them
or<br/><br/>
4. Shoot to kill."]];
player createDiaryRecord["Diary", ["Violations", "<br/>1. Neglagent Discharge (ND)-
Firing while not in permitted area or not permitted by orders to fire<br/><br/>
2. Friendly Fire- Shooting BluFor, civilians, or other non-hostiles<br/><br/>
3. Wonton Waste- unauthorized use or intentional loss of vehicle or other
assets.<br/><br/>
4. Insubordination- Failure to follow orders or work as a team. This is NOT
COD.<br/><br/>
5. see penalties for further information."]];
player createDiaryRecord["Diary", ["Penalties", "<br/>1. Minor violations- accidents of
ND, friendly fire, or anything 24th MEU has warned about previously- GUI recorded
(written warning).<br/><br/>
2. Repeated minor violations- more than 2 warning and a written warning will result in
a quick ban.<br/><br/>
3. Major Violations- Insubordination, intentional ND or friendly fire, or Wanton Waste
will result in an immediate quick ban and recorded GUI.<br/><br/>
4. Repeated major violations- Second major violation will result in GUI ban. This
includes more than 2 quick bans for minor violations.<br/><br/>
5. Unban requests- Submit unban requests to the 24th MEU forums. Include all
violations in your ban request and a promise to follow the orders and you will be
unbanned. If you are banned again your request will not be accepted."]];
player createDiaryRecord["Diary", ["Bug Reports", "<br/>1. Report any bugs or
suspected bugs to the 24th MEU forums or send me a message through enjin:
everett<br/><br/>
2. Anyone who wants to help me make this map, apply to become a member of the
24th MEU and I will help get you in as quickly as our methods allow ."]];

So... now the lowdown on what all this means.


You will see one line repeated throughout... 'player createDiaryRecord ["Diary", ....'
This line creates a tab in the map for whatever the next portion is, Example
["Info", .....
Obviously you will want to change the author to your name.
You can use this to create the mission, situation, etc in the same way that you can use
the in editor modules discussed previously; Example:
player createDiaryRecord["Diary", [Mission", "Kill the enemy"]]
This would create a diary record tab of 'Mission' with the text under it 'Kill the enemy'
You will also see the <br/> used repeatedly throughout the text. This is used like the
enter key is used when you are typing; it move the line down one paragraph, like so:
<br/>
<br/>

That's pretty much it for the briefing, once you have a base briefing kit of your own,
modifying it for individual missions is a simple process of cut out the old and input the
new.

Init.sqf

This is a simple file that automatically runs at the loading of a mission. It is used to
begin initialization of the previous two scripts and any other scripts that must be
activated on loading, such as mods.

execVM "briefing.sqf";
execNow "description.ext";

Note: if you use a description.sqf you must use the term execVM instead of execNow
to initialize it.

Any scripts you use that are not covered here will have instructions for how to
implement it and if you need to have it initialized through the init.sqf file or not, so
don't worry if you don't know how to use this file. That's really all there is too this one,
its pretty simple, but very important.

Vehicle.sqf

This script is a script written by Tophe to allow dynamic respawning of vehicles. The
following is a direct copy and paste with instuctions on how to implement this script. It
is used to allow for vehicles to respawn.

/*
====================================================
=====
Simple Vehicle Respawn Script v1.7
by Tophe of stgta Ops [OOPS]
Put this in the vehicles init line:
veh = [this] execVM "vehicle.sqf"

Options:
There are some optional settings. The format for these are:
veh = [this, Delay, Deserted timer, Respawns, Efect, Static] execVM "vehicle.sqf"

Default respawn delay is 30 seconds, to set a custom


respawn delay time, put that in the init as well.
Like this:
veh = [this, 15] execVM "vehicle.sqf"

Default respawn time when vehicle is deserted, but not


destroyed is 120 seconds. To set a custom timer for this
first put the respawn delay, then the deserted vehicle timer. (0 = disabled)
Like this:
veh = [this, 15, 10] execVM "vehicle.sqf"

By default the number of respawns is infinite. To set a limit


First set the other values then the number of respawns you want (0 = infinite).
Like this:
veh = [this, 15, 10, 5] execVM "vehicle.sqf"

Set this value to TRUE to add a special explosion efect to the wreck when
respawning.
Default value is FALSE, which will simply have the wreck disappear.
Like this:
veh = [this, 15, 10, 5, TRUE] execVM "vehicle.sqf"

By default the vehicle will respawn to the point where it first


was when the mission started (static). This can be changed to
dynamic. Then the vehicle will respawn to the position where it was destroyed.
First set all the other values then set TRUE for dynamic or FALSE for static.
Like this:
veh = [this, 15, 10, 5, TRUE, TRUE] execVM "vehicle.sqf"

If you you want to set the INIT field of the respawned vehicle, first set all other
values, then set init commands. Those must be inside quotations.
Like this:
veh = [this, 15, 10, 5, TRUE, FALSE, "this setDammage 0.5"] execVM "vehicle.sqf"

Default values of all settings are:


veh = [this, 30, 120, 0, FALSE, FALSE] execVM "vehicle.sqf"
Contact & Bugreport: harlechin@hotmail.com

====================================================
=====
*/

if (!isServer) exitWith {};

// Define variables
_unit = _this select 0;
_delay = if (count _this > 1) then {_this select 1} else {30};
_deserted = if (count _this > 2) then {_this select 2} else {120};
_respawns = if (count _this > 3) then {_this select 3} else {0};
_explode = if (count _this > 4) then {_this select 4} else {false};
_dynamic = if (count _this > 5) then {_this select 5} else {false};
_unitinit = if (count _this > 6) then {_this select 6} else {};
_haveinit = if (count _this > 6) then {true} else {false};

_hasname = false;
_unitname = vehicleVarName _unit;
if (isNil _unitname) then {_hasname = false;} else {_hasname = true;};
_noend = true;
_run = true;
_rounds = 0;

if (_delay < 0) then {_delay = 0};


if (_deserted < 0) then {_deserted = 0};
if (_respawns <= 0) then {_respawns= 0; _noend = true;};
if (_respawns > 0) then {_noend = false};

_dir = getDir _unit;


_position = getPosASL _unit;
_type = typeOf _unit;
_dead = false;
_nodelay = false;

// Start monitoring the vehicle


while {_run} do
{
sleep (2 + random 10);
if ((getDammage _unit > 0.8) and ({alive _x} count crew _unit == 0)) then {_dead =
true};
// Check if the vehicle is deserted.
if (_deserted > 0) then
{
if ((getPosASL _unit distance _position > 10) and ({alive _x} count crew _unit == 0)
and (getDammage _unit < 0.8)) then
{
_timeout = time + _deserted;
sleep 0.1;
waitUntil {_timeout < time or !alive _unit or {alive _x} count crew _unit > 0};
if ({alive _x} count crew _unit > 0) then {_dead = false};
if ({alive _x} count crew _unit == 0) then {_dead = true; _nodelay =true};
if !(alive _unit) then {_dead = true; _nodelay = false};
};
};

// Respawn vehicle
if (_dead) then
{
if (_nodelay) then {sleep 0.1; _nodelay = false;} else {sleep _delay;};
if (_dynamic) then {_position = getPosASL _unit; _dir = getDir _unit;};
if (_explode) then {_efect = "M_TOW_AT" createVehicle getPosASL _unit; _efect
setPosASL getPosASL _unit;};
sleep 0.1;

deleteVehicle _unit;
sleep 2;
_unit = _type createVehicle _position;
_unit setPosASL _position;
_unit setDir _dir;

if (_haveinit) then
{_unit setVehicleInit format ["%1;", _unitinit];
processInitCommands;};
if (_hasname) then
{_unit setVehicleInit format ["%1 = this; this setVehicleVarName ""%1""",_unitname];
processInitCommands;};
_dead = false;

// Check respawn amount


if !(_noend) then {_rounds = _rounds + 1};
if ((_rounds == _respawns) and !(_noend)) then {_run = false;};
};
};

I have no idea what most of this stuf means as it is way way way over my head, but I
do know how to use it.
In the INITIALIZATION box of an EMPTY vehicle type in the following:
veh = [this] execVM "vehicle.sqf"
Follow the instructions at the top of the pasted script to add special parameters to the
respawn, which include delay, deserted timer, the number of respawns, special
efects, or static/dynamic adjustments.
I think Tophe did a good job explaining how to implement his script so read through
the walkthrough at the beginning of the pasted script.

note: Make sure that when using other peoples' scripts to include their recognition in
the script. IE do not copy only part of the above and paste it just do the whole thing.
Custom Ammo Boxes

I will include a few line example of how to make a custom ammo box with one weapon
and one magazine. Keep in mind, all items that can be equipped in the game fall
under one of two catagories, weapons or magazines.
Use the cfg lookup site to find the classnames of items, weapons and ammo.
Additionally, you can use the in game cfgViewer to look up the classnames of
cfgMagazines and cfgWeapons

Create a text file names Supplies.sqf

_crate = _this selct 0;

ClearMagazineCargo _crate;
ClearWeaponCargo _crate;

_crate addWeaponCargo ["arifle_Mk20_ACO_F", 20];


_crate addMagazineCargo ["30Rnd_556x45_Stanag", 1000];

sleep 60;

Now you have to initialize this into an object. You actually don't have to use an ammo
box, you can make a vehicle your mobile supply box if you want!!!
In the Initialization line of the ammo box (or vehicle) add the following text:
This = 0 execVM "Supplies.sqf"

To view the ammo/weapons in the cfgViewer...


Open the cfgViewer
note: each of these are dropdown menues that often have a lot of submenues to more
dropdown menues
Open configfile
find the appropriate cfg and look for your items
Ex: ammo is in cfgMagazines, weapons are in cfgWeapons, glasses are in cfgGlasses,
ect.

In order to test your new scripts you will have to export the game to multiplayer.
Click Save As
Under SAVE AS change it to EXPORT TO MULTIPLAYER MISSIONS and save it
Now start a LAN match and test your match with all your scripts active

Closing notes: If you forget a ] or a / or a ; (expecially a ;) the game will not launch. I
almost always recommend changing only a small portion of things at a time. If you do
mess up, the error when the game crashes tells you what line o f what file has an
error, so you can correct it.
So here is a complete listing of all things you can do from F1-F7. Due to a large
number of repeats, it is abreviated somewhat. I highly recommend using Ctrl-F to
search for the thing you want to know more about, rather than fingering through the
whole thing.
F1-UNITS

Sides
BluFor - US forces units
Faction - only Blue is available
Class - Air
AH-9 Pawnee: Littlebird with Rockets
AH-99 Blackfoot: Attack Chopper with multiple Armaments
MH-9 Hummingbird: Transport Littlebird
UH-80 Ghosthawk: Transport Chopper, stealthed with no armaments
Class - Armored
AMV-7 Marshall: Amphibious assault vehicle similar to the BMP, Wheeled
Class - Cars - warning if spawned owned by any side they are not enterable as they
spawn with units in them
HEMTT: Multiwheeled transport vehicle for supplies
HEMTT Transport: Multiwheeled transport vehicle for troops
Hunter: Armored troop transport, wheeled
Hunter GMG: Same as Hunter, with a mounted grenade launcher
Hunter HMG: with mounted .50 cal machine gun
Quadbike: 2 man ofroad vehicle
Class - Men (all inclusive)
From ammo bearer to Team leader, each of these has a diferent loadout, but is
essentially just a character on the map
Class - Objects training
Invisible Target Soldier: a popup target for shooting ranges
Class - Ship
Assault Boat: Slower, 5 man boat with no mounted weapons and low profile
Rescue Boat: Slower orange boat for use with rescue personnel
Speedboat Minigun: Patrol boat with mounted possitions including minigun, .50 cal,
and GMG
Class - Static
MK6 Mortar: 81mm stationary mortar position
Class - Submarine
SDV: Small single man submersible water bearing vesle
OpFor - Asian Forces (only unique discussed)
Faction - Red
Class - Air
Mi-48 Kajman: Attack Chopper with multiple armaments
PO-30 Orca: Armed Transport chopper with unguided AGMs
Class - Armored
MSE-3 Marid: Wheeled Armored Vehicle and troop transport
Class - Cars
Ifrit models: same as hunters above
Zamak models: same as HEMTTs above
Class - remaining
All remaining classes are the same Units or similar to those of BluFor
Independent - Local military units
Faction - Green Army
Class - Air
CH-49 Mohawk: Very large Transport Chopper
Class - Cars
Strider modles: same as hunters
Zamaks: same as HEMTTs
Class - remaining
All remaining classes are the same as those discribed in Blufor
Civilian - non-combatant units
All civilian units are unarmed models
Ambient Life - Animals
Currently, only Rabbit is an available animal
Empty
Class - Air
All air vehicles previously described, but they spawn EMPTY
Class - Ammo
Each box has a side and type of munition that is preset to it. Each type of ordnance
box has its own model as well.
Class - Armored
All previously described armored vehicles
Class - Backpacks
Each model of backpack available, placed as an object on the map
Class - Cars
All previously described Cars, including the civilian 'Oforad' truck
Class - Market
Small objects one may see in a marketplace. Also known as clutter.
Class - Mines
Place your very own minefield, but you should just really use a module to do this.
APERS = antipersonnel, AT = antitank, SLAM = AT indirect shaped charge.
Class - Ojects of all types
Things you can place on the map, everything from big rocks to gaurd towers
Class - Ship
All previously defined Ships
Class - Sounds
A placeable center for a sound, to create environment
Class - Static
Artillary and mounted guns previously described
Class - Structures
Very large objects
Class Submarine
All previously described submersibles
Special
None - unit renders exaclty as placed on the map
In Cargo - unit renders in the cargo of another unit
Flying - unit renders a minimum airspeed/rotation to maintain lift
In Formation - unit renders in a formation with the group leader
Control
Non Playable - Unit is AI
Player - Unit is required to be placed on map
Playable - Unit may be manned by players in multiplayer
Vehicle Lock
Default - use the units scripted default
Locked - unit is not enterable/movable
Locked player - unit is only enterable/movable by the 'Player'
Rank
sets the military rank of the unit
Info Age
Sets how long the unit has existed - only useful if using timed scripts
Azimuth
If you dont wish to shift click to rotate units, you can manual set the orientation using
this wheel
Elevation
how high of the ground the unit spawns. Required for air vehicles in flight and for
placing object in/on buildings or other objects.
Name
The script name of the Unit. Used when making modifiers in script.
Initialization
Entry area for special function scripts
Description
A definition of the unit visible in game
Skill
A slider bar for difficulty of AI units
Health/Armor
Slider bar for how healthy unit is when rendered
Fuel
How much fuel unit has when first rendered
Ammunition
How much ammo the unit has at first render
Probability of presence
The chance a unit will render. Can be used for creating some randomness.
Condition of presence
default 'true', this area can set parameters to cause this unit to be absent or present.
Kind of like using an if/then statement. EX: 'trigger1 = true' would render this object
only after object named 'trigger1' has been activated.
Placement radius
Determines how far from the actual placement on the map the unit can render.
F2-GROUPS

Side - BluFor
Faction - Blue
Class - Infantry
Unit - Rifle Squad
Spawns a 9 man squad with many diferent roles.
Unit - Weapons Squad
Spawns a 9 man squad with lots of AT/AA/HMG and ammo.
Unit - Fire Team
Creates a 5 man fireteam with multiple roles
Unit - Anti Armor Team
Spawns a 4 man team with heavy AT gear
Sentry
Spawns a 2 man team
Class - Special Forces
Unit - Diver Team
Creates a 4 man team with diving gear
Unit - Diver Team Boat
Spawns a 4 man team with diving gear and an assault boat
Class - Support Infantry
Unit - Support Team CLS
Spawns a 4 man team with 2 medics
Unit - Support Team EOD
Creates a 4 man team with 2 explosives techs
Unit Support Team Engineer
Spawns a 4 man team with 2 repair specialists
Class - Motorized Infantry
Unit - Motorized Team
Spawns a vehicle with team leader
Unit - Motorized Anti Armor Team
Spawns a vehicle with team leader and AT gunner
Side - OpFor
Same as BluFor, but for the OpFor Side with OpFor Vehicles where applicable.
F3 Triggers

Shape
Elipse - creates a circle or oval based on settings
Rectangle - Creates square or rectangle based on settings
Axis A - How many meteres long the trigger zone is
Axis B - How many meteres high the trigger zone is
Angle - How many degrees the trigger zone is rotated

Timer
Countdown - Starts a countdown after the trigger settings have been met (in seconds)
Timeout - Sets a delay in the activation of the trigger (in seconds)
Min/Mid/Max - Can be used to set variability in trigger activation, but generally you
want these all to be the same

Name
Unique identifier for the trigger

Text
What the trigger says on the map while in editor, no in game function.

Type (not really sure what a lot of these are for)


Gaurded by OpFor
Opfor currently has control of the trigger zone (unsure)
Gaurded by Blufor
BluFor has control of trigger zone (unsure)
Gaurded by independent
Independent has control of trigger zone (unsure)
Switch
Turns a function on or of
End#1-#6
Activation of Trigger determines the end type. All are the same unless creating a
complex campaign.
Lose
Activation causes a loss
None
Most commonly used for trigger functions

Activation
OpFor - Opfor presece based on next setting
BluFor - BluFor presence based on next setting
Independent - Ind presence based on next setting
Civilian - Civilian presence based on next setting
Game Logic - Used for complex scripting
Anybody - Presence based on next setting of any force
Radio Alpha/Juliet - Team leader's radio activation through command console
Seized by OpFor/ect - Zone is controlled by selected force
Number of Activations (unlabeled)
Once - Trigger can only be activated once
Repeatedly - Trigger can be activated multiple times
Condition (unlabeled)
Present - Activation type is present in the trigger zone
Not Present - Activation type is not present in the trigger zone
Detected by BluFor/ect - Activation type has been detected by BluFor/ect. elements
Condition
Text box for entry of requirement scripts for activation of trigger
On Act.
Text box for entry of scripts that start when trigger has been activated
On Dea.
Text box for entry of scripts that start when the trigger has been deactivated

F4 Waypoints

Catagory
Default is the only option
Select Type
Move - Selected unit will be given waypoint to move to the location
Destroy - Selected unit will be given a waypoint to destroy the object/unit on the
waypoint destination
Get in - Selected unit must get in selected vehicle
Seek and Destroy - Same as destroy, but less accurate so as not to adjust waypoint to
an individual HVT
Join - Selected unit will join the group the waypoint is on
Join and Lead - Selected unit will join and take command of the group the waypoint is
on
Get out - Selected unit will dismount the vehicle
Cycle - Selected unit will repeat the waypoint path laid out
Load - Selected unit will put objects on/in the vehicle/box
Unload - Selected unit will take objects out/of the vehicle/box
Transport Unload - Selected transport will get rid of all its gear
Hold - unit will wait at position until timeout
Sentry - Unit will randomly walk around a small area
Guard - Unit will follow and protect target
Talk - Unit will interact with target
Scripted - Unit will perform a script input in the Script line
Support - Unit will assist target with repairing/healing
Get in Nearest - Unit will get into the nearest vehicle
Dismissed - Unit will leave formation/group
Loiter - Unit will casually walk around a small area

Waypoint
When multiple waypoints are chained together, you can change the order here.
Placement Radius
How close to the placement in editor the waypoint actually is.
Completion Radius
How close to the waypoint the unit has to get to actually complete the waypoint
Height
How high up of the terrain the waypoint is
Timout
Min/Mid/Max: Variables for timeout of the waypoint after conditions are met

Name
Unique identifier for the waypoint
Description
Text visible on editor and in game for the waypoint.
Combat mode
No Change - Previous combat mode will be maintained
Never Fire - Unit will not shoot while completing this waypoint
Hold Fire - Unit will not fire until fired upon on this waypoint
Hold Fire, Engage at will - unit will not fire until fired upon, but will change to Open Fire
when fired upon
Open Fire - Unit will shoot at any enemy contacts
Open Fire, Engage at will - Unit will shoot at any enemy with maximum force/weapons
Formation
Multiple diferent formation options when on this waypoint
Speed
No Change - unit will maintain speed previously used
Limited - Unit will move at a walking pace
Normal - Unit will move at a faster pace
Full - Unit will move at an all out sprint

Behavior
No change - unit will maintain previous behavior
Careless - Unit is oblivious to the world around him
Safe - Unit is confident that no enemy will be near his location
Aware - Unit is searching for enemies
Combat - Unit has recently been engaged and is on full alert
Stealth - Unit is moving in a way as to not be detected

Condition
Text box for entry of special condition scripts for this waypoint
On Act
Text box for entry of scripts that will be executed after the waypoint has been
completed
Script
Complex script for this waypoint
Show me selector
Never Show - Never shows the waypoint settings
Show in cadet mode - when in Cadet mode additional info is shown
Always show - always shows the additional settings
Efects Tab
Condition - Conditions text box for the efect to occur
Anonymous - dunno what this does
Voice - A voice begins to speak
Environment - Environmental sounds begin
Trigger - Special sounds begin
Track - Music Begins
Type - the type of object shown after activation
Object - shows an object on the center of the screen
Resource - Shows a special resource on the screen
Text - Shows text on the center of the screen
Efect - fade in/out setting
Additional Option - This is variable based on the type you selected, from the
object/special thing to show to a text box

F5 Synchronize

This is used to make object operate in synchronicity. It is used to link triggers to


modules to units to waypoints and so forth. Remember when using synchronize, that
simple is probably right. If you have dark blue lines going everywhere, its probably
more complex of synchronization than is necessary

F6 Markers

Shape
Icon - The icon selected is the shape of the marker
Rectangle - A large rectangle is placed in accordance to the settings
Ellipse - A large Ellipse is placed in accordance to the settings
Axis A - Length of the marker in meters
Axis B - Width of the marker in meters
Angle - Angle of the marker

Icon
New to Arma 3, each icon now shows a preview of what it looks like on the map
Color - self explanitory
Name - Unique marker identifier
Text - Text shown on the map for the marker. Visible in game.

F7 MODULES

note: Generally, modules require synchronization to a trigger and a unit or group

Misc
I havnt figured out what these modules do yet
Events
Date - Allows settings to change the date or fastforeward time
Radio Chat - Creates radio blabber over in game chat
Save Game - Creates a Save point
Volume - Adjustes audible volume levels
Weather - Changes weather conditions
Group Modifiers
Combat get in - Dont know what this does

Intel
Create Diary Record - Allows creation of information viewable under the map screen
(briefing info)
Create Task - Creates a Mission for completion of all those APPLY TO
Set Task Description - Changes or makes a description for a created task
Set Task Destination - Task completion is set to synchronized object/trigger or arrival
at module location
Set Task State
Created - Task is made
Assigned - Task is given to a unit
Succeeded - Task is completed successfully
Failed - Task is completed unsuccessfully
Canceled - Task is skipped or no longer necessary
Skip Time - Allows Fast flow of time in hours

Object Modifiers
Add ratins/score - changes the score of a unit
AI control - changes to or from AI controller
Ammo Object - dunno what this does
Damage Character object - Causes physical damage to the synchronized object Player
Damage Vehicle object - Causes Damage to a vehicle object
Fuel Object - Refuels Synchronized objects
Mode Object - Changes the modes of the unit which were set on creation or waypoint
Open/Close object - opens or closes doors/hatches
Position/Rotate Object - changes the placement of an object
Rank Object - changes the rank of a unit
Show/Hide Object - havnt figured out how to use this yet
Simulation manager - dunno
Skill object - changes the skill setting of a unit or object

Sites
BluFor/Opfor Site
Type
Traffic Checkpoint - Creates a random roadblock patrol
Observation Post - Creates a randomly sized and equiped observation post
Base - Creates a random heavily armed and occupied force presence
Firebase - creates a random support setup with support units
Radar Site - dunno
Anti Air Site - Creates a randomly equiped anti-air fortification
Civilian Settlement
Village - Occupies building and creates vehicles and random patrols of civilians
Farm - very loose occupation of buildings, most civilians spawned remain outside
Minefield
Sets up a random minefield with a mix of APERS and AT mines
Random Patrol
Group Pool - Insert the names of groups that are assigned random patrols
Waypoints pool - Insert the names of all waypoints used in the creation of the random
patrol
Supports
The easiest way to discribe these is to tell how to set one up:
Place a BluFor infantry unit, player
Place the Support Provider: Artillery module
Place the Support Requester module
Place an Mk6 mortar for BluFor
Ungroup all things
Synchronize the 2 modules
Synchronize the Artillery module to the Mk6
Synchronize the Requester module to the Player
To call in supports aim at the target in game, press space, scroll to supports, and call it
in.

Note: for (virtual) supports no physical Mk6 or choppers are necessary as they spawn
in when requested

Support Provider: Artillery - Synchronize to a Mk6 or other artillery for artillery support
Support Provider: CAS Bombing run - Calls in Jets to bomb the target (not in
Alpha/Beta)
Support Provider: CAS Helicopter Attack - Calls in an attack chopper to support.
Support Provider: Helicopter Transport - Calls in a transport hellicopter. (not
functioning in Beta)
Support Provider: Supply Drop - Calls in a chopper to drop a supply crate (not
functioning in Beta)
Support Requester - Synchronize to a player/playable unit and a supply module to
allow for use of that module

Efects
Smoke - Creates smoke
Chemlight - Creates artificial chemlight lighting

Gameplay Modes
I have not messed with this new module yet.

Firing Drills
Firing Drill - looks like its not finished yet as there are no parameters for this module
Briefing Template

waitUntil { !isNil {player} };


waitUntil { player == player };

switch (side player) do


{

case WEST: // BLUFOR briefing goes here


{
player createDiaryRecord ["Diary", ["*The Note Title*", "*The Note Message*"]];

//Task1 - COMMENT
task_1 = player createSimpleTask ["TASKNAME"];
task_1 setSimpleTaskDescription ["TASK DESCRIPTION","Example Task","WHAT WILL BE
DISPLAYED ON THE MAP"];
task_1 setSimpleTaskDestination (getMarkerPos "task_1");
task_1 setTaskState "Assigned";
player setCurrentTask task_1;

//Task2 - COMMENT
task_2 = player createSimpleTask ["TASKNAME"];
task_2 setSimpleTaskDescription ["TASK DESCRIPTION","Example Task","WHAT WILL BE
DISPLAYED ON THE MAP"];
task_2 setSimpleTaskDestination (getMarkerPos "task_2");
};

case EAST: // OPFOR briefing goes here


{
};

case RESISTANCE: // RESISTANCE/INDEPENDENT briefing goes here


{
};

case CIVILIAN: // CIVILIAN briefing goes here


{
};

};
Scripts

How to make an IED


1. Place a unit
2. Place a marker
3. Name it "bomb1"
4. Create "Pile of Garbage"
Side: Empty
Class: Objects (Garbage)
5. Place the garbage above bomb1
6. Create a trigger above bomb1
Size 10/10
Activation: BLUFOR / DETECTED BY BLUFOR
ON ACT.: bomb = "M_RPG32_AA_F" createVehicle [(getMarkerPos "bomb1" select 0),
( getMarkerPos "bomb1" select 1), 0];

How to make a radio-controlled IED/trigger


1. Place a unit
2. Place a marker
3. Name it "bomb1"
4. Create "Pile of Garbage"
Side: Empty
Class: Objects (Garbage)
5. Place the garbage above bomb1
6. Create a trigger somewhere on the map
Size 0/0
Activation: Radio Alpha
ON ACT.: bomb = "M_RPG32_AA_F" createVehicle [(getMarkerPos "bomb1" select 0),
( getMarkerPos "bomb1" select 1), 0];
7. Press preview
8. Use the Command-Menu to activate the bomb

How to make an Autosave


1. Place a unit
2. Place a trigger
Activation: BLUFOR / DETECTED BY BLUFOR
ON ACT.: savegame;
Server locality of actions
Dedicated Server Hosting Client Headless Client Player Client Single Player
isServer true true false false true
isDedicated true false false false false
hasInterface false true false true true

if (isDedicated) then {
//run on dedicated server only
};

if (isServer) then {
//run on dedicated server or player host
};

if (hasInterface) then {
//run on all player clients incl. player host
};

if (!isDedicated) then {
//run on all player clients incl. player host and headless clients
};

if (!isServer) then {
//run on all player clients incl. headless clients but not player host
};

if (!hasInterface) then {
//run on headless clients and dedicated server
};

if (!hasInterface && !isDedicated) then {


//run on headless clients only
};

You might also like