Jump to content
Sign in to follow this  
mandoble

Mando Missile ArmA for ArmA 2

Recommended Posts

Mando, in your array of laser designators in mando_missileinit, you've left out the RAH-66 one.

modem_dkmm_rah66_laser

Also, could I request that Mando be made compatible with this mod, if it is at all possible?

http://www.armaholic.com/page.php?id=15332

It makes weapons like the ATGM on the T90 a magazine of the main gun rather than a weapon of its own, preventing people from using the missile and main cannon in quick succession.

Edited by Xeno426
gah! It's supposed to be "array" not "arrow" derp!

Share this post


Link to post
Share on other sites

Hey guys,

I'm making a mission, part of which includes Grad missiles being fired on an airfield from a BM-21.

I have a FIRED eventhanlder activating a siren when the missiles are launched.

What I wanna do is create an MLRS, acting as Iron Dome, so the GRADs can be intercepted.

I merged in the SCUD vs Patriot demo mission by Mando but the Grads are not being detected as targets.

So I want the AI Mando Missile Launchers to detect the GRADs.

And I need someone please to explain (preferably in detail) how this can be implemented.

BTW, the Grads are plain vanilla, nothing to do with Mando - is that my problem?

Ok, waiting for your words of wisdom.

P.S.

You can download the mission from this link.

Thanks!!!

Share this post


Link to post
Share on other sites

Evil_Brownie, if you mean SARH missiles, you cannot evade them with MMA flares/chaff, you need to activate your ECM.

Serpentras, I will have a look at the offset above target position set for the AT-10.

Xeno426, I will add that laser ASAP, as well as verified config for your new chopper. About using mags instead of weapons, it would be doable, but changing many many things. MMA is all weapon-driven, except for virtual launchers, and current magz loaded for a particular weapon are supposed to be these for the weapon and not others. I cannot promisse I'll have time for these modifications.

arye_r, in order to intercept SCUDS you need to fire a real scud. Current OA launcher doesnt fire anything, it is just an animation. But with MMA you can make these launchers to fire interceptable missiles, read the instructions here.

if (local my_scud2) then
{
  [my_scud2, 2, getMarkerPos "mk_target"]execVM"mando_missiles\units\mando_ai_scud.sqf";
}; 

Share this post


Link to post
Share on other sites

Mando, thanks, what I really needed though was for you to explain

how to intercept GRADs which are being fired from a BM-21.

To make things perfectly clear -

A vanilla BM-21 fires GRADs, and MM MLRS intercepts them.

Is that doable?

Thanks again mate :)

Share this post


Link to post
Share on other sites

ah, sorry, the grad is an small rocket not interceptable unless you transform it into a mando missile (default shells cannot be damaged), and even if you do, it is probably too fast and small to be intercepted in time by another missile. A mando gun would be able to catch it, but again, if transformed into a mando missile, else it will not be destroyed.

To transform into a mando missile, catch the shell with your fired EH, remove it and place a detectable (interceptable) mando one in its place.

// _mis = the fired round (before removing it) catched with Fired EH
// _launcher = the vehicle firing the round catched with Fired EH

if (!local _mis) exitWith {};

_speedini = (speed _mis)/3.6;
_pos = _launcher worldToModel (getPos _mis);
_dir = getDir _mis;
_vangle = asin (vectorDir _mis select 2) - asin(vectorDir _launcher select 2);
_target = "Logic" createVehicleLocal (TARGET POSITION HERE);

_missparams = 
[
  _launcher, 	// _launcher
  typeOf _mis, 	// missilebody 
  _pos, 	// launchpos
  _dir, 		// dir
  _vangle, 		// vangle 
  _speedini, 		// speedini 
  800, 	// speedmax 
  250,		// acceleration
  _target, 	// target
  0, 		// boomrange
  1000, 	// activerange
  1, 		// modeinit
  400, 	// cruisealt
  mando_missile_path+"warheads\mando_missilehead1_nohe.sqf", 
  "",	// smokescript
  "", 	// soundrsc
  29, 		// sounddur 
  10, 		// endurance
  false,	// terrainavoidance
  1, 		// updatefreq
  0, 		// delayinit 
  0,    	// controltime
  true, 	// detectable 
  false, 	// debug
  "", 		// launchscript
  25, 		// hagility
  65, 		// vagility
  1, 		// accuracy
  false, 	// intercept
  20, 		// scanarch 
  90,		// scanarcv
  0,		// Offset above target
  0	// Countermeasures extent
];

