Jump to content

[MOOSE] RAT - Random Air Traffic


Recommended Posts

You need to enclose the skins with a leading and trailing parenthesis like this:

local b727skins=({"AEROFLOT", "Air France", "Alaska", "Alitalia", "American Airlines", "Clean", "Delta Airlines", "Delta Airlines OLD", "FedEx", "Hapag Lloyd", "Lufthansa", "Lufthansa Oberhausen Old", "Northwest", "Pan Am", "Singapore Airlines", "Southwest", "UNITED", "UNITED Old", "ZERO G"})

 

If you pay attention to how JanK's script is written, you'll realize that the parenthesis are already there.

 

 

local a320skins={"Aeroflot", "Aeroflot 1", "Air Asia", "Air Berlin", "Air Berlin FFO", "Air Berlin OLT", "Air Berlin retro", "Air France", "Air Moldova", "Airbus Neo", "Al Maha", "Alitalia", "American Airlines", "British Airways", "Cebu Pacific", "Clean", "Condor", "Delta Airlines", "Easy Jet","Easy Jet Berlin","Easy Jet w", "Edelweiss", "Emirates", "Etihad", "Eurowings", "Eurowings BVB09", "Eurowings Europa Park", "Fly Georgia", "Fly Niki", "Frontier", "German Wings", "Gulf Air", "Iberia", "Iran Air", "Jet Blue NY", "JetBlue", "jetBlue FDNY", "Kish Air", "Kuwait Airways", "Lufthansa", "Lufthansa New", "MEA", "Qatar", "S7", "SAS", "Saudi Gulf", "Saudi", "Small Planet", "Star Alliance", "SWISS", "Thomas Cook", "Tunis Air", "Turkish Airlines", "United", "Ural Airlines", "US Airways", "Vietnam Airlines", "Virgin", "WiZZ", "WiZZ Budapest", "WOW"}

 

local cessnaskins={"D-EKVW", "HellenicAF", "Muster", "N9672H", "SEagle_blue", "SEagle_red", "USAF-Academy", "V5-BUG", "VH-JGA"}

 

a320:Livery(a320skins) -- a320skins is the first local variable, which contains a table of strings

 

cessna:Livery(cessnaskins) -- cessnaskins is the second local variable, which contains another table of strings

 

-- This is basically the same as writing:

 

a320:Livery( {"Aeroflot", "Aeroflot 1", "Air Asia", "Air Berlin", "Air Berlin FFO", "Air Berlin OLT", "Air Berlin retro", "Air France", "Air Moldova", "Airbus Neo", "Al Maha", "Alitalia", "American Airlines", "British Airways", "Cebu Pacific", "Clean", "Condor", "Delta Airlines", "Easy Jet","Easy Jet Berlin","Easy Jet w", "Edelweiss", "Emirates", "Etihad", "Eurowings", "Eurowings BVB09", "Eurowings Europa Park", "Fly Georgia", "Fly Niki", "Frontier", "German Wings", "Gulf Air", "Iberia", "Iran Air", "Jet Blue NY", "JetBlue", "jetBlue FDNY", "Kish Air", "Kuwait Airways", "Lufthansa", "Lufthansa New", "MEA", "Qatar", "S7", "SAS", "Saudi Gulf", "Saudi", "Small Planet", "Star Alliance", "SWISS", "Thomas Cook", "Tunis Air", "Turkish Airlines", "United", "Ural Airlines", "US Airways", "Vietnam Airlines", "Virgin", "WiZZ", "WiZZ Budapest", "WOW"})

 

cessna:Livery({"D-EKVW", "HellenicAF", "Muster", "N9672H", "SEagle_blue", "SEagle_red", "USAF-Academy", "V5-BUG", "VH-JGA"})

 

 

 

I think the reason it didn't work is because he wrote a320:Livery() instead of A320:Livery(), in other words, he got his variables mixed up in the copy/paste process (happens to me all the time)


Edited by Hardcard
Link to comment
Share on other sites

I think the reason it didn't work is because he wrote a320:Livery() instead of A320:Livery(), in other words, he got his variables mixed up in the copy/paste process (happens to me all the time)

^ This, plus the liveries should be specified after the :New() but before the :Spawn() command. Otherwise the spawning will not know that special liveries are defined.

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 pay attention to how JanK's script is written, you'll realize that the parenthesis are already there.

 

 

local a320skins={"Aeroflot", "Aeroflot 1", "Air Asia", "Air Berlin", "Air Berlin FFO", "Air Berlin OLT", "Air Berlin retro", "Air France", "Air Moldova", "Airbus Neo", "Al Maha", "Alitalia", "American Airlines", "British Airways", "Cebu Pacific", "Clean", "Condor", "Delta Airlines", "Easy Jet","Easy Jet Berlin","Easy Jet w", "Edelweiss", "Emirates", "Etihad", "Eurowings", "Eurowings BVB09", "Eurowings Europa Park", "Fly Georgia", "Fly Niki", "Frontier", "German Wings", "Gulf Air", "Iberia", "Iran Air", "Jet Blue NY", "JetBlue", "jetBlue FDNY", "Kish Air", "Kuwait Airways", "Lufthansa", "Lufthansa New", "MEA", "Qatar", "S7", "SAS", "Saudi Gulf", "Saudi", "Small Planet", "Star Alliance", "SWISS", "Thomas Cook", "Tunis Air", "Turkish Airlines", "United", "Ural Airlines", "US Airways", "Vietnam Airlines", "Virgin", "WiZZ", "WiZZ Budapest", "WOW"}

 

local cessnaskins={"D-EKVW", "HellenicAF", "Muster", "N9672H", "SEagle_blue", "SEagle_red", "USAF-Academy", "V5-BUG", "VH-JGA"}

 

a320:Livery(a320skins) -- a320skins is the first local variable, which contains a table of strings

 

cessna:Livery(cessnaskins) -- cessnaskins is the second local variable, which contains another table of strings

 

-- This is basically the same as writing:

 

a320:Livery( {"Aeroflot", "Aeroflot 1", "Air Asia", "Air Berlin", "Air Berlin FFO", "Air Berlin OLT", "Air Berlin retro", "Air France", "Air Moldova", "Airbus Neo", "Al Maha", "Alitalia", "American Airlines", "British Airways", "Cebu Pacific", "Clean", "Condor", "Delta Airlines", "Easy Jet","Easy Jet Berlin","Easy Jet w", "Edelweiss", "Emirates", "Etihad", "Eurowings", "Eurowings BVB09", "Eurowings Europa Park", "Fly Georgia", "Fly Niki", "Frontier", "German Wings", "Gulf Air", "Iberia", "Iran Air", "Jet Blue NY", "JetBlue", "jetBlue FDNY", "Kish Air", "Kuwait Airways", "Lufthansa", "Lufthansa New", "MEA", "Qatar", "S7", "SAS", "Saudi Gulf", "Saudi", "Small Planet", "Star Alliance", "SWISS", "Thomas Cook", "Tunis Air", "Turkish Airlines", "United", "Ural Airlines", "US Airways", "Vietnam Airlines", "Virgin", "WiZZ", "WiZZ Budapest", "WOW"})

 

cessna:Livery({"D-EKVW", "HellenicAF", "Muster", "N9672H", "SEagle_blue", "SEagle_red", "USAF-Academy", "V5-BUG", "VH-JGA"})

 

 

 

I think the reason it didn't work is because he wrote a320:Livery() instead of A320:Livery(), in other words, he got his variables mixed up in the copy/paste process (happens to me all the time)

 

 

Ahhh, ok. I see. Apparently there are 2 ways of doing that or I have an extra set of parenthesis. :D. Mine works but I learned something so all is good. I may try removing my parenthesis and see if it still works. I was having a few issues when learning how to get the liveries working when I started a few weeks ago. But mine works and I have the same as his but I am using the 727 skins b727:Livery(b727skins).

Thanks :thumbup:


Edited by davebert
Link to comment
Share on other sites

I'm surprised that it works at all with 2 sets of parenthesis :D

 

 

@funkyfranky

 

I was so focused on the table - variable thing that I didn't stop to check the method order :doh:

 

Yup, :Spawn() should always be at the end

 

 

My script as a test works fine even in multiplayer. But I want it to be syntactically correct. But this works:

 

 

local yak=RAT:New("RAT_YAK")
-- Spawn five planes
yak:Spawn(5)

local c130=RAT:New("RAT_C130")
c130:Spawn(5)

local b727=RAT:New("RAT_B727")
b727:Spawn(10)

local b727skins=({"AEROFLOT", "Air France", "Alaska", "Alitalia", "American Airlines", "Clean", "Delta Airlines", "Delta Airlines OLD", "FedEx", "Hapag Lloyd", "Lufthansa", "Lufthansa Oberhausen Old", "Northwest", "Pan Am", "Singapore Airlines", "Southwest", "UNITED", "UNITED Old", "ZERO G"})


b727:Livery(b727skins)

Should it be like this?

 


local b727skins=({"AEROFLOT", "Air France", "Alaska", "Alitalia", "American Airlines", "Clean", "Delta Airlines", "Delta Airlines OLD", "FedEx", "Hapag Lloyd", "Lufthansa", "Lufthansa Oberhausen Old", "Northwest", "Pan Am", "Singapore Airlines", "Southwest", "UNITED", "UNITED Old", "ZERO G"})


b727:Livery(b727skins)


local yak=RAT:New("RAT_YAK")
-- Spawn five planes
yak:Spawn(5)

local c130=RAT:New("RAT_C130")
c130:Spawn(5)

local b727=RAT:New("RAT_B727")
b727:Spawn(10)

 

 

 

Thanks

Link to comment
Share on other sites

My script as a test works fine even in multiplayer. But I want it to be syntactically correct. But this works:

 

 

local yak=RAT:New("RAT_YAK")
-- Spawn five planes
yak:Spawn(5)

local c130=RAT:New("RAT_C130")
c130:Spawn(5)

local b727=RAT:New("RAT_B727")
b727:Spawn(10)

local b727skins=({"AEROFLOT", "Air France", "Alaska", "Alitalia", "American Airlines", "Clean", "Delta Airlines", "Delta Airlines OLD", "FedEx", "Hapag Lloyd", "Lufthansa", "Lufthansa Oberhausen Old", "Northwest", "Pan Am", "Singapore Airlines", "Southwest", "UNITED", "UNITED Old", "ZERO G"})


b727:Livery(b727skins)

 

AFAIK, that shouldn't work. As funkyfranky said, liveries must be specified before :Spawn() is called. That script spawns b727 BEFORE the liveries are specified

 

Are you 100% sure it's working? It shouldn't :huh:

 

Perhaps funkyfranky will be able to explain what's going on.

 

 

In any case, I think this would be a valid way of doing it:

 

 

local b727skins={"AEROFLOT", "Air France", "Alaska", "Alitalia", "American Airlines", "Clean", "Delta Airlines", "Delta Airlines OLD", "FedEx", "Hapag Lloyd", "Lufthansa", "Lufthansa Oberhausen Old", "Northwest", "Pan Am", "Singapore Airlines", "Southwest", "UNITED", "UNITED Old", "ZERO G"}

 

 

local yak=RAT:New("RAT_YAK")

-- Spawn five planes

yak:Spawn(5)

 

local c130=RAT:New("RAT_C130")

c130:Spawn(5)

 

local b727=RAT:New("RAT_B727")

b727:Livery(b727skins):Spawn(10)

 


Edited by Hardcard
Link to comment
Share on other sites

AFAIK, that shouldn't work. As funkyfranky said, liveries must be specified before :Spawn() is called. That script spawns b727 BEFORE the liveries are specified

 

Are you 100% sure it's working? It shouldn't :huh:

 

Perhaps funkyfranky will be able to explain what's going on.

 

 

In any case, I think this would be a valid way of doing it:

 

 

local b727skins={"AEROFLOT", "Air France", "Alaska", "Alitalia", "American Airlines", "Clean", "Delta Airlines", "Delta Airlines OLD", "FedEx", "Hapag Lloyd", "Lufthansa", "Lufthansa Oberhausen Old", "Northwest", "Pan Am", "Singapore Airlines", "Southwest", "UNITED", "UNITED Old", "ZERO G"}

 

 

local yak=RAT:New("RAT_YAK")

-- Spawn five planes

yak:Spawn(5)

 

local c130=RAT:New("RAT_C130")

c130:Spawn(5)

 

local b727=RAT:New("RAT_B727")

b727:Livery(b727skins):Spawn(10)

 

 

100% sure it works on local and multiplayer and I run it on the DCS Beta Server so my flying friends see the skins too. But like I said, I am pretty new to this and want to do it syntactically correct so I am all ears on learning to do it right. :)

Thanks

Link to comment
Share on other sites

100% sure it works on local and multiplayer and I run it on the DCS Beta Server so my flying friends see the skins too. But like I said, I am pretty new to this and want to do it syntactically correct so I am all ears on learning to do it right. :)

Thanks

I might be, that the actual spawn command is a bit delayed. Then the array/table with the defined liveries would already be initialized when the spawn happens. But if you want to be safe, you should put the line with the liveries (or other options) before the spawn line. But hey, whatever works :D

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 might be, that the actual spawn command is a bit delayed. Then the array/table with the defined liveries would already be initialized when the spawn happens. But if you want to be safe, you should put the line with the liveries (or other options) before the spawn line. But hey, whatever works :D

 

 

Yeah, I was thinking there may have been a delay before the actual spawning too, but it was working. I will strive to do it correct now, and in the future. Thanks for clearing this up for us. :thumbup:

Link to comment
Share on other sites

OK you guys confuse the hell out of an old man :music_whistling:

 

But got it working at last, thank you all for help :)

 

 

local A320skins={"Aeroflot", "Aeroflot 1", "Air Asia", "Air Berlin", "Air Berlin FFO", "Air Berlin OLT", "Air Berlin retro", "Air France", "Air Moldova", "Airbus Neo", "Al Maha", "Alitalia", "American Airlines", "British Airways", "Cebu Pacific", "Clean", "Condor", "Delta Airlines", "Easy Jet","Easy Jet Berlin","Easy Jet w", "Edelweiss", "Emirates", "Etihad", "Eurowings", "Eurowings BVB09", "Eurowings Europa Park", "Fly Georgia", "Fly Niki", "Frontier", "German Wings", "Gulf Air", "Iberia", "Iran Air", "Jet Blue NY", "JetBlue", "jetBlue FDNY", "Kish Air", "Kuwait Airways", "Lufthansa", "Lufthansa New", "MEA", "Qatar", "S7", "SAS", "Saudi Gulf", "Saudi", "Small Planet", "Star Alliance", "SWISS", "Thomas Cook", "Tunis Air", "Turkish Airlines", "United", "Ural Airlines", "US Airways", "Vietnam Airlines", "Virgin", "WiZZ", "WiZZ Budapest", "WOW"}

local cessnaskins={"D-EKVW", "HellenicAF", "Muster", "N9672H", "SEagle_blue", "SEagle_red", "USAF-Academy", "V5-BUG", "VH-JGA"}

 

local F14B=RAT:New("RAT_F14B")

local A320=RAT:New("RAT_A320")

local B747=RAT:New("RAT_747")

local C130=RAT:New("RAT_C130")

local cessna=RAT:New("RAT_Cessna")

 

A320:Livery(A320skins)

cessna:Livery(cessnaskins)

 

F14B:Spawn(2)

A320:Spawn(5)

B747:Spawn(1)

C130:Spawn(2)

cessna:Spawn(5)

 

Link to comment
Share on other sites

OK you guys confuse the hell out of an old man :music_whistling:

 

But got it working at last, thank you all for help :)

 

 

local A320skins={"Aeroflot", "Aeroflot 1", "Air Asia", "Air Berlin", "Air Berlin FFO", "Air Berlin OLT", "Air Berlin retro", "Air France", "Air Moldova", "Airbus Neo", "Al Maha", "Alitalia", "American Airlines", "British Airways", "Cebu Pacific", "Clean", "Condor", "Delta Airlines", "Easy Jet","Easy Jet Berlin","Easy Jet w", "Edelweiss", "Emirates", "Etihad", "Eurowings", "Eurowings BVB09", "Eurowings Europa Park", "Fly Georgia", "Fly Niki", "Frontier", "German Wings", "Gulf Air", "Iberia", "Iran Air", "Jet Blue NY", "JetBlue", "jetBlue FDNY", "Kish Air", "Kuwait Airways", "Lufthansa", "Lufthansa New", "MEA", "Qatar", "S7", "SAS", "Saudi Gulf", "Saudi", "Small Planet", "Star Alliance", "SWISS", "Thomas Cook", "Tunis Air", "Turkish Airlines", "United", "Ural Airlines", "US Airways", "Vietnam Airlines", "Virgin", "WiZZ", "WiZZ Budapest", "WOW"}

local cessnaskins={"D-EKVW", "HellenicAF", "Muster", "N9672H", "SEagle_blue", "SEagle_red", "USAF-Academy", "V5-BUG", "VH-JGA"}

 

local F14B=RAT:New("RAT_F14B")

local A320=RAT:New("RAT_A320")

local B747=RAT:New("RAT_747")

local C130=RAT:New("RAT_C130")

local cessna=RAT:New("RAT_Cessna")

 

A320:Livery(A320skins)

cessna:Livery(cessnaskins)

 

F14B:Spawn(2)

A320:Spawn(5)

B747:Spawn(1)

C130:Spawn(2)

cessna:Spawn(5)

 

 

Glad to hear you got it sorted and thanks for reporting back with your results. And being confused makes you smarter. :D

 

:joystick:

Link to comment
Share on other sites

  • 2 months later...

I have a question, hopefully someone can point out where I'm going wrong.

 

 

I'm trying to spawn helo's at airbases using TerminalType.HelicopterOnly. I have CH47's and UH60's set up, but:

 

 

  1. They only ever seem to spawn at parking spots for planes.
  2. The CH47 and UH60 both start up and then slowly taxi from their parking spot to the runway before taking off.
  3. Using HelicopterOnly results in error messages saying "No valid destination airport could be found for XXXXXX" and helo's will not spawn.
  4. Using HelicopterUsable results in groups spawning, but not on helo parking spots, and often on parking spots occupied by other aircraft.

I'm using the Persian Gulf map, blue airfields set to Liwa, Al Dhafra and Al Minhad.

 

Code for script below.

 

local CH47D=RAT:New("RAT_CH47D")
CH47D:SetCoalitionAircraft("blue")
CH47D:SetCoalition("sameonly")
CH47D:SetTerminalType(AIRBASE.TerminalType.HelicopterOnly)
CH47D:ContinueJourney()
CH47D:ATC_Messages(false)

local UH60A=RAT:New("RAT_UH60A")
UH60A:SetCoalitionAircraft("blue")
UH60A:SetCoalition("sameonly")
UH60A:SetTerminalType(AIRBASE.TerminalType.HelicopterOnly)
UH60A:ContinueJourney()
UH60A:ATC_Messages(false)

CH47D:Spawn(4)
UH60A:Spawn(4)

Thanks in advance to anyone who can point out what I've done wrong! :doh:

Link to comment
Share on other sites

I'm trying to spawn helo's at airbases using TerminalType.HelicopterOnly. I have CH47's and UH60's set up, but:

Could simply be that the valid airports don't have any parking spots specifically for helos? Many airports actually have not.

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

Could simply be that the valid airports don't have any parking spots specifically for helos? Many airports actually have not.

 

I thought that might be it but figured it was worth double checking here.

 

Since dropping a new helo in the editor and setting it to takeoff from ramp usually placed it onto different parking spots I'd hoped they were specifically for helicopters.

 

All good, can definitely work around it. Thanks for your reply! :thumbup:

Link to comment
Share on other sites

  • 2 weeks later...

Hello everyone,

 

Coming here to ask you lot if by any chance any of you has a complete RAT mission build i could use to start of with ?

 

A bit of background, i've only just recently gotten myself back into the game because of the coming F-16 module that i'm really looking forward to use. I have quite little experience using the ingame mission editor so anything not straight forward is probably something i'm ignorant of in that domain.

Anyway, so basically with the coming of the F-16 i really wanted to have some sort of scenario in which i could fly my plane and not feel all alone, am not looking for an all out war but more something resembling a Red Flag exercise where lots of planes are flying at the same time doing their own tasks and me doing my task (Which i'd create depending on what i feel like doing at that moment, bomb training, JTAC training, gun strafe, etc).

 

From all the infos i've been able to read here and there, it seems like MOOSE combined with RAT and all other "modules" is able to create almost any scenario quite precisely, and that really suites my needs it seems. Only problem remains the how to create all that ?

 

I am ready to do some coding myself and create what ever is needed if i can actually understand it, but any code you'd be willing to give me would greatly help as i'd be able to read through the code and create my things from that.

 

I'll make a list of things i'm hoping to create so you guys have a proper idea of what i'm looking for.

 

1 Red Flag similar scenario

2 Active military airports

3 Military airports filled with planes/helis of all sort being parked for most of them.

4 Planes randomly going for sorties at random times

5 Having specific training zones for those random flights taking off (Simulating or actually having bomb runs on bomb ranges)

6 Having specific "threat" zones with non aggressive SAMs or AA assets (simulating air defenses)

7 Having Tankers fly air to air refueling missions for me or those random AI going about with their missions

8 Having somewhat realistic traffic on each military airports (Groom Lake shouldn't be allowed to specific aircrafts "Coalition aircrafts")

9 Possible to have "fake" air to air engagements between aircrafts ? Simulating a training

10 The possibility to easily choose a task i'd like to train myself in while keeping all the above happening with the AIs ?

 

Hopefully my list isn't too unrealistic and too complex to create but the closer i could make it happen, the better it would be :)

In the time being i've watched a few videos explaining RAT but there is still missing elements for me to understand it all.

 

As the conversation about this goes on i might add things to my list that didn't come to mind at this moment :)

 

Thanks for reading me and hoping to find interesting things to allow me create my scenario :)

Link to comment
Share on other sites

Coming here to ask you lot if by any chance any of you has a complete RAT mission build i could use to start of with ?

 

There are several sample missions showing off the different features of RAT, here:

 

https://github.com/FlightControl-Master/MOOSE_MISSIONS/tree/master/RAT%20-%20Random%20Air%20Traffic

 

A bit of background, i've only just recently gotten myself back into the game because of the coming F-16 module that i'm really looking forward to use.

Welcome back into the DCS turf :)

 

I have quite little experience using the ingame mission editor so anything not straight forward is probably something i'm ignorant of in that domain.

I learned the Mission Editor by downloading user missions from here:

 

https://www.digitalcombatsimulator.com/en/files/?set_filter=Y&arrFilter_pf%5Bfiletype%5D=1&arrFilter_pf%5Bgameversion%5D=&arrFilter_pf%5Bfilelang%5D=&arrFilter_pf%5Baircraft%5D=&arrFilter_DATE_CREATE_1_DAYS_TO_BACK=&CREATED_BY=&sort_by_order=TIMESTAMP_X_DESC&set_filter=Filter

 

... and then playing them, and afterwards opening them on the mission editor to learn bit by bit how they work.

 

From all the infos i've been able to read here and there, it seems like MOOSE combined with RAT and all other "modules" is able to create almost any scenario quite precisely, and that really suites my needs it seems. Only problem remains the how to create all that ?

Actually, RAT is a component of Moose .. and I wouldnt attempt to learn it without first learning the Mission Editor upt to an intermediate level at least, as Moose is targeted to those who built missions using DCS scripting language, rather than the Mission Editor's triggers.

 

I am ready to do some coding myself and create what ever is needed if i can actually understand it, but any code you'd be willing to give me would greatly help as i'd be able to read through the code and create my things from that.

Cant really help you with that, as I made my missions using very little scripting, more like using ready-made scripts, like @FunkyFranky's RAT, the Target Range Scoring script by @Ciribob, and now the Static Replacement script crafted by @Hardcard for Multiplayer missions.

 

Best regards

 

For work: iMac mid-2010 of 27" - Core i7 870 - 6 GB DDR3 1333 MHz - ATI HD5670 - SSD 256 GB - HDD 2 TB - macOS High Sierra

For Gaming: 34" Monitor - Ryzen 3600X - 32 GB DDR4 2400 - nVidia GTX1070ti - SSD 1.25 TB - HDD 10 TB - Win10 Pro - TM HOTAS Cougar - Oculus Rift CV1

Mobile: iPad Pro 12.9" of 256 GB

Link to comment
Share on other sites

There are several sample missions showing off the different features of RAT, here:

 

https://github.com/FlightControl-Master/MOOSE_MISSIONS/tree/master/RAT%20-%20Random%20Air%20Traffic

 

Welcome back into the DCS turf :)

 

I learned the Mission Editor by downloading user missions from here:

 

https://www.digitalcombatsimulator.com/en/files/?set_filter=Y&arrFilter_pf%5Bfiletype%5D=1&arrFilter_pf%5Bgameversion%5D=&arrFilter_pf%5Bfilelang%5D=&arrFilter_pf%5Baircraft%5D=&arrFilter_DATE_CREATE_1_DAYS_TO_BACK=&CREATED_BY=&sort_by_order=TIMESTAMP_X_DESC&set_filter=Filter

 

... and then playing them, and afterwards opening them on the mission editor to learn bit by bit how they work.

 

Actually, RAT is a component of Moose .. and I wouldnt attempt to learn it without first learning the Mission Editor upt to an intermediate level at least, as Moose is targeted to those who built missions using DCS scripting language, rather than the Mission Editor's triggers.

 

Cant really help you with that, as I made my missions using very little scripting, more like using ready-made scripts, like @FunkyFranky's RAT, the Target Range Scoring script by @Ciribob, and now the Static Replacement script crafted by @Hardcard for Multiplayer missions.

 

Best regards

 

Hey thanks for the reply !

 

There are several sample missions showing off the different features of RAT, here:

 

I've been through there and did download a mission, I found it very basic unfortunatelly and not really anything to tell you exactly how it works unless you found the code itself somewhere else, which i did.

 

Welcome back into the DCS turf :)

 

I learned the Mission Editor by downloading user missions from here:

 

Hey thanks :D Glad to be back in the game even though i've never really been an active forum user ;) But always cool to have help or answers from guys around here :)

 

So yes i've been through the download section you linked and did download a few missions, does allow to learn a few things indeed, will need to dive deeper into that to understand more complex things, only thing i find hard is finding the proper lines of code to use in the .lua scripts, as they are not available through these missions.

 

Actually, RAT is a component of Moose .. and I wouldnt attempt to learn it without first learning the Mission Editor upt to an intermediate level at least, as Moose is targeted to those who built missions using DCS scripting language, rather than the Mission Editor's triggers.

 

Yes i understand, i'm not really planning on learning the whole code of MOOSE and how that all works, but if at least i could understand how to implement it in my missions to a certain extent, especially components like RAT or any other that i come to need at some point or find interesting. I mean RAT seems pretty straight forward in its very basic form (Making planes spawn, takeoff and land at random airports, but i'd like to know how much more options are available and how to write/implement them for different specific things to do).

 

Cant really help you with that, as I made my missions using very little scripting, more like using ready-made scripts, like @FunkyFranky's RAT, the Target Range Scoring script by @Ciribob, and now the Static Replacement script crafted by @Hardcard for Multiplayer missions.

 

Well what you've done there is already something i'd like to be able and do, probably isn't complicated when you know how to implement it into a mission, thing i don't know how to do as of now except writing the basic RAT script and having my planes spawn and do their things.

 

Thanks again !

Link to comment
Share on other sites

So yes i've been through the download section you linked and did download a few missions, does allow to learn a few things indeed, will need to dive deeper into that to understand more complex things, only thing i find hard is finding the proper lines of code to use in the .lua scripts, as they are not available through these missions.

 

Actually, they are available .. you can open any MIZ file with an uncompressing tool like WinZip or WinRar and there you can find the LUA scripts that the author used, for example:

 

V1BSkB0.jpg

 

This is one of those missions available on the Files Section, this one:

 

https://www.digitalcombatsimulator.com/en/files/3305720/?sphrase_id=19693709

 

I always fly the mission first and then, for those aspects that I found interesting or didnt know how the author implemented, I inspect the mission components and study its Scripts .. you may not understand all of it, but I have learnt bit by bit ... tough still I prefer to use triggers whenever possible, as Scripting is still too involved for me :)

 

For work: iMac mid-2010 of 27" - Core i7 870 - 6 GB DDR3 1333 MHz - ATI HD5670 - SSD 256 GB - HDD 2 TB - macOS High Sierra

For Gaming: 34" Monitor - Ryzen 3600X - 32 GB DDR4 2400 - nVidia GTX1070ti - SSD 1.25 TB - HDD 10 TB - Win10 Pro - TM HOTAS Cougar - Oculus Rift CV1

Mobile: iPad Pro 12.9" of 256 GB

Link to comment
Share on other sites

Actually, they are available .. you can open any MIZ file with an uncompressing tool like WinZip or WinRar and there you can find the LUA scripts that the author used, for example:

 

V1BSkB0.jpg

 

This is one of those missions available on the Files Section, this one:

 

https://www.digitalcombatsimulator.com/en/files/3305720/?sphrase_id=19693709

 

I always fly the mission first and then, for those aspects that I found interesting or didnt know how the author implemented, I inspect the mission components and study its Scripts .. you may not understand all of it, but I have learnt bit by bit ... tough still I prefer to use triggers whenever possible, as Scripting is still too involved for me :)

 

Oh waow ok i see ! Now that is interesting ! Will definitely look into that now as i've got a few interesting missions i'd love to see the code behind :D

 

I think i didn't explain myself properly from the begining actually ! You just said it "scripting" and "triggers", that's propably what i'm looking into for my mission builds ! Using "triggers" for lots of things, not specificaly scripts as that is indeed hard to learn and get going for an unexperienced like me ;)

 

Moose from what i'm understanding is a script that allows tons of triggers (like RAT if i'm not wrong) to be used in an easier way or more complete form ?

 

Thanks for the hint by the way :)

Link to comment
Share on other sites

... You just said it "scripting" and "triggers", that's propably what i'm looking into for my mission builds ! Using "triggers" for lots of things, not specificaly scripts as that is indeed hard to learn and get going for an unexperienced like me ;)

 

Correct, triggers is the built-in way that DCS provides for creating dynamic Missions and has the benefit of being easy to learn and the downside that it is less flexible than Scripting .. also Scripting usually allows higher performance, or to put it another way: it's easier to impact DCS performance by using too many triggers.

 

For my own missions I prefer to use triggers, but do use some scripting to compensate for some limitations ... for example, triggers allow you to display messages to the player, but such messages are fixed on their content, so sometimes I use a script like this when I need to insert a value into the message:

 

trigger.action.outText( 'Vertical Speed on touchdown: ' .. trigger.misc.getUserFlag ( '101' ), 5 )

 

Short scripts like this one dont need to be put on LUA files, you can place it directly onto a trigger, like this:

 

Ar6d2pV.jpg

 

:) .. If you want to inspect some of my missions, this sample was taken from this mission:

 

https://forums.eagle.ru/showthread.php?t=234073

 

Best regards

 

For work: iMac mid-2010 of 27" - Core i7 870 - 6 GB DDR3 1333 MHz - ATI HD5670 - SSD 256 GB - HDD 2 TB - macOS High Sierra

For Gaming: 34" Monitor - Ryzen 3600X - 32 GB DDR4 2400 - nVidia GTX1070ti - SSD 1.25 TB - HDD 10 TB - Win10 Pro - TM HOTAS Cougar - Oculus Rift CV1

Mobile: iPad Pro 12.9" of 256 GB

Link to comment
Share on other sites

Correct, triggers is the built-in way that DCS provides for creating dynamic Missions and has the benefit of being easy to learn and the downside that it is less flexible than Scripting .. also Scripting usually allows higher performance, or to put it another way: it's easier to impact DCS performance by using too many triggers.

 

For my own missions I prefer to use triggers, but do use some scripting to compensate for some limitations ... for example, triggers allow you to display messages to the player, but such messages are fixed on their content, so sometimes I use a script like this when I need to insert a value into the message:

 

trigger.action.outText( 'Vertical Speed on touchdown: ' .. trigger.misc.getUserFlag ( '101' ), 5 )

 

Short scripts like this one dont need to be put on LUA files, you can place it directly onto a trigger, like this:

 

Ar6d2pV.jpg

 

:) .. If you want to inspect some of my missions, this sample was taken from this mission:

 

https://forums.eagle.ru/showthread.php?t=234073

 

Best regards

 

Seems like that's the way i should definitely try to progress into building my missions, hopefully i manage getting myself through all this ;)

 

By the way, those missions you've made yourself for training puproses seem super cool ! Would love to make similar missions for the F-16 ! It is the kind of missions that forces you into somewhat true realism and specialy forcing you to use and understand equipment you don't usually use in the DCS environment, i like the idea of having in depth non combat missions for the sole purpose of actually getting to know all the systems of your plane :)

 

But thanks for showing me that, will eventually download them and look through them for self teaching lessons :D

 

Edit : Clicked on the download link of your missions, they are apparently unavailable on those links :x


Edited by SparxOne
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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