Jump to content
Sign in to follow this  
frederf

Improved Javelin Addon

Recommended Posts

As there are no current (open) threads discussing possible improvement to the current implementation of the FGM-184 Javelin missile system in ArmA, I propose this thread be such. Through collective discussion and design collaboration, people seeking to create Javelin addon(s) may have at their disposal a wealth of knowledge, pre-existing script and configs, and a centralized meeting place for like-minded individuals such that any Javelin addons produced will be of the highest quality and least unnecessary work.

I would like to thank moderator W0lle for adhering strictly to the BI Forums rules and closing the existing "realistic javelin" thread as its first post was essentially a request for such an addon which belongs in the stickied "add-on request" thread and not as a separate thread in the rest of the "ArmA - ADDONS & MOD: DISCUSSION" forum.

FGM-184 Javelin

References:

http://en.wikipedia.org/wiki/FGM-148_Javelin

http://www.globalsecurity.org/militar....ex.html

http://www.globalsecurity.org/military/systems/munitions/javelin.htm

And without further ado, my text from the previously mentioned thread which pertains to this topic:

===========================================

I started messing around with the Javelin on a whim today after getting sick of an aircraft flare script.

Obviously the biggest improvements to the Javelin would be to add in the top and direct attack modes properly. There's a ton of sensor cooldown, reload animation, visual, blah blah stuff too but it's more secondary. That and somehow making it require a more manual method of target acquisition. The ArmA version is way too easy.

The idea was just to 1. provide two modes using modes[]={} or muzzles[] = {} to give the top/direct option, and then shape the missle flight path as it came out of the tube based on the muzzle/mode used.

Just for easy peasy I forced the missile to its initial direction continuously for 2-3 seconds and then let it continue toward its target naturally for terminal approach. It worked and had the nice effect of increasing the "arch" in the trajectory.

Obviously a hardcoded time delay of straight up launch doesn't work for all ranges of targets so the phases of travel (climb, cruise, terminal) would have to be variable calculations based on the range to target. Climb phase would be to a calculated altitude (above initial firing point) based on range, followed by a level cruise phase, and then simply to let the missile do what it wants once it has the target approx 60 degrees down in its sights which should result in the proper terminal phase.

Easing the transition from climb to cruise could be done by simply letting the missile go from rigid control and then "catching" it again as it passes through the level flight situation. Keeping the missile in level flight is not going to be easy as a flat missile will still fall under gravity so either a guess-n-check nose up angle or a altitude-keeping routine would have to be devised.

Direct attack mode is still much higher than what BIS have done as it rises 60m or more at the middle of the trajectory.

1-27.gif

1-29.gif

I could use some help in that I can't really find a way to learn where the missile is headed or some other way of getting the range to target. This is going to make it impossible to know when to have the missile break climb/cruise in order to make its terminal run. Any ideas?

This is the script I came up with so far

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">//4IB_Javelin shot shaping script by Frederf

//Definitions passed to script

_unit = _this select 0;

_weapon = _this select 1;

_muzzle = _this select 2;

_mode = _this select 3;

_ammo = _this select 4;

//Exit script is the missile is not a Javelin

if ( not (_ammo == "M_Javelin_AT") ) then {exitWith;};

//Launch characteristics

_missile = nearestobject [_unit,_ammo];

_launchPos = getPosASL _unit;

_launchHeight = _launchPos select 2;

_launchDir = vectorDir _missile;

_targetPos = //HOW DO I GET THIS?!

_rangeToTarget = (getPos _unit) distance _targetPos;

_cruiseDir =; //_launchDir with a slightly nose up Z-component for level flight

_maxHeight = 160; //Max height for cruise

_phase = "climb"; //missile starts in the climb phase

//Direct attack profile

