ARMA2 war simulator crash course, useful scripts, FAQ

*** OBSOLETE *** ARMA II - editor/mission editing crash course




01. about
Intro & crash course to the vast and ultra-realistic modern war simulator 'Armed Assault 2'.

- Quick start editor tutorial
- Some useful scripts and tips

After reading you will be able to create a living, dynamic world full of action and create interesting missions yourself.

ARMA2 Free trailer:







02. links
Arma2 Free game installer: Arma2 Free
Arma Editor guide: Armed Assault Editor Guide Deluxe (en)
Arma2 scripting commands: community.bistudio.com/wiki
Patrol script: UPS.sqf , version 2.0.3 by Kroznky
AI respawn script: AI_Respawn_UPS
Empty vehicle respawn script: Vehicle.sqf
Instant spawn/bomb script (see #37): explos.sqs
DirectX tweak: ENBSeries
Several init settings: in this article in thick blue
Wikipedia: Arma2
Arma X bundle (Arma, Arma2, expansion sets, extra maps, units) €49,99: Bohemia Interactive




03. Index
01. About + trailer
02. Links
03. Index
04. Introduction
05. Download and Install
06. Editor, move and zoom map
07. MyFirstMission
08. Deleting Units
09. Adding empty vehicles
10. Copy-paste, clone units
11. Rotate units
12. Groups
13. Grouping, lines of command, switching characters in-game, commanding
14. Make custom groups
15. Ranks
16. Saving missions
17. Waypoints
18. Hint: simple helicopter gunner mission
19. Modules - add ambient civilians, traffic, animals
20. Modules - SecOps (SOM): HQ calls for random (side) missions
21. Modules - Ambient Combat (ACM)
22. Modules - multiple ACM's
23. Modules - First Aid, dragging wounded
24. Modules - Do not group modules
25. Radio Support - call in transportation, supply drops, UAV, artillery, air strikes
26. How to add a Laser Marker
27. Health Cheat by Radio
28. Intel: change weather, time, season
29. Tweaking Modules...
30. Tweaking Ambient Combat (ACM), Init.sqf
31. Script AI performing dynamic patrols, AI respawn
32. Tweaking SecOp
33. Tweaking Ambient Civilians
34. Tweaking Ambient Civilians Vehicles
35. Script Empty vehicle respawn
36. Ammo
37. Bomb script, booby-trap, bomb car, instant spawn
38. Adding support units responding to radio (repair truck, ammunition, ambulance, evacuating helicopter)
99. DirectX tweak ENBSeries for Arma2



04. introduction
ARMA2 is a realistic modern war simulator in a vast realistic play field with many landscapes and lots of detail. Realism and freedom are key in this simulator. A spin-off, which doesn't really differ much, is used in actual military combat training.

Arma2 is not a game, but it doesn't prevent you to play it as such either. You're even not limited to combat scenarios. You may hike in the forests, take a bus, play a police man, hunt wild life, sail a boat or just ride in the back of a plane. It's up to you. The level of detail is amazing. And for people who like to demolish things: buildings and trees are not made of diamond concrete, as in many other simulators.

Arma2 Free is like the full version except for the main story line missions and a bunch of stand alone missions. There are also some limits to graphic details, but you won't notice that really most of the time. You can play online with others. There are some great servers out there, including non-military role playing, but you can also create single player missions yourself. And that is what this article is about.

The editor and scripting engine are extremely powerful. Your imagination is the limit. Here is a brief tutorial plus some scripts and tips to instantly create great missions yourself, including radio support, artillery, chopper transportation, supply drops, UAV, civilians, wild life and autonomous acting AI.

I decided to write this because I found it rather hard to collect all the little gems that really boost this sim. Out of the box things may seem rather dull or even buggy. If you take a look at forums you're easily overwhelmed with cryptic language and things that don't work. I hope this may help some.

All credits go to the people who wrote scripts and explained things. And of course Bohemia Interactive Studios. 

If you like the game you should order it. It now comes as a bundle with many expansion packs, maps and goodies, for only €49,99. It's called Arma-X. Check it out..
I am not affiliated and this is no advertisement.
Wikipedia: ARMA 2 is a tactical shooter with significant vehicle and aircraft elements. The player is able to command AI squad members which adds a real-time strategy element to the game. This is further enhanced by introduction of the high command system, which allows the player to command multiple squads using the map. ARMA 2 is set primarily in the fictional Eastern European nation of Chernarus, (meaning "Black Russia"). The Chernarus landscape is based heavily on the Czech Republic, the home country of the developer. (Link to Wikipedia).


05. Download and install
Download and install Arma2 Free. No registration required, no ads, no nags and no stupid browser toolbars. If you are new to Arma, please play the tutorials (boot camp) first. The controls are a bit tricky at first but it's not too hard. They are very intuitive even. You can play a single player mission and play some Armory scenarios as well.


06. Editor
Start the editor in the Single Player menu, choose Chernarus. This is a vast landscape. Utes is a smaller island. After loading you'll see a map. Use the mouse wheel to zoom in and out. Right click and drag to move the map around.


07. MyFirstMission
To the right you see a menu with 'units', 'groups', 'triggers' and so on. Make sure 'units' is selected and double click somewhere on the map. You'll get a pop-up. Notice that 'control' is set to player. One unit must be 'player', otherwise you can't play. Choose any unit you like, as long as as 'control' is set to 'player'. Hit OK. Now click 'preview'. The game will load and you'll be the unit you picked. Alone in the middle of Chernarus.


08. Delete units
Hit escape and click abort to get back to the editor. Hover over your unit and hit the delete button. This is how to delete units and objects. One by one. Doubleclick on the map (make sure 'units' is selected to the right) and add a unit as 'player' again.


09. Empty vehicles
Now let's add a tank nearby. Double click on the map. Set 'side' to 'empty', browse for 'armor' and pick a tank. This will give you an empty vehicle you can enter. Easy.

Note: if 'side' is set to i.e. Blufor you would get a tank with crew already in it and you wouldn't be able to enter it. Of course you could set 'control' of a crewed tank to 'player as commander' or such, but then you would spawn in that tank as crew. If you left the vehicle it would miss its commander.

Setting 'control' to i.e. "playable as commander, driver" gives you the opportunity to switch to another character while playing, not that you just can enter it. Basically you can enter every vehicle in the game as long as positions are not occupied by AI or other players, or the vehicle is not locked. By default vehicles aren't locked.

So if you want vehicles you can enter, use empty vehicles (side: empty).


10. Copy-paste, clone
Select the tank. Hit ctrl-c. Now move the mouse and hit ctrl-v. This is how to clone things. An exact copy including i.e. settings is made. If you select multiple units by dragging a box around them and hit ctrl-c all these units will be cloned at ctrl-v.


11. Rotate units
On the map you see the tank is pointing north. Everything you add will point north by default. If you want to change its orientation you can easily do this by having 'units' selected, select the unit, hold the SHIFT-button and drag with the left mouse button. You can also select multiple units and rotate them at once, around a collective pivot.

You now may want to preview your mission. Spawn and walk to the tank. Enter it by using the mouse wheel when you're near. To me this works better than search for a spot where an icon shows up. When you're inside use the mouse wheel again to switch to another seat or leave.


12. Group
Abort the preview and hit 'clear'. This makes the map empty. Now select 'groups'. Double click on the map and choose a group of units. Hit OK. You'll see a box 'No player was selected!'. Scaremongers... it's fine. Hit OK. Zoom into your group to the point where you can see the units. Double click one of the units and set 'control' to 'player'. You'll be this unit.


13. Grouping, Commanding, Switching
The cyan lines in the group represent the chain of command. If you don't want to have an AI commander in charge over you and you want to control the squad, make sure you set the squad leader to 'player'.

You can set other units to 'playable' so you can switch to them while playing. You even can do this with enemy units, civilians and people/crew in vehicles. Why not try it. Set the squad leader to 'player', then doubleclick another unit and set its control to 'playable'. Preview your mission. In game, hit the T button. You'll get a popup to select another unit.

You could even add an animal and set it to 'playable'. How many sims allow you to play a chicken?

When you're making a mission to host a multiplayer game you must set enough units to 'playable'. A 32-player game needs 32 playable units (or 31 plus 'player' if I recall it right).

Interaction: In game you can instruct your squad members in several ways. Space bar will select them all and then you can use the number keys for different kinds of action. It may be confusing first but soon enough it becomes second nature. Note that for specific actions you can single out one member by pressing its F-key (i.e. F3) and then 6. You can order a corpsman to heal this way, tell units to reload or change weapons, order satchel charges to be dropped and set off, order units to rearm at an ammo box, and so on. If you quickly want to check gear of your squad, go to map view (M) and select 'units'. You can send a unit to an ammo box, order him to 'gear' and then go to the map view, units, to quickly rearm him by yourself.


14. Add/remove units to make custom groups
Now delete everything except for the squad leader. Hover over every unit and hit 'delete', one by one.

Select 'units' on the right and add some units nearby your squad leader. You will see cyan lines are added automatically. Make a small group this way.

Now highlight 'groups' on the right. Click on one of the units and drag. You'll see the line follows your mouse. When you release the button the line will be gone. The unit is not a member of the group anymore. Click on the unit once again and drag a line to the squad leader, release. The unit is member of the group again. This is how you create custom groups or ungroup units.

Note: when editing it can happen that you want to move a unit while you have accidentally 'groups' selected. Releasing would ungroup it. It's annoying if it happens to be the squad leader of a big squad you're trying to move. If this happens just drag the line right back into the unit and release the button.


15. Ranks
Now select 'units' once more and double click a unit on your map, but not the squad leader. In the pop-up you'll see 'rank' on the right. If you make the rank higher than those of other units in the group this unit will be the squad leader. If you picked the squad leader and lower the rank below the others another character will become commander.

If you copy units remember ranks are also cloned. Also: if you add a new unit it will automatically have the rank of the last unit you added. Keep this in mind.


16. Save and copy, mission folders
Now save your mission. Saving is important. When a game is saved a new mission folder will be created. In this folder there is room for scripts that belong to that mission. If you are editing a mission with custom scripts and you save a new version (new name) make sure all contents of your previous mission folder are copied. The editor does not do that, you have to do that yourself with Explorer.

The mission folders can be found in your Documents folder - Arma 2 profiles - your player name. In Vista it is something like:
C:\Users\Admin\Documents\ArmA 2 Other Profiles\SgtPepper\missions\MyOwnMission

Note: if you saved an existing mission under a new name and edited your map, but forgot to copy all these contents first: copy everything fom your previous folder except for mission.sqm. It's also a good idea to create a map elsewhere where you copy-paste scripts and such you use often. Make a well documented library of assets. Hopefully next versions help you with this.


17. Waypoints, move, cycle
OK, now start a new map and add two infantry groups. One of each side. Select a squad leader and change the control to 'player'. Basically you have a mission, depending on where you position the groups and what you're going to do. The AI squad won't do much as long you are not spotted. They're lazy.

Now let's add some movement. Highlight 'waypoints' and click on the squad leader of your enemy squad.. Now double click somewhere else on the map. You'll get a waypoint popup. 'Move' is default. Hit OK and double click again somewhere else. There, change 'Move' to 'cycle'.

When you run the game your enemy squad will move from 'start' to waypoint one, then waypoint two, then back to where they started. These are the basics of waypoints. You can do a lot with them.

When you're in game and you want to set a waypoint for your squad or yourself, hit M for the map. Then hold shift and click on the map. You can move this waypoint by dragging it.


18. Hint regarding 'playable', simple Chopper gunner mission
Clear your map, add a Blufor soldier as 'player'. Then add a 'side: Blufor' attack helicopter in flight (set special to 'flying'). Give this chopper some 'move' waypoints on the map and set the last waypoint to 'cycle'. Set the control of the chopper 'playable as gunner'. While in game you can switch to the gunner position (hit T). The AI will flying you around while you're busy with some city renovations. It's a great way to practice weapons. Of course you could just add a chopper 'flying' and set control to 'player as gunner'.


19. Modules: add ambient civilians, traffic, animals
By now you know how to add and group units, waypoint them. The world is still very quiet. Let's add some dynamics.

Go to the editor, clear all. Add two opposing squads (groups) and set the leader of the Blufor squad to 'player'. Make sure the enemy squad is at a safe distance. Now select 'modules' on the right and doubleclick on the map. Anywhere. You'll get a popup. Add the module "ambient animals", hit OK. You'll see an icon.

Do it again to add "ambient civilians" and "ambient civilian vehicles". It doesn't matter where you put them on the map, just pick a convenient place. However: remove any group lines. There shouldn't be any lines to/from these icons.

Preview your mission. You may or may not immediately see animals, people and parked vehicles. It may take some time for things to appear. I'll show you how you can tweak these modules, but never expect crowded streets, traffic jams and hundreds of animals. If you need i.e. a crowd or an number of vehicles driving around you must add them as units or groups, make waypoints. Ambient modules are for the atmosphere only.


20. Secondary Operations commander, synchronizing modules
Abort your preview to add a great module. Make sure 'modules' is selected. Doubleclick on the map and select 'Secondary Operations (SecOps)' and hit OK. If it comes with a group line: remove that line. Now highlight 'synchronize'. Click on the SecOps module and drag a line to the unit you play. The module will be synchronized with your character.

It doesn't matter where you put the SecOps icon, best practice is to keep it near the unit it is synchronized with.

SecOps is a HQ commander who 'occasionally' will call you on the radio for some side missions. You can accept, decline or just ignore them, it doesn't matter. It also doesn't matter if you fail, but if you succeed you may be rewarded with i.e. airstrike support.

SecOps is a very easy way to quickly create a random dynamic single player mission. One unit as player with the SecOps module synchronized (not grouped!) is basically enough for random action.

At this point you may want to try your mission to see how much fun this already is. You have a living world with random assignments.

I will show you how to tweak SecOps later on.


21. Ambient combat
Go back to the editor. Add another module 'ambient combat' (ACM). Again, make sure it is not grouped. Now synchronize the module with your player unit.

When playing troops will spawn at random, somewhere in your vicinity. These can be enemy as well as friendly. Enemy units will attack you when you're detected, friendly troops will help you. Any kind of troops can spawn. Snipers, APC's, tanks, planes, anything.

If you preview the mission now you may not see much action from the Ambient Combat Module (ACM) at first. That's OK. The default settings are such that it is not 100% certain that troops will spawn within a given time frame. Second, troops may spawn but you simply don't see them and they don't see you. You both may move in opposite directions. So do not expect instant battle this way.

However, do remember that this module works. If you accepted a SecOp mission while all was peaceful and quiet, other enemy troops may be around as well. Maybe they were already flanking you while you were chatting with that Mr.Radar from HQ. Always stay alert. And watch some episodes of M.A.S.H. if you don't know Radar.


22. More ambient combat
Back to the editor. Now add a second 'ambient combat' module. Ungroup it if necessary and synchronize it with the squad leader of your enemy group. Now there will be friendly/foe groups spawned to that group as well! You can add other groups with synchronized ambient combat modules to get a lot of dynamic action.

Do not synchronize one ACM to multiple units. Best practice is to synchronize ACM's to squad leaders only.

I will show you how to tweak the ACM later on.


23. First Aid modules
Add the three first aid modules and synchronize them to your player unit. This will give you some first aid capabilities when you're not a medic/corpsman and it allows you to drag wounded units away from the line of fire. You cannot however heal a wounded fellow.

First Aid modules may be synchronized to multiple units simultaneously.




24. Do not group modules
Period. Unless a module should be grouped.


25. Radio support
Now let's add some radio support to call in supplies, transportation and fire support.

Select 'triggers' on the right and double click on the map. In the popup set 'activation' to 'radio alpha' and select 'repeatedly' instead of 'once'. In the 'on act' field paste this code:

[["transport", "aerial_reconnaissance", "supply_drop", "tactical_airstrike", "artillery_barrage"], player] call    BIS_SOM_addSupportRequestFunc;  

This script is activated when you call 'Radio Alpha' (keys in game: 0-0-1). You'll get a message that support is available. You then can call in support by pressing 0-8-1. Note that you do not have to change the perimeter of the trigger since you activate it by radio. Call Radio Alpha again if you used i.e. artillery and want another barrage.


Note: you must have the SecOps module (see 20.) on your map for radio support. If you don't want to receive incoming requests for secondary missions, copy-paste this in the SecOps (SOM) initialization field:

this setVariable ["settings", [[], true, nil, nil, false]];


A bit about artillery, there are several types. 'Immediate suppression' will fire a short, fast salvo. 'Fire for effect' will fire shells for a longer time. HE is high explosives, WP is white phosphor. Flares are nice to light up an area at night, smoke will give a smoke screen. Then there are shells that aim for armor (SADARM) and there are laser guided shells. In Arma2 there are several ways to invoke artillery. This is just the most easy way.

How transportation works: point at the position where you want your chopper and call it in. When you're in the chopper, go to the map view (M), move your mouse to the place where you want to go and call in support-transportation again. Your destination will be marked with 'unload area'. The chopper will take off and bring you there. If you change your mind about your destination, just do the same thing again. You can also use the chopper for a parachute dropping. Just leave the chopper in-flight. Make sure your squad leaves too: hit the space bar and press 6 for the action menu.


26. Add a Laser marker, other gear
Most units don't carry laser markers. You don't really need a laser marker for fire missions, you can use the map view (M) to designate your target. But if you do want a laser marker, add this to the init field of your player unit:

This addmagazine "laserbatteries"; this addweapon "laserdesignator";

You can use this for other kinds of weapons and ammo as well, as long as you use the proper names. See the editor guide.


27. Health cheat
You can additionally have your health set to 100% when you call for radio support. Just add:

player setDamage 0;

to the 'act on' field of your Radio Alpha trigger (double click that flag in a circle).

Make sure you separate multiple script instructions with the ;. Of course you could add a second radio trigger, have it activated by i.e. Radio Foxtrot, set it to 'repeatedly' and put the player setDamage 0; in that 'act on' field. You then would have two radio channels via the keys 0-0.

If you really feel unhappy, use player setDamage 1;
For some Russian Roulette use player setDamage (random 1);
Try this: create a cow near you and name it LuckyMe. Use LuckyMe setDamage (random 1); in the on act. field of your radio trigger. Now call in radio support repeatedly (0-0-1, 0-0-1, ...). The name of a unit can be used as a variable.


28. Weather, time, season
In the editor you see 'Intel'. Double click it. Here you can set the time of day, date and weather. It's easy to understand.


29. Tweaking modules... 
Modules are in-game functions with default settings. Some settings can be changed. Here are a few examples.




30. Change ambient combat settings, Init.sqf
Go to your mission folder and look for 'init.sqf'. If it is not there, create a new text document (notepad) and save it as init.sqf. Make sure the extention is sqf and that it's not saved as init.sqf.txt.

Init.sqf is executed when the game starts.

Copy-paste the code below into your init.sqf and save it:

// ambient combat //
// INIT
waitUntil {!isNil {BIS_ACM getVariable "initDone"}};
waitUntil {BIS_ACM getVariable "initDone"};
[] spawn {


//Sets frequency and number of patrols (0-1). BIS_ACM is module name
[1, BIS_ACM] call BIS_ACM_setIntensityFunc;  


//min max spawn distance
[BIS_ACM, 800, 1600] call BIS_ACM_setSpawnDistanceFunc;


//factions to be spawned
[["USMC", "INS", "CDF", "RU", "GUE"], BIS_ACM] call BIS_ACM_setFactionsFunc;


//Skill range for spawned units
[0, 0.8, BIS_ACM] call BIS_ACM_setSkillFunc;


//Amount of ammo spawned units possess
[0.4, 0.9, BIS_ACM] call BIS_ACM_setAmmoFunc;


//Type of patrol. With 0 meaning no chance of appearing, and 1 meaning 100% chance. -1 removes patrol type completely. 0.5 (default): 50% chance
["ground_patrol", 0.5, BIS_ACM] call BIS_ACM_setTypeChanceFunc;
["air_patrol", 0.5, BIS_ACM] call BIS_ACM_setTypeChanceFunc;


// Squad types
//[BIS_ACM, ["RU_InfSquad", "RU_InfSection_AA", "RU_SniperTeam", "RU_MechInfSquad_2"]] call BIS_ACM_addGroupClassesFunc;


//no spawns
//  [BIS_ACM, ["marker_1", "marker_2"]] call BIS_ACM_blacklistAreaFunc;


The script first tells the engine to wait until initialization is finished. Then it sets all kind of variables. A line that starts with // is a comment, it is ignored by the engine. Read the comments. It's not too difficult to figure out what things you can change for what effect.

Personally I have the last two settings disabled with //. I am fine with the defaults regarding which squad types show up, but you may want to change it. Remove the // and change the array to your needs. Use the official squad names. Here is an excellent PDF with a lot of resources, including an overview of such names. ARMA Editing Guide Deluxe (en). Please keep in mind that the guide was not written for Arma2. Certain units are unknown and cannot be used. Use Google or search Arma2 forums if you need help.

The last setting is to set up areas where ambient combat troops will not spawn. You would create markers on your map, name them, and put those marker names in that array. In this example you would remove the // in front of the [BIS_ACM... line and save the file. Then you add two markers on your map. Make them ellipse or rectangular and resize them to your wishes. Name them marker_1 and marker_2. That's it.

You may want to use this to designate a 'battle free' zone around your field HQ. Keep in mind that this doesn't prevent enemy troops spawned further away to enter your zone.


31. AI performing dynamic patrols, AI respawn
Of course you can use waypoints to make AI troops move around, but there is another great solution using scripts. The scripts I use make squads patrol an area at their own will. That's not all. If an entire squad is killed it will respawn. You can make very interesting scenario's with it with everlasting battles.

You will need UPS.sqf , version 2.0.3 by Kroznky and the AI_Respawn_UPS. UPS.sqf goes into your mission folder. Extract the AI Respawn RAR file to a map called AI_Respawn_UPS in the same folder. Make sure it is not double nested. You should have something like:
C:\Users\Admin\Documents\ArmA 2 Other Profiles\SgtPepper\missions\MyOwnMission\UPS.sqf
and...
C:\Users\Admin\Documents\ArmA 2 Other Profiles\SgtPepper\missions\MyOwnMission\AI_respawn_UPS
... with three .sqf files in it.

How it works:
Say you command a small squad and you also have a friendly AI squad plus an enemy AI squad in your mission.

Select 'units' and doubleclick the squad leader of the enemy AI squad. In the initialization (init) field you paste:
nul = [this, 1000, 10, "ES1","patr"] execVM "AI_respawn_UPS\AI_respawn_UPS_init.sqf"; 
Hit OK.

Now doubleclick the friendly AI squad leader and paste:
nul = [this, 1000, 10, "WS1","patr"] execVM "AI_respawn_UPS\AI_respawn_UPS_init.sqf"; 

On the map you create three markers, make them ellipse or rectangular. One you call (name) ES1, one WS1, and one patr. ES1 and WS1 will be the spawn areas. Patr will be the patrol area. Change the dimensions of the markers to suit your wishes. Your AI will spawn, head to the patrol area and patrol it. The AI is not exactly 'trapped' to this patrol area but will never move far away either.

The '1000' tells the game to respawn the squad one thousand times, enough for quite some hours. The 10 is the delay in seconds for a squad to respawn after the last squad member died. Of course you can make more markers and designate squads to different areas to patrol and/or spawn. Just make other markers, name them differently and use those names in your init fields.

Unfortunately, vehicles with crew won't respawn this way and I haven't found a simple solution yet. It would be nice to have troops building up including armor/planes/parachutes and then have them deployed every X minutes or so.



32. Changing the SecOp manager behavior
Say you want less radio calls for side missions and/or you want to leave out certain mission types. Here is how you do it. Select 'units' and doubleclick the SecOp module (SOM).

In the init field you paste this:


this setVariable ["settings", [["ambush", "attack_location", "trap", "rescue", "patrol", "escort", "defend_location", "destroy", "search"], true, ["Bravo", ["Bravo"], "H.Q.", ["HQ"]], 60, true,120,0.5,[200, 1500]]];

The settings above provide all SecOp missions (default). Every 120 seconds there is 50% (0.5) chance of a request. The target location will be between 200 and 1500 meters from where you are.

Say you only want ambush missions for only 10% chance every 10 minutes within 50-100 meters, you would have this:
this setVariable ["settings", [["ambush"], true, ["Bravo", ["Bravo"], "H.Q.", ["HQ"]], 60, true,600,0.1,[50, 100]]];



33. More or less ambient civilians
In the initialization field of the ambient civilians module you paste this:

this setvariable ["civilianCount","round (%1 / 0.5)"]; 

Play around with that 0.5. The number of civilians is calculated by the number of doors in an area (variable %1), divided by a number. The smaller the denominator the more civilians. Again, be aware you won't get crowded streets. Make groups and units if you need a lot of civilians for a scenario.



34. More or less ambient vehicles
In the init field of Ambient Civilian Vehicles you copy-paste:

BIS_silvie_mainscope setvariable ["vehicleCount","(round ((sqrt %1) * 6))"];


.. where you play with the '6'. The higher the number the more vehicles.



35. Empty vehicle respawn
You can have empty vehicles respawned after destruction or when they are abandoned. You need a script called vehicle.sqf in your mission directory. Download it here.

In the init line of vehicles you want to have respawned you copy-paste something like:


veh = [this, 30, 120, 0, FALSE, FALSE] execVM "vehicle.sqf";

What it means:
veh = [this, Delay, Deserted timer, # of Respawns, Effect, Static, "INIT"] execVM "vehicle.sqf"
See the comments in the script for further instructions.

You can use this for crewed vehicles as well, but only an empty vehicle will respawn.


36. Ammo
Where would you be without it? Add units, side 'empty'. Select ammo of choice and put down the caches. You could also add ammo trucks or call in radio support for a supply drop.


37. Bomb cheat, booby trap, bomb car, instant spawn
Look at a building or unit, call in radio support, and see a huge explosion.
You need the script explos.sqs for that. See the second posting in that thread. Create a text file, copy-paste the code, save it into your mission directory. make sure it is called explos.sqs and not explos.sqs.txt.

Now create a trigger on your map, anywhere, set activation to a radio, set it to 'repeatedly'. In the on act. field you copy-paste this:

[cursorTarget,"Bo_GBU12_LGB",1] exec "explos.sqs";

cursorTarget gives the coordinates of the object you are looking at. That cryptic Bo_GB-thing is a bomb, the '1' is the height. Explos.sqs here basically spawns a huge bomb at your target. You could also have units and vehicles spawned this way, just use the proper name. See the guides.

You can also create a trigger, activate by anyone, set it to 'once', name it trigger1. Instead of cursorTarget you use trigger1 in the on act. field. Make the perimeter, say, 10x10. If anything comes near the trigger a huge explosion follows.

You could also make a bomb car this way, which you can detonate by radio. Create an empty vehicle, name it trigger1. For the trigger itself set activation to radio and also use trigger1 instead of cursorTarget in the on act. field. You now can drive around, park the car and detonate it. You can also set a delay. Note that there are also nice car bomb scripts on the web. You could drive and park, and when an enemy comes near it it blows up.

Note: there is a little typo in the example given by the author and in the example in the script. The author fixed it in a later posting. If you copy-pasted the 'on act' from his examples nothing would happen. Maybe you want to fix it in your script too.

Remember that you have to save a mission first and copy the explos.sqs to its mission folder. See #16.


38. AI support units
Add support units on the map, make a group. Make the rank of the group leader highest. Add a waypoint to the group leader just a few meters ahead and make it of the type 'support'. At start the units will move to this point, disembark and wait until they are called in.

You can call in support by pressing 5-1. AI will also call in support if needed. For medical support you should add corpsman units as well. For protection you can add Humvees and such to the group. Armor will not work here, the crew will disembark and proceed on foot.



99. ENBseries/DirectX graphics tweaks
To me the night missions were a bit too bright to my taste.

If your videocard is suitable you may want to give enbseries a try. It's basically a tweak for DirectX. You'll probably have to spend some time to adjust it to your configuration. Put enbseries.ini and the DLL files in your main game directory. When in game, hit shift-F12 to enable/disable it. Adjust settings in enbseries.ini with notepad. At start, don't bother about 'enbseries for GTA San Andreas' showing up, it works fine.

Here is my personal tweaked enbseries.ini with some notes. Just copy and paste it into your enbseries.ini file, replacing the existing code. Or start a new file yourself.

// ENBSERIES settings ARMA2 Free
// Press shift-F12 in game to enable/disable
// More info to get started way below under the settings
// -----------------------------------------------------


//// developer settings
[PROXY]
EnableProxyLibrary=0
InitProxyFunctions=0
ProxyLibrary=

//// use enbseries at start Y/N, additional settings
[GLOBAL]
UseEffect=1
AlternativeDepth=1
AllowAntialias=0
BugFixMode=0
SkipShaderOptimization=0
QuadVertexBuffer=0
EnableShaders_3_0=1
UseMRTRendering=0
AdditionalConfigFile=enbseries2.ini

//// Which effects should be tweaked
[EFFECT]
EnableBloom=1
EnableOcclusion=0
EnableReflection=0
EnableMotionBlur=0
EnableWater=1
EnableShadow=1
DepthBias=0
EnableDepthOfField=0

//// Key codes. 123 = shift-f12
[INPUT]
KeyUseEffect=123
KeyBloom=120
KeyOcclusion=121
KeyReflection=122
KeyCombination=16
KeyScreenshot=44
KeyShadow=119
KeyWater=118
KeyShowFPS=106

//// Reflection
[REFLECTION]
ReflectionPower=60
ChromePower=60
UseCurrentFrameReflection=1
ReflectionQuality=1
ReflectionSourceSpecular=50
ReflectionSourceTFactor=50
UseAdditiveReflection=1
ReflectionDepthBias=0
UseLowResReflection=1
ReflectionSinglePass=1
UseEnvBump=1
EnvBumpAmount=100
EnvBumpOffset=100
ReflectionFlip=0

//// Light bloom
[BLOOM]
BloomPowerDay=7
BloomFadeTime=400  
BloomConstantDay=1
BloomQuality=0
BloomScreenLevelDay=30
BloomCurveDay=0
BloomPowerNight=1
BloomConstantNight=1  
BloomCurveNight=0
BloomScreenLevelNight=10
BloomAdaptationScreenLevel=24
BloomAdaptationMultiplier=100
BloomAllowOversaturation=1
BloomMaxLimit=100

//// Screen Space Ambient Occlusion
[SSAO]
UseFilter=1
OcclusionQuality=2
FilterQuality=1
DarkeningLevel=20
BrighteningLevel=20 
IlluminationLevel=20  
AdditiveIlluminationLevel=25
UseAmbientOcclusion=1
UseIndirectLighting=1
FadeDistance=50
UseForAlphaTest=1
UseForAlphaBlend=1

// Color corrections, saturation, screen, gamma
[COLORCORRECTION]
DarkeningAmountDay=15
ScreenLevelDay=50
GammaCurveDay=1
ColorSaturationDay=1
DarkeningAmountNight=15
ScreenLevelNight=25
GammaCurveNight=1
ColorSaturationNight=0
UsePaletteTexture=0

// Water
[WATER]
UseWaterDeep=0
WaterDeepness=20
WaterQuality=0

// Shadows
[SHADOW]
ShadowFadeStart=40
ShadowFadeEnd=80
ShadowAmountDay=50
ShadowAmountNight=40
ShadowScreenLevelDay=40
ShadowScreenLevelNight=30
ShadowQuality=1
UseShadowFilter=0
FilterQuality=2
ShadowBlurRange=30

// Filter, monitor. Make sure the refresh rate matches your monitor.
[ENGINE]
ForceAnisotropicFiltering=0
MaxAnisotropy=8
ForceDisplayRefreshRate=0
DisplayRefreshRateHz=60

// Motion blur (may impact frame rate)
[MOTIONBLUR]
MotionBlurQuality=1
MotionBlurVelocity=0
MotionBlurRotation=0

// Specular settings pixels
[PERPIXELLIGHTING]
SpecularColorMin=0
SpecularColorMax=100
SpecularColorMultiplier=100
SpecularGlossinessMin=0
SpecularGlossinessMax=100
SpecularGlossinessMultiplier=100

// Depth of field
[DEPTHOFFIELD]
DOFQuality=2
DOFNumberOfPasses=1
DOFFocusRange=50
DOFBlurinessRange=10

// -----------------------------------------------------
// Important: Tweak this file to your own preferences
// It is not likely you have exactly the same system so you may see trash if you just use this
//
// You don't need to restart Arma2 every time while testing
// start editor, make a simple mission
// preview, abort, change this file, save, preview mission, and so on
// tweak for both day and night
// leave things you don't understand alone
// tweaking brightness and bloom may be enough
//
// You need this file in your program files/bohemia/Arma2free directory
// you also need d3d9.dll, d3dx9_26.dll and d3dx9_40.dll, these go into the same directory
// Get your files here: http://enbdev.com/index_en.html
//
// You can also use this for other games. Just copy the ini and dll files to the root directory of your other game and tweak
//
// Note that not every videocard is suitable or supported
//
// important: make sure the refresh rate setting here matches your monitor
//
// Don't fix things that ain't broken. If you're fine with how everything is? Don't bother enbseries.
//
// Complete uninstall: just remove the ini and dll files
//