Mando Bombs ArmA v1.61

by

Mandoble

Updated 3 October 2008.




 What is Mando Bombs ArmA?
 Some basic concepts
 Mando Air Support Console options
 Mando Bombs ArmA demo missions
 Mando Bombs ArmA script list
 Mando Bombs ArmA scripts in detail
    mando_bombs.sqf
    mando_airsupportdlg.sqf
    mando_giveme_console.sqf
    mando_airsupport_nodlg.sqf
    mando_basic_airsupport.sqf
    mando_basic_bombrun.sqf
    mando_bombs_basic_mapclick.sqf
    mando_bombs_sadarm.sqf
    mando_deploy_sadarm.sqf
    mando_arty_sadarm.sqf

What is Mando Bombs ArmA?

It is a suite of scripts that allows you to make planes drop accurate free fall bombs or SADARM type antitank boms. It includes also basic and advanced air support and bomb runs scripts and console, as well as SADARM support for artillery units or deployed directly by players. Look for updates here.

To use it in your missions:
- Copy mando_bombs into your mission folder.
- If you want to use the Air Support Console, edit (or create) your description.ext file and add:
   // Include required for air support console dialog
   #include "mando_bombs\mando_airsupportdlg.h"
- And now you can use any of the provided scripts at will (see details for each script usage below).
 

 Basic Mando Bombs in action (YouTube)
 Advanced Air Support Console (YouTube)
 SADARM ground deployed (YouTube)
 SADARM integrated within Air Support Console (YouTube)

Back to index
 
 

Some basic concepts:

Free fall bombs Unguided bombs. The launcher (plane) performs continuous calculations of impact point before releasing the bombs.
SADARM Sense and Destroy Armor. It is a special type of submunition designed to detect and destroy armored targets from above. More info on SADARM.

Scripted SADARM can be deployed:

  • By planes dropping SADARMs over the target area.
  • By hand at ground level (players). These SADARMs have a scanning device and a rocket, when the scanning device detects a potential target inside its searching area (150m radius), the rocket is ignited and climbs over 100m to deploy a real SADARM.
  • By artillery HE shells (static guns or tanks might be used to fire these). With these you can fire SADARMs behind hills and destroy tanks moving at the other side.
The SDARM itself has a sensor able to detect vehicles, static weapons or ships below its position. Its scanning range varies depending on its altitude up to a maximum scan range of 250m. Be careful, as the SADARMs dont do any friend/foe check when looking for targets.
Countermeasures If Mando Missile ArmA is initialized in the mission (addon or script suite), all the spawned planes and choppers will be equipped with countermeasure dispensers.
Ingress direction The direction from where the spawned planes and choppers will aproach the indicated map position.
Back to index
 
 

Mando Air Support Console options:

Call CAS Call for close air support.
Left click on the map to set the desired attack area, select ingress direction, desired attack altitude, number of planes and type of attack (free fall bombs or SADARM) and then click "Call CAS" button. The planes will aproach the support aera and will engange any enemy vehicle, ship or static weapon there (inside a 500m radious of the marked position). Each plane will perform a maximum of attacks determined by mando_airsupport_max_cas global variable.
Bomb run Call for single bomb run.
Left click on the map to set the desired attack position, select ingress direction, desired attack altitude, number of planes and type of attack (free fall bombs or SADARM) and then click "Bomb run" button. The planes will aproach the the attack position and will will drop their bombs just there. The first plane will aim directly to the marked point, the rest of them will spread the attacks around the marked position.
GS Gunship support.
A pair of attack choppers will seek and destroy targets near the marked position.If Mando Missile ArmA initialized in the mission (addon or script suite), gunships will use medium range AG missiles against enemy vehicles or ships. Setup mando_support_enemy_sides global array to indicate which are the enemy sides for the attacking gunships.
AB Airborne assault.
A heavy chopper will aproach the marked position and will deploy a group of infantry units, this group will seek and destroy around the area and then will hold the indicated position.
CM Cruise missile attack.
This option requires Mando Missile ArmA initialized in the mission (addon or script suite), else the option will be disabled.
The specified launcher will fire a cruise missile against the indicated position. The missile is detectable and interceptable by enemy SAM units anti-missile capable or/and anti-missile mando guns.

To be able to fire cruise missiles you need to define which unit will be the missile launcher as well as the firing position in model coordinates. Set mando_airsupport_cmissile and mando_airsupport_cmissile_pos to the corresponding values.

If you click the RC ON button in the camera area you will get manual control of the missile. Move the mouse over the steerable area to guide the missile and use the mouse wheel to zoom in/out, the green circle in the camera display represents the position marked in the map as target, green squares represents up to three detected vehicles or ships in front of the missile. If you click RC OFF button while controlling a cruise missile, the missile with turn its guidance back to automatic.

SA Cruise missile saturation attack.
This option requires Mando Missile ArmA initialized in the mission (addon or script suite), else the option will be disabled.
The specified launcher will select up to four targets in the specified attack area (vehicles, ships and static weapons) and then will fire two cruise missiles in sequence per target. If targets are not found, the launcher will use the marked position as target.
The missiles are detectable and interceptable by enemy SAM units anti-missile capable or/and anti-missile mando guns. Saturation missiles cannot be switched to manual control. 

To be able to fire cruise missiles you need to define which unit will be the missile launcher as well as the firing position in model coordinates. Set mando_airsupport_cmissile and mando_airsupport_cmissile_pos to the corresponding values.

AM Ammo supply.
A plane or chopper will aproach the indicated position and will drop a pair of ammo boxes in chutes.
You may define ammo boxes contents of mando_airsupport_magz and mando_airsupport_weap global var arrays.
VE Vehicle supply.
A chopper will aproach the indicated position hitching the indicated empty vehicle type, then it will descend leaving the empty vehicle on ground before leaving the area.
RE Reinforcements.
A plane or chopper will aproach the indicated position and will drop a group of soldiers in chutes, this group will join the player.
CP Combat Air Patrol.
A pair of fighters will hold the indicated position.If Mando Missile ArmA initialized in the mission (addon or script suite), CAP planes will use medium range AA missiles increasing noticeabily the effectiveness of CAP missions. Setup mando_support_enemy_sides global array to indicate which are the enemy sides for the intercepting planes.
RC Reconnaissance.
A plane will overfly the indicated area and once the plane egress, detected enemy vehicles, ships and static weapons will be marked in the map for 2 minutes. This info will be available for any player of the side of the console operator who ordered the reconnaissance mission.

