Jump to content

Rescue Helo-Carrier Formation 24/7


funkyfranky

Recommended Posts

FxbJGMz.png

 

I've seen some people asking about the possibility to have a helo fly in formation with an aircraft carrier. With the ME tools this seems to be quite a hassle when defining the waypoints, i.e. matching the speeds or ETAs of both units etc. Also the situation when the helo runs out of fuel seems problematic.

 

So here is a little MOOSE script where no fiddling around with speeds etc is necessary. Carrier can have any number of waypoints or any speed. The exact offset of the carrier can be specified. When the helo is out of fuel it will land on the carrier, be respawned and then go back on station again. When the carrier has reached its last waypoint, it will automatically start again at its first waypoint and so on. So this script will run 24/7.

 

 

UPDATE

The rescue helo script has now been integrated into an own MOOSE class. This makes the scripting part even simpler (two lines).

 

Here is an example of two rescue helos. One for the "USS Stennis" (spawned in air) and one for the "USS Tarawa", where spawning will happen on the flight deck.

 

--------------------------------
-- Rescue Helo Example Script --
--------------------------------

-- Rescue Helo @ USS John C. Stennis.
rescueheloStennis=RESCUEHELO:New("USS Stennis", "Rescue Helo")
rescueheloStennis:SetTakeoffAir()   -- Helo will be spawned and respawn in air.
rescueheloStennis:Start()

-- Rescue Helo @ USS Tarawa.
rescueheloTarawa=RESCUEHELO:New("USS Tarawa", "Rescue Helo")
rescueheloTarawa:Start()

-- (Optional) Make carriers patrol their route indefinitely.
UNIT:FindByName("USS Stennis"):PatrolRoute()
UNIT:FindByName("USS Tarawa"):PatrolRoute()

 

In the script, you only need to specify the name of the carrier unit (here "USS Stennis") and the name of the helo group (here "Rescue Helo").

 

Features

  • Close formation with carrier.
  • No restrictions regarding carrier waypoints and heading.
  • Automatic respawning on empty fuel for 24/7 operations.
  • Automatic rescuing of crashed or ejected pilots in the vicinity of the carrier.
  • Multiple helos at different carriers due to object oriented approach.
  • Finite State Machine (FSM) implementation.

 

Please find the documentation here. It contains information how you can customize settings via user API functions.

 

Download

Note that the Moose.lua file is currently only available on the Moose development branch, which you can download here.

 

An example mission containing the latest Moose.lua and the script above is attached to this post.

 

Hope it helps :)

RescueHelo102.miz


Edited by funkyfranky
Moose Class Version 1.0.2

A warrior's mission is to foster the success of others.

i9-12900K | MSI RTX 3080Ti Suprim X | 128 GB Ram 3200 MHz DDR-4 | MSI MPG Edge Z690 | Samung EVO 980 Pro SSD | Virpil Stick, Throttle and Collective | MFG Crosswind | HP Reverb G2

RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss

Link to comment
Share on other sites

my god this is awesome! thanks for sharing!

AWAITING ED NEW DAMAGE MODEL IMPLEMENTATION FOR WW2 BIRDS

 

Fat T is above, thin T is below. Long T is faster, Short T is slower. Open triangle is AWACS, closed triangle is your own sensors. Double dash is friendly, Single dash is enemy. Circle is friendly. Strobe is jammer. Strobe to dash is under 35 km. HDD is 7 times range key. Radar to 160 km, IRST to 10 km. Stay low, but never slow.

Link to comment
Share on other sites

  • 3 months later...

This is incredible, nice job. I’m just beginning to learn scripting (have some objective C experience) and also familiarizing with MOOSE, and have a question. I’m trying to get the chopper to break off formation with the carrier and pretend to rescue downed aircraft around the carrier but can’t get the chopper to break formation. I have gotten the code to work if I don’t execute the FSM line but once the FSM is called I can’t seem to figure out how to clear or stop it. Any ideas? Thanks in advance!

TM Warthog, Oculus Rift, Win10...

Link to comment
Share on other sites

CarrierFormation:Stop()

will stop it. But then the helo will probably return to the ship.

You have to set a waypoint - maybe even before you stop, since the AI sometimes acts really silly and does not obey commands once they are going to land somewhere.

 

Try something along this line

RescueCoord=UNIT:FindByName("My Unit in Danger"):GetCoordinate()
RescueWP=RescueCoord:WaypointAirTurningPoint()
HeloSpawn:Route(RescueWP)
CarrierFormation:Stop()

Untested - hope it works :)

A warrior's mission is to foster the success of others.