if (_mode == "Javelin_Direct") then {

if (_rangeToTarget < 65) then {exitWith; }; //Below minimum direct attack range, you're on your own!

if (_rangeToTarget < 2300) then { _maxHeight = 60 * (_rangeToTarget / 2300) } else { _maxHeight = 60 }; //Scale maxHeight based on range to target

while { _phase == "climb"} do

{

_missile setVectorDir _launchDir; //Climbout hold 18 degrees

sleep 0.01;

if ( (getPosASL _missile select 2 - _launchHeight) > _maxHeight ) then {_phase = "terminal"; }; //Once at max height, continue direct

};

};

if (_mode == "Javelin_Top") then {

if (_rangeToTarget < 150) then {exitWith; }; //Below minimum top attack range, you're on your own!

if (_rangeToTarget < 1333) then { _maxHeight = 160 * (_rangeToTarget / 1333) } else { _maxHeight = 160; }; //Scale maxHeight based on range to target

while { _phase == "climb" } do {

_missile setVectorDir _launchDir; //Climbout hold 18 degrees

sleep 0.01;

if ( (getPosASL _missile select 2 - _launchHeight) > _maxHeight ) then {condition = "cruise";} //cruise reached

};

while { _phase == "cruise" } do {

_missile setVectorDir _cruiseDir;

sleep 0.01;

if ( _maxHeight < 160 or ( getpos _missile distance _targetPos < 770 ) ) then {_phase = "terminal";}; //Cruise ends and missile tracks direct

};

};

Feel free to use my code for ACE if you like. It's kind of crude and I'd like to start messing with the missile velocities instead of just the direction; would probably make a smoother result. I haven't actually run what I've written so there's probably a few errors here and there in it. Also there's the thing about wind drift and target movement that's not accounted for, although I don't know how the Javelin works either so maybe it's supposed to go inertial until terminal phase.

I guess I could let the guidance do the left/right steering and just futz with the pitch up the missile to get it to do its climb and level flights.

One thing I haven't managed to do is to put 2 modes or muzzles on the Javelin without the damn thing showing up twice in the addAction menu. I have a feeling that a more diligent effort in coding the config would fix that.

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">class CfgPatches

{

class 4IB_Javelin

{

units[] = { };

weapons[] = {"Javelin"};

requiredVersion = 0.108000;

requiredAddons[] = {"CAweapons", "CAweapons3", "Extended_EventHandlers"};

};

};

// Where new fired events are defined.

class Extended_Fired_EventHandlers

{

// Define the classes to add inits to.

class Man

{

4IB_Fired_SoldierWB="_this execVM ""\4IB_Javelin\shapeShot.sqf"";";

};

};

/*

class cfgWeapons

{

class Launcher;

class Javelin: Launcher {

scope = 1;

displayName = "Javelin";

modes[] = {"Javelin_Direct", "Javelin_Top"};

class Javelin;

class Javelin_Direct: Javelin {

displayName = "Javelin (Direct)";

multiplier = 1;

burst = 1;

}

class Javelin_Top: Javelin_Direct {

displayName = "Javelin (Top)";

};

model = "\ca\weapons\javelin_launcher";

picture = "\CA\weapons\data\equip\w_javelin_ca.paa";

UiPicture = "\CA\weapons\data\Ico\i_at_CA.paa";

modelOptics = "-";

magazines[] = {"Javelin"};

sound[] = {"\ca\Weapons\Data\Sound\Javelin_fire_v3_A", 10.000000, 1};

drySound[] = {"\ca\Weapons\Data\Sound\Javelin_dry_v1", 0.000100, 1};

reloadMagazineSound[] = {"\ca\Weapons\Data\Sound\flare_reload", 0.000316, 1};

soundFly[] = {"\ca\Weapons\Data\Sound\rocket_fly1", 10.000000, 1.500000};

value = 20;

canLock = 2;

recoil = "launcherBase";

aiRateOfFire = 5.000000;

aiRateOfFireDistance = 500;

class Library {

libTextDesc = "$STR_LIB_JAVELIN";

};

};

};

*/