If you click the RC ON button in the camera area you will get manual control of reconnaissance plane camera. Move the mouse over the steerable area to aim the camera, use the mouse wheel to zoom in/out and left click over the steerable area to mark the position where the camera is pointing up (if you left click near a vehicle or ship, the camera will lock-on it). This mark will be present in the map as "RCM" and you may mark up to 10 positions. While the camera is locked on a position or vehicle, you may order laser guided bombs attacks against it (mando missile is required for this). First click locks on the camera, second click frees it again. If you set your reco plane as armed reco, you will be able to fire missiles against your own targets. left shift + left click over the steerable area changes the destiation of the reco plane to the position where the camera is aiming at.
If you clicked RC ON button while the reconnaissance plane was ingressing, the plane will HOLD position at destination until camera is turned off. Then you will have 18 seconds to turn the camera on again, else the plane will egrees.

EV Call for evacuation chopper.
Before calling for evac you need to define the destination, left click over the map while pressing left shift to mark the destination position. Select the support position left clicking on the map and then press EV button. A transport chopper will land over the indicated support position and will wait until someone boards it, then it will wait 25 seconds more and then it will fly to the marked evac destination where it will land and will wait until all the passengers disembark. 
LA Call for laser guided bombs support.
Use a laser designator or reconnaissance camera to mark targets (this last option is available only if Mando Missile is present).
If Mando Missile ArmA is initialized you will be able to use any plane type for that kind of missions. Setup mando_support_enemy_sides global array to indicate which are the enemy sides for the attacking planes.
CB Call for carpet bombing.
A plane will aproach the indicated position and will start dropping its bombs in sequence. This option is intended for area attack, not for accurate strikes. Bombing criteria and actions are defined into mando_airsupport_carpetcode global code var.
RC ON+ Remote Camera ON.
If there is a reconnaissance aircraft in-flight, this option allows you to control its reconnaissance camera. Use the mouse wheel to zoom in/out and left click over the steerable area to mark the position where the camera is pointing at (you may mark up to 10 different positions) and lock on the camera in that position, next click will free the camera again. While in camera view, you may left click to hide the left console (except aircrafts available list - ArmA bug). If  the camera is locked on a position and mando missile is initialized in your mission, you will be able to order laser guided bombs attacks at that position. If armed reconnaissance is allowed you will be able to fire missiles against locked on camera positions or vehicles.

If there is a cruise missile in-flight (Mando Missile ArmA required), this option will switch to missile camera and the missile will switch to manual control. Move the mouse over the steerable area to guide the missile, mouse wheel allows you to zoom in/out the camera. The small green circle marks the position selected as target, when range is smaller than 1500m a new rectangle mark will be displayed (you are inside terminal guidance phase and better you aim directly to the target). If you turn off the remote camera view while a missile is flying in manual control mode, it will switch back to automatic guidance. Note that once missile's endurance goes down to 0, the missile engine will turn off.

If there is no reco neither cruise missile in-flight, the camera will switch to the leader's plane/chopper of other missions in course clycling between them.

The priority for camera is cruise missile -> reconnaissance plane -> anyother mission plane in-flight.

While in camera view, you may left click to hide/show the right console.

RC OFF Remote Camera OFF
JUMP/LAND If jump is selected, airborne assault and reinforcements will jump in chutes from their transports, else the transport will land and then troops will disembark. Make sure the selected transport is a chopper for LAND mode (mando_airsupport_type_pal global var). mando_airsupport_jump global added to set the initial selection for this option: true = jump, false = land (default value is true).
Back to index
 
 
 
 

Mando Bombs ArmA demo missions:

Demo mission Content description Scripts used and main scripts for demo
mando_bombs.Intro Quite basic example of free fall bombs runs (mando_bombs.sqf). Check init.sqf as all the bomb runs are set up there. mando_bombs.sqf
mando_bombs_map.Intro Simple onMapSingleClick calls for air support and bomb runs. Check both radio triggers near the player, these triggers setup the onMapSingleClick functionality.

Basic bomb runs and air support with free fall or SADARM bombs.

mando_bombs.sqf
mando_bombs_basic_mapclick.sqf
mando_basic_bombrun.sqf
mando_basic_airsupport.sqf
mando_bombs_sadarm.sqf
mando_bombs_effects.sqf
mando_bombs_mapdlg.Sara Advance Air Support console. With this console the player may setup bomb runs and air support missions with free fall bombs or SADARM systems, gunships support, airborne assaults, combat air patrols, ammo and vehicle supply missions, reconnaissance and evacuation missions. Check init.sqf. mando_bombs.sqf
mando_airsupportdlg.sqf
mando_bombs_sadarm.sqf
mando_bombs_effects.sqf
mando_airsupportdlg.h
mando_bombs_mapdlg_mma.Sara Advance Air Support console. With this console the player may setup bomb runs and air support missions with free fall bombs or SADARM systems, gunships support, airborne assaults, combat air patrols, ammo and vehicle supply missions, reconnaissance and evacuation missions.

This mission is exactly the same as the previous one, but with Mando Missile ArmA initialized (in this case, as addon). With Mando Missile ArmA initialized, cruise missile and missile saturation options will be enabled and spawned support planes and choppers are equipped with countermeasure dispensers. Two ZSUs in the mission become SAM launchers able to egange incoming missiles or aerial units.