i9-12900K | MSI RTX 3080Ti Suprim X | 128 GB Ram 3200 MHz DDR-4 | MSI MPG Edge Z690 | Samung EVO 980 Pro SSD | Virpil Stick, Throttle and Collective | MFG Crosswind | HP Reverb G2

RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss

Link to comment
Share on other sites

You sir are a star. Now, can you do the same for a tanker to stay overhead?

Intel i9-9900KF @5.2GHz

MSI Z390 Gaming Pro Carbon

32GB G.Skill Trident Z DDR3200 RAM

MSI RTX 2080 Ti Gaming X Trio

40" Panasonic TH-40DX600U @ 4K

Pimax Vision 8K Plus / Oculus Rift CV1 / HTC Vive

Gametrix JetSeat with SimShaker

Windows 10 64 Bit Home Edition

 

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

Thank you FunkyFranky for such a quick reply and the help. I think my problem is more basic lua programming and understanding how to call that function based on an event. Originally I added to your script file an event detecting the players crash (right from MOOSE Events example mission/lua where it pops smoke where you crashed) and tried stopping the helo’s formation and then sending it to the crash site in that function. That worked as long as the FSM line was never called in your script. I tried your code yesterday and tons of trial and error to no avail. I’ve also tried making a separate lua file that has your stop formation code (and I assume I need to declare the variables again in that file, and I made them global variables anyway), and i set a trigger in ME to run the file. But no luck. I’ll keep working on it but I’ve already wasted countless hours on something silly, it’s more of a challenge. Maybe I can PM you if you wouldn’t mind if I get to the point of giving up? Thanks again!

TM Warthog, Oculus Rift, Win10...

Link to comment
Share on other sites

Maybe I can PM you if you wouldn’t mind if I get to the point of giving up?

Sure, always! :)

A warrior's mission is to foster the success of others.

i9-12900K | MSI RTX 3080Ti Suprim X | 128 GB Ram 3200 MHz DDR-4 | MSI MPG Edge Z690 | Samung EVO 980 Pro SSD | Virpil Stick, Throttle and Collective | MFG Crosswind | HP Reverb G2

RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss

Link to comment
Share on other sites

You sir are a star. Now, can you do the same for a tanker to stay overhead?

Where exactly do you need the tanker? Orbit or race-track pattern (distances to carrier), altitude, speed?

A warrior's mission is to foster the success of others.

i9-12900K | MSI RTX 3080Ti Suprim X | 128 GB Ram 3200 MHz DDR-4 | MSI MPG Edge Z690 | Samung EVO 980 Pro SSD | Virpil Stick, Throttle and Collective | MFG Crosswind | HP Reverb G2

RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss

Link to comment
Share on other sites

Where exactly do you need the tanker? Orbit or race-track pattern (distances to carrier), altitude, speed?

 

Hell, if you can just get it to stay overhead I'd do back flips...

 

If you can get it to orbit 2.5 nm to the port side of the carrier in an anti-clockwise pattern at 250kts at Angels 6, I'll pledge my soul to 'Hello Kitty"

Intel i9-9900KF @5.2GHz

MSI Z390 Gaming Pro Carbon

32GB G.Skill Trident Z DDR3200 RAM

MSI RTX 2080 Ti Gaming X Trio

40" Panasonic TH-40DX600U @ 4K

Pimax Vision 8K Plus / Oculus Rift CV1 / HTC Vive

Gametrix JetSeat with SimShaker

Windows 10 64 Bit Home Edition

 

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

:helpsmilie:

 

OK, here's an odd one for you. Why would this script work PERFECTLY in the Black Sea, but the helicopter lands immediately in the Persian Gulf map?

 

Absolutely no difference in the script or unit names...

Intel i9-9900KF @5.2GHz

MSI Z390 Gaming Pro Carbon

32GB G.Skill Trident Z DDR3200 RAM

MSI RTX 2080 Ti Gaming X Trio

40" Panasonic TH-40DX600U @ 4K

Pimax Vision 8K Plus / Oculus Rift CV1 / HTC Vive

Gametrix JetSeat with SimShaker

Windows 10 64 Bit Home Edition

 

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

OK, here's an odd one for you. Why would this script work PERFECTLY in the Black Sea, but the helicopter lands immediately in the Persian Gulf map?

Hmm, that's odd indeed. This stuff is completely independent of the map. So there is no reason for it not to work on the PG map.

Absolutely no difference in the script or unit names...

From my personal experience, whenever I have something like that, I go back and re-check everything carefully. Very often it is a subtle mistake, typo,... I made somewhere. But I'll check on the PG map tonight or tomorrow :)

A warrior's mission is to foster the success of others.