deleteVehicle _mis;
_missparams execVM mando_missile_path+"mando_missile.sqf";

Share this post


Link to post
Share on other sites

I've been working on a air support console setup for east forces (Russian).

All things seem to be working as I would like them with the exception that Combat Patrol (CP). Gunship (GS) and Laser Designated (LA) missions become confused and fail to attack the emeny side (west) and in most cases (CP) attack friendly (east) forces.

I've gone through Mando's Readme and note that it's clear that;

Setup mando_support_enemy_sides global array to indicate which are the enemy sides for the attacking gunships / intercepting planes / laser designated mission aircraft.

Problem that I have is I cannot find a working example of this. I do not know what the syntax is, I do not know where this goes - ie. in the my_console_setup or the init?

If someone could clearly advise what the syntax is to set these aircraft to attack west forces and could provide a clear example I would really appreciate it.

I've included my current my_console_setup below;

Sleep 1;

//Air Support Console Setup East v.1.5

// these lines required to customize Mando Air Support Console

// Init.sqf

mando_support_left_EAST = 16;

mando_support_left_ca_EAST = 16;

mando_support_left_pa_EAST = 16;

mando_support_left_rc_EAST = 16;

mando_support_left_am_EAST = 16;

mando_support_left_ve_EAST = 16;

mando_support_left_re_EAST = 16;

mando_support_left_cp_EAST = 16;

mando_support_left_ev_EAST = 16;

mando_support_left_la_EAST = 16;

mando_support_left_cb_EAST = 16;

mando_airsupport_type = "Su39";

mando_airsupport_type_ca = "Mi24_P";

mando_airsupport_type_pa = "Mi24_V";

mando_airsupport_type_pal = "Mi24_V";

mando_airsupport_type_rc = "Su34";

mando_airsupport_type_ev = "Mi24_V";

mando_airsupport_type_am = "Mi17_rockets_RU";

mando_airsupport_type_ambox = "ACE_MagazineBox_RU";

mando_airsupport_type_ve = "Mi17_rockets_RU";

mando_airsupport_type_cp = "ACE_Su27_CAP";

mando_airsupport_ypte_cb = "ACE_Su25";

mando_airsupport_type_la = "Su34";

mando_airsupport_max_cas = 3;

mando_reco_cam_pos = [0,3,-2];

mando_airsupport_cmissile = ship1;

mando_airsupport_armedrec = true;

mando_airsupport_armedrec_man = false; // Set it to true for manual guidance for missiles fired from armed reco planes

mando_airsupport_armedrec_max = 16;

mando_airsupport_bomb_altmax = 1000;

mando_ingress_dir = 45;

mando_airsupport_bomb_alt = 150;

mando_airsupport_cmissile_pos = [0,-4, 1];

mando_airsupport_cmissile_alt = 300;

mando_airsupport_jump = false; // reinforcements and airborne assault will land and disembark instead of jump from chopper.

mando_support_no_cas = false;

mando_support_no_br = false;

mando_support_no_ff = false;

mando_support_no_sa = false;

mando_support_no_gs = false;

mando_support_no_ab = false;

mando_support_no_cm = true;

mando_support_no_sat = true;

mando_support_no_rc = false;

mando_support_no_ev = false;

mando_support_no_la = false;

mando_support_no_am = false;

mando_support_no_ve = false;

mando_support_no_re = false;

mando_support_no_cp = false;

mando_support_no_cb = true;

// Info text displayed in the setup / info dialog (this is an structured text)

mando_airsupport_info = "Mission info: <br />Try altitudes between 190 and 250m for carpet bombing.<br /><br /><t color='#ff0000'>Objetive:</t><br />Eliminate enemy presence in the area />Try also the support options available for this mission (all the setup is into init.sqf script).<br /><t color='#ffAA00'></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.";

// Setup dialog options 1, 2, 3, 4 and 5 dont set any of these variables if you dont want special options

mando_airsupport_opt1_text = "Gunships Support Type";

mando_airsupport_opt1_array = ["Mi24_V", "ACE_Su25"];

mando_airsupport_opt1_action =

{

private["_item"];

_item = _this select 0;

mando_airsupport_type_ca = _item;

};

mando_airsupport_opt2_text = "Airborne Assault Type";