mando_bombs.sqf
mando_airsupportdlg.sqf
mando_bombs_sadarm.sqf
mando_bombs_effects.sqf
mando_airsupportdlg.h
mando_bombs_at.Intro Basic example of SADARM system air deployment. Check init.sqf mando_bombs_sadarm.sqf
mando_bombs_effects.sqf
mando_bombs_at2.Intro Basic example of SADARM ground deployed by players. Check init.sqf.. mando_bombs_sadarm.sqf
mando_bombs_effects.sqf
mando_deploy_sadarm.sqf
mando_bombs_at3.Intro Basic example of artillery firim SADARM submunitions. Check init field of player's static gun. mando_bombs_sadarm.sqf
mando_bombs_effects.sqf
mando_arty_sadarm.sqf
mando_armadas.Sara Fully playable MP or SP mission. Locate and destroy the enemy carrier.
Mando Missile ArmA and Kaio's USS Nimitz addons required. 
mando_bombs.sqf
mando_airsupportdlg.sqf
mando_bombs_sadarm.sqf
mando_bombs_effects.sqf
mando_airsupportdlg.h
mando_bombs_laserandcap.Sara Advance Air Support console. Order CAP, reco and laser bombs support mission to take the enemy airfield.

Mando Missile ArmA initialized (in this case, as addon). With Mando Missile ArmA initialized CAP missions will be really effective and you will be able to use any plane to order laser guided bombs attacks.

mando_bombs.sqf
mando_airsupportdlg.sqf
mando_bombs_sadarm.sqf
mando_bombs_effects.sqf
mando_airsupportdlg.h
mando_bombs_no_mapdlg.Intro  Usage of support missions directly from script executions instead of the dialog based console. mando_airsupport_nodlg.sqf
mando_bombs_armedrec.Sara (Updated) Armed reconnaissance mission. You are able to attack locked on positions or vehicles using the camera.

Mando Missile ArmA initialized (in this case, as addon). Mando Missile is required for armed reco missions.

mando_airsupportdlg.sqf
mando_giveme_console.sqf
mando_airsupportdlg.h
mando_bombs_airsadarm.Intro (NEW) Mando Missile ArmA initialized (in this case, as addon). AG mode uses SADARM bombs.
It is, in fact, a mando missile arma visual launcher using AA missiles and mando bombs.
Back to index
 
 
 

Mando Bombs ArmA script list:

script Purpose
mando_bombs.sqf A plane will perform real and accurate free fall or SADARM bombs run against indicated object or coordinates. The plane will drop two bombs in sequence.
mando_airsupportdlg.sqf and
mando_airsupportdlg.h
Creates and handles the air support console. From this console you may order bomb runs against selected position in the map, or close air support missions where the planes will engange any not friendly vehicle, ship or static weapon within a range of 500m around the marked center. Gunships support, airborne assaults, reconnaissance, evacuation missions and cruise missile attacks are also available from the console.

mando_bombs\mando_airsupportdlg.h must by included in your mission's description.ext file.

mando_giveme_console.sqf  Universal script to provide air support console action considering respawns and user defined conditions to allow access to the console.
mando_airsupport_nodlg.sqf Provides same missios as mando_airsupportdlg.sqf (except reconnaissance) but use direct script arguments instead of dialog interface and uses the same global vars except that number of missions left per type is not considered.
mando_basic_airsupport.sqf If you dont provide an existing plane, the script creates one. The plane will perform a free fall or SADARM air support against targets located within 500 from the indicated air support coordiantes. If the plane was spawned by the script, it will be deleted few seconds after support mission ends.
mando_basic_bombrun.sqf If you dont provide an existing plane, the script creates one. The plane will perform a free fall or SADARM bomb run against indicated coordinates. If the plane was spawned by the script, it will be deleted few seconds after the bomb run ended.
mando_bombs_basic_mapclick.sqf Calls for bomb run or air support (free fall or SADARM) by clicking coordinates on the map.
mando_bombs_sadarm.sqf Spawns a SADARM bomb.
mando_deploy_sadarm.sqf Deploys a ground SADARM. Use this script as menu action script to provide players SADARM manual deployment capability. Number of SADARMs should be provided as third argument of the add action script.
mando_arty_sadarm.sqf Provides SADARM capability to artillery and tank units. Players will have a display showing aiming data for SADARM bombardment. The player must pick the horizontal range to the target first (ground hit range), and then elevate the gun until SADARM activation range is close to the previously calculated ground hit range, and then fire a HEAT round.
mando_bombs_effects.sqf This script is automatically executed by mando_bombs_sadarm.sqf and mando_deploy_sadarm.sqf.
Back to index
 
 
 

Mando Bombs ArmA scripts in detail:



mando_bombs.sqf

A plane will perform real and accurate free fall or SADARM bombs run against indicated object or coordinates. The plane will drop two bombs in sequence.

if "SADARM" type is selected as bomb type, this script will require the presence of mando_bombs_sadarm.sqf and mando_bombs_effects.sqf.
 
Script parameter Description
Attacking plane plane that will perform the attack (you may use any plane type).
Target Object (vehicle, ship, soldier, building, gamelogic, etc) or coordinates
Radio true/false. If true, pilot will radio mission status messages.
Bomb position Relative position to the launcher in model coordinates. Second bomb will be spawed inverting the first element.
For example [2, 0, -2] will spawn first bomb 2m to the right of the plane and 2m below, second bomb 2m to the left of the plane and 2m below.
Altitude over target The flying altitude of the plane, between 100 and 300
Bomb class (optional) The class of a bomb type ammo or the special type "SADARM". "Bo_GBU12_LGB" is used by default if this parameter is not provided.

Examples:
scr = [plane1, target1, true, [2, 0, -2],100]execVM"mando_bombs\mando_bombs.sqf";

scr = [plane1, getMarkerPos "mk_objetive", true, [2, 0, -2], 150, "SADARM"]execVM"mando_bombs\mando_bombs.sqf";

