Jump to content

Recommended Posts

Kamikaze drone, stable version - 1.0. Tactical barrage ammunition. It carries a warhead and is designed to attack manpower, unprotected and protected equipment. The UAV is launched using the Mk6 82mm mortar.

 

Download:

https://steamcommunity.com/sharedfiles/filedetails/?id=2795911738

 

Technical specifications:
- Maximum flight range - 12 Km,
- Minimum speed - 101 km/h,
- Maximum speed - 200 km/h.

 

Controls:
- Mouse rotation - change the direction of flight,
- Shift - increase the speed,
- Z - decrease the speed,
- N - Switch between the image - Standard, NVG and thermal imager,
- Scroll the mouse wheel up - camera zoom,
- Scroll the mouse wheel down - zoom out.

 

How to launch?
To launch the UAV, you need to load a special projectile with it into the Mk6 mortar. There are two ways you can do this:
1) Using the script:

mortar addMagazine "SwitchBlade_Shell_AT";
mortar addMagazine "SwitchBlade_Shell_HE";
mortar loadMagazine [[0], "mortar_82mm", "SwitchBlade_Shell_AT"];

2) You can put a special mortar from our mod, which already has the necessary shells.

 

 

P.S - During control, when you press Escape, you lose control of the drone!

Have a nice game, you can write about bugs in the comments under the mod.

 

 

 

xmjoxBb.png

 

MbTFdEV.png

  • Like 5

Share this post


Link to post
Share on other sites

I was thought that this drone go independent to target like cruse missile (without eachframe overwrite - just using arma's engine simulation models)  - but how to make it hit when steering AI without eachframe animation :), why arma still haven't command for block control?? (to avoid drone  colisions with obstacle - killing driver before impact is not perfect solution for precision) or force drone to fly in to the target directly - even flyhyinheight not work perfectly 😞

Here is simple script for kamikaze drone without this  eachframe animation.

 

params ["_drone","_trgetpos"];

if (count _trgetpos < 2) exitwith {};
private _maxspeed = getnumber (configfile >> "CfgVehicles" >> typeof _drone >> "maxSpeed");

 

_drone addEventHandler ["killed", { params ["_unit", "_killer", "_instigator", "_useEffects"]; createVehicle ['Bomb_04_F', getpos _unit, [], 0, "CAN_COLLIDE"]; deletevehicle _unit;}];

private _crew = "C_UAV_AI";
switch (side _drone) do
    {
        case WEST: {_crew = "B_UAV_AI";};
        case EAST: {_crew = "O_UAV_AI";};
        case independent: {_crew = "I_UAV_AI";};
    };

deletevehicle (driver _drone);

_unit = createAgent [_crew, (getPos _drone), [], 0, "CAN_COLLIDE"];
_unit moveInAny _drone;
_drone setVehicleLock "LOCKED";
_drone engineon true;

_drone setDestination [getpos waitpoint, "VEHICLE PLANNED", true];
_drone limitSpeed _maxspeed/3;

_drone setDestination [_trgetpos, "VEHICLE PLANNED", true];
_drone forceSpeed _maxspeed;
_drone limitSpeed _maxspeed;

_drone flyInHeight 100;

 

waituntil {sleep 1;!(alive _drone) || ((_drone distance2d _trgetpos) < 1500)};

_drone flyInHeight 200;

waituntil {sleep 1;!(alive _drone) || ((_drone distance2d _trgetpos) < 1000)}; 

_drone flyInHeight 25;

waituntil {sleep 0.1;!(alive _drone) || ((_drone distance2d _trgetpos) < 500)};
_drone dowatch _trgetpos;
_drone flyInHeight 0;

waituntil {sleep 0.1;!(alive _drone) || (

    (abs ((((getpos _drone) vectorFromTo _trgetpos) vectorDiff (vectorNormalized(velocity _drone)))#0) < 0.1) &&
    (abs ((((getpos _drone) vectorFromTo _trgetpos) vectorDiff (vectorNormalized(velocity _drone)))#1) < 0.1) &&
    (abs ((((getpos _drone) vectorFromTo _trgetpos) vectorDiff (vectorNormalized(velocity _drone)))#2) < 0.1)
    && ((_drone distance _trgetpos) < 400)
    )};

deletevehicle _unit;

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

×