471 ratings
ARMAidiot's ARMA 3 - Editor Guide
By Zero
Short and easy ARMA 3 tutorials for beginners and advanced devs.
It's mostly: do this, do that, works - next.
Video for every tutorial : )
Rate  
Favorite
Favorited
Unfavorite
1. How to place a Player-Unit
Let's start with something that is very easy.

  • 1. Start ARMA 3 and open the Editor.
  • 2. Choose the map Stratis.
  • 3. Move to any location with the mouse + hold right mouse button.
  • 4. Double left-click on the map.
A window pops up.
  • 5. Go to the down-right corner and press 'ok'.
The window disapprears.
The blue dot you see is a unit.
The arrow indicates it's direction.
The red circle around it tells you that this is a PLAYER unit.
  • 6. Now press PREVIEW in the black bar above the map.
The mission loads (slowly) and you play as the unit you just placed.

2. How to change Weather, Time and Date
  • 1. Go to the Weather-Tool (looks like a clouded sun)

You can set behavior of INDEPENDENT units (currently not implemented).
There's actually nothing more to explain here.
Since ARMA 3 the month has an effect on the sunset:
It'll be dark at Dec 11, 4 am but it'll bu sunny on Jun 11, 4 am.


3. How to place an OPFOR unit
  • 1. Double Left-click on the map.
  • 2. Set "Side" to OPFOR.

That's it.

4. How to set a simple waypoint
  • 1. Place a PLAYER unit.
  • 2. Place an OPFOR unit.
  • 3. Left-Click the OPFOR unit to make sure it is activ.
  • 4. Go to the Waypoint-Tool. (looks like footsteps)
  • 5. Double Left-Click where you want the OPFOR unit to go.
  • 6. Press ok and go to PREVIEW.

5. How to set a simple trigger
  • 1. Place a unit
  • 2. Go to the Trigger-Tool
  • 3. Double Left-Click where you want the trigger to be
    A window pops up
  • 4. Set Activation to BLUFOR and DETECTED BY BLUFOR
    This makes sure that only BLUFOR units will activate the trigger
  • 5. Go to the 'Effects'-Tab at the bottom
  • 6. Set Type to "TEXT", Effect to "PLAIN"
  • 7. Write "Works" in the Text-Line and press ok
  • 8. Press PREVIEW
    When you run through the trigger it'll display "Works" on the screen.

http://www.youtube.com/watch?v=YEEMgroWvUI
6. How to find out weapon classnames on your own
  • 1. Place a unit.
  • 2. Double Left-Click on the unit.
    The window you just clicked away will pop up again ;)
  • 3. Put this "this addEventhandler ["fired",{hint format["%1",_this]}]" into the INITIALIZATION of the Unit
  • 4. Press ok and Preview
  • 5. If you fire a weapon ARMA will show you a message like:
[B Alpha 1-1:1 (Armaidiot),"arifle_MX_Hamr_point_grip_F","arifle_MX_Hamr_point_grip_F","Single","B_65x39_Caseless","30Rnd_65x39_caseless_mag",15997:tracer_red.p3d]

"arifle_MX_Hamr_point_grip_F" is the weapon fired and "30Rnd_65x39_caseless_mag" is the ammo used.

7. How to equip a unit with (another) weapon
  • 1. Place a Civilian Unit (Side = Civilian)
  • 2. Put this into the INIT:
removeAllWeapons this;
this addWeapon "arifle_MX_Hamr_point_grip_F";
this addMagazine "30Rnd_65x39_caseless_mag";

  • 3. Press ok and Preview.
You placed an armed civilian


Explanation to the commands:
removeAllWeapons this; // removes all weapons of this unit
this addWeapon "CLASSNAME"; // adds weapon to this unit
this addMagazine "CLASSNAME"; // adds 1 mag to this unit

8. How to assign a group leader
1. Place a player unit
2. Place 3 more BLUFOR units
3. Choose the Group-Tool
4. Click on the units and drag the lines to the unit you want to be the leader

9. How to create a predefined group
1. Choose the Group-Tool
2. Double Left-Click on the map
3. Press ok