=================================================

thanks modEmMaik

Link to possible code that might allow determining the position of the Javelin target for the above script to function properly

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

Share this post


Link to post
Share on other sites

Actually, we are discussing about integration the TOW-2B into a Bradley / Stryker-TOW. Thus this kind of ATGM includes "fly-over", like the Javelin, we considered a "easy"-style implementation:

Correction starting after 20ms for every 5 ms for about 1 second period to an angle to ground at 60 degrees. After that period, the TOW should be able to correct it's direction and apply to target direction.

This should enable a more-or-less flightpath like a javelin.

Open question: Will the ATGM still keep the lock on target, when we manipulate the flight direction?

Share this post


Link to post
Share on other sites

This is something I've pondered for a while (given british units use the Javelin as well), but never had much gusto to do anything about.

I always wanted to change the available locking targets to include all buildings, objects, humans, vehicles etc. Seeing as the targeting system can differentiate between objects as long as they're 1 degree celcius different with the background temp, allowing it to target anything would be a fair reflecyion of its capabilities. And as you said, removing the auto target lock and bring back the right click selection of targets.

Share this post


Link to post
Share on other sites

I have implemented a test version for a TOW2B Stryker:

TOW2B test version link

Credits to WGL / ACE Team: I used WGL-Defintion for TOW2A+B definition.

Credits to Frederf for his blueprint implementation.

Included a simple mission including unmanned target MBT's ranging from 300 to 600 meters.

The script includes a simple climb implementation (200ms after launch for a 600ms period), followed by a altitude hold direction. Targeting is performed by BI-targeting routine. I tried to implement an algorithm that does not speed up the missile during climb / terminal:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">

sleep 0.20;

_count = 12;

// climb phase

while { _count > 1 } do

{

_count = _count -1;

_launchDir = vectorDir _missile;

_vx = _launchDir select 0;

_vz = _launchDir select 1;

_vy = _launchDir select 2;

_vs = sqrt ((_vx * _vx) + (_vz * _vz) + (_vy * _vy));

_vdirect = _vx atan2 _vz;

_vxc = _vs * sin _vdirect;

_vzc = _vs * cos _vdirect;

_vyc = _vs * -0.8660;

_vxc = _vxc * 0.5;

_vzc = _vzc * 0.5;

//_missile setVectorUp [ _vzc, -_vxc, _vyc];

//_missile setVectorDir [ _vxc, _vzc, _vyc];

_missile setVectorUp [ _vxc, _vzc, _vyc];

sleep 0.05;

};

// Terminal phase

_launchDir = vectorDir _missile;

_vx = _launchDir select 0;

_vz = _launchDir select 1;

_vy = _launchDir select 2;

_vs = sqrt (_vx * _vx + _vz * _vz + _vy * _vy);

_vdirect = _vx atan2 _vz;

_vxc = _vs * sin _vdirect;

_vzc = _vs * cos _vdirect;

_vyc = 0.000001;

// _vyc = _vs * 0.5;

// _vxc = _vxc * 0.8660;

// _vzc = _vzc * 0.8660;

_missile setVectorUp [ _vxc, _vzc, _vyc];

It proves quite nice when attacking static targets, but hit ratio is close to 1:10 at moving targets.

I have not included a full readme, because I count this as a test only.

You find the "Stryker TOW2B" in the armour container.

This addon requires xeh,

ECS users have to install Themis compat package

BR,

mike

Share this post


Link to post
Share on other sites

Hi modEmMaik that script i cant get it to hit anything manually but as soon as i add canlock = 2 to the launcher its works great obvioulsly with anything from 350m+. Under 350 it can hit anything because of the climb it does. How do you manage to use this with manual guidance? One question was this supposed to simulate a TOW-2A/B or a Javelin? If its a Javelin then its close but if its TOW-2 they dont climb first, and im sure even the BGM-71F Top Attack climbs only a few meter above the tank seconds before impact, not seconds after leaving the Tube.