mando_airsupport_opt2_array = ["Rifle Platoon", "Urban Assault Platoon","Anti-Armor Platoon","Missile Platoon"];

mando_airsupport_opt2_action =

{

private["_item"];

_item = _this select 0;

switch (_item) do

{

case "Rifle Platoon":

{

mando_support_infantrytype = ["ACE_RU_Soldier_SL_D", "ACE_RU_Soldier_Medic_D","ACE_RU_Soldier_AR_D","ACE_RU_Soldier_GL_D","ACE_RU_Soldier_AT_D","ACE_RU_Soldier_LAT_D","ACE_RU_Soldier_Sniper_D","ACE_RU_Soldier_Spotter_D"];

};

case "Urban Assault Platoon":

{

mando_support_infantrytype = ["ACE_RU_Soldier_SL_D", "ACE_RU_Soldier_Medic_D","ACE_RU_Soldier_AR_D","ACE_RU_Soldier_GL_D","ACE_RU_Soldier_RPOM_D","ACE_RU_Soldier_RPOM_D","ACE_RU_Soldier2_D","ACE_RU_Soldier2_D"];

};

case "Anti-Armor Platoon":

{

mando_support_infantrytype = ["ACE_RU_Soldier_SL_D", "ACE_RU_Soldier_Medic_D","ACE_RU_Soldier_AR_D","ACE_RU_Soldier_HAT_D","ACE_RU_Soldier_HAT_D","ACE_RU_Soldier_AT_D","ACE_RU_Soldier_AT_D","ACE_RU_Soldier_LAT_D"];

};

case "Missile Platoon":

{

mando_support_infantrytype = ["ACE_RU_Soldier_TL_D","ACE_RU_Soldier_Medic_D","ACE_SoldierE_KonkursG_D","ACE_SoldierE_KonkursAG_D","ACE_SoldierE_KonkursG_D","ACE_SoldierE_KonkursAG_D","ACE_RU_Soldier_SniperH_D","ACE_RU_Soldier_Spotter_D"];

};

};

};

mando_airsupport_opt3_text = "Reinforcements Type";

mando_airsupport_opt3_array = ["Rifle Platoon", "Urban Assault Platoon","Anti-Armor Platoon","Missile Platoon"];

mando_airsupport_opt3_action =

{

private["_item"];

_item = _this select 0;

switch (_item) do

{

case "Rifle Platoon":

{

mando_support_infantrytype = ["ACE_RU_Soldier_SL_D", "ACE_RU_Soldier_Medic_D","ACE_RU_Soldier_AR_D","ACE_RU_Soldier_GL_D","ACE_RU_Soldier_AT_D","ACE_RU_Soldier_LAT_D","ACE_RU_Soldier_Sniper_D","ACE_RU_Soldier_Spotter_D"];

};

case "Urban Assault Platoon":

{

mando_support_infantrytype = ["ACE_RU_Soldier_SL_D", "ACE_RU_Soldier_Medic_D","ACE_RU_Soldier_AR_D","ACE_RU_Soldier_GL_D","ACE_RU_Soldier_RPOM_D","ACE_RU_Soldier_RPOM_D","ACE_RU_Soldier2_D","ACE_RU_Soldier2_D"];

};

case "Anti-Armor Platoon":

{

mando_support_infantrytype = ["ACE_RU_Soldier_SL_D", "ACE_RU_Soldier_Medic_D","ACE_RU_Soldier_AR_D","ACE_RU_Soldier_HAT_D","ACE_RU_Soldier_HAT_D","ACE_RU_Soldier_AT_D","ACE_RU_Soldier_AT_D","ACE_RU_Soldier_LAT_D"];

};

case "Missile Platoon":

{

mando_support_infantrytype = ["ACE_RU_Soldier_TL_D","ACE_RU_Soldier_Medic_D","ACE_SoldierE_KonkursG_D","ACE_SoldierE_KonkursAG_D","ACE_SoldierE_KonkursG_D","ACE_SoldierE_KonkursAG_D","ACE_RU_Soldier_SniperH_D","ACE_RU_Soldier_Spotter_D"];

};

};

};

mando_airsupport_opt4_text = "Vehicle Supply Type";

mando_airsupport_opt4_array = ["UAZ_AGS30_TK_EP1","ACE_BTR70_RU_D","KamazReammo","KamazRefuel","KamazRepair"];

mando_airsupport_opt4_action =