i9-12900K | MSI RTX 3080Ti Suprim X | 128 GB Ram 3200 MHz DDR-4 | MSI MPG Edge Z690 | Samung EVO 980 Pro SSD | Virpil Stick, Throttle and Collective | MFG Crosswind | HP Reverb G2

RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss

Link to comment
Share on other sites

If you can get it to orbit 2.5 nm to the port side of the carrier in an anti-clockwise pattern at 250kts at Angels 6.

Sounds good. What would be a realistic turn radius?

 

There are two options. A circular or a race track pattern. Personally, I would tend to the race-track since it gives the pilots a chance to catch the tanker in a straight flight at least once in a while. Any thoughts on that? How is this done IRL?

A warrior's mission is to foster the success of others.

i9-12900K | MSI RTX 3080Ti Suprim X | 128 GB Ram 3200 MHz DDR-4 | MSI MPG Edge Z690 | Samung EVO 980 Pro SSD | Virpil Stick, Throttle and Collective | MFG Crosswind | HP Reverb G2

RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss

Link to comment
Share on other sites

From my personal experience, whenever I have something like that, I go back and re-check everything carefully. Very often it is a subtle mistake, typo,... I made somewhere. But I'll check on the PG map tonight or tomorrow :)

 

I quite agree. Even to the point where I created a brand new mission with only a carrier and the SH-60 in it and you un-edited script and it still did the same thing! It really is an odd one.


Edited by Highwayman-Ed

Intel i9-9900KF @5.2GHz

MSI Z390 Gaming Pro Carbon

32GB G.Skill Trident Z DDR3200 RAM

MSI RTX 2080 Ti Gaming X Trio

40" Panasonic TH-40DX600U @ 4K

Pimax Vision 8K Plus / Oculus Rift CV1 / HTC Vive

Gametrix JetSeat with SimShaker

Windows 10 64 Bit Home Edition

 

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

Found an article about Tanker Patterns.

 

The tanker would circle anti-clockwise over the ship as I described in the previous post

 

Capture.jpg

 

However, once the recieving aircraft successfully connects, it establishes a racetrack pattern in the vicinity of the carrier. The tanker should not proceed more than 10nm ahead of the ship and the downwind leg of the pattern should be 3 to 5 miles abeam the ships port side. The refuelling should be complete by the time the tanker reaches 6 miles astern the carrier.

 

Capture-2.jpg

 

So, with all of that said... make it a racetrack to make things easier :)

 

Here is a link to the publication NAVEDTRA 14342


Edited by Highwayman-Ed

Intel i9-9900KF @5.2GHz

MSI Z390 Gaming Pro Carbon

32GB G.Skill Trident Z DDR3200 RAM

MSI RTX 2080 Ti Gaming X Trio

40" Panasonic TH-40DX600U @ 4K

Pimax Vision 8K Plus / Oculus Rift CV1 / HTC Vive

Gametrix JetSeat with SimShaker

Windows 10 64 Bit Home Edition

 

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

Found an article about Tanker Patterns.

Awesome, mate :thumbup: That's exactly what I needed. Not sure everything is possible given the scripting limitations, but I'll try my best over the weekend :)

A warrior's mission is to foster the success of others.

i9-12900K | MSI RTX 3080Ti Suprim X | 128 GB Ram 3200 MHz DDR-4 | MSI MPG Edge Z690 | Samung EVO 980 Pro SSD | Virpil Stick, Throttle and Collective | MFG Crosswind | HP Reverb G2

RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss

Link to comment
Share on other sites

Little bit of a cheeky request here ;)

 

 

Would it be possible (well more like do you have the inclination), to expand this slightly into a bit of a "Recovery Ops" system using MOOSE?

 

 

The idea would be the carrier would have a basic patrol zone which it would travel around, then you commence "Recovery Ops", at which point the carrier would turn into the wind and set speed to get the required wind over the deck, the tanker and SAR helo would be launched.

Then you can end "Recovery Ops", the carrier will return to its patrol zone once the tanker and helo are back aboard.

 

 

Alot to ask i know, but you are one of the few people who could do it :P

Link to comment
Share on other sites

Awesome, mate :thumbup: That's exactly what I needed. Not sure everything is possible given the scripting limitations, but I'll try my best over the weekend :)

 

2l2icd.jpg

Intel i9-9900KF @5.2GHz

MSI Z390 Gaming Pro Carbon

32GB G.Skill Trident Z DDR3200 RAM

MSI RTX 2080 Ti Gaming X Trio

40" Panasonic TH-40DX600U @ 4K

Pimax Vision 8K Plus / Oculus Rift CV1 / HTC Vive

Gametrix JetSeat with SimShaker

Windows 10 64 Bit Home Edition

 

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

