
NOTE: All the visual systems provided
within Mando Missile (HUDs, MCCs, MMCs and TV cameras) are calibrated to
appear correctly with the interface size set to "normal". You will
find that option in ArmA2 -> Options->Video Options -> Advanced -> Interface
Size.
Zip contents, installation and
script suite setup
Example missions included in the
zip
Mission gamelogics for Mando Missile
and Mando Gun
MOD specific
gamelogics
The HUD system
HUD structure
HUD modes
Navigation<-
NEW
Custom
HUDs
Helmet
Mounted Displays
HUDs
for Portable Sytems
BIS Radar
block in HUD mode
HUD Key
bindings
Mando Missile ArmA Rearming System
MCCs and TV systems
Mando Gun ArmA
Mando Air Support Console
Mando SCUD (OA)
Mando SAM Site Control Center
Mando Score
Credits and special thanks
Contact info
// Description.ext file3 - Create an init.sqf file within your mission's folder containing:
// Needed for Mando Missile ArmA
#include "mando_missiles\mando_missile.h"
// End of Needed for Mando Missile ArmA
class RscTitles
{
// Needed for Mando Missile ArmA
#include "mando_missiles\mando_missiletitles.h"
// End of Needed for Mando Missile ArmA
};
class CfgSounds
{
sounds[] = {};
// Needed for Mando Missile ArmA
#include "mando_missiles\mando_sounds.h"
// End of Needed for Mando Missile ArmA
};
// init.sqf file4 - Add more MMA systems setup scripts to the init.sqf as needed. Note that you can also startup individual systems present inside any of these scripts.
// Mando Missisle initialization
[false]execVM"mando_missiles\mando_missileinit.sqf";// Wait for Mando Missile script suite initialization
waitUntil {!isNil "mando_missile_init_done"};
waitUntil {mando_missile_init_done};
// Default systems setup5 - Override MMA globals if needed. Note that all the following globals are already set to default values by mando_missileinit.sqf, just in case you can override anyone, add the corresponding line and desired values to the mission's init.sqf
[]execVM"mando_missiles\mando_setup_full.sqf";// FFAA Mod systems setup
[]execVM"mando_missiles\mando_setup_ffaa.sqf";// ACE2 systems setup
[]execVM"mando_missiles\mando_setup_ace.sqf";// Mando gun sounds and tracer effects setup
[]execVM"mando_missiles\mando_gun\mando_guninit.sqf";
// A new class to be used as MMA rearming pointBack to index
mando_rearm_sources_classes = mando_rearm_sources_classes + ["Land_Barrel_empty"];// Minimum altitude for Air units to be detected by radar
mando_minairalt = 10;// Forbidden weapons and magazines
// Put there class names for weapon combinations that will not be allowed from rearming dialog
mando_weapons_forbidden = ["ACE_B61BombLauncher"];// BIS HUD (top radar) covered by red bars
mando_hide_bis_hud = true;// 4 Arrays of colours to be used when toggling MMA HUD colours
mando_hud_colors_sets = [
[[0.5,1,0.5],[0.5,1,0.5],[0.5,1,0.5],[0.5,1,0.5],[0.5,1,0.5],[0.5,1,0.5]],
[[1,0.5,0],[1,0.5,0],[1,0.5,0],[1,0.5,0],[1,0.5,0],[1,0.5,0]],
[[0.5,1,0.5],[0.5,1,0.5],[0.5,1,0.5],[0.5,1,0.5],[0.5,1,0.5],[0.5,1,0.5]],
[[0,0.7,0.5],[0,0.7,0.5],[0,0.7,0.5],[0,0.7,0.5],[0,0.7,0.5],[0,0.7,0.5]]
];// Dont show a hint displaying MMA keys when a HUD is activated
mando_show_hint_global = false;// If you find some weird effects when firing a missile against a locked on target,
// just in case there is an addon conflict set it to true
mando_fire_exclusive = true;// Default images for RWRs for east and west units
mando_rwrimg_west = "my_desired_rwr_west.paa";
mando_rwrimg_east = "my_desired_rwr_east.paa";// Overal difficulty for flares (> 0 easier, < 0 harder)
mando_minchaffdist = 0;// Array defining stealth planes/choppers classes (Mando Missile ArmA full and mando_setup_full.sqf define F35B as stealth by default
mando_missile_stealth = mando_missile_stealth + ["my_desired_stealth_class1","my_desired_stealth_class2"];// Array of weapons considered LaserMarkers (its default value is ["Laserdesignator"])
mando_lasers = mando_lasers + ["Laserdesignator_classA","Laserdesignator_classB"];// If defined, this variable sets the type of MLRS to be used GMLRS = 0, MLRS SAM = 1, if not defined MMA will not add automatically any systems for the MLRS
mma_mlrs_mode = 0;
| Mission name | Description |
| mma_nuclear_mirv.utes | Basic example of nuclear missile deploying MIRV warheads. Missile and mirvs are Mando Missiles. |
| mma_stealth_test_addon.utes | Example of MCC system (activated via menu action) and target detection. F35B is marked as 'stealth' capable. |
| mma_test_ccip_addon.utes | 6 AV8B vs an enemy fleet, use your CCIP mode to bomb the enemy carrier's deck. |
| mma_test_frigate_addon.utes | Run the intro of this mission to see some automatic systems in action |
| mma_test_ground_addon.utes | Laser designator and manually guided TOW example mission (also included BMP-2 and BRDM-2 missiles). |
| mma_test_replace_addon.utes | Your Harrier vs 3 Su34's with replaced BIS missiles. |
| mma_test_sams_addon.utes | Avenger and Tunguska with HUD systems and BTR90_HQ and LAV25 with MCC systems, all acting as SAM launchers for players as gunners (remember, the MCCs are activated via menu action). |
| mma_test_scud_addon.Chernarus | Missiles vs Missiles, or SCUDs vs Patriots. |
| mma_test_sys_addon.utes | Test any ArmA2 plane or chopper with Mando Missile systems (note that some systems such as the TV cameras are activated via the action menu), in some cases pilot and gunner systems are different. To test the desired vehicle or position, change its control option inthe editor to 'Player' |
| mma_test_sys_others_addon.utes | Same as previous one, but for all Mike's GLT F-16 variants and Gnat's B-52. |
| mma_test_torm1_addon.utes | Mando Missile AI handling TorM1 simulated launchers. |
| mma_tv_k52_addon.Chernarus | You are the gunner in a Ka52, use the TV camera to guide your pilot, locate and destroy air and ground targets and/or lock on targets and transmit their positions so that a friendly unit may engange them. |
| mando_missile_lab_addon.Chernarus | Dialog based Missile configurator tool. It allows you to play and experiment will all Mando Missile parameters. |
| mando_gun_arma.utes | Example of Mando Gun ArmA working with Phalanx turret models |
| mma_test_kuz.utes | Gnat's Kuznetsov carrier full setup with Mando Missiles and Mando Guns |
| mma_test_portables_addon.utes | Javelin, Metis, Igla, Stinger, TOW and Strella customized HUDs for portable launchers |
| mma_test_uav_addon.Utes | UAV control from MCC TV camera |
| mma_rearm_addon.Utes | Rearm action and dialog, you can also check SEAD loadouts for AV8B and Su34 and try to hunt down two active SAMs placed to the West in the sea. |
| mma_test_sys_ffaa_addon.utes | Same as mma_test_sys_addon.utes but with FFAA Tigre |
| mma_test_sys_ace_addon.utes | mma_test_sys_addon.utes but with ACE 2 planes and choppers |
| mma_test_sam_site.utes | SAM site with main radar and 3 launchers |
| mma_test_f4_addon.Chernarus | Eble's F4 Phantom working hunting enemy SAMs |
| mma_script_suite.utes | Example mission using the script suite (check its init.sqf and description.ext files) |
| mma_test_su33_addon.Chernarus | Gnat's Su33 test with AS-4 missiles. |
| mma_test_f4_addon.Chernarus | Eble's F14 vs enemy cruise missiles |
| mma_console_addon.Chernarus | Mando Air Support console example mission |
| mma_console2_addon.Utes | AC130 Spectre and Mining field support options included |
| mma_oa_scud_addon.utes | OA MMA SCUD test (OA required) |
| mma_test_nuke_addon.Takistan | Nuclear SCUD tests + fallout console (OA required) |
| mma_test_sead_addon.Chernarus | To test new mando_im_active_radar.sqf script (you can replace default AV8B by a HARM armed F4 or F16 |
| mma_test_kuz_nuke.utes | Nuclear cruise missile attack on Kuznetsov |
| mma_b52_test.Takistan | Gnat's B52 test. Guide the plane from MCC and fire AGM86 nuclear missiles. B52 selfdefense with automatic tail Mando Gun (you can play as pilot too). Gnat's B52 addon required. |
| mma_test_mlrs_addon.Chernarus | GMLRS / MLRS-SAM test mission |
| mma_galactica.astro412 | Galactica Mod units test mission, including tractor bean |
| mma_test_samcontrol_addon.Takistan | SAM site control for players (BOS SeaSparrow/CWIS addon required) |
Mando Missile ArmA init (the first from the left): This one initializes
the MMA engine automatically.
Mando Missile ArmA full (the second from the left): This one
adds MMA support for all default BIS plane, chopper and vehicle classes
given a human player in the Pilot or Gunner position, as well as systems
for Javelin, Metis, Igla, Stinger and Strella portable missiles (or static
launchers). It also initializes systems for some non BIS vehicles: Mike's
GLT F16 family, Gnat's B52, CMA Mi28 and others. New actions are also provided
to transmit laser designation if you have a LD. It also provides automatic
counter-measures use for all the planes and choppers with non-human pilot
and, finally, it causes automatic transformation of BIS fired missiles
into Mando Missiles at launch time.
Mando Gun ArmA init (the second from the right): Intializes
mando gun scripts for gun sounds and tracers and smoke effects.
Mando Kuznetsov init (the first from the right): Intializes
all mando systems (missiles and guns) for Gnat's Kuznetsov carrier. To
use this, place this gamelogic near the center of the Kuznetsov carrier
you want to configure. If you have more than one Kuznetsov in your mission,
just add one of these gamelogic for each carrier and make sure to place
them close to the center of the ships.
Placing the first two gamelogics in a map ensures full initialization of default systems (do not include any of them more than once). Mando Missile automatic launchers should be configured via the traditional script executions in init.sqf. If you dont want to use default settings, dont include Mando Missile ArmA full in your mission and setup your custom systems in your mission's init.sqf file.
Mando Missile ArmA add-on includes two MOD specific gamelogics for FFAA
and ACE 2 Mods that you will find under Game Logic->MMA Logics
Including these in your missions ensures automatic setups for these
MODs.
The HUDs will activate as soon as the player moves into the relevant
crew position for qualifying vehicles. Menu actions are also automatically
added to toggle HUD, change HUD's colour map and remap default HUD keys
(note that you can also define permanent MMA HUD keys as described below).
Depending on the value of mando_show_hint_global, a hint explaining
the keys will be displayed. The value of mando_show_hint_global
is true by default. You can set it to false directly from your mission's
init.sqf in case you dont want to see any hints:
mando_show_hint_global
= false;
Independently of the value of mando_show_hint_global,
custom HUDs can override it setting mando_show_hint to true or false
inside the custom HUD handler script.
While MMA HUD is active, you can also freely use BIS non-guided weapons, which you can select normally with F and fire with LMB. For example, you may have MMA Sidewinder HUD mode in AV8B and, at the same time, have the BIS gun selected as BIS weapon. So you can use the missiles and the gun at the same time (MMA keys for MMA systems, BIS keys for BI systems).
Depending on the HUD type, it might display targets in front of your vehicle, in front of your sight (HMDs) or in front of a weapon. The displayed targets (except for REMOTE and ANTI-RADAR modes) must have a clean line of sight with your vehicle and their engines turned on.

A: Weapon counters & current selected weapon (--)
B: Current HUD operation mode
C: Countermeasures counters & ECM state and counters. ECM
may be in stby ECM:##, charging [ECM:##] or emitting >>ECM:##.
D: ASEC circle (if there is a locked on target). The bigger
the circle, the greater % of hit (its radious varies with the calculated
hit %). If no target selected, it acts as boresight area to lock on new
targets.
E: Missile/Radar Track Box: If target is closer than 2Km, target
type is displayed. A blue rhomb indicates the target is emitting ECM, otherwise
the rhomb's color will be the selected HUD color for normal targets, white
for remote targets and yellow for emitting radars (if your plane is SEAD
capable).
F: Target Aspect Indicator: Quite important for IR shots against
air targets, as the hit probability is much greater when an opponent's
engines are oriented towards you as opposed to head-on encounters. This
small triangle turns around the ASEC circle and shows the direction of
the target compared with the direction of your vehicle (or handled weapon).
G: Current weapon ranges: AR stands for active range and applies
only for missiles like AMRAAM with onboard active radar range (the missile
flies in inertial mode until it activats its own radar), TR stands for
Thrusted Range, or range with the missile engine having thrust. MR stands
for Minimum range, do dont shoot if target is closer than that unless the
target is static in front of you. TR and MR change depending on the speed
of the launcher vehicle.
H: Target data, target type (if closer than 2km), target range,
target altitude and TTI. TTI is estimated time to impact, which becomes
important for targets BVR and SARH missiles. This provides a clue as to
when it is safe to break the lock for SARH or laser guided missiles when
the target is far enough to be able to track the missile and/or target
visually to confirm missile impact or miss.
When a missile is incoming the RWR will be displayed.

Some planes incorporates a forward looking radar which is displayed when the aircraft sensors detect contacts. The radar self scales its range from 3km to 12Km and is hidden automatically if the aircraft radar doesnt detect contacts during 3 seconds. If there is a locked on target, an small line shows its relative direction with your plane, the line and the target are displayed in a lighter green.


MMA HUD includes two navigation modes, one basic for older planes and choppers and another advanced for moder planes. In the basic mode you can cycle through ILS destinations with TAB while in Navigation HUD mode (or defined key to lock on targets), and the HUD will select that ILS destination as target. In advance mode, the HUD will also display a path to follow for correct landing and if no ILS is selected HUD arrows will indicate the direction to follow to reach next waypoint (if any). If an ILS is selected, a 3D path will be projected on HUD, to better figure out how is that path relative to your plane a circle is drawn in the path extreme closest to your plane. The colour of the 3D path changes to redish if you are faster than best speed to land, and blueish if you are slower.

The advanced ILS path is available for many plane types, you may try F14, F15, F16, F18, F22, F35, Harrier, Su34, Su33, Su27, Su30, Mig29, Raffale, several Mirages, EF2000, Grippen ... (even Battle Star Galactica units). Older ones like A10 or Su25 don't have it.
While in Navigation mode, if you press MMA Fire key (L. Win by default) the Navigation dialog will open. From it you can see your current waypoints as well as MMA ILS destinations. If you are your group's leader, you can also edit the waypoints on-the-fly.

As indicated above, more ILS destinations may be added at mission level. Extra ILS destinations are added as objects to the mando_ilss array and the added object must have 5 internal vars configured:
mando_ils_angh : Aproach horizontal angleIf you want to add MMA ILS there where you dont have an object, you may use a gamelogic as the object, set its internal vars and add it to the mando_ilss global array.
mando_ils_angv : Aproach inclination (vertical angle)
mando_ils_ealt : Extra altitude
mando_ils_pos : Position
mando_ils_name : Name
Example to add a Nimitz named cv1 and a Kuznetsov named kz1:
// init.sqf
if (side player == west) then
{
// An extra ILS is added, Nimitz
carrier named cv1
cv1 setVariable ["mando_ils_angh",
(getDir cv1) + 180 - 9];
cv1 setVariable ["mando_ils_angv",
4];
cv1 setVariable ["mando_ils_ealt",
15];
cv1 setVariable ["mando_ils_pos",
cv1 modelToWorld [9.6, -158, 2]];
cv1 setVariable ["mando_ils_name",
"USS Nimitz"];
mando_ilss = mando_ilss +
[cv1];
}
else
{
// An extra ILS is added, Kuznetsov
carrier named kz1
kz1 setVariable ["mando_ils_angh",
(getDir kz1) + 180 - 8];
kz1 setVariable ["mando_ils_angv",
4];
kz1 setVariable ["mando_ils_ealt",
17];
kz1 setVariable ["mando_ils_pos",
kz1 modelToWorld [0.6, -159, 0]];
kz1 setVariable ["mando_ils_name",
"Kuznetsov 1"];
mando_ilss = mando_ilss +
[kz1];
};

Javelin: To lock on a target aim at it in optics mode and press Lock Targets key (TAB by default), and try to keep the target centered in your sight. You will see am open box being formed around the target, if you keep the target centered the box will start closing slowly, and when fully closed the target will be locked on. Then a white crossair will follow the target and you can fire a missile. To cycle through available modes press MMA Cycle modes key (L. Ctrl by default). The modes are TOP (if the target is far enough, the javelin will climb and then dive on the target), DIR (the missile will go straight on the target) and DIR + GROUND (in this mode you will lock on ground positions instead of enemy vehicles). Note that to get a lock with DIR or TOP modes the target must have its engine turned on. There are three different visor modes, DAY, WHOT and BHOT, press MMA flares key (L. SHIFT by default) to cycle through them. Note that WHOT and BHOT modes are available only when "NIGHT" lamp stops blinking.

Metis: This missile is manually guided, so you dont need to get any lock before firing. There are two small lamps in the visor, the upper left one, when blinking gray/yellow indicates that the IR visor is charging. When charged you will be able to cycle through IR modes pressing MMA flares key (L. SHIFT by default). After firing a missile, guide it moving the sight, a mark will show where the missile is and a yellow lap in the lower right corner will indicate that the missile is in-flight and under your control, when the control is lost the lamp turns red. If you try to change the course of the Metis too abruptly, you might lose the control of the missile, to recover the control aim with the sight to the missile in-flight.

Stinger, Igla and Strella: There is no visible HUD symbology for these systems, all the targeting and target tracking is audio based. To lock on a target, center it on your sight and press Lock Targets key (TAB by default). If a potential target is detected the system will start emitting a sound, first with low frequency and if the target keeps centered on the sight the frequency will increase until it becomes a constant growl sound, which means you got a solid lock. At this time you can fire the missile.

If you want to turn on these red bars, add
mando_hide_bis_hud = true;
to your mission's init.sqf after Mando Missile initialization.
When the HUD activates, there is a menu action to redefine the default keys. You can also define permanent MMA HUD keys using ArmA2 user actions from 16 to 20 and assigning them a special sequence that Mando Missile will recongnize (A, B, C, desired key). Be aware that desired key must be a single key, not a combination or joy/mouse buttons. If you do this in the middle of a game, you will need to reload the mission to the changes to make effect.
The following picture shows an example:

To activate the rearming dialog you must be the driver or the gunner of the vehicle, have its engine stopped and have some ammo truck nearby (or something defined inside mando_rearm_sources_classes global variable) . A new "MMA Rearm" action menu will be available, activate it and the rearming dialog will be displayed.

Next to do is to select a rearming source, which might be any ammo truck nearby. You can turn the camera view with the small arrows at the lower right corner, zoom in/out with mouse wheel and drag/drop the rearming dialog. Once you "see" the desired ammo truck, click on it with the mouse, a circle will mark it and the rearming and weapons source level will display the current level of the selected truck (if 0% you will need to select a different rearming source).
Once you have a selected rearming source you can select the desired weapon configuration and click the "Rearm vehicle" button.
There is a global array named mando_rearm_sources_classes. This contains an array of allowed classes acting as rearming sources . At the beginning of your mission, after MMA is initialized, you might set it up to the desired contents for your particular mission in the init.sqf. By default, its value is set to:
mando_rearm_sources_classes = ["MtvrReammo", "KamazReammo", "UralReammo_INS", "UralReammo_CDF", "WarfareReammoTruck_USMC","WarfareReammoTruck_RU","WarfareReammoTruck_Gue", "DFReammo_Base"];
There is a global array named mando_weapons_forbidden. This contains an array of forbidden weapons or/and magazine names. At the beginning of your mission, after MMA is initialized, you might set it up to the desired contents for your particular mission in the init.sqf, or just set it empty to allow all the configurations. By default, its value is set to:
mando_weapons_forbidden = ["ACE_B61BombLauncher"];
There is another global var named mando_weapon_master which is set to false by default, set it to true to access to more weapon and magazines so you cancreate your own configurations instead of using the pre-created ones.
To set the Rearm level of an ammo truck back to 100% you can execute
the following:
ammo_truck setVariable ["mando_source_level",
100];
You can also deactivate/activate a Mando Gun setting its object internal
variable "mando_gunattacker_on" to false or true. For example (deactivation):
mygun1 setVariable ["mando_gunattacker_on",
false]
In case you place your gun over a roof type surface (deck of the LHD,
for example), you need to set "mando_gun_extrah" to the height over ground
of that surface:
mygun1 setVariable ["mando_gun_extrah", 15]
For more details, check mando_gun_arma.utes mission included in the zip, as well as mma_test_kuz.utes where you will see two phalanx attached to the Kuznetsov carrier.

| 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). |
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. Note that this global doesnt have any default value, if you want to allow carpet bombing for the console you must provide the corresponding code block.
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",
"_widx"];
_plane = _this select 0;
_targetpos = _this select 1;
while {(([getPos _plane select
0, getPos _plane select 1, 0] distance _targetpos) > 2000) && (alive
_plane)} do
{
Sleep 1;
};
if (alive _plane) then
{
_widx = [_plane,
"BombLauncher"] call mando_weaponindex;
for [{_i=0},
{_i<6}, {_i=_i+1}] do
{
_plane action ["useWeapon", _plane, driver _plane, _widx];
Sleep 0.4;
};
};
};
mando_airsupport_type: type of plane for the missions
(default value is "AV8B2" for west and "Su34" for east).
mando_airsupport_type_ca: type of chopper for chopper
attack missions (default value is "AH1Z" for west and "KA52" for east).
mando_airsupport_type_pa: type of chopper for airborne
assault and reinforcements missions (default value is "MH60S" for west
and "Mi17_rockets_RU" for east).
mando_airsupport_type_pal: type of chopper for
airborne assault landing missions (default value is "MH60S" for west and
"Mi17_rockets_RU" 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 "MH60S" for west and "Mi17_rockets_RU" for east).
mando_airsupport_type_am: type of chopper for ammo
supply missions (default value is "MH60S" for west and "Mi17_rockets_RU"
for east).
mando_airsupport_type_ambox: ammo box type to be
used in ammo supply missions, default is "USBasicWeaponsBox" for west,
etc.
mando_airsupport_type_ve: type of chopper for vehicle
supply missions (default value is "MH60S" for west and "Mi17_rockets_RU"
for east).
mando_airsupport_type_vehicle: vehicle type to
be used in vehicle supply missions, default is "MTVR" 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.
mando_airsupport_code_cas : If defined, executed
when a cas/br mission is created, receives first plane's crew group as
argument
mando_airsupport_code_ca : If defined, executed
when gunship mission is created, receives crew group as argument
mando_airsupport_code_pa : If defined, executed
when airborne assault mission is created, receives crew group and infantry
group as argument
mando_airsupport_code_rc : If defined, executed
when reco mission is created, receives crew group as argument
mando_airsupport_code_ev : If defined, executed
when evac mission is created, receives crew group as argument
mando_airsupport_code_am: If defined, executed
when ammo supply mission is created, receives crew group as argument
mando_airsupport_code_ve: If defined, executed
when vehicle supply mission is created, receives crew group as argument
mando_airsupport_code_re : If defined, executed
when reinforcements mission is created, receives crew group and infantry
group as arguments
mando_airsupport_code_la : If defined, executed
when laser mission is created, receives crew group as argument
mando_airsupport_code_cp: If defined, executed
when CAP mission is created, receives crew group as argument
mando_airsupport_code_cb: If defined, executed
when carpet bombing mission is created, receives crew group as argument
mando_airsupport_fixedpos: If defined, fixed spawn
initial pos for all support missions
Before executing this script you may set the desired values for the previous variables, if you dont, default values will be used. During the mission, all these variables may be modified dinamically.
Examples:
player addAction ["Air Support console", "mando_missiles\mando_bombs\mando_airsupportdlg.sqf"];
or
[]execVM"mando_missiles\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_missiles\mando_bombs\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_missiles\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_missiles\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 = ["MMA Air Support Console", {"Laserdesignator"
in weapons player}] execVM "mando_missiles\mando_bombs\mando_giveme_console.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 = ["MMA Air Support Console", {rank
player =="CORPORAL"}] execVM "mando_missiles\mando_bombs\mando_giveme_console.sqf";
Console provided if player is driver inside an HMMWV
res = ["MMA Air Support Console", {(typeOf
vehicle player == "HMMWV") && (player == driver vehicle player)}]
execVM "mando_missiles\mando_bombs\mando_giveme_console.sqf";