{

private["_item"];

_item = _this select 0;

mando_airsupport_type_vehicle = _item;

};

mando_airsupport_opt5_text = "Ammo supply options";

mando_airsupport_opt5_array = ["Basic Small Arms", "AT & Explosives","Heavy Weapons Crate","Mortar Crate"];

mando_airsupport_opt5_action =

{

private["_item"];

_item = _this select 0;

switch (_item) do

{

case "Basic Small Arms":

{

mando_airsupport_magz = [["100Rnd_762x54_PK", 10],["ACE_75Rnd_762x39_B_AK47", 10],["ACE_75Rnd_545x39_T_RPK", 20],["ACE_30Rnd_762x39_T_AK47", 20],["ACE_30Rnd_545x39_T_AK", 20],["ACE_64Rnd_9x19_S_Bizon", 15],["ACE_8Rnd_12Ga_Buck00_Saiga12",10],["8Rnd_B_Saiga12_74Slug", 10],["10Rnd_762x54_SVD",20],["ACE_10Rnd_762x54_T_SVD",20],["5Rnd_127x108_KSVK", 20],["ACE_5Rnd_127x108_T_KSVK",20],["ACE_1Rnd_HE_GP25P", 20],["ACE_1Rnd_CS_GP25",10],["1Rnd_SmokeGreen_GP25", 10],["1Rnd_SmokeRed_GP25",10],["1Rnd_SmokeYellow_GP25", 10],["1Rnd_SMOKE_GP25", 10],["HandGrenade",20],["HandGrenade_East", 20],["ACE_RG60A",10],["ACE_RDGM", 20],["ACE_TORCH_C",20],["IR_Strobe_Target", 10],["ACE_DM31",10],["ACE_DM32", 10],["ACE_DM33",10],["ACE_DM34", 10],["ACE_DM36",10],["ACE_Medkit", 20],["ACE_Bandage", 20],["ACE_Epinephrine", 20],["ACE_Morphine", 20]];

mando_airsupport_weap = [["ACE_Earplugs", 5],["ACE_GlassesGasMask_RU", 5],["ACE_SpottingScope", 1],["ACE_WireCutter", 1]];

};

case "AT & Explosives":

{

mando_airsupport_magz = [["ACE_RPG29_PG29", 3],["ACE_RPG29_TBG29", 3],["ACE_PG7VM_PGO7", 6],["ACE_PG7V_PGO7", 6],["ACE_PG7VR_PGO7", 6],["ACE_TBG7V_PGO7", 6],["ACE_OG7_PGO7", 6],["ACE_RPG27", 3],["ACE_RSHG1", 3],["ACE_AT13TB", 2],["AT13", 2],["Igla", 2],["ACE_C4_M", 8],["Pipebomb", 8],["ACE_OSM4_M", 4],["ACE_MON50_M", 4],["ACE_TripFlare_M", 4],["MineE", 4],["Laserbatteries", 1],["ACE_Medkit", 20],["ACE_Bandage", 20],["ACE_Epinephrine", 20],["ACE_Morphine", 20]];

mando_airsupport_weap = [["ACE_RPG7V_PGO7", 2],["ACE_RPG29", 1],["ACE_RPG27", 3],["ACE_RSHG1", 3],["MetisLauncher", 1],["Igla", 1],["Laserdesignator", 1]];

};

case "Heavy Weapons Crate":

{

mando_airsupport_magz = [["ACE_AGS30_CSWDM", 5],["ACE_KORD_CSWDM", 10],["ACE_Medkit", 20],["ACE_Bandage", 20],["ACE_Epinephrine", 20],["ACE_Morphine", 20]];

mando_airsupport_weap = [["ACE_AGS30Proxy", 1],["ACE_AGS30TripodProxy",1],["ACE_KORDProxy", 1],["ACE_6T7TripodProxy", 1]];

};

case "Mortar Crate":

{

mando_airsupport_magz = [["ACE_2B14HE_CSWDM", 20],["ACE_2B14WP_CSWDM", 20],["ACE_2B14IL_CSWDM", 10]];

mando_airsupport_weap = [["ACE_2b14Proxy", 1],["ACE_2b14TripodProxy",1]];

};

};

};

// End of options setup dialog configuration

["MMA Air Support Console", {(typeOf vehicle player == "BTR90_HQ") && (player == driver vehicle player)}]execVM"mando_missiles\mando_bombs\mando_giveme_console.sqf";

