Mando Missile ArmA

By Mandoble

v2.4B10.2 September 2011 for A2 or A2 + OA (Combined Ops)

First of all, you may not use Mando Missile ArmA (nor any of its parts) for commertial, training or military purposes nor include it into any other add-on or mod (not even partially) nor redistribute or mirror it without Mandoble's prior permission and agreement.

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
 

Zip contents, installation and Script Suite setup

Current beta of Mando Missiles comes in addon version only, inside the zip file you will find:

Script Suite usage

MMA in script suite form allows you to integrate MMA within your mission, the final result is 100% addon free. Note that for missions using the script suite, the MMA Gamelogics should not be placed within the mission's map.
To use the script suite within a mission you must follow these steps:
1 - Copy mando_missiles folder within your mission's folder.
2 - Create a description.ext file within your mission's folder with no less than the following mandatory content:
// Description.ext file
// 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
};

3 - Create an init.sqf file within your mission's folder containing:
// init.sqf file
// 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};

4 - 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.
// Default systems setup
[]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";

5 - 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
// A new class to be used as MMA rearming point
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;
 

Back to index

Example missions included in the zip

Try these missions directly from the editor. In some of them you will see many vehicles, planes or choppers that you can use. These are set with 0% probability of presence, so the only one created is the one having the planer. In these cases just put the player in the plane, vehicle, soldier or chopper you want to use for the test, then you can exit the mission, put the player in another vehicle type and test again.
 
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)

Back to index

Mission gamelogics for Mando Missile and Mando Gun


Mando Missile ArmA add-on includes four specialised gamelogics that you will find under Game Logic->MMA Logics

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.

MOD specific gamelogics

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.

Back to index

The HUD system

Mando Missile HUD provides a way to have a realistic and flexible HUD for any plane, vehicle or chopper. For any HUD it is possible to define one or more operation modes, each one might also be enslaved to a particular weapon while some others, like Navigation, have no weapon associated. When using the HUD, forget about BIS default keys to switch or fire weapons, lock on targets, etc. It is important to remember that Mando Missile HUD uses its own keys (which you can redefine as described later).

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.

HUD structure

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.

Its center represents your plane or chopper, the green lines are the bearings of icoming missiles. Check the RWR carefully when a missile is aproaching as this will be your main tool to manoeuvre in the correct direction and drop flares. To maximize your survival chances, move so that the missile is at your 4,5 or 8,7 o'clock. The RWR circle radious equates to 2Km.

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.

HUD modes

Your plane, chopper or vehicle might have one or more of the following modes: An example of combinend CCIP & Navigation modes:

Navigation <- NEW

MMA includes an ILS system to assist you with your landings. All the airfields of the map are scanned at startup and become available as ILS destinations, it is also possible to add more ILS destinations at mission level, this will be described later.

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 angle
mando_ils_angv : Aproach inclination (vertical angle)
mando_ils_ealt : Extra altitude
mando_ils_pos : Position
mando_ils_name : Name
If 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.

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];
};

Custom HUDs

Mando Missile allows the configuration and creation of custom HUDs, which run in parallel to the core MMA HUD and getting all the info provided by it. The custom HUD can translate that info into the desired graphical representation using a set of custom graphic controls provided by MMA. Examples of custom HUDs are the Helmet Mounted Displays as well as customized sight for portable weapons.

Helmet Mounted Displays

You will find them for F35B, AH1s pilot, Su34 gunner, Ka52 gunner, Eurocopter Tigre pilot and AH64D pilot and gunner.
Special note about AH64D monocle: For any crew member it is possible to transmit his current target to the other crew member, as long as the other crew member has the HUD in Hellfire-Remote mode.To do that, lock on a target and press the "Special" key (by default it is "G").

HUDs for Portable Sytems

MMA also incorporates by default customized HUDs for portable systems (Javelin, Metis, Igla, Stinger and Strela). These are automatically enabled with the presence of Mando Missile ArmA full gamelogic in your mission. The operation of these systems is as follows:

    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.

BIS Radar block in HUD mode (A2 only)

By default BIS Radar is not blocked. But you can block it with two semitransparent red areas, leaving only the center area clear. The effect is that friends and foes will look the same when they are covered by the red areas, so you will have position info, but not side info.

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.
 

HUD Key bindings

By default, the MMA HUD will use the following keymap:
- Left CTRL: Cycle through HUD modes forwards (selects next MMA weapon and mode).
- Right SHIFT + Left CTRL: Cycle through HUD modes backwards (selects previous MMA weapon and mode).
- Left Win:  Fire (in most modes you will need to lock on a target first), in Navigation mode opens the navigation dialog. <- NEW
- Left SHIFT:  Drop countermeasures.
- R: Turns ECM on.
- Default BIS key to lock tagters: lock on target (TAB by default), in Navigation mode cycles through MMA ILS destinations.  <- NEW
- G: Special key used in some custom systems like AH64 monocle (to transmit current target to the other crew member having the other crew member Hellfire - Remote HUD mode selected), or look down camera in lifting HUDs. The system will display an small help text when an special HUD key is avaialble for your vehicle class.

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:


Joystick Mapping

To use joystick buttons just map key strokes to joy buttons (the keys you defined for MMA functions). If your joystick doesnt come with a program to do this, there are several freeware ones like JoyToKey that work for any DX compatible joystick.

Back to index

Mando Missile ArmA Rearming System

The MMA rearming system allows you to select between multiple weapon configurations as well as reloading virual ammo for virtual weapons (like the guns of C130J, or missiles of MCC systems like TorM1) or flares.

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];

Back to index
 

MCCs and TV systems

These are activated via menu actions, in both cases press F1 with the system active to have online help displayed.

Back to index

Mando Gun ArmA

Mando Gun ArmA provides automatic guns which can be setup using mando_gunattacker.sqf script, or by placing mandoturret object in the map and giving it a side. Mando Turret object is under Empty->Mando Turret->mando turret. If you just add it to your mission map, then you will be able to use it in conjuntion with mando_gunattacker.sqf to customize your guns. But if you want to use the default configuration (so no need to add any script execution from your init.sqf) all you need to do is to indicate the mandoturret's side setting its internal "mando_gun_side" variable in its init field directly from the editor. For example, to have an OPFOR Phalanx like gun, all you need to do is to put a mando turret in the map and add the following to its init field:
this setVariable ["mando_gun_side", east]
Note that these turrets automatically configured by default will work as AA guns also anti-missile capable with an effective range of 1.5Km.

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.

Back to index
 

Mando Air Support Console

Provides a quite flexible and configurable tool to manage air support missions. It allows the user to:

Some basic concepts

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

Scripted SADARM can be deployed:

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

 

Mando Air Support Console options (console buttons)

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

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

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

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

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

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

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

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

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

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

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

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

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

 

Mando Air Support Console global variables

The air support console support full customization via global variables that you can set at will in your mission. If you dont change their contents, default values will be used. Note that you can also change their contents dinamically based on mission's conditions, objetives, etc.

   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";
 

mando_giveme_console.sqf (universal console allowance script)

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

Examples:
Console provided if player is corporal
res =  ["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";

Back to index

Mando SCUD (OA required)

MMA allows you to fire SCUD missiles from the driver position of the SCUD launcher. A menu action will be present to open the SCUD targeting map, just mark a position on the map and use the default actions to prepare and launch the missile, you must keep inside the vehicle while the missile is in-flight. There are two working buttons in the upper button row that allows the operator to choose between ground burst or air burst detonations. Air bursts will not generate fallout effects.

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";
};
 
 

E.Echo/Mando Nuclear Warhead Features

The warhead supports a number of burst modes and incorporates detailed physics effects. Ground burst detonations are at/near ground level and will generate the familiar mushroom cloud as well as considerable fallout. Airburst detonations occur well above ground, resulting in negligable fallout. Burst effects in the air and over water have a different appearance due to the influence of the local environment.

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.

Fallouts

Nuclear ground detonations ( warhead types 2 and 4 ) will cause fallout effects. Shortly after the detonation the radioactive particles will begin to fall to the ground. The simulation includes multiple types of fallout particle, each modeling a differing isotope. The dimensions of the fallout plumes are
influenced by wind patterns and can extend several kilometers away from ground zero area. The time delay between detonation and fallout landing varies with these particles, as does the radiation threat. The fallout zone represents a region contaminated with dangerous levels of radiation. 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 global variable echo_fallout_decay_rate is used to alter decay rate.
Use a rate of 1440 (minutes in a day) to make a fallout zone disappear in about 1 hour. You can set this up in your mission's init.sqf (if you dont set it up, its default value will be 1).

echo_fallout_decay_rate = 1440;

Back to index

Mando Long Range Radar (SAM Site Control Center)

The SAM Site Control Center allows player to control up to 3 automatic SAM launchers from a centralized place. The user can turn on/off the radar, select targets and allow SAM sites to engage or order them to disengage.The SAM launchers assigned to the site may be rearmed aproaching to them ammo trucks. SAM Site Control Center is activated via a menu action, when the display is open the user may turn his main radar ON and start scanning for bogeys. Note that some of them might be friendlies, so usage of IFF checks are mandatory (a negative check only means that the selected target has a different side than yours, which doesnt always imply enemy). To learn how to operate the system, press F9 after activating it.

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";
 

Mando Score

Mando Missile includes an score systems that allow to keep track of all the units and crews destroyed with mando missiles, and it is able to score intercepted enemy missiles as well. The system waits until impact in order to give the target some time to crash or to explode, then the score is shared between the crew members of the firing vehicle. Players have a new menu action, usually at the very bottom of the menu action lists, that displays the mando score window:

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
 

Credits

Defunkt, aside from pretty good ideas, he provided sounds, the outstanding images of the RWRs for east and west planes and fine tuned all the PAAs present in the pack, he also modified Raptor6 MFD to include "NTSC" effect as well as some nice pp effects for older type cameras. Customized MMA HUDs including HMD and AH64 monocle, as well as Javelin, Metis, Stinger, Strela and Igla portable missiles.
Raptor6, do you like the fantastic background of the TV systems? it is from him.
Evil Echo and Gigan for nuclear warheads and fallout effects.
Deanosbeano and Scars who provided some mando turret models usable for the Phalanx gun.
Kju for the MMA_XEH_AutoLaunch.pbo
 

Special thanks

All these guys among others have been providing ideas and good testing along the life of this project:
Alex72, Andrew, Crusader, Cyborg11, GossamerS, Jackass, Jay, Jinx, Kremator, Manzilla, Massimo, Rubberkite, Scars, Spyder, Stiltman, Shuravi-rnd, Vengeance, ViperMaul and Xeno426.

Contact info

valdelar@telefonica.net
or via OFPEC and BIS forums (user Mandoble).

For questions, issues or ideas to implement:
 OFPEC MMA Forum thread
 BI MMA Forum thread