The fired missile is detectable and interceptable by MMA anti-missile systems, and can be loaded with conventional or nuclear warheads. By default the warhead is conventional. To set a different type of warhead you need to set a vehicle variable named mando_scud_type.
scud_launcher setVariable ["mando_scud_type",
0]; // <- Conventional
scud_launcher setVariable ["mando_scud_type",
1]; // <- Nuclear - Gigan detonation
scud_launcher setVariable ["mando_scud_type",
2]; // <- Nuclear - Echo/Mando ground detonation
scud_launcher setVariable ["mando_scud_type",
3]; // <- Nuclear - Echo/Mando air detonation
scud_launcher setVariable ["mando_scud_type",
4]; // <- Nuclear, 3 MIRVs around designated target - Echo/Mando
ground detonation
scud_launcher setVariable ["mando_scud_type",
5]; // <- Nuclear, 3 MIRVs around designated target - Echo/Mando
air detonation
You may also set the minimum allowed range setting mando_min_rng vehicle var. If you set this variable, a pale blue circle will indicate the area covered by the minimum range and the player cannot place the target location inside.
scud_launcher setVariable ["mando_min_rng",
10000]; // Minimum range set to 10Km
There is also a script to fire SCUD from AI launchers: mando_missiles\units\mando_ai_scud.sqf
Syntax:
[scud_vehicle, warhead_type, target_position]execVM"mando_missiles\units\mando_ai_scud.sqf";
scud_vehicle: scud vehicle with an alive driver
warhead_type: 0 -> conventional, 1 -> Gigan nuclear,
2 -> E.Echo/Mando nuclear ground burst, 3 -> E.Echo/Mando nuclear air burst,
4 -> E.Echo/Mando 3 MIRV nuclear ground burst, 5 -> E.Echo/Mando 3 MIRV
nuclear air burst
target_position: target position
Example:
if (local my_scud2) then
{
[my_scud2, 2, getMarkerPos "mk_target"]execVM"mando_missiles\units\mando_ai_scud.sqf";
};
Damage caused by this weapon is based on typical effects for a tactical weapon and are scaled by the defined yield. Blast, thermal, prompt neutron/gamma effects are present and scale appropriately by distance and the type of unit. Vehicles afford some protection to their passengers and crew, the amount depending on the type of vehicle. Additionally, the shock wave can cause significant displacement in position, resulting in secondary injuries.
The amount of time before fallout comes to ground varies on the yield of a weapon. For a 5 kiloton weapon the 'safe' time is about 30 minutes. The area of contamination will vary with yield and its location/dimensions are influenced by winds during the interval between burst and falling-out. The fallout zone represents a region so contaminated that radiation sickness will render a soldier combat-ineffective in a relatively short period of time - about 10 minutes. Certain vehicles will protect you from the effects of fallout.