To check whether an attack run has finished, use if (scriptDone _scr) then {// attack finished};
This script updates also "mando_airsupport_state" internal vehicle variable with the following possible states:
         "Ingressing"; Ingressing for bomb run.
         "Egressing"; Egressing from bomb run.
         "Destroyed"; Plane destroyed.
         "Enganging": Attacking position.
         "Enganging target": Attacking object.
         "SADARMs away": SADARMs have been dropped over target.
         "Bombs away": Free fall bombs have been dropped over target.
         "No visual": The attacker cannot see the target.
         "Failed to align": The attacker failed to aling in time with the target.

You may use getVariable command to check the current value.

Back to index



 



mando_airsupportdlg.sqf

Creates and handles the air support console. From this console you may order bomb runs against selected position in the map, or close air support missions where the planes will engange any not friendly vehicle, ship or static weapon within a range of 500m around the marked center. This console also allows the operator to call for gunships support, airborne assaults and cruise missile attacks.

This script doesnt require parameters, you may execute it as action menu, from a trigger, etc.
This script requires mando_bombs.sqf, mando_bombs_sadarm.sqf and mando_bombs_effects.sqf.
This script requires mando_airsupportdlg.h, include it in your description.ext file (#include "mando_bombs\mando_airsupportdlg.h").

This script uses the following set of global variables:
   mando_support_left_WEST: Maximum number of west planes available for bomb run or cas missions (default value is 8).
   mando_support_left_EAST: Maximum number of east planes available for bomb run or cas missions (default value is 8).
   mando_support_left_GUER: Maximum number of res planes available for bomb run or cas missions (default value is 8).
   mando_support_left_CIV: Maximum number of civ planes available for bomb run or cas missions (default value is 8).
   mando_support_left_ca_WEST: Maximum number of west chopper attacks (default value is 8).
   mando_support_left_ca_EAST: Maximum number of east chopper attacks (default value is 8).
   mando_support_left_ca_GUER: Maximum number of res chopper attacks (default value is 8).
   mando_support_left_ca_CIV: Maximum number of civ chopper attacks (default value is 8).
   mando_support_left_pa_WEST: Maximum number of west airborne chopper assaults (default value is 8).
   mando_support_left_pa_EAST: Maximum number of east airborne chopper assaults  (default value is 8).
   mando_support_left_pa_GUER: Maximum number of res airborne chopper assaults  (default value is 8).
   mando_support_left_pa_CIV: Maximum number of civ airborne chopper assaults  (default value is 8).
   mando_support_left_cm_WEST: Maximum number of west cruise missile attacks (default value is 8).
   mando_support_left_cm_EAST: Maximum number of east cruise missile attacks (default value is 8).
   mando_support_left_cm_GUER: Maximum number of res cruise missile attacks (default value is 8).
   mando_support_left_cm_CIV: Maximum number of civ cruise missile attacks (default value is 8).
   mando_support_left_rc_WEST: Maximum number of west reconnaissance missions (default value is 8).
   mando_support_left_rc_EAST: Maximum number of east reconnaissance missions (default value is 8).
   mando_support_left_rc_GUER: Maximum number of res reconnaissance missions (default value is 8).
   mando_support_left_rc_CIV: Maximum number of civ reconnaissance missions (default value is 8).
   mando_support_left_am_WEST: Maximum number of west ammo supply missions (default value is 8).
   mando_support_left_am_EAST: Maximum number of east ammo supply missions (default value is 8).
   mando_support_left_am_GUER: Maximum number of res ammo supply missions (default value is 8).
   mando_support_left_am_CIV: Maximum number of civ ammo supply missions (default value is 8).
   mando_support_left_ve_WEST: Maximum number of west vehicle supply missions (default value is 8).
   mando_support_left_ve_EAST: Maximum number of east vehicle supply missions (default value is 8).
   mando_support_left_ve_GUER: Maximum number of res vehicle supply missions (default value is 8).
   mando_support_left_ve_CIV: Maximum number of civ vehicle supply missions (default value is 8).
   mando_support_left_re_WEST: Maximum number of west reinforcement missions (default value is 8).
   mando_support_left_re_EAST: Maximum number of east reinforcement missions (default value is 8).
   mando_support_left_re_GUER: Maximum number of res reinforcement missions (default value is 8).
   mando_support_left_re_CIV: Maximum number of civ reinforcement missions (default value is 8).
   mando_support_left_cp_WEST: Maximum number of west CAP missions (default value is 8).
   mando_support_left_cp_EAST: Maximum number of east CAP missions (default value is 8).
   mando_support_left_cp_GUER: Maximum number of res CAP missions (default value is 8).
   mando_support_left_cp_CIV: Maximum number of civ CAP missions (default value is 8).
   mando_support_left_sa_WEST: Maximum number of west cruise missile saturation attacks (default value is 8).
   mando_support_left_sa_EAST: Maximum number of east cruise missile saturation attacks (default value is 8).
   mando_support_left_sa_GUER: Maximum number of res cruise missile saturation attacks (default value is 8).
   mando_support_left_sa_CIV: Maximum number of civ cruise missile saturation attacks (default value is 8).
   mando_support_left_ev_WEST: Maximum number of west evacuation missions (default value is 8).
   mando_support_left_ev_EAST: Maximum number of east evacuation missions (default value is 8).
   mando_support_left_ev_GUER: Maximum number of res evacuation missions (default value is 8).
   mando_support_left_ev_CIV: Maximum number of civ evacuation missions (default value is 8).
   mando_support_left_la_WEST: Maximum number of west laser bombs missions (default value is 8).
   mando_support_left_la_EAST: Maximum number of east laser bombs missions (default value is 8).
   mando_support_left_la_GUER: Maximum number of res laser bombs missions (default value is 8).
   mando_support_left_la_CIV: Maximum number of civ laser bombs missions (default value is 8).
   mando_support_left_cb_WEST: Maximum number of west carpet bombing missions (default value is 8).
   mando_support_left_cb_EAST: Maximum number of east carpet bombing missions (default value is 8).
   mando_support_left_cb_GUER: Maximum number of res carpet bombing missions (default value is 8).
   mando_support_left_cb_CIV: Maximum number of civ carpet bombing missions (default value is 8).

   mando_airsupport_carpetcode: Code global var with code for carpet bombing, receives plane and target position as arguments.

Code variable example for carpet bombing using AV8B with 6 bombs, this might be setup directly into your init.sqf
// Carpet bombing custom code global variable for AV8B
mando_airsupport_carpetcode =
{
   private["_plane", "_targetpos"];
   _plane = _this select 0;
   _targetpos = _this select 1;

   // Wait until horizontal distance between plane and target position is < 2000m or until plane is destroyed
   while {(([getPos _plane select 0, getPos _plane select 1, 0] distance _targetpos) > 2000) && (alive _plane)} do
   {
      Sleep 1;
   };

   // If the plane is alive, it drops 6 bombs in sequence.
   if (alive _plane) then
   {
      for [{_i=0}, {_i<6}, {_i=_i+1}] do
      {
         // A bomb is dropped, index 0 is for LGBs in the AV8B, if you change the plane type, set here the correct weapon index for bombs
         _plane action ["useWeapon",_plane,driver _plane,0];
         Sleep 0.4;
      };
   };
};

   mando_airsupport_type: type of plane for the missions (default value is "AV8B2" for west and "Su34B" for east).
   mando_airsupport_type_ca: type of chopper for chopper attack missions (default value is "AH1W" for west and "KA50" for east).
   mando_airsupport_type_pa: type of chopper for airborne assault and reinforcements missions (default value is "AH1W" for west and "KA50" for east).
   mando_airsupport_type_pal: type of chopper for airborne assault landing missions (default value is "UH60MG" for west and "Mi17_MG" for east)
   mando_support_infantrytype: Array defining soldier classes for airborne assaults infantry groups.
   mando_support_infantrytype_re: Array defining soldier classes for reinforcements missions.
   mando_airsupport_type_rc: type of plane or chopper for reconnaissance missions (default is "AV8B" for west and "Su34" for east).
   mando_airsupport_type_ev: type of chopper for evacuation missions (default is "UH60MG" for west and "Mi17_MG" for east).
   mando_airsupport_type_am: type of chopper for ammo supply missions (default value is "UH60MG" for west and "Mi17_MG" for east).
   mando_airsupport_type_ambox: ammo box type to be used in ammo supply missions, default is "WeaponBoxWest" for west, etc.

   mando_airsupport_type_ve: type of chopper for vehicle supply missions (default value is "UH60MG" for west and "Mi17_MG" for east).
   mando_airsupport_type_vehicle: vehicle type to be used in vehicle supply missions, default is "Truck5t" for west, etc.
   mando_airsupport_type_cp: type of plane or chopper for CAP missions (default is "AV8B" for west and "Su34" for east).
   mando_airsupport_type_la: type of plane for laser bombs missions (default is "AV8B" for west and "Su34B" for east).
   mando_airsupport_type_cb: type of plane for carpet bombing missions (default is "AV8B" for west and "Su34B" for east).

   mando_airsupport_range: Range from target where the planes will be spawned (default and minimum value is 4500).
   mando_airsupport_range_he: Range from target where the helicopters will be spawned (default and minimum value is 4500).

   mando_airsupport_max_cas: In close air support, maximum number of attacks per plane (default value is 2).
   mando_airsupport_bomb_type: The class of a bomb type ammo or the special type "SADARM". "Bo_GBU12_LGB" is used by default.
   mando_airsupport_bomb_alt: The base flying altitude for the bomb runs in m, default value is 150.
   mando_airsupport_bomb_altmax : The maximum base flying altitude for the bomb runs or reco in m, default value is 400, max is 1000.
   mando_airsupport_bomb_pos: Model coords position of a bomb spawned relative to the plane (the second bomb will be spawned at the opposite side). [2, 0, -2] by default.
   mando_airsupport_cmissile: Cruise missile launcher (requires mando missile initialized), default value is objNull;
   mando_airsupport_cmissile_pos: Model coordinates of the cruise missile launch position.
   mando_airsupport_cmissile_alt :cruise altitude for cruise missiles flying in inertial mode, default is 800m.

   mando_support_ingress_limits: Array with angles limiting the ingress arc [min, max], by default [-180,180] (any direction).
   mando_ingress_dir : Initial ingrees dir, between defined ingress limits, by default the half of the limits defined range.
   mando_reco_cam_filter: array [R,G,B,A] for reconnaissance and missile camera color filter, by default [0,0,0,0]
   mando_reco_cam_pos: model coordinates of reconnaissance camera relative to reconnaissance plane, by default [0,3,-2]
   mando_last_plane_cam_pos:  model coordinates of last mission plane camera (except reco), by default [0,1,-2.5]

   mando_airsupport_planes_delay: number of seconds after any mission activation (except missiles) to wait until the option is enabled again (default is 4).
   mando_airsupport_missile_delay: number of seconds after cruise missile attack to wait until the option is enabled again (default is 15).
   mando_support_enemy_sides: array of enemy sides for laser and gun ships support armed with mando missiles. (default = [east] for west, resistance and civilian players, [west] for east players.

   mando_no_default_map: if true, default map click behaviour will be disabled (overrides any onMapSingleClick active code, default is false).

   mando_airsupport_magz: array of pairs of [mag class, quantity] in case you want to change the default content of ammo boxes ([] by default, which means default ammo box maganize content). Ex.: mando_airsupport_magz = [["30Rnd_556x45_G36", 7], ["10Rnd_127x99_m107", 5]];
   mando_airsupport_weap: array of pairs of [weapon class, quantity] in case you want to change the default content of ammo boxes ([] by default, which means default ammo box maganize content). Ex.: mando_airsupport_weap = [["G36K", 2], ["m107", 2]];

   mando_airsupport_re_switchable: true if reinforcement units will be switchable/playable (default value is false).
   mando_airsupport_ab_switchable: true if airborne assault units will be switchable/playable (default value is false).
   mando_airsupport_jump: true for JUMP, false for LAND (applies to reinforcements and airborne assault missions).
   mando_airsupport_ab_action: code var receiving airborne assault group as argument, executed when infantry group is created.
   mando_airsupport_re_action: code var receiving reinforcements group as argument, executed when infantry group is created.

Code variable example for weaponless reinforcements directly into your init.sqf
mando_airsupport_re_action =
{
   private["_grp"];
   _grp = _this select 0;
   {
      removeAllWeapons _x;
   } forEach units _grp;
};
 

   mando_airsupport_armedrec: true if player can use reconnaissance planes to attack targets (requires mando missile), default value is false.
   mando_airsupport_armedrec_max: number of attacks allowed per reco plane (requires mando missile), default value is 4.
   mando_airsupport_rec_captive: true will set reconnaissance pilot captive (default is false).
   mando_airsupport_maxrecoscan: max distance to scan with camera (default value is 1500m + mando_airsupport_bomb_altmax).
   mando_airsupport_armedrec_man: true if missiles fired from armed reco plane will have manual (TV) guidance, default is false.

   mando_airsupport_nocomms:  if set to 1, comms will not work and the console will become useless, default value is 0.
   mando_support_side: side for the console, if not defined it will be equal to side player
   mando_airsupport_cams: read only array with the planes of the mission leaders currently flying commanded from this console (you may copy its content to a global per side and then publish it periodically so that other players might have remote cams for these planes).

   mando_airsupport_info: Structured text with info that is displayed in the info/setup dialog.
Example of structured text:
mando_airsupport_info = "Mission info: <br />Try altitudes between 190 and 250m for carpet bombing using AV8B.<br /><br /><t color='#ff0000'>Objetive:</t><br />Destroy vehicles near Cayo and enemy ships aproaching your missile launcher at the NW.<br />Try also the support options available for this mission (all the setup is into init.sqf script).<br /><t color='#ffAA00'>If you destroy the radar tower near your initial position, comms will be lost.</t><br /><br />Note that the options you see below are fully customizable using globals (same as this text block), check online help for more info.";
 

   mando_airsupport_opt1_text: Simple text for info/setup listbox1 title
   mando_airsupport_opt1_array: Array of texts for info/setup listbox1 contents
   mando_airsupport_opt1_action: Code variable with opt1 action when selected item changes (receives item text as argument)
   mando_airsupport_opt2_text: Simple text for info/setup listbox2 title
   mando_airsupport_opt2_array: Array of texts for info/setup listbox2 contents
   mando_airsupport_opt2_action: Code variable with opt2 action when selected item changes (receives item text as argument)
   mando_airsupport_opt3_text: Simple text for info/setup listbox3 title
   mando_airsupport_opt3_array: Array of texts for info/setup listbox3 contents
   mando_airsupport_opt3_action: Code variable with opt3 action when selected item changes (receives item text as argument)
   mando_airsupport_opt4_text: Simple text for info/setup listbox4 title
   mando_airsupport_opt4_array: Array of texts for info/setup listbox4 contents
   mando_airsupport_opt4_action: Code variable with opt4 action when selected item changes (receives item text as argument)
   mando_airsupport_opt5_text: Simple text for info/setup listbox5 title
   mando_airsupport_opt5_array: Array of texts for info/setup listbox5 contents
   mando_airsupport_opt5_action: Code variable with opt5 action when selected item changes (receives item text as argument)

Example to setup one of the options lisboxes with several options for reinforcements:
   // This code might be into an activation script or directly into your init.sqf
   // Title of the second listbox inside setup/info dialog
   mando_airsupport_opt2_text = "Reinforcements type";

   // Items inside second listbox
   mando_airsupport_opt2_array = ["Normal", "Heavy AA","Heavy MG","Engineers"];

   // Code executed when selection chages in second listbox, it changes mando_support_infantrytype_re content based on selected item
   mando_airsupport_opt2_action =
   {
      private["_item"];
      _item = _this select 0;
      switch (_item) do
      {
         case "Normal":
         {
            mando_support_infantrytype_re = ["TeamLeaderW","SoldierWMedic","SoldierWAT","SoldierWB","SoldierWB","SoldierWB","SoldierWB","SoldierWB","SoldierWB","SoldierWB"];
         };

         case "Heavy AA":
         {
            mando_support_infantrytype_re = ["TeamLeaderW", "SoldierWMedic", "SoldierWAA","SoldierWAA","SoldierWB","SoldierWB","SoldierWB","SoldierWB","SoldierWB","SoldierWB"];
         };

         case "Heavy MG":
         {
            mando_support_infantrytype_re = ["TeamLeaderW", "SoldierWMedic", "SoldierWMG","SoldierWMG","SoldierWB","SoldierWB","SoldierWB","SoldierWB","SoldierWB","SoldierWB"];
         };

         case "Engineers":
         {
            mando_support_infantrytype_re = ["TeamLeaderW", "SoldierWMedic", "SoldierWMiner","SoldierWMiner","SoldierWMiner","SoldierWB","SoldierWB","SoldierWB","SoldierWB","SoldierWB"];
         };
      };
   };
 

   The following variables set to true disable corresponding buttons:
   mando_support_no_cas: Disables Close Air Support button (default value is false).
   mando_support_no_br: Disables Bomb run button (default value is false).
   mando_support_no_ff: Disables Free fall bombs button (default value is false).
   mando_support_no_sa: Disables SADARM button (default value is false).
   mando_support_no_gs: Disables Gunships Support button (default value is false).
   mando_support_no_ab: Disables Airborne assault button (default value is false).
   mando_support_no_cm: Disables Cruise missile attack button (default value is false)
   mando_support_no_sat: Disables Cruise missile saturation attack button.
   mando_support_no_rc: Disables reconnaissance button.
   mando_support_no_ev: Disables evacuation button.
   mando_support_no_am: Disables ammo supply button.
   mando_support_no_ve: Disables vehicle supply button.
   mando_support_no_re: Disables Airborne reinforcements button.
   mando_support_no_cp: Disables Combat Air Patrol button.
   mando_support_no_la: Disables laser bombs button.
   mando_support_no_cb: Disables carpet bombing button.

   The following variables may be set to radio resources to have radio chat messages (default value for radio resources is "").
   mando_console_radio_delay: Delay in seconds between request and reply, by default 4.
   mando_radio_req_cas: Request for CAS
   mando_radio_rep_cas: Reply from CAS
   mando_radio_req_br: Request for bomb run
   mando_radio_rep_br: Reply from bomb run
   mando_radio_req_gs: Request for gunships
   mando_radio_rep_gs: Reply from gunships
   mando_radio_req_ab: Request for airborne assault
   mando_radio_rep_ab: Reply from airborne assault
   mando_radio_repr_ab: Reply from airborne assault ready
   mando_radio_req_cm: Request for cruise missile
   mando_radio_rep_cm: Reply from cruise missile
   mando_radio_req_sa: Request for saturation
   mando_radio_rep_sa: Reply from saturation
   mando_radio_req_am: Request for ammo supply
   mando_radio_rep_am: Reply from ammo supply otw
   mando_radio_repr_am: Reply from ammo supply ready
   mando_radio_req_ve: Request for vehicle supply
   mando_radio_rep_ve: Reply from vehicle supply otw
   mando_radio_repr_ve: Reply from vehicle supply ready
   mando_radio_req_re: Request for reinforcements
   mando_radio_rep_re: Reply from reinforcements otw
   mando_radio_repr_re: Reply from reinforcements ready
   mando_radio_req_cp: Request for CAP
   mando_radio_rep_cp: Reply from CAP otw
   mando_radio_req_rc: Request for reconnaissance
   mando_radio_rep_rc: Reply from reconnaissance otw
   mando_radio_req_ev: Request for evacuation
   mando_radio_rep_ev: Reply from evacuation otw
   mando_radio_repr_ev: Reply from evacuation ready
   mando_radio_req_la: Request for laser bombs
   mando_radio_rep_la: Reply from laser bombs otw
   mando_radio_req_cb: Request for carpet bombing
   mando_radio_rep_cb: Reply from carpet bombing otw

To set any of the avobe radio vars, you need to define the corresponding radio resources first in your description.ext, for example, for a evacuation request:
// description.ext file
class CfgRadio
{
   sounds[] = {};
   class my_evac_sound
   {
      name = "";
      sound[] = {"evac_request.ogg", db-0, 1.0};
      title = "Requesting evacuation chopper.";
   };
};
Then, in your init.sqf, you may set the corresponding global var:
// init.sqf
...
...
mando_radio_req_rc = my_evac_sound;
Remember to place the .ogg sound files for the radio transmissions into your mission Sound folder.
 
 

Before executing this script you may set the desired values for the previous variables, if you dont, default values will be used.
Examples:
player addAction ["Air Support console", "mando_bombs\mando_airsupportdlg.sqf"];
or
[]execVM"mando_bombs\mando_airsupportdlg.sqf";

Simple example of action reasignment after player's death:
// init.sqf
[]spawn
{
   while {true} do
   {
      player addAction ["Air Support console", "mando_airsupportdlg.sqf"];
      waitUntil {!alive player};
      waitUntil {alive player};
   };
};

Simple example of action reasignment after player's death, but only if player is corporal:
// init.sqf
[]spawn
{
   while {true} do
   {
      sleep 4;
      if (alive player) then
      {
         if (rank player == "CORPORAL") then
         {
            vehicle player addAction ["Air Support console", "mando_bombs\mando_airsupportdlg.sqf"];
         };
         waitUntil {!alive player};
      };
   };
};

Example assigning the action only if the player has a laser designator.
// Add somewhere to your init.sqf
[] spawn
{
  private["_acidx1", "_acidx2", "_unit", "_veh"];
  _acidx1 = -1;
  _acidx2 = -1;
  while {true} do
  {
     waitUntil {("Laserdesignator" in weapons player) && (alive player)};
     _acidx1 = player addAction ["Console: Air support", "mando_bombs\mando_airsupportdlg.sqf"];
     while {("Laserdesignator" in weapons player) && (alive player)} do
     {
        _unit = player;
        if (vehicle _unit != _unit) then
        {
           _veh = vehicle _unit;
           _acidx2 = vehicle _unit addAction ["Console: Air support", "mando_bombs\mando_airsupportdlg.sqf"];
           waitUntil {(vehicle _unit == _unit) || (!alive _unit)};
           _veh removeAction _acidx2;
        };
        Sleep 1;
     };
     _unit removeAction _acidx1;
  };
};

Example using the universal console allowance script:
res =  ["Air Support Console", {"Laserdesignator" in weapons player}]execVM"mando_bombs\mando_giveme_console.sqf";
 

This script requires mando_airsupportdlg.h included into your description.ext file.
// description.ext file
// Include required for air support console dialog
#include "mando_bombs\mando_airsupportdlg.h"
 

Back to index



 



mando_giveme_console.sqf

Provides air support console to the player and player's vehicle. The script supports player's respawns and allows you to provide also custom conditions to allow the usage of the console. Execute it preferabily from your init.sqf.
 
Script parameter Description
Action text text to be displayed in the action.
Condition extra By default, the script check alive state of player + this condition.
This condition is code, for example {rank player == "CORPORAL"}, set this condition as if it were the body of an if then block. Use this to set any conditions you want to check to provide console.
You need to provide a condition, if you dont know what to put here, use {alive player}

Examples:
Console provided if player is corporal
res =  ["Air Support Console", {rank player == "CORPORAL"}]execVM"mando_bombs\mando_giveme_console.sqf";

Console provided if player is driver inside an HMMWV
res =  ["Air Support Console", {(typeOf vehicle player == "HMMWV") && (player == driver vehicle player)}]execVM"mando_bombs\mando_giveme_console.sqf";

Back to index



 



mando_airsupport_nodlg.sqf

Provides same missios as mando_airsupportdlg.sqf (except reconnaissance) but use direct script arguments instead of dialog interface and uses the same global vars except that number of missions left per type is not considered.
 
 
Script parameter Description
Mission type "CALL_GUNSHIPS" -> A pair of planes or choppers will come to seek and destroy over target position.
"CALL_PARAS" -> A chopper or plane will drop an infantry group over target position, that group will SD and hold the position.
"CALL_REINF" -> A chopper or plane will grop an infantry group and this group will join the provided leader
"CALL_EVAC" -> A chopper will land at target position, will wait for units boarding it and then will take them to destination position
"CALL_AMMO" -> A chopper or plane will aproach target position and will drop a pair of ammo boxes in chutes.
"CALL_VEH" -> A chopper or plane will aproach target position and will drop the indicated empty vehicle type there.
"CALL_CAP" -> A pair of planes will sweep the target postion and will keep holding this position.
"CALL_LASER" -> A plane will aproach to target position and will provide laser guided bombs support.
"CALL_CRUISEMISSILE" -> The missile launcher will fire a missile against target position (requires Mando Missile ArmA and mando_airsupport_cmissile and mando_airsupport_cmissile_pos globals defined).
"CALL_MISSILESAT" -> The target area will be scanned and the missile launcher will fire two missiles per detected target (requires Mando Missile ArmA and mando_airsupport_cmissile and mando_airsupport_cmissile_pos globals defined).
Target position Map position. Planes, choppers and missiles will go there to provide support/strike.
Start position Where the planes and choppers will be spawned.
Destination position Destination position for evacuation missions, [0,0,0] for any other mission.
Side The friendly side of the mission.
Leader leader unit for reinforcement missions (reinforcements group will join him), else objNull or anyother unit.
Vehicle class Class of vehicle for CALL_VEH missions, else "".

Before executing this script you may set the desired values for the global variables listed for the dialog based script, if you dont, default values will be used.

Examples:
["CALL_GUNSHIPS", getPos player, getMarkerPos "mk_start", [0,0,0], side player, objNull,""] execVM"mando_bombs\mando_airsupport_nodlg.sqf";

["CALL_REINF", getPos player, getMarkerPos "mk_start", [0,0,0],side player, player, ""]execVM"mando_bombs\mando_airsupport_nodlg.sqf";

["CALL_CAP", getPos player, getMarkerPos "mk_start", getMarkerPos "mk_dest",side player, objNull,""] execVM"mando_bombs\mando_airsupport_nodlg.sqf";

["CALL_VEH", getPos player, getMarkerPos "mk_start", getMarkerPos "mk_dest",side player, objNull,"M113"] execVM"mando_bombs\mando_airsupport_nodlg.sqf";
 

Back to index



 



mando_basic_airsupport.sqf

If you dont provide an existing plane, the script creates one. The plane will perform a free fall or SADARM air support against targets located within 500m from the indicated air support coordiantes. If the plane was spawned by the script, it will be deleted few seconds after support mission ends.

This script requires the presence of mando_bombs.sqf, mando_bombs_effects.sqf and mando_bombs_sadarm.sqf.
 
Script parameter Description
Air support center position Targets will be automatically selected within a radius of 500m of this position.
Plane Plane to perform the attack or objNull if the script should create it.
Friendly side Side of the attacking plane.
Number of attacks Number of attacks in the air support mission. One plane in an air support mission will execute up to this number of attacks before leaving the area.
SADARM attack? true/false. If false, free fall bomb run will be performed, else SADARMs will be used.
Plane class The class of the plane you want to be spawned by the script if second parameter is objNull.

Examples:
scr = [_pos, objNull, side player, 3, false, "AV8B2"]execVM"mando_bombs\Mando_basic_airsupport.sqf";

If you want to modify ingress direction or range open Mando_basic_airsupport.sqf and change _ang = 180 and/or 4500 (default range from target for spawned planes) four lines below.

Back to index



 



mando_basic_bombrun.sqf

If you dont provide an existing plane, the script creates one. The plane will perform a free fall or SADARM bomb run against indicated coordinates. If the plane was spawned by the script, it will be deleted few seconds after the bomb run ends.

This script requires the presence of mando_bombs.sqf, mando_bombs_effects.sqf and mando_bombs_sadarm.sqf.
 
Script parameter Description
Attack position The position to be attacked.
Plane Plane to perform the attack or objNull if the script should create it.
Friendly side Side of the attacking plane.
SADARM attack? true/false. If false, free fall bomb run will be performed, else SADARMs will be used.
Plane class The class of the plane you want to be spawned by the script if second parameter is objNull.

Examples:
res = [_pos, objNull, side player, false, "AV8B2"]execVM"mando_bombs\mando_basic_bombrun.sqf"
or
res = [_pos, my_existing_plane, side player, false, ""]execVM"mando_bombs\mando_basic_bombrun.sqf"

If you want to modify ingress direction or range open Mando_basic_bombrun.sqf and change _ang = 180 and/or 4500 (default range from target for spawned planes) four lines below.

Back to index



 



mando_bombs_basic_mapclick.sqf

Calls for bomb run or air support (free fall or SADARM) by clicking coordinates on the map.

This script requires the presence of mando_bombs.sqf, mando_bombs_effects.sqf, mando_bombs_sadarm.sqf, mando_basic_airsupport.sqf and mando_basic_bombrun.sqf.
 
Script parameter Description
Plane type Plane type to perform the attack.
Mission type true = air support, false = single bomb run.
Attack type true = SADARM, false = free fall bombs.

Example:
res = ["AV8B2", false, false]execVM"mando_bombs\mando_bombs_basic_mapclick.sqf"

Back to index



 



mando_bombs_sadarm.sqf

Spawns a SADARM aerial bomb.

This script requires the presence of mando_bombs_effects.sqf.
 
Script parameter Description
Launcher SADARM launcher (if any) or objNull (if none).
Position Bomb spawn position (in world coordinates, not model ones).

Example:
[plane1, plane1 modelToWorld[3, 0, -2]]execVM"mando_bombs\mando_bombs_sadarm.sqf";
Sleep 0.2;
[plane1, plane1 modelToWorld[-3, 0, -2]]execVM"mando_bombs\mando_bombs_sadarm.sqf";

Back to index



 



mando_deploy_sadarm.sqf

Deploys a ground SADARM. Use this script as menu action script to provide players SADARM manual deployment capability. Number of SADARMs should be provided as third argument of the add action script.

These SADARMs have a scanning device and a rocket, when the scanning device detects a potential target inside its searching area (150m radius), the rocket is ignited and climbs over 100m to deploy a real SADARM.

This script requires the presence of mando_bombs_sadarm.sqf and mando_bombs_effects.sqf.

mando_sadarm_action global variable keeps (if any) the action id of player's sadarm deployment action.
if number of sadarms left is 0, action is removed and mando_sadarm_action returns to -1

Example:
// A player able to deploy 3 SADARMs.
player addAction ["Deploy SADARM (3 left)", "mando_bombs\mando_deploy_sadarm.sqf", 3];

Back to index



 



mando_arty_sadarm.sqf

Provides SADARM capability to artillery and tank units. Players will have a display showing aiming data for SADARM bombardment. The player must pick the horizontal range to the target first (ground hit range), and then elevate the gun until SADARM activation range is close to the previously calculated ground hit range, and then fire a HEAT round.

This script requires the presence of mando_bombs_sadarm.sqf and mando_bombs_effects.sqf.

mando_sadarm_shell_types array contains the valid shell types for SADARM artillery shots, add more at will.
 
Script parameter Description
Artillery unit Usually a static gun

Example (init field of an artillery gun):

res=[this]execVM"mando_bombs\mando_arty_sadarm.sqf";

Back to index