But anyway this a somewhat of a good start, as this means we can simulate the different modes of the Javelin.

@Frederf

Using this script and a similar method MAPFact use on the Apache's with their LOAL/LOBL script, you could use different modes on the launcher to achieve your desired effect. You could leave the BIS Javelin Guidance as the Top Attack and using the config make it use a different missile to simulate a Direct Attack that can target everything.

Share this post


Link to post
Share on other sites

Hi Snoops,

this was just a quick and drity test implementation only for the climb implementation given on frederf's pics. I used a time-based implementation, simply because it is easier and I wanted to check, how many corrections are needed for the climb and if the lock remains for the missile

I have not located any script that checks the distance to target for a lock-on missile crazy_o.gif

But I will check the MAPfact addon's, maybe they included some code to handle this inlove.gif

:edit: I noticed that mandoble integrated targeting etc. into his 2.3 version of mando missiles. I will check, how he integrated this. btw.: Mando also integrated his Javelin version smile_o.gif

:edit2: I have acutally discovered that mando uses his own target-lock algorthm sad_o.gif

So I integrated Mr.Peanut's binocular designator algorithm into the script:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">Function binoLOS

Mr.Peanut April 2007

Binotarget v1.01

Adopted to tow-launcher by modEmMaik

...

_targetpos = objNull;

...

// if ( not (isNull _mtarget)) then

if (_ammo == "hx3_BGM71F") then