Currently isotopes include.
Silicon-31 - Generated immediately after burst in proximity
to ground burst. Extremely intense, but half-life of
only slightly over 2-1/2 hours.
Iodine-131 - Arrives in about 31 minutes after a 5kt burst,
covering a much larger area. Fairly intense,
a 10-minute exposure is lethal. Half-life is about 8 days.
Strontium-90 - Covers a medium area after about 5 minutes after a 5kt
burst. Due to the long half-life
of nearly 29 years, the intensity is far lower - a lethal dose requiring
hours of exposure.
Unprotected units that enter a fallout area will be exposed to radioactive
damage, which can cause death in just few minutes.
When a fallout area overlaps another one, the resulting radioactive
effect is the sum of both. There are two ways to protect yourself
against fallout effects:

The mission editor needs to set the conditions to have access to this
console at mission level using mando_giveme_mapfallout.sqf script.
This script has two parameters: the text to be displayed for the menu
action, and the condition required to allow console usage.
Example (console allowed only for corporals):
["MMA Fallout Map", {rank player == "CORPORAL"}]execVM"mando_missiles\warheads\echo\mando_giveme_mapfallout.sqf";
Example (console allowed only for players closer than 100m from a known
position):
["MMA Fallout Map", {(vehicle player distance
my_west_hq) < 100}] execVM"mando_missiles\warheads\echo\mando_giveme_mapfallout.sqf";
echo_fallout_decay_rate = 1440;

