funkyfranky Posted July 14, 2018 Posted July 14, 2018 (edited) 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 January 23, 2019 by funkyfranky Moose Class Version 1.0.2 A warrior's mission is to foster the success of others. i9-12900K | RTX 4090 | 128 GB Ram 3200 MHz DDR-4 | Quest 3 RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss
Johnny_Rico Posted July 14, 2018 Posted July 14, 2018 Amazing stuff Franky, very well done METAR weather for DCS World missions Guide to help out new DCS MOOSE Users -> HERE Havoc Company Dedicated server info Connect IP: 94.23.215.203 SRS enabled - freqs - Main = 243, A2A = 244, A2G = 245 Please contact me HERE if you have any server feedback or METAR issues/requests
WildBillKelsoe Posted July 14, 2018 Posted July 14, 2018 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.
Sickdog Posted October 22, 2018 Posted October 22, 2018 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...
funkyfranky Posted October 22, 2018 Author Posted October 22, 2018 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 | RTX 4090 | 128 GB Ram 3200 MHz DDR-4 | Quest 3 RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss
Highwayman-Ed Posted October 23, 2018 Posted October 23, 2018 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]
Sickdog Posted October 23, 2018 Posted October 23, 2018 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...
funkyfranky Posted October 23, 2018 Author Posted October 23, 2018 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 | RTX 4090 | 128 GB Ram 3200 MHz DDR-4 | Quest 3 RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss
funkyfranky Posted October 25, 2018 Author Posted October 25, 2018 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 | RTX 4090 | 128 GB Ram 3200 MHz DDR-4 | Quest 3 RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss
Highwayman-Ed Posted October 25, 2018 Posted October 25, 2018 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]
Woody01 Posted October 26, 2018 Posted October 26, 2018 Funkyfranky thanks a lot that has really helped! The Flying Kiwis - Since ages ago... Find us at https://www.simcentral.co.nz
Highwayman-Ed Posted October 26, 2018 Posted October 26, 2018 :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]
funkyfranky Posted October 26, 2018 Author Posted October 26, 2018 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 | RTX 4090 | 128 GB Ram 3200 MHz DDR-4 | Quest 3 RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss
funkyfranky Posted October 26, 2018 Author Posted October 26, 2018 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 | RTX 4090 | 128 GB Ram 3200 MHz DDR-4 | Quest 3 RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss
Highwayman-Ed Posted October 26, 2018 Posted October 26, 2018 (edited) 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 October 26, 2018 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]
Highwayman-Ed Posted October 26, 2018 Posted October 26, 2018 (edited) Found an article about Tanker Patterns. The tanker would circle anti-clockwise over the ship as I described in the previous post 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. So, with all of that said... make it a racetrack to make things easier :) Here is a link to the publication NAVEDTRA 14342 Edited October 26, 2018 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]
funkyfranky Posted October 26, 2018 Author Posted October 26, 2018 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 | RTX 4090 | 128 GB Ram 3200 MHz DDR-4 | Quest 3 RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss
S D Posted October 26, 2018 Posted October 26, 2018 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
Highwayman-Ed Posted October 26, 2018 Posted October 26, 2018 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 :) 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]
Highwayman-Ed Posted October 27, 2018 Posted October 27, 2018 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]
ChuckJäger Posted October 27, 2018 Posted October 27, 2018 (edited) 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 October 27, 2018 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 |
JumpinK Posted October 27, 2018 Posted October 27, 2018 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.
Highwayman-Ed Posted October 28, 2018 Posted October 28, 2018 (edited) 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 October 28, 2018 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]
funkyfranky Posted October 28, 2018 Author Posted October 28, 2018 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 | RTX 4090 | 128 GB Ram 3200 MHz DDR-4 | Quest 3 RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss
Highwayman-Ed Posted October 28, 2018 Posted October 28, 2018 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]
Recommended Posts