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)
| 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:
|
| 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. |
| 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.
|
| 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). |
| 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. |
| 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. |
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.
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"
| 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";
| 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";
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.
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.
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"
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";
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];
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";