To setup a SAM Site Control Center proceed with the following steps:
1 - Identify the units that will act as SAM launchers and SAM Site
Control Center, this last one must be mannable. All these units may be
pre-created on the map or created dynamically via scripts.
2 - Disable the SAM launchers, so that they will not be able to engage
targets by their own:
3 - Create the MMA automatic SAM launchers.
4 - Assign the SAM launchers to the SAM Site Control Center unit (a
maximum of 3 SAM launchers).
5 - Determine the criteria to enable the menu action to activate the
SAM Site Control Center dialog.
Example:
if (isServer) then
{
// Automatic SAMs are created only server
side
// sam1, sam2 and sam3 are not allowed
to engange autonomously (they will be under control of samcenter1)
sam1 setVariable ["mando_attacker_auto",
false, true];
sam2 setVariable ["mando_attacker_auto",
false, true];
sam3 setVariable ["mando_attacker_auto",
false, true];
// 3 MMA automatic SAMs are created
(mando_bo_seasparrow_auto.sqs is used for BOS SeaSparrow launchers)
[]spawn
{
Sleep 1;
[sam1, 0, ["Air"],
8, 800, 30000, 6, [0,0,3], [360, 0, 10, 75], 0, [east], true, false, true,
false, 55]exec"mando_missiles\units\attackers\mando_bo_seasparrow_auto.sqs";
Sleep 1;
[sam2, 0, ["Air"],
8, 800, 30000, 6, [0,0,3], [360, 0, 10, 75], 0, [east], true, false, true,
false, 55]exec"mando_missiles\units\attackers\mando_bo_seasparrow_auto.sqs";
Sleep 1;
[sam3, 0, ["Air"],
8, 800, 30000, 6, [0,0,3], [360, 0, 10, 75], 0, [east], true, false, true,
false, 55]exec"mando_missiles\units\attackers\mando_bo_seasparrow_auto.sqs";
};
};
// samventer1 will have sam1, sam2 and sam3
launcher under its control
samcenter1 setVariable ["mando_lrr_units",
[sam1, sam2, sam3], true];
// Any "Car" type that also is inside [samcenter1]
array will be enabled as SAM control center for the commander (change condition
block at will)
_mcctypeaascript = "mando_missiles\lrr\lrr_types\mando_lrr_sam1.sqs";
[["Car"], 0, 0, ["Air"], "MMA SAM Control",
_mcctypeaascript, [-3,2,-2], [0,0,3,0,181], {(commander _plane == player)
&& (_plane in [samcenter1])}, 0, -1, [], 1, -3]execVM"mando_missiles\mcc\mando_mccallow_by_type.sqf";
Mission editors can override MMA score function, the default one is
in mando_missiles\mando_score.sqf
To overwrite the function, white your score script (which may be a
modified copy of the default one), and then assign it to the mando_scorefunc:
mando_scorefunc = compile (preprocessFileLineNumbers "my_new_score_handler.sqf");
Mision editors can disable the menu action to display MMA score by setting
mando_no_score
gobal variable
mando_no_score = true;
You can also hide mando score menu action by using
the mando_NoScore.pbo addon <-
NEW
For questions, issues or ideas to implement:
OFPEC
MMA Forum thread
BI
MMA Forum thread