10. How to create a friendly OPFOR unit
1. Place a unit.
2. Place a OPFOR unit
3. Place another BLUFOR unit
4. Group the OPFOR unit to the BLUFOR unit (BLUFOR = Leader)
5. Click on the BLUFOR unit
6. Set PROBABILITY OF PRESENCE to zero (Left side)
The second unit will not be created in the preview.

11. How to place a ammobox
1. Place a unit
This enables the "empty"-side
2. Place a second unit with side = EMPTY
3. Choose Class = AMMO
4. All ammoboxes can be found under UNIT
5. Preview : )

12. How to build a simple respawn
  • 1. Place a Unit
  • 2. Choose the Marker-Tool (looks like a circled X)
  • 3. Place a marker where you want the respawn to be.
  • 4. Name the marker "respawn_west".
  • 5. Save the mission [as user mission].


  • 6. TAB out and go to: C:\Users\YOURNAME\Documents\Arma 3 Alpha - Other Profiles\YOUR ARMA PROFILE\missions\
  • 7. Open the folder of your mission (MISSIONNAME.MAP)
  • 8. Create a new .txt-document
  • 9. Copy&Paste the following into the txt-file:
    respawn = "BASE";
    respawnDelay = 5;
    respawnDialog = false;

  • 10. Save the txt-files as description.ext
    Make sure you don't save it as "description.ext.txt"


  • 11. TAB back to ARMA 3
  • 12. Save the mission [as multiplayer]
    Respawn doesn't work in PREVIEW
  • 13. Close the Editor
  • 14. Start a Multiplayer Game with your mission.


13. How to build a very simple COOP Mission in 2 minutes
View the video and try to rebuilt it. I only used things you've learned so far : )

14. How to add and remove clothes
  • 1. Place a unit
  • 2. Go to the INIT of the unit
  • 3. Type this to remove all weapons:
removeallweapons this;
  • 4. Type this to remove glasses:
removeGoggles this;
  • 5. Type this to remove helmet:
removeHeadgear this;
  • 6. Type this to remove vest:
removeVest this;
  • 7. Type this to remove uniform:
removeUniform this;
  • 8. Type this to remove binoculars and NVGs:
removeAllAssignedItems this;

  • 9. Type this to add goggles:
this addgoggles "CLASSNAME";
  • 10. Type this to add helmet:
this addheadgear "CLASSNAME";
  • 11. Type this to add uniform:
this adduniform "CLASSNAME";
  • 12. Type this to add vest:
this addvest "CLASSNAME";
  • 13. Type this to add backpack:
this addbackpack "CLASSNAME";


I've also made a simple showcase of all items with classnames. Enjoy.

Helmets

Backpacks

Vests

Uniforms
15. How to attach items to a weapon (Suppressor, Optics, Flashlight)
  • 1. Place a Unit
  • 2. Type this into the units INIT to remove all weapons
    removeallweapons this;
  • 3. Type this to add a weapon
    this addweapon "CLASSNAME";
  • 4. Type this to add a item to the primary weapon (suppressor, optics, flashlight)
    this addPrimaryWeaponItem "CLASSNAME";
  • 5. Type this to add a item to the handgun
    this addHandgunItem "CLASSNAME";
  • 6. Type this to add ammo/granates/mines/explosives
    this addmagazine "CLASSNAME";

A list of CLASSNAMES can be found here[browser.six-projects.net]

16. How to create a briefing/tasks
  • 1. Place a unit
  • 2. Create a "empty" marker
  • 3. Call it task_1
  • 4. Save [as user mission]
  • 5. TAB out and go to the mission folder
  • 6. Create a file called "briefing.sqf"
  • 7. Copy&Paste this into the briefing.sqf
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
{
};
};

  • 8. Save it
  • 9. Create another file called "init.sqf"
  • 10. Open init.sqf and type this:
execVM "briefing.sqf";
  • 11. Save it


  • 12. TAB back to ARMA 3
  • 13. Create a second marker
  • 14. Call it "task_2"
  • 15. Create a OPFOR unit next to your unit and name it "Ackbar"
  • 16. Create a trigger with CONDITION:
!Alive Ackbar
  • 17. Put this into the On.Act:
"1" objStatus "DONE"; // task_1 done
task_1 setTaskState "SUCCEEDED"; // you succeeded
player setCurrentTask task_2; // assign task_2
task_1 = true; // no idea what this does
publicVariable "task_1"; // still no idea
hint "The Admiral was assassinated. OPFOR ships move to your direction. Act quickly!"; // gives a little message

  • 18. Place a second trigger over the marker task_2
  • TYPE: "End#1"
  • ACTIVATION: BLUFOR / DETECTED BY BLUFOR
On Act.: "2" objStatus "DONE";
task_2 setTaskState "SUCCEEDED";
task_2 = true;
publicVariable "task_2";

On Deact: endMission "END1"
  • 19. Save and go to PREVIEW

17. How to respawn vehicles using a script
  • 1. Place a Unit
  • 2. Place a vehicle
  • 3. Save the mission as VehicleRespawn [as user mission]
  • 4. TAB out and go HERE[www.armaholic.com]
  • 5. Download the script and place the vehicle.sqf it in your mission folder
  • 6. TAB back to ARMA and put this into the INIT of the vehicle
    veh = [this] execVM "vehicle.sqf"
  • 7. Save and press preview

Using the "Simple Vehicle Respawn"-Script by Tophe. This script can be costumized. Look at the SVR_readme.rtf for further information.
18. How to create a simple (semi-random) patrole
  • 1. Place a Unit
  • 2. Place a group using the Group-Tool
  • 3. Left-Click the Leader of the group
  • 4. Set a Waypoint
    Type: Move
    Placement Radius: 50
    Combat Mode: Hold Fire
    Speed: Limited
    Behaivor: Safe

  • 5. Set 3 more Waypoints
    Placement Radius: 50
  • 6. Add a 5th waypoint and place it near the first
    Type: Cycle

19. How to spawn a ammobox with everything that's working in alpha
  • 1. Place a unit
  • 2. Place the ammobox
    Side:Empty
    Class: Ammo

  • 3. Put this into the INIT of the ammobox
this addweaponcargo ["arifle_MX_F", 20];
this addweaponcargo ["arifle_MX_GL_F", 20];
this addweaponcargo ["arifle_MXC_F", 20];
this addweaponcargo ["arifle_TRG20_F", 20];
this addweaponcargo ["arifle_TRG21_F", 20];
this addweaponcargo ["arifle_TRG21_GL_F", 20];
this addweaponcargo ["arifle_MXM_F", 20];
this addweaponcargo ["srifle_EBR_F", 20];
this addweaponcargo ["LMG_Mk200_F", 20];
this addweaponcargo ["hgun_P07_F", 20];
this addweaponcargo ["arifle_Khaybar_F", 20];
this addweaponcargo ["arifle_Khaybar_C_F", 20];
this addweaponcargo ["arifle_Khaybar_GL_F", 20];
this addweaponcargo ["hgun_rook40_F", 20];
this addMagazinecargo ["30Rnd_65x39_Caseless_mag", 100];
this addMagazinecargo ["100Rnd_65x39_Caseless_mag", 100];
this addMagazinecargo ["30Rnd_65x39_caseless_mag_Tracer", 100];
this addMagazinecargo ["100Rnd_65x39_caseless_mag_Tracer", 100];
this addMagazinecargo ["30Rnd_65x39_case_mag", 100];
this addMagazinecargo ["20Rnd_762x45_Mag", 100];
this addMagazinecargo ["16Rnd_9x21_Mag", 100];
this addMagazinecargo ["30Rnd_9x21_Mag", 100];
this addMagazinecargo ["20Rnd_556x45_UW_Mag", 100];
this addMagazinecargo ["30RND_556x45_Stanag", 100];
this addMagazinecargo ["200RND_65x39_Cased_box_Tracer", 100];
this addmagazinecargo ["RPG32_F", 20];
this addmagazinecargo ["ATMine_Range_Mag", 20];
this addmagazinecargo ["APERSMine_Range_Mag", 20];
this addmagazinecargo ["ClaymoreDirectionalMine_Remote_Mag", 20];
this addmagazinecargo ["DemoCharge_Remote_Mag", 20];
this addmagazinecargo ["APERSBoundingMine_Range_Mag", 20];
this addmagazinecargo ["SLAMDirectionalMine_Wire_Mag", 20];
this addmagazinecargo ["APERSTripMine_Wire_Mag", 20];
this addmagazinecargo ["1Rnd_HE_Grenade_shell", 20];
this addmagazinecargo ["1Rnd_Smoke_Grenade_shell", 20];
this addmagazinecargo ["1Rnd_SmokeGreen_Grenade_shell", 20];
this addmagazinecargo ["1Rnd_SmokeYellow_Grenade_shell", 20];
this addmagazinecargo ["1Rnd_SmokePurple_Grenade_shell", 20];
this addmagazinecargo ["1Rnd_SmokeBlue_Grenade_shell", 20];
this addmagazinecargo ["1Rnd_SmokeOrange_Grenade_shell", 20];
this addmagazinecargo ["SmokeShellRed", 20];
this addmagazinecargo ["SmokeShell", 20];
this addmagazinecargo ["SmokeShellGreen", 20];
this addmagazinecargo ["SmokeShellYellow", 20];
this addmagazinecargo ["SmokeShellPurple", 20];
this addmagazinecargo ["SmokeShellBlue", 20];
this addmagazinecargo ["SmokeShellOrange", 20];
this additemcargo ["Zasleh2",20];
this additemcargo ["muzzle_snds_H", 20];
this additemcargo ["muzzle_snds_L", 20];
this additemcargo ["muzzle_snds_B", 20];
this additemcargo ["muzzle_snds_H_MG", 20];
this additemcargo ["optic_Arco", 20];
this additemcargo ["optic_Hamr", 20];
this additemcargo ["optic_Aco", 20];
this additemcargo ["optic_ACO_grn",20];
this additemcargo ["optic_Holosight", 20];
this additemcargo ["acc_flashlight", 20];
this additemcargo ["acc_pointer_IR", 20];
this additemcargo ["FirstAidKit", 20];
this additemcargo ["Toolkit", 20];
this additemcargo ["U_BasicBody", 20];
this additemcargo ["U_B_CombatUniform_mcam", 20];
this additemcargo ["U_B_CombatUniform_mcam_tshirt", 20];
this additemcargo ["U_B_CombatUniform_mcam_vest", 20];
this additemcargo ["U_B_HeliPilotCoveralls", 20];
this additemcargo ["U_B_Wetsuit", 20];
this additemcargo ["U_OI_CombatUniform_ocamo", 20];
this additemcargo ["U_OI_PilotCoveralls", 20];
this additemcargo ["U_OI_Wetsuit", 20];
this additemcargo ["U_C_Poloshirt_blue", 20];
this additemcargo ["U_C_Poloshirt_burgundy", 20];
this additemcargo ["U_C_Poloshirt_stripped", 20];
this additemcargo ["U_C_Poloshirt_tricolour", 20];
this additemcargo ["U_C_Poloshirt_salmon", 20];
this additemcargo ["U_C_Poloshirt_redwhite", 20];
this additemcargo ["U_C_Commoner1_1", 20];
this additemcargo ["U_C_Commoner1_2", 20];
this additemcargo ["U_C_Commoner1_3", 20];
this additemcargo ["U_Rangemaster", 20];
this additemcargo ["V_Rangemaster_belt", 20];
this additemcargo ["V_BandollierB_khk", 20];
this additemcargo ["V_BandollierB_rgr", 20];
this additemcargo ["V_BandollierB_cbr", 20];
this additemcargo ["V_PlateCarrier1_rgr", 20];
this additemcargo ["V_PlateCarrier1_cbr", 20];
this additemcargo ["V_PlateCarrier2_rgr", 20];
this additemcargo ["V_PlateCarrierGL_rgr", 20];
this additemcargo ["V_Chestrig_khk", 20];
this additemcargo ["V_ChestrigB_rgr", 20];
this additemcargo ["V_TacVest_khk", 20];
this additemcargo ["V_TacVest_brn", 20];
this additemcargo ["V_TacVest_oli", 20];
this additemcargo ["V_HarnessO_brn", 20];
this additemcargo ["V_HarnessOGL_brn", 20];
this additemcargo ["V_RebreatherB", 20];
this additemcargo ["V_RebreatherIR", 20];
this additemcargo ["H_HelmetB", 20];
this additemcargo ["H_Booniehat_khk", 20];
this additemcargo ["H_Booniehat_mcamo", 20];
this additemcargo ["H_Booniehat_ocamo", 20];
this additemcargo ["H_HelmetB_paint", 20];
this additemcargo ["H_HelmetB_light", 20];
this additemcargo ["H_Cap_red", 20];
this additemcargo ["H_Cap_brn_SERO", 20];
this additemcargo ["H_Cap_blu", 20];
this additemcargo ["H_Cap_headphones", 20];
this additemcargo ["H_PilotHelmetHeli_B", 20];
this additemcargo ["H_PilotHelmetHeli_O", 20];
this additemcargo ["H_HelmetO_ocamo", 20];
this additemcargo ["H_MilCap_ocamo", 20];
this additemcargo ["H_MilCap_mcamo", 20];


20. How force units to "use" chemlights
  • 1. Place a unit
  • 2. Place a second unit
  • 3. Name th second unit "Unit1" and put this into its INIT:
    Chem = "Chemlight_yellow" createVehicle [getPos Unit1 select 0, getPos Unit1 select 1,1]; Chem attachTo [Unit1,[0,0,1]];
21. 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];

  • 7. Press preview

22. 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

23. How to make an Autosave
  • 1. Place a unit
  • 2. Place a trigger
    Activation: BLUFOR / DETECTED BY BLUFOR
    ON ACT.: savegame;

  • 3. Preview : )

85 Comments
< >
DanteAdams Mar 30 @ 12:07am 
How to make empty vehicle?
palehorse6 Mar 29 @ 9:25am 
Im having trouble with the IED script, Ive done everything except there is no "Pile of garbage" and I cant figure out what size is
*r4tmax_ Mar 9 @ 12:47am 
@Quadson what do you think? Ai have flaws but not like that.....
Quadson Mar 7 @ 8:50pm 
Say i just give my unit a waypoint and the opforc a waypoint running by my group. Will they auto engage and run for cover and all that, or will they just stand in one spot shooting at each other.
jonbravo2 Feb 8 @ 6:15pm 
Good guide! Your respawn script helped.
Supercake Jan 24 @ 10:27pm 
lol what button to turn on the flashlight and the laser?
TheHappyTrigger~ Jan 18 @ 12:49pm 
Any idea why the "Not Present" trigger doesn't work?
Stoneold Dirtbag Jan 8 @ 6:49pm 
@ZeroSeven.
If you still take suggestions for new tuts ..... i would be extremely happy if you could help with a basic explanation of all the ctrl-commands (ctrlActivate - ctrlVisible) in A3 sqf scripting. E.g. 1. a simple definition (or list) of the different functions they are used for. 2. an understandeable explanation of the most important control types. 3. a few simple examples of useage in different common functions and interface types. I know that this isnt a small or easy topic but i guess you now and then appreciate a little challenge. ;-) Btw...... remarkable english skills for a german nativespeaker ... Respekt Alder :-)
With best regards
Twakkie Dec 23, 2013 @ 1:53am 
Can someone give me advice regarding Workshop tags. For some reason no other tags are working except Scenario and Dependency. WHen publishing I do change the tags but it doesnt upload correctly. I have created a couple of coop missions but my friends are unable to download it through workshop and play it online. It works fine in the scenario but then it is only sp.
Termin8rSmurf Dec 19, 2013 @ 7:54pm 
Good job man, good job. I've found this very useful. Sometimes a little tricky, but useful nonetheless. Thank you.