// Carpet bombing custom code global variable for SU25

mando_airsupport_carpetcode =

if (side player == east) then

{

mando_airsupport_type_cb = "ACE_Su25";

// mando_airsupport_type_cb = "ACE_Su25";

// Carpet bombing custom code global variable for Su25

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, "AirBombLauncher"] call mando_weaponindex;

for [{_i=0}, {_i<4}, {_i=_i+1}] do

{

_plane action ["useWeapon", _plane, driver _plane, _widx];

Sleep 0.4;

};

};

};

// End of options setup dialog configuration

["MMA Air Support Console", {(typeOf vehicle player == "BTR90_HQ") && (player == driver vehicle player)}]execVM"mando_missiles\mando_bombs\mando_giveme_console.sqf";

Edited by Theopolus
spelling

Share this post


Link to post
Share on other sites

Theopolus, units spawned from console takes the side of the console user, unless you want to redefine that with these globals. For these units to be able to engage, you need to initialize MMA in the mission.

Share this post


Link to post
Share on other sites

Thanks for the reply Mando, that certainly cleared that up and now, with the addition of the MMA Init, things are working perfectly.

Thanks again.

Share this post


Link to post
Share on other sites

MMA INIT just initializes mando missiles's engine, add the other GLs if you want to add automatically MMA systems for the planes, vehicles and choppers.

Share this post


Link to post
Share on other sites

In my server on Evolution Mando Missiles appears to work fine until I launch a missile. It tracks as it should using Mando, but causes no damage on target. Bug?

Hmm is this compatible with the most recent ArmA II CO beta patches and Zeus AI?

Edited by JuggernautOfWar

Share this post


Link to post
Share on other sites

Two betas ago there was a bug that causes createdVehicle missiles to be harmless, this was fixed for the latest betas (at least the previous one). I hope the bug is not back again.

Share this post


Link to post
Share on other sites

Mandoble, I'm using the latest addon version of mma & mma_xeh in conjunction with the latest ACE version and Arma 2 beta version 1.59.85598.

All connecting players get a clientside script error when the mission starts. mma appears to function normally however. The serverside rpt does not report any errors. The clientside error follows:

Error in expression <logic" createVehicleLocal [0,0,0];
_log setPos _pos;
_log setVariable ["mando_il>
 Error position: <setPos _pos;
_log setVariable ["mando_il>
 Error 4 elements provided, 3 expected
File mando_missiles\mando_missileinit.sqf, line 442

Share this post


Link to post
Share on other sites

That seems to be part of the code that automatically fills up the array of potential ILS destinations to be used by MMA NAV system. In which island are you playing? Does it have at least one main runway?

Share this post


Link to post
Share on other sites

It seems that island has wrongly configured the "ilsPosition" property. Are you using script suite for the mission?

Share this post


Link to post
Share on other sites

I'm using the addon version not the script version but if you have a script fix I could move the mission over to the script suite.

Edited by [KH]Jman

Share this post


Link to post
Share on other sites

You can keep using the addon, but instead of initializing MMA with the GL, do it from init.sqf. Copy mando_missileinit.sqf into your mission's folder and execute it from init.sqf (and remove the init GL from the map, you can leave there the init full GL).

Now open that mando_missileinit.sqf, move to line 439 and comment the line:

_pos = _pos + [0];

And try, anyway you can add there some hints in that block of code and run the mission from the editor (it should have the same result as when run from a client).

Share this post


Link to post
Share on other sites

Are GLT + Missilebox and Mando cross-compatible?

Are there any issues with mixing them up?

Share this post


Link to post
Share on other sites

Syphonix, both are fully compatible. In fact, many MMA rearming options and setups have been aready included for GLT missiles.

Share this post


Link to post
Share on other sites

MMA Addon Test version including:

- Flares fix (they might not be effective against missiles comming from quite below or above).

- R. CTRL + ARROWS: Allows fine adjustment of the HUD's cross for systems working in GROUND mode.

- New NLAW interface

- Ch29 endurance increased

- Xeno's TGW RAH-66 Commanche MMA systems added

Share this post


Link to post
Share on other sites

Hey, do you have any plans for Take On? I posted this in AircraftHUD as well, but I think you guys should work together.

Share this post


Link to post
Share on other sites

Prophet, at the moment I have no plans for Take On. I guess that as long as they keep the same vehicle/weapon class names the current systems will keep working the same.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×