Jump to content

Air traffic implementation attempt


Recommended Posts

The main idea of this stuff is to create and configure air traffic in separate mission (i.e. in separate zATR*.miz file) by means of the Mission Editor, almost like any other mission, then obtain tables of routes from the zATR*.miz and add the air traffic based on that tables into an existing mission.

 

This script randomly generates air traffic using the routing tables and tables of different groups. I use it with NTTR map to add some live activity to the huge airport McCarran.

Of course, you can use it for other purposes. With specified interval the script randomly selects the aircraft groups, assigns them certain route from the list and adds them to the game.

Then the script periodically checks status of the air traffic units and deletes the groups that have completed their itinerary.

You can set the maximum number of aircrafts of the air traffic and time intervals along the routes, as well as a number of other parameters.

 

In the attached archive:

  • AirTraffic_Sochi_EditRoutes_Test02.miz -- template of the mission with the air traffic, for DCS 1.5
  • AirTraffic_test_03_EditRoutes.miz -- template of the mission with the air traffic, for DCS 2.0
  • zATR_URSS.miz -- template of the mission with routes for the air traffic, for DCS 1.5
  • zATR_KLAS.miz -- template of the mission with routes for the air traffic, for DCS 2.0
  • AirTraffic_031.lua -- handles the air traffic
  • zzz0001_ATR_GameGUI.lua -- callback on loading mission end (this is needed for creation of your own table of routes)

 

For creation of the file with the routes table I use DCS control API (for details and to figure out which folder is used for API scripts please refer to: ...\Eagle Dynamics\DCS World\API\DCS_ControlAPI.html; In the last versions of DCS you should create "Hooks" folder in your "Scripts" folder).

Clearly, creation of these tables would be much more convenient with additional instruments in the Mission Editor. But at this stage I don't know how to add buttons and items to the Mission Editor.

So, step by step guide to create routes table:

 

  1. put zzz0001_ATR_GameGUI.lua file to the folder \Scripts\Hooks\ (my example with DCS 2.2: C:\Users\Zubetto85\Saved Games\DCS.openalpha\Scripts\Hooks\zzz0001_ATR_GameGUI.lua)
     
  2. start DCS and go to the Mission Editor; create groups, routes almost as usual
     
  3. only the first unit of each group will be considered for the air traffic
     
  4. to include unit to the air traffic enter ATUF or ATUB in the field TAIL#
     
  5. ATUF means that all units which have the same ATUF in the field TAIL# will be able to follow by this route
     
  6. ATUB means that only this unit will be able to follow by its route
     
  7. In other words, enter ATUF if you want different types of aircrafts would be on the route or enter ATUB to reserve the route for only one specific type of aircraft
     
  8. save our mission; file name must begin with zATR , for example zATR_My_Routes_01.miz
     
  9. start our mission and wait for the loading is complete (unfortunately this inconvenience, I can not yet overcome)
     
  10. then you may exit from the mission and check the "Hooks" folder; there has to be a file approximately with such name AT_ROUTES__My_Routes_01_001.lua
     
  11. if the mission doesn't load or there is no file AT_ROUTES*001.lua please see logs (search by zzz0001)
     
  12. all previously created files with the routing tables must be created anew, using the new script zzz0001_ATR_GameGUI.lua (not earlier than 12/24/2016); old tables will not work with AirTraffic_03.lua

 

After that, to add air traffic in your mission you should set new trigger. This is the very first one in the attached test missions. Here is the actions of this trigger:

DO SCRIPT FILE(AirTraffic_03.lua)
DO SCRIPT FILE(AT_ROUTES__My_Routes_01_001.lua)
DO SCRIPT( --zAirTraffic.country = 'ITALY'
            zAirTraffic.maxTot = 10
            zAirTraffic.maxResp = 3 
         --...)
DO SCRIPT( zAirTraffic.editRoutes('Name')  zAirTraffic.ini() )

 

Other triggers in attached missions are used only for demonstration of the new features (F10 other radio menu).

 

In the AirTraffic_03.lua the great idea from Stonehouse has been implemented. Now you can add, replace or remove tables of routes and aircrafts contained in different files AT_ROUTES_*.lua during a game. In other words you have ability to spread your air traffic over different layers and activate / deactivate the desired layer as needed. I've added the new function editRoutes('Name', chance) for that purpose. Every time you have action DO SCRIPT FILE(AT_ROUTES_*.lua) in your triggers you need to call zAirTraffic.editRoutes('Name', chance) to put contents of the AT_ROUTES_*.lua under given name 'Name' to the global variable zAirTraffic.repertory . Depending on the chance values this function performs various actions:

 

  • editRoutes('Name') -- adds layer under the name 'Name' and weight = 1, or if the layer with that name is already exist just sets it weight equal 1 (about the weight see below)
  • editRoutes('Name', 100) -- replaces all layers to the given one
  • editRoutes('Name', 0) -- removes layer with 'Name'
  • editRoutes('Name', 72) -- adds layer with 'Name' and (or if exist just) sets it weight accordingly to the given chance (72% in this case)
  • editRoutes(' ', 'equalize') -- equalizes weights of all layers

 

Names of all layers are stored in the zAirTraffic.lotteryBag , ie if we have three layers 'Layer01', 'Layer02', 'Layer03' with weights 1, 3, 1 accordingly then

zAirTraffic.lotteryBag = {'Layer01', 'Layer02', 'Layer02', 'Layer02', 'Layer03'} , therefore chances will be equal 20%, 60%, 20% accordingly

 

The function zAirTraffic.ini(report) activates (or deactivates if routes tables are empty) checking of status of the units that belongs to the air traffic (if report is true then messages will be shown)

 

The function zAirTraffic.clean() deletes all units that belongs to the air traffic.

 

Parameters:

zAirTraffic.country = 'ITALY' -- country of AT units, if nil then country from zATR*.miz will be set

zAirTraffic.maxTot = 20 -- maximal number of air traffic units which can exist simultaneously

zAirTraffic.maxResp = 5 -- maximal number of air traffic units which can be made at once

zAirTraffic.checkInt = 120 -- sec, AT units checking period

 

zAirTraffic.RespMinInt = 119 -- sec, minimal time interval for next respawn of ATU

zAirTraffic.RespMaxInt = 600 -- sec, maximal time interval for next respawn of ATU

 

zAirTraffic.DepChance = 50 -- %, the probability of selecting the departure route

zAirTraffic.DepMinInt = 240 -- sec, minimal departure interval, it is used for departing aircraft only; since respawn till taxi of about 60 sec

zAirTraffic.DepMaxInt = 1200 -- sec, the time for the passage of the departure route

zAirTraffic.ArrMinInt = 360 -- sec, the minimum interval of following along a route, it is used for arriving aircrafts only

zAirTraffic.frequency = 251

 

IMPORTANT POINTS when creating routes:

  • All routes are treated as arrival routes or departure.
  • If route begins in air and ends with landing, then such route will be treated as arrival route; in all other cases route will be treated as departure route
  • If in a route points of takeoff and landing are specified, then it is considered that before takeoff the unit follows along a departure route, and after takeoff - along an arrival route
  • Departing aircrafts will be destroyed if the time elapsed since their takeoff more than zAirTraffic.DepMaxInt
  • Arriving aircrafts will be destroyed if their speed less than 0.1 m/s
  • All time conditions must be met for adding of new AT unit (if it is time for respawn but all routes are busy, then no aircraft will be added)

 

If you want a nice looking civil air traffic, then here is the great mod that you need: https://forums.eagle.ru/showpost.php?p=3268436&postcount=89

AirTraffic_Script_and_templates_031.rar


Edited by Zubetto
In the last versions of DCS you should create "Hooks" folder for API scripts
  • Like 1
Link to comment
Share on other sites

Wow! This looks really cool. Hopefully I"ll be able to wrap my head around it and put it to good use. Might be better than what I have been trying to do on my own. Thanks for sharing! Now I just need that new SSD drive to show up so I can reinstall everything again...

Justificus

 

System Specs:

i7 4970K @ 4.8, GTX 1080 SC, 32GB G.Skill DDR 2133,Thermaltake Level 10 Full Tower Case, Noctua NH-D15 6 Cooler, Win 10 Pro, Warthog, CH Pro Pedals, CH Throttle Quadrant, Oculus, 1 32" & 2 19" Monitors

 

 

 

Modules Owned: A-10C I+II, Ka-50, FC3, F-86, Mig-15, Mig21, UH-1H, Mi-8, CA, P-51D, BF-109K-4, FW-190 D-9, Hawk, NTTR, M-2000C, SA342, F-5E, Spit Mk. IX, AJS-37, Normandy, WWII A.P., AV-8B, F/A-18C, L-39, Persian Gulf, Mig-19P, I-16, Super Carrier, F-16, Channel, Syria

Link to comment
Share on other sites

Okay, couldn't handle waiting for my SSD to arrive so I threw in an old platter drive (gawd do I hate the loading times!) and tried adding your stuff to an existing mission. It worked! Looks good so far, have to do some more testing but I like the added traffic from what I had already created. Well done and thanks!!

Justificus

 

System Specs:

i7 4970K @ 4.8, GTX 1080 SC, 32GB G.Skill DDR 2133,Thermaltake Level 10 Full Tower Case, Noctua NH-D15 6 Cooler, Win 10 Pro, Warthog, CH Pro Pedals, CH Throttle Quadrant, Oculus, 1 32" & 2 19" Monitors

 

 

 

Modules Owned: A-10C I+II, Ka-50, FC3, F-86, Mig-15, Mig21, UH-1H, Mi-8, CA, P-51D, BF-109K-4, FW-190 D-9, Hawk, NTTR, M-2000C, SA342, F-5E, Spit Mk. IX, AJS-37, Normandy, WWII A.P., AV-8B, F/A-18C, L-39, Persian Gulf, Mig-19P, I-16, Super Carrier, F-16, Channel, Syria

Link to comment
Share on other sites

I've been enjoying your script! I'm trying to figure out how to tweak the sample mission (I suck too much to try from scratch at this point...) you provided and want to change the type of planes the are flying around to military type. Now I'm a total noob when it comes to LUA editing. I've found the area with the parameters that need changing. My question is, is there a list somewhere (I did actually search but didn't find what I was looking for with the terms I used) so I know what exactly I should put in? Is it only the "type" I need to worry about or is the livery ID also needed- I'm assuming that if I don't specify the livery it will be the default. Thanks for any help any of you can give!

Justificus

 

System Specs:

i7 4970K @ 4.8, GTX 1080 SC, 32GB G.Skill DDR 2133,Thermaltake Level 10 Full Tower Case, Noctua NH-D15 6 Cooler, Win 10 Pro, Warthog, CH Pro Pedals, CH Throttle Quadrant, Oculus, 1 32" & 2 19" Monitors

 

 

 

Modules Owned: A-10C I+II, Ka-50, FC3, F-86, Mig-15, Mig21, UH-1H, Mi-8, CA, P-51D, BF-109K-4, FW-190 D-9, Hawk, NTTR, M-2000C, SA342, F-5E, Spit Mk. IX, AJS-37, Normandy, WWII A.P., AV-8B, F/A-18C, L-39, Persian Gulf, Mig-19P, I-16, Super Carrier, F-16, Channel, Syria

Link to comment
Share on other sites

I've been enjoying your script! I'm trying to figure out how to tweak the sample mission (I suck too much to try from scratch at this point...) you provided and want to change the type of planes the are flying around to military type. Now I'm a total noob when it comes to LUA editing. I've found the area with the parameters that need changing. My question is, is there a list somewhere (I did actually search but didn't find what I was looking for with the terms I used) so I know what exactly I should put in? Is it only the "type" I need to worry about or is the livery ID also needed- I'm assuming that if I don't specify the livery it will be the default. Thanks for any help any of you can give!

Thanks for feedback! Yes, it is the "type" , but I did not experiment what would be if set not exesting livery ID for given "type" or wrong "payload". I set up all these items in the Mission Editor.

The file AT_ROUTES__KLAS_002.lua contains tables for routes and aircrafts types (for DCS 2.0). Check the variables (tables) zAirTraffic.typesFree and zAirTraffic.typesBound if you want change them by hand. Actually this tables are obtained from mission.lua which are located in each *.miz mission file.

To avoid manual editing of the mission.lua I created zzz0001_ATR_GameGUI.lua . If it was installed (was copied to the folder as described above) it would make all this work with the mission.lua . Don't hesitate to ask. I'll be glad to help. (but I need some time and help of google to formulate my thoughts in English)))


Edited by Zubetto
Link to comment
Share on other sites

  1. start DCS and go to the Mission Editor; create groups, routes almost as usual
  2. country of groups does not matter and only the first unit of each group will be considered for the air traffic
  3. to include unit to the air traffic enter ATUF or ATUB in the field TAIL#
  4. ATUF means that all units which have the same ATUF in the field TAIL# will be able to follow by this route
  5. ATUB means that only this unit will be able to follow by its route
  6. In other words, enter ATUF if you want different types of aircrafts would be on the route or enter ATUB to reserve the route for only one specific type of aircraft
  7. save our mission; file name must begin with zATR , for example zATR_My_Routes_01.miz

After that, to add air traffic in your mission you should set new trigger just like in the template which you can find in the attachment.

 

 

Very nice ideas particularly the call back part which I had not seen previously and looks very powerful. Thank you.

 

A couple of clarifications please though. It looks like the mission AirTraffic_Sochi_Test.miz is using AT_ROUTES_URSS_002.lua as a template for aircraft and routes?

 

But the steps you list above seem to say that if we create a mission and place aircraft we want for air traffic as single units, set appropriate livery etc and place ATUF or ATUB in the TAIL# and give them a flight path from a base to another base and call the mission zATR something and then run it your script creates a new lua file in the user scripts folder call AT_ROUTES_something.lua? Do we need a mission start trigger in this template mission or does your call back function take care of that by recognising the zATR prefix and parsing the template mission to generate the AT_ROUTES_something.lua file?

 

From that point on, you have airtraffic for a particular set of routes and aircraft defined and so to add that particular set up to a new mission you just add a mission start trigger that has the actions:

 

DO SCRIPT FILE(AirTraffic.lua)

DO SCRIPT FILE(AT_ROUTES_something.lua)

DO SCRIPT FILE(zAirTraffic.cou)

DO SCRIPT FILE(AirTraffic_ini.lua)

 

Therefore once you are happy with an air traffic setup (the routes used and the planes you get spawned) you can reuse that same setup for multiple missions just by referring to the AT_ROUTES_something.lua file. Have I understood ok?

 

Thanks,

Stonehouse

 

PS Passing thought.........would it possible to allow multiple AT_ROUTES files to be read? That way you could have layers of air traffic defined in separate AT_ROUTES and get a different feel to a mission by plugging in different mixes of AT_ROUTES from a library of air traffic setups?

 

PPS - if I create a mission using this air traffic functionality and then say post it up on DCS user files does the end user need to have zzz0001_ATR_GameGUI.lua file in their user scripts folder to make the mission work?


Edited by Stonehouse
Link to comment
Share on other sites

Thanks for the response. I found a list of available aircraft types that I was looking for, played around a little and got it to work! Loving this script. thanks!

 

You're seriously using Google translate to communicate in English? Great job you're doing!

Justificus

 

System Specs:

i7 4970K @ 4.8, GTX 1080 SC, 32GB G.Skill DDR 2133,Thermaltake Level 10 Full Tower Case, Noctua NH-D15 6 Cooler, Win 10 Pro, Warthog, CH Pro Pedals, CH Throttle Quadrant, Oculus, 1 32" & 2 19" Monitors

 

 

 

Modules Owned: A-10C I+II, Ka-50, FC3, F-86, Mig-15, Mig21, UH-1H, Mi-8, CA, P-51D, BF-109K-4, FW-190 D-9, Hawk, NTTR, M-2000C, SA342, F-5E, Spit Mk. IX, AJS-37, Normandy, WWII A.P., AV-8B, F/A-18C, L-39, Persian Gulf, Mig-19P, I-16, Super Carrier, F-16, Channel, Syria

Link to comment
Share on other sites

Thanks for the comment! I will try to answer all but in a slightly different order

 

AirTraffic_Sochi_Test.miz is using AT_ROUTES_URSS_002.lua as a template for aircraft and routes?

 

Yes, exactly.

 

Do we need a mission start trigger in this template mission or does your call back function take care of that by recognising the zATR prefix and parsing the template mission to generate the AT_ROUTES_something.lua file?

 

Triggers are not needed in the zATRsomething.miz to obtain routes and aircrafts tables from zATRsomething.miz .

All work will be done by the callback defined in the zzz0001_ATR_GameGUI.lua

 

Please refer to C:\Program Files\Eagle Dynamics\DCS World\API\DCS_ControlAPI.txt for more info,

here are the basic principle from it:

When loading, DCS searches for Saved Games\DCS\Scripts\*GameGUI.lua files,

sorts them by name and then loads into the GUI Lua-state.

Each user script is loaded into an isolated environment, so the only

thing they share is the state of the simulator.

 

Thereby, script from the zzz0001_ATR_GameGUI.lua will be called each time you load any mission ( onMissionLoadEnd() ).

First of all this script checks name of a loaded mission and if that name begins with zATR then it performs processing of the mission.lua of the loaded mission.

If you have any Lua development tools (I use this https://eclipse.org/ldt/) you can use its environment to perform processing of the mission.lua

 

PPS - if I create a mission using this air traffic functionality and then say post it up on DCS user files does the end user need to have zzz0001_ATR_GameGUI.lua file in their user scripts folder to make the mission work?

 

No. zzz0001_ATR_GameGUI.lua not needed in this case.

 

...give them a flight path from a base to another base...

 

IMPORTANT POINT when creating routes: script treats each route either as a departure route or as arrival route.

If you set for one route takeoff and landing waypoints then such route will treated as arrival route and low speed will be the criterion of its completion

 

Therefore once you are happy with an air traffic setup (the routes used and the planes you get spawned) you can reuse that same setup for multiple missions just by referring to the AT_ROUTES_something.lua file. Have I understood ok?

 

That's right, but the correct actions are:

  1. DO SCRIPT FILE(AirTraffic.lua)
  2. DO SCRIPT FILE(AT_ROUTES_something.lua)
  3. DO SCRIPT (zAirTraffic.cou)
  4. DO SCRIPT FILE(AirTraffic_ini.lua)

 

Actions 1,2 and 4 are mandatory. Action 3 is optional. In this action you can set parameters values or leave them at default.

 

PS Passing thought.........would it possible to allow multiple AT_ROUTES files to be read? That way you could have layers of air traffic defined in separate AT_ROUTES and get a different feel to a mission by plugging in different mixes of AT_ROUTES from a library of air traffic setups?

 

Yes, this is possible and is a great idea! I made some changes in AirTraffic.lua and AirTraffic_ini.lua and attached the example in which different AT_ROUTES files could be read during the game. Every time the action DO SCRIPT FILE(AT_ROUTES_something_new.lua) is performed completely new routes are loaded and maybe this is slightly different from what you mean.

AirTraffic_Sochi_SwitchTest.miz

Link to comment
Share on other sites

... I made some changes in AirTraffic.lua and AirTraffic_ini.lua and attached the example in which different AT_ROUTES files could be read during the game. Every time the action DO SCRIPT FILE(AT_ROUTES_something_new.lua) is performed completely new routes are loaded and maybe this is slightly different from what you mean.

 

Wow, this sounds really cool! I'll have to swap out your older LUA for this one and try my hand at creating a mission from it again. Keep up the great work!

Justificus

 

System Specs:

i7 4970K @ 4.8, GTX 1080 SC, 32GB G.Skill DDR 2133,Thermaltake Level 10 Full Tower Case, Noctua NH-D15 6 Cooler, Win 10 Pro, Warthog, CH Pro Pedals, CH Throttle Quadrant, Oculus, 1 32" & 2 19" Monitors

 

 

 

Modules Owned: A-10C I+II, Ka-50, FC3, F-86, Mig-15, Mig21, UH-1H, Mi-8, CA, P-51D, BF-109K-4, FW-190 D-9, Hawk, NTTR, M-2000C, SA342, F-5E, Spit Mk. IX, AJS-37, Normandy, WWII A.P., AV-8B, F/A-18C, L-39, Persian Gulf, Mig-19P, I-16, Super Carrier, F-16, Channel, Syria

Link to comment
Share on other sites

Yes, this is possible and is a great idea! I made some changes in AirTraffic.lua and AirTraffic_ini.lua and attached the example in which different AT_ROUTES files could be read during the game. Every time the action DO SCRIPT FILE(AT_ROUTES_something_new.lua) is performed completely new routes are loaded and maybe this is slightly different from what you mean.

 

Wasn't quite what I meant but still a good thing! This will allow players to have different traffic in different localities for instance. ie players go over the mountains and a trigger etc loads a different AT_ROUTES file. I assume you are rebuilding the tables holding routes and aircraft when a new AT_ROUTES is loaded. What I was thinking was more an additive thing where you might have say a civil AT routes file in your library and a military one and perhaps a helo one. Rather than have to build a new one that encompasses all of these it would be nice to be able to plug in each one as a DO SCRIPT and have each add entries to the table. lol probably asking for too much sorry but better still if you could do what you have already done and what I was meaning and control it all via a global variable that you set on the trigger action to say add the AT_ROUTES file to the tables or clear and replace. So have the default as perhaps replace but allow us to have assign a value to a global var on the trigger action prior to excuting the DO SCRIPT that tells your script to add to the tables instead of replacing.

 

eg the trigger action becomes:

DO SCRIPT(

do

addtotable = true

ATR_ROUTExyz.lua

end)

 

There are probably a few different ways to pass the flag I guess.

 

You know you could probably convert this to also handle ships etc and have a shipping traffic generator or ground vehicle generator as well.

Link to comment
Share on other sites

Wasn't quite what I meant but still a good thing! This will allow players to have different traffic in different localities for instance...

 

I think I managed to realise your layers concept. First I did not see a simple way how it could be done therefore I offered that quick but an inconvenient version.

The solution was not very difficult but still it required some changes in that part of the script, which worked fine.

I have tested it with DCS 1.5.5.58891 . Most likely it is not fresh news but a lot of bad things has appeared after update to 1.5.5.60338 and this script

(like previous) doesn't work with 1.5.5.60338

 

Some explanation of how it works, though of course you can jump directly to example which I have attached.

I've added the new function editRoutes('Name', chance)

Every time you DO SCRIPT FILE(AT_ROUTES_something.lua) action in your triggers you need to call zAirTraffic.editRoutes('Name', chance) to put contents of the AT_ROUTES_something.lua to the global variable zAirTraffic.repertory with the given name 'Name'.

So, what is done by this function:

  • editRoutes('Name') -- adds layer with 'Name' and weight = 1 (about the weight see below), or if the layer is already exist just sets it weight equal 1
  • editRoutes('Name', 100) -- replaces all layers to the given one
  • editRoutes('Name', 0) -- removes layer with 'Name'
  • editRoutes('Name', 72) -- adds layer with 'Name' and (or if exist just) sets it weight accordingly to the given chance
  • editRoutes(' ', 'equalize') -- equalizes weights of all layers

Names of all layers are stored in the zAirTraffic.lotteryBag , ie if we have three layers 'Layer01', 'Layer02', 'Layer03' with weights 1, 3, 1 accordingly then

zAirTraffic.lotteryBag = {'Layer01', 'Layer02', 'Layer02', 'Layer02', 'Layer03'} , therefore chances will be equal 20%, 60%, 20% accordingly

 

The action DO SCRIPT FILE(AirTraffic_ini.lua) is replaced to the function zAirTraffic.ini(report) (if report is true then messages will be shown)

Hope you like it!

 

 

You know you could probably convert this to also handle ships etc and have a shipping traffic generator or ground vehicle generator as well.

 

Probably it will be a separate module

AirTraffic_Sochi_EditRoutes_Test01.miz

Link to comment
Share on other sites

Thanks Zubetto for the great work. Would have said so earlier but you just can't sidestep Christmas for DCS ;D lol

 

I'll be adding it to our group's training map so hopefully will be able to report back about how well it works when we first fly it in our initial 2017 flying night in a few weeks.

Link to comment
Share on other sites

  • 1 month later...

up

 

Little update : AirTraffic_031.lua and zzz0001_ATR_GameGUI.lua :

 

  • Set zAirTraffic.country = nil to indicate that the script should assign country for AT units accordingly zATR*.miz ;
  • For ATUB units in addition the info about the "task" and "skill" will be collected ;

 

example for DCS 2.0 in attachment

AirTraffic_31test_02.miz

zATR_31TEST.miz

Link to comment
Share on other sites

  • 2 months later...
  • 2 months later...

OMG I love this script. It works great.

 

Only thing I wish is that I could set the countrie areas and they would keep that country. I am trying to simulate "civilian" traffic and my CAP script keeps shooting down planes the cross the boarder. ;)

 

 

Sent from my iPhone using Tapatalk

Link to comment
Share on other sites

OMG I love this script. It works great.

 

Only thing I wish is that I could set the countrie areas and they would keep that country. I am trying to simulate "civilian" traffic and my CAP script keeps shooting down planes the cross the boarder. ;)

 

 

Sent from my iPhone using Tapatalk

 

Oh, Thank you! ))

Sorry, I didn't quite understand. If air traffic units should not violate certain airspace, you can just set routes accordingly to the given airspace in the mission editor.

Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...