{

_ds = 0.50;

_max = 3000;

_offset = 1;

_dvec = _unit weaponDirection "FastTowLauncher";

_mpos = getPos _unit;

_height = -((_unit modelToWOrld [0,0,0]) select 2);

_wpos = [];

_gl_north = "LOGIC" createVehicleLocal _mpos;

_gl_north setPos _mpos;

_gl_north setDir 0;

_breakflag = TRUE;

for [{_i = _ds},{_i <= _max && _breakflag},{_i = _i + _ds}] do

{

_mpos = [_i * (_dvec select 0), _i * (_dvec select 1), _i * (_dvec select 2) + _offset];

_wpos = _gl_north modelToWorld _mpos;

if (((_wpos select 2)) <= _height) then {_breakflag = FALSE;};

};

deleteVehicle _gl_north;

if _breakflag then

{

}

else

{

_targetpos=_wpos;

};

player globalchat format["%1",[_breakflag,_targetpos]];

if (not _breakflag) then

{

// guide the missile to the target

...

Works pretty good, when you point to the ground in front of the target, but when you target a tank direct, the missile gets guided to a point on the ground behind the tank, as if the tank would not exist for the targeting crazy_o.gif

So I consider to integrate a laser into the launcher to be the better alternative. This way, correct guidance should be implementable, but I wonder how the AI might handle it, when multiple attackers laser the same target icon_rolleyes.gif

:edit2: While analyzing Mandobes Missle Suite, the included replacement config used the incommingMissile Eventhandler. This provides attacker and target, but needs to be initialized for every possible target. Yesterday, I have set up a test suite, that includes distance to target calculation and tracking.

Share this post


Link to post
Share on other sites

Ok, here we go smile_o.gif

New test version of the TOW2B can be accessed by zShare link

Accidentially, I have left some stuff from mapfact in the mission, so Mapfact Misc package is needed to execute the included mission (nothing bad, because good stuff is included in the package) wink_o.gif

Big credits to Mandobe thumbs-up.gif

I analyzed Mando's missile suite and found that the incommingMissile eventhander gives us the target, ammo and the attacker. So this can be used to calculate the distance to target plus identification of the matching ammunition, but we have to set the eventhandler for every possible target sad_o.gif

Example code eventhandler:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">_unit = _this select 0;

_x = _unit addEventHandler ["IncomingMissile",{_this execVM "\javtest\javshot.sqf"}];

Which has to be initialized for the possible targets (mission.sqf):

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">

class Item1

{

position[]={2584.170410,13.881000,2961.166748};

azimut=180.000000;

id=2;

side="EMPTY";

vehicle="T72";

skill=0.600000;

init="res=[this]execVM""\javtest\initEventHandler.sqf""";

};

So whenever a missile is launched at a target, the handler calls \javtest\javshot.sqf:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">//Definitions passed to script

_unit = _this select 0;

_ammo = _this select 1;

_attacker = _this select 2;

_target = objNull;

_targetpos = objNull;

_misslepos = objNull;

_missile = nearestobject [_attacker,_ammo];

//player globalchat format["%1",[_missile,_mtarget]];

if (_ammo == "hx3_BGM71F") then

{

_rangeToTarget = (getPos _missile) distance _unit;

_vel = velocity _missile;

// normal fly phase

while { _rangeToTarget > 150 && (alive _missile)} do

{

sleep 0.10;

_rangeToTarget = (getPos _missile) distance _unit;

_vel = velocity _missile;

};

// climb phase

while { _rangeToTarget > 80 && (alive _missile)} do

{...

sleep 0.10;

_rangeToTarget = (getPos _missile) distance _unit;

};

// Terminal phase...

};

Result: Well I think not bad wow_o.gif

Usually 3 of 4 hits. The missile climbs and hits the target, The same code sould be easily adopted to match the javelin data.

I hope that using extended eventhandlers capabilities, the eventhandler function for all possible targets could be included into the addon (may be including other possible targets, as Messiah mentioned?), but at the moment I lack knowledge, how to implement this into the xeh functions. I hope that something like this can be implemented into the addon to replace the missions init's:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">class Extended_Init_EventHandlers

{

class landvehicle { "incommingMissile = _this select 0 execVM ""\javtest\javshot.sqf";"; };

};

I will start to analyze the xeh examples soon, but if anybody can implement this, he/she's very welcome help.gif

Best Regards,

mike

Share this post


Link to post
Share on other sites

hey mike

yeah it works this way for XEH (only syntax probably not perfectly

correct yet). smile_o.gif

For non addon version create a huge trigger, gather all units with

a list and addEH.

Share this post


Link to post
Share on other sites

Hey Q notworthy.gif

Thanks for the info smile_o.gif

I just noticed that william1's Flares countermeasures implementation includes xeh support. I hope that I find useful codes within. wink_o.gif

At least the xeh codes for IncomingMissile should be locateable.

BR,

mike

Share this post


Link to post
Share on other sites

Excellent! Taking a look. We need the addon version that uses XEH with this seemingly fine piece of work! Getting ready to integrate now and see how this performs with the rest of a full conversion mod that is already in the works.

Share this post


Link to post
Share on other sites

And the code for mando_replacemissile.sqf:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">

case "M_Javelin_AT":

{

_launcher = _firer;

_missilebody = _type;

_speedini = 0;

_speedmax = 250;

_acceleration = 100;

_boomrange = 3;

_activerange = 250;

_modeinit = 0;

_cruisealt = 100;

_boomscript = mando_missile_path+"warheads\mando_missilehead1a.sqf";

_smokescript = "";

_soundrsc = "";

_sounddur = 29;

_endurance = 8;

_terrainavoidance = false;

_updatefreq = 1;

_delayinit = 0;

_controltime = 0;

_detectable = false;

_debug = false;

_launchscript = "";

_hagility = 30;

_vagility = 55;

_accuracy = 1;

_intercept = false;

_scanarch = 35;

_scanarcv = 85;

_vangle = asin(_vdir select 2);

_replaced = true;

};

Share this post


Link to post
Share on other sites

Hi @ all

Well, Mandoble alredy released his Javelin, and I count it is full function, as all your addons notworthy.gif

So, I count this as some kind of test implementation: Javtest 3 by zShare

I have integrated support for Extended_EventHandlers by this code:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">class Extended_IncomingMissile_EventHandlers

{

class landVehicle {

class JAV_exclusion_landVehicle {

exclude[]={};

IncomingMissile = "if ((_this select 0)==(_this select 0)) then {[_this] execVM ""javshot.sqf""}";

};

};

};

OK, that's the working part crazy_o.gif

I implemented a definition part for the missiles, by the factors

- _climbstart: distance to target for climb

- _climbfact: Angle to start climb

- _cruisealt: Altitude for cruise phase

- _terminalstart: distance to target for teminal phase

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">if (_ammo == "hx3_BGM71F") then

{

_climbstart = 200;

_climbfact = 30;

_cruisealt = 30;

_terminalstart = 80;

};

if (_ammo == "M_Javelin_ATx") then

{

_missile = nearestobject [_attacker,_ammo];

_rangeToTarget = (getPos _missile) distance _unit;

_climbstart = 9999;

_climbfact = 30;

_cruisealt = 160; // missile tries to gain _cruisealt before reaching terminalstart

_terminalstart = _rangeToTarget -700;

if (_terminalstart < 0) then

{

_terminalstart = 2 * _rangeToTarget / 3;

};

};

Result: Well the missiles fly well... but you will not even hit a house with them banghead.gif

I think that I have mixed somthing up in the algortihm, that is why I moved the JavShot.sqf to the mission for better debug capability:

The algo has 2 parts:

-Wait till distance reaches climb start

-climb phase till terminal distance is reached

Debug-output:

actual climbstart distance

actual terminal start distance plus #flightpath corrections

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">//player globalchat format["%1",[_climbstart,_ammo]];

if (_climbstart > 1) then

{

_missile = nearestobject [_attacker,_ammo];

_rangeToTarget = (getPos _missile) distance _unit;

_vel = velocity _missile;

_misslepos = getPos _missile;

_targetpos = getPos _unit;

while { _rangeToTarget > _climbstart && (alive _missile)} do

{

sleep 0.10;

_rangeToTarget = (getPos _missile) distance _unit;

_misslepos = getPos _missile;

_targetpos = getPos _unit;

};

player globalchat format["climb %1",[_rangeToTarget,_climbstart]];

// climb phase

while { _rangeToTarget > _terminalstart && (alive _missile)} do

{

_vel = velocity _missile;

_vx = _vel select 0; _vz = _vel select 1; _vy = _vel select 2;

_vs = sqrt ((_vx * _vx) + (_vz * _vz) + (_vy * _vy));

_dir = ((_targetpos select 0)-(_misslepos select 0)) atan2 ((_targetpos select 1)-(_misslepos select 1));

_vxc = 1.00 * _vs * sin _dir;

_vzc = 1.00 * _vs * cos _dir;

// trajection for direct hit: _climb = ((_targetpos select 2)-(_misslepos select 2)) atan2 _rangeToTarget;

_count = _count + 1;

_climb = ((_cruisealt - (_misslepos select 2)) / _cruisealt) * _climbfact;

_vyc = _vs * sin _climb;

_vxc = _vxc * cos _climb;

_vzc = _vzc * cos _climb;

_missile setVectorDirAndUp [[ _vxc, _vzc, _vyc ],[ 0.0, 0.0, _vyc ]];

sleep 0.04;

_misslepos = getPos _missile;

_targetpos = getPos _unit;

_rangeToTarget = _misslepos distance _unit;

};

player globalchat format["term %1",[_rangeToTarget,_count]];

};

On the other side, even having a wait for only 40 msecs, the correction for the TOW2Bs flightpath is only called 3-4 times during the climb phase... I am not sure, weather this is enough to reach a defined altitude...

but, tomorrow is another day...

BR,

mike goodnight.gif

Share this post


Link to post
Share on other sites

so now it have top attack mode for distance object

how about the direct attack mode for closer objects?

is it possible?

Share this post


Link to post
Share on other sites
so now it have top attack mode for distance object

how about the direct attack mode for closer objects?

is it possible?

Well... launcher mode access is available using the fired Eventhandler

But there should be an alternative. I noticed that ECS included a weapon jam function, which defines a special state of a particular weapon. In our case, there should be a solution to define another state, reflecting the weapon mode, which will be accessible by the guiding script to determine weather the mode is direct or top attack.

:edit: When the range to target is less than _terminalstart, the algortihm does not try to correct the flightpath, so for a non-javelin missile, it will be direct mode anyway.

Share this post


Link to post
Share on other sites

Well as far as I know the TOW 2B is designed to fly over the top of a tank and destroy it from above, where is is less heavily armored, by simultaneously detonating the missile's two Explosively Formed Penetrator warheads downward. No direct attack mode. The guidance system allows the gunner to point his cross-hairs directly at the target.

back to topic "Improved Javelin Addon"?

Share this post


Link to post
Share on other sites

how do I "install" the mando javelin. it is just this simple:

Save the sqm, and then put it to the mission folder like any other script. no init-shit or anything else? smile_o.gif

Share this post


Link to post
Share on other sites

I think the mando-javelin is included in the Mando Missile ArmA Suite. The package also includes demo missions. notworthy.gif

@NoRailgunner: Mr.g-c also stated this in the ACE's public forum. So, the flight characteristics colnd be defined by _climbstart=9999 and reducing the _cruisealt. This may also improve the "illusion" of the 2B-impact to explode in mid-air and launching the penetrators.

I think the hit ratio of the algrorithm may be improved by reducing the missile speed after the climb/cruise phase, giving the BI-routines a better chance to hit the target in the terminal phase by accellerating in the target's direction via the BI-routines. What do you think?

BR,

mike

...

back to topic "Improved Javelin Addon"?

Ah, now I got you wink_o.gif

I try to implement an universal flightpath script, which can be adopted to any kind of lock-on missile existing in game (the lock on feature is needed for the terminal phase, where I give back the tracking control to the original codes implemented). I tried to include correct values taken from the pics frederf provided.

Share this post


Link to post
Share on other sites

OK,

Speed reduction after the climb-phase increases the hit-rate smile_o.gif

JavTest3 by zShare

included: a new test mission (moving targets).

Changes:

- I have re-enabled the addon's script for event-handling

- Changes Javelin ammo to "Javelin ®"

- Changed TOW2B climb rate to 10 degrees, cruisealt 10 meters

- Added TOW2A mag to the Stryker TOW2B

- Added speed-reduction after the climb-phase:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">...

if (alive _missile) then

{

_vel = velocity _missile;

_vx = _vel select 0; _vz = _vel select 1; _vy = _vel select 2;

_missile setVelocity [ _vx/20, _vz/20, _vy/20 ];

};

Open issues:

- increasing the wait time to make it CPU-friedlier

- cruisealt should be relative to target's ASL, else the missile would run into a hill, when the targets position is higher than the attackers

have fun,

mike

Share this post


Link to post
Share on other sites
how do I "install" the mando javelin. it is just this simple:

<span style='color:blue'><< Mando Missile Javelin demo mission >></span>

To save space, the demo mission uses the addon version (so make sure to have mando_missiles.pbo into your addons folder), if you want to use the script suite just follow this procedure.

Everything needed is inside init.sqf, if you want to play with missile parameters, open mando_replacemissile_example.sqf and modify the parameters there. Here is the list of parameters used by Mando Missiles.

Share this post


Link to post
Share on other sites

Outstanding! Of course you know this already Mandoble but this works like a dream!! Even for fast moving targets on any terrain. One vehicle tried to dash behind a hill all I lost L.O.S on the vehicle but the Mando Javelin in Hi (Top Attack) mode sure didn't. Next thing I could see was a flash, then a boom, then smoke billowing up from the other side of the hill. Fantastic!

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  

×