OK, so not sure what it is yet, but as soon as I put Random Air Traffic in, the helicopter will land when the first airliner spawns...

 

Here's the script for one of the airliners;

 

local a380=RAT:New("a380", "A380")

a380:SetTakeoff("air")

a380:ATC_Messages("off")

a380:SetDeparture({"Long Haul E"})

a380:SetDestination({"Long Haul W"})

a380:SetSpawnInterval(1500)

a380:Livery({"Qantas Airways","Singapore Airlines","Emirates","Thai Airways","Qatar Airways","British Airways","Air France"})

a380:SetCruiseAltitude(38000)

a380:Invisible()

a380:Spawn(1)

Intel i9-9900KF @5.2GHz

MSI Z390 Gaming Pro Carbon

32GB G.Skill Trident Z DDR3200 RAM

MSI RTX 2080 Ti Gaming X Trio

40" Panasonic TH-40DX600U @ 4K

Pimax Vision 8K Plus / Oculus Rift CV1 / HTC Vive

Gametrix JetSeat with SimShaker

Windows 10 64 Bit Home Edition

 

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

Would it be possible to have the helo fly a Starboard Delta Pattern, as they would do for Plane Guard? They stop alongside of the ship sometimes, but most of the time the Helo is orbiting to the Starboard side of the ship, I'll try to find it in the NATOPS manual but in the meantime here is another resource that explains it...

 

http://webapp1.dlib.indiana.edu/virtual_disk_library/index.cgi/4240529/FID378/pdfdocs/jel/new_pubs/jp3_04_1.pdf

 

 

(I know its a big ask.. but just curious)


Edited by ChuckJäger

VFA-113 | Stinger 307 | "Hank"

 

USN OEF OIF Veteran

 

i7-8700K OC'd 4800ghz | Gigabyte GeForce RTX 2080Ti OC'd | 32gb RAM | 2.5TB SSD | Odyssey + | TM Warthog HOTAS |

Link to comment
Share on other sites

Great script! Thanks a lot!!!

"Landing on the ship during the daytime is like sex, it's either good or it's great. Landing on the ship at night is like a trip to the dentist, you may get away with no pain, but you just don't feel comfortable"

— LCDR Thomas Quinn, USN.

Link to comment
Share on other sites

Here's a quick video I took this morning. This mission flew with the Rescue helo in perfect formation with the carrier. Then after adding the RAT airliner as mentioned in the previous post, this is what happens.

 

local a380=RAT:New("a380", "A380")
a380:SetTakeoff("air")
a380:ATC_Messages("off")
a380:SetDeparture({"Long Haul E"})
a380:SetDestination({"Long Haul W"})
a380:SetSpawnInterval(1500)
a380:Livery({"Qantas Airways","Singapore Airlines","Emirates","Thai Airways","Qatar Airways","British Airways","Air France"})
a380:SetCruiseAltitude(38000)
a380:Invisible()
a380:Spawn(1)

 

 

Helicopter spawns

Helicopter moves to holding position

Helicopter initiates landing at the position indicated in waypoint route.

 

If the waypoints for the helicopter are clear, it lands on the carrier.


Edited by Highwayman-Ed

Intel i9-9900KF @5.2GHz

MSI Z390 Gaming Pro Carbon

32GB G.Skill Trident Z DDR3200 RAM

MSI RTX 2080 Ti Gaming X Trio

40" Panasonic TH-40DX600U @ 4K

Pimax Vision 8K Plus / Oculus Rift CV1 / HTC Vive

Gametrix JetSeat with SimShaker

Windows 10 64 Bit Home Edition

 

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

Then after adding the RAT airliner as mentioned in the previous post, this is what happens.

a380:ATC_Messages([b]"off"[/b])

Hmm, not 100% sure if this is the real reason, but the line above will probably crash the script.

Set it to

a380:ATC_Messages([b]false[/b])

and try again, please.

A warrior's mission is to foster the success of others.

i9-12900K | MSI RTX 3080Ti Suprim X | 128 GB Ram 3200 MHz DDR-4 | MSI MPG Edge Z690 | Samung EVO 980 Pro SSD | Virpil Stick, Throttle and Collective | MFG Crosswind | HP Reverb G2

RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss

Link to comment
Share on other sites

I’ll try, but the script runs fine, and no atc messages for it.

Intel i9-9900KF @5.2GHz

MSI Z390 Gaming Pro Carbon

32GB G.Skill Trident Z DDR3200 RAM

MSI RTX 2080 Ti Gaming X Trio

40" Panasonic TH-40DX600U @ 4K

Pimax Vision 8K Plus / Oculus Rift CV1 / HTC Vive

Gametrix JetSeat with SimShaker

Windows 10 64 Bit Home Edition

 

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...