Jump to content

ATC comms MOD


Recommended Posts

Hello guys! I'm working on a modified ATC.lua file to have a better ATC comms.

This work is limited to comms and to the possible events and messages we already have.

 

You can see how the WIP is for now...

 

As for now its workin on land airfields , so no helipads or carriers but it could work in some way.

 

I want to separate comms :

- Ground Control (request start up , taxy runway , parking )

- Tower (request take off , request landing )

- Departure ( confirm take off)

- Approach ( inbound , azimuth )

 

In the actual ATC comms they are consequential , I want to find a way to separete them in the menu to give it a better form and add some content but I found limited events and messages to deal with for example there is no event on when "wheels up" ( apparently but maybe for AI ) so I cant manage the comms for Departure.

 

If anyone here or from ED can possibly list me the possible events and messages for managing ATC it would be great.

I have some ideas in mind but i dont know if they are possible.

 

 

Replace ATC.lua file in folder

..DCSWorldScriptsUIRadioCommandDialogPanelConfigCommon

 

backup the original file.

 

Let me know something for ideas or bugs.

ATC mod v0.3.lua

Link to comment
Share on other sites

This will be such a major plus to have a more enhanced ATC Mod. Would make SP flights even more immersive. Wish you all the best with this...

 

A new ATC system will come out some day as promised but I think the actual one is very poor.

 

If you look at the folder where ATC.lua is you will notice the ATC2.lua file.

If you open it you'll notice some good things... :thumbup:

Link to comment
Share on other sites

Love it! Well done beppe_goodoldrebel! My only "squawk" is could you change the ATC response to not say "meters per second" after giving the wind info. Instead, just have them call out wind direction and wind speed like IRL as follows: "Winds two seven zero at ten." This is a wind direction/velocity call for 270/10 knots. Knots is understood by the controller and pilot and is not normally said IRL. It's all about brevity … and not cluttering up the radios like the Navy does.:music_whistling:

I don't need no stinkin' GPS! (except for PGMs :D) :pilotfly:

[sIGPIC][/sIGPIC]

 

Link to comment
Share on other sites

Love it! Well done beppe_goodoldrebel! My only "squawk" is could you change the ATC response to not say "meters per second" after giving the wind info. Instead, just have them call out wind direction and wind speed like IRL as follows: "Winds two seven zero at ten." This is a wind direction/velocity call for 270/10 knots. Knots is understood by the controller and pilot and is not normally said IRL. It's all about brevity … and not cluttering up the radios like the Navy does.:music_whistling:

 

Cant really change that , I can only "play" with actual messages.

Link to comment
Share on other sites

Love it! Well done beppe_goodoldrebel! My only "squawk" is could you change the ATC response to not say "meters per second" after giving the wind info. Instead, just have them call out wind direction and wind speed like IRL as follows: "Winds two seven zero at ten." This is a wind direction/velocity call for 270/10 knots. Knots is understood by the controller and pilot and is not normally said IRL. It's all about brevity … and not cluttering up the radios like the Navy does.:music_whistling:

 

Going through messages I think I can remove the "meters per second" speech but I cant convert meters in knots , it's hardcoded in the ATC system.

Link to comment
Share on other sites

Going through messages I think I can remove the "meters per second" speech but I cant convert meters in knots , it's hardcoded in the ATC system.

 

That's great! Everyone with a pilot rating/license knows wind is reported in knots ...

I don't need no stinkin' GPS! (except for PGMs :D) :pilotfly:

[sIGPIC][/sIGPIC]

 

Link to comment
Share on other sites

That's great! Everyone with a pilot rating/license knows wind is reported in knots ...

 

Maybe because is based on russian ATC procedures?

 

Meanwhile I'm workin on arrival , I think I can replace "Tower: Request landing" with "LSO: Call the ball" on Carriers.

I've problems in determine what kind of category of airfield you are talking with ( Airdrome , Ship or Helipad ) but I'll find a way.

Link to comment
Share on other sites

I just want to share some info about ATC system.

 

This are the messages we can use:

--Leader to ATC
			[Message.wMsgLeaderToATCNull] = nil,
				[Message.wMsgLeaderRequestEnginesLaunch] = { _('request startup'), 'request startup' },
				[Message.wMsgLeaderRequestControlHover] = { _('request control hover'), 'request control hover' },
				[Message.wMsgLeaderRequestTaxiToRunway] = { _('request taxi to runway'), 'request taxi to runway' },
				[Message.wMsgLeaderRequestTakeOff] = { _('request takeoff'), 'request takeoff' },
				[Message.wMsgLeaderAbortTakeoff] = { _('abort takeoff'), 'abort takeoff' },
				[Message.wMsgLeaderRequestAzimuth] = { _('request navigation assistance'), 'request navigation assistance' },
				[Message.wMsgLeaderInbound] = '',
				[Message.wMsgLeaderAbortInbound] = { _('abort inbound, resuming mission'), 'abort inbound' },
				[Message.wMsgLeaderRequestLanding] = { _('request landing'), 'request landing' },
				[Message.wMsgLeaderRequestTaxiForTakeoff] = { _('request taxi for takeoff'), 'request taxi for takeoff' },
				[Message.wMsgLeaderRequestTaxiToParking] = { _('request taxi to parking'), 'request taxi to parking' },
				[Message.wMsgLeaderTowerRequestTakeOff] = { _('tower request takeoff'), 'tower request takeoff' },
				[Message.wMsgLeaderInboundStraight] = '',
				
				[Message.wMsgLeaderApproachOverhead] = '',
				[Message.wMsgLeaderApproachStraight] = '',
				[Message.wMsgLeaderApproachInstrument] = '',
			[Message.wMsgLeaderToATCMaximum] = '',

 

--ATC to Leader

[Message.wMsgATCClearedForEngineStartUp] = { _('cleared for startup'), 'cleared for startup' },
			[Message.wMsgATCEngineStartUpDenied] = { _('unable clear start up'), 'unable clear start up' },
			[Message.wMsgATCClearedToTaxiRunWay] = { _('cleared to taxi to runway'), 'cleared to taxi to runway' },
			[Message.wMsgATCTaxiDenied] = { _('unable clear taxi'), 'unable clear taxi' },
			[Message.wMsgATCHoldPosition] = { _('hold position'), 'hold position' },
			[Message.wMsgATCYouAreClearedForTO] = { _('you are cleared for takeoff when ready'), 'you are cleared for takeoff when ready' },
			[Message.wMsgATCTakeoffDenied] = { _('unable to clear takeoff'), 'unable to clear takeoff' },
			[Message.wMsgATCYouHadTakenOffWithNoPermission] = { _('unable to clear takeoff'), 'unable to clear takeoff' },
			[Message.wMsgATCTrafficBearing] = { _('traffic bearing'), 'traffic bearing' },
			[Message.wMsgATCYouAreClearedForLanding] = { _('cleared to land'), 'cleared to land' },
			[Message.wMsgATCYouAreAboveGlidePath] = { _('you are above glide path'), 'you are above glide path' },
			[Message.wMsgATCYouAreOnGlidePath] = { _('you are on glide path'), 'you are on glide path' },
			[Message.wMsgATCYouAreBelowGlidePath] = { _('you are below glide path'), 'you are below glide path' },
			[Message.wMsgATCTaxiToParkingArea] = { _('taxi to parking area'), 'taxi to parking area' },
			[Message.wMsgATCGoAround] = { _('go around runway occupied'), 'go around runway occupied' },
			[Message.wMsgATCContinueTaxi] = { _('continue taxi'), 'continue taxi' },
			[Message.wMsgATCOrbitForSpacing] = { _('orbit for spacing'), 'orbit for spacing', 'orbit for spacing, waiting for permission' },
			[Message.wMsgATCClearedForVisual] = { _('cleared for visual, contact tower'), 'cleared for visual contact tower' },
			[Message.wMsgATCFlyHeading] = { _('fly heading'), 'fly heading' },
			[Message.wMsgATCAzimuth] = { _('-ADF, your heading'), 'ADF your heading' },
			[Message.wMsgATCGoSecondary] = { _('go to alternate'), 'go to alternate' },
			[Message.wMsgATCClearedControlHover] = { _('cleared hover check'), 'cleared hover check' },
			[Message.wMsgATCControlHoverDenied] = { _('unable clear control hover'), 'unable clear control hover' },
			[Message.wMsgATCCheckLandingGear] = { _('check landing gear'), 'check landing gear' },
			[Message.wMsgATCFlightCheckIn] = { _('check flight in'), 'check flight in' },

 

 

This are the events:

[events.NOTIFY_BIRTH_ON_RAMP_HOT]					
[events.DENY_TAKEOFF_FROM_AIRDROME] 				
[events.NOTIFY_BIRTH_ON_RUNWAY]						
[events.CLEAR_TO_TAKEOFF_FROM_AIRDROME]				
[events.STARTUP_PERMISSION_FROM_AIRDROME] 			
[events.TAKEOFF] 									
[events.LANDING]									
[events.ENGINE_SHUTDOWN]						
[events.DENY_TAKEOFF_FROM_HELIPAD]					
[events.NOTIFY_BIRTH_ON_HELIPAD_HOT]				
[events.STARTUP_PERMISSION_FROM_HELIPAD] 			
[events.CLEAR_TO_TAKEOFF_FROM_HELIPAD]				
[events.NOTIFY_BIRTH_ON_SHIP_HOT]					
[events.DENY_TAKEOFF_FROM_SHIP] 					
[events.CLEAR_TO_TAKEOFF_FROM_SHIP]					
[events.STARTUP_PERMISSION_FROM_SHIP]

 

I have understood how to create and move through "ATC stages" but the problem is I can't create new messages for Leader or ATC.

Creating new messages means create new functions for the ATC control.

 

i.e. if I can create [Message.wMsgLeaderCatapultOK] and its ATC response [Message.wMsgATCCatapultOk] I can create an ATC stage "Catapult Officer: Hand Signal OK" and then move to stage "Launch" where I wait [event.Takeoff] to enable "Departure" radio messages.

 

 

I've tried to create a new defined Message in common.lua (..\DCSWorld\Sounds\Speech\common.lua) but the whole radio menu dialog breaks.

If someone from ED could help me would be really great!

Link to comment
Share on other sites

I just want to share some info about ATC system.

 

This are the messages we can use:

--Leader to ATC
			[Message.wMsgLeaderToATCNull] = nil,
				[Message.wMsgLeaderRequestEnginesLaunch] = { _('request startup'), 'request startup' },
				[Message.wMsgLeaderRequestControlHover] = { _('request control hover'), 'request control hover' },
				[Message.wMsgLeaderRequestTaxiToRunway] = { _('request taxi to runway'), 'request taxi to runway' },
				[Message.wMsgLeaderRequestTakeOff] = { _('request takeoff'), 'request takeoff' },
				[Message.wMsgLeaderAbortTakeoff] = { _('abort takeoff'), 'abort takeoff' },
				[Message.wMsgLeaderRequestAzimuth] = { _('request navigation assistance'), 'request navigation assistance' },
				[Message.wMsgLeaderInbound] = '',
				[Message.wMsgLeaderAbortInbound] = { _('abort inbound, resuming mission'), 'abort inbound' },
				[Message.wMsgLeaderRequestLanding] = { _('request landing'), 'request landing' },
				[Message.wMsgLeaderRequestTaxiForTakeoff] = { _('request taxi for takeoff'), 'request taxi for takeoff' },
				[Message.wMsgLeaderRequestTaxiToParking] = { _('request taxi to parking'), 'request taxi to parking' },
				[Message.wMsgLeaderTowerRequestTakeOff] = { _('tower request takeoff'), 'tower request takeoff' },
				[Message.wMsgLeaderInboundStraight] = '',
				
				[Message.wMsgLeaderApproachOverhead] = '',
				[Message.wMsgLeaderApproachStraight] = '',
				[Message.wMsgLeaderApproachInstrument] = '',
			[Message.wMsgLeaderToATCMaximum] = '',

 

--ATC to Leader

[Message.wMsgATCClearedForEngineStartUp] = { _('cleared for startup'), 'cleared for startup' },
			[Message.wMsgATCEngineStartUpDenied] = { _('unable clear start up'), 'unable clear start up' },
			[Message.wMsgATCClearedToTaxiRunWay] = { _('cleared to taxi to runway'), 'cleared to taxi to runway' },
			[Message.wMsgATCTaxiDenied] = { _('unable clear taxi'), 'unable clear taxi' },
			[Message.wMsgATCHoldPosition] = { _('hold position'), 'hold position' },
			[Message.wMsgATCYouAreClearedForTO] = { _('you are cleared for takeoff when ready'), 'you are cleared for takeoff when ready' },
			[Message.wMsgATCTakeoffDenied] = { _('unable to clear takeoff'), 'unable to clear takeoff' },
			[Message.wMsgATCYouHadTakenOffWithNoPermission] = { _('unable to clear takeoff'), 'unable to clear takeoff' },
			[Message.wMsgATCTrafficBearing] = { _('traffic bearing'), 'traffic bearing' },
			[Message.wMsgATCYouAreClearedForLanding] = { _('cleared to land'), 'cleared to land' },
			[Message.wMsgATCYouAreAboveGlidePath] = { _('you are above glide path'), 'you are above glide path' },
			[Message.wMsgATCYouAreOnGlidePath] = { _('you are on glide path'), 'you are on glide path' },
			[Message.wMsgATCYouAreBelowGlidePath] = { _('you are below glide path'), 'you are below glide path' },
			[Message.wMsgATCTaxiToParkingArea] = { _('taxi to parking area'), 'taxi to parking area' },
			[Message.wMsgATCGoAround] = { _('go around runway occupied'), 'go around runway occupied' },
			[Message.wMsgATCContinueTaxi] = { _('continue taxi'), 'continue taxi' },
			[Message.wMsgATCOrbitForSpacing] = { _('orbit for spacing'), 'orbit for spacing', 'orbit for spacing, waiting for permission' },
			[Message.wMsgATCClearedForVisual] = { _('cleared for visual, contact tower'), 'cleared for visual contact tower' },
			[Message.wMsgATCFlyHeading] = { _('fly heading'), 'fly heading' },
			[Message.wMsgATCAzimuth] = { _('-ADF, your heading'), 'ADF your heading' },
			[Message.wMsgATCGoSecondary] = { _('go to alternate'), 'go to alternate' },
			[Message.wMsgATCClearedControlHover] = { _('cleared hover check'), 'cleared hover check' },
			[Message.wMsgATCControlHoverDenied] = { _('unable clear control hover'), 'unable clear control hover' },
			[Message.wMsgATCCheckLandingGear] = { _('check landing gear'), 'check landing gear' },
			[Message.wMsgATCFlightCheckIn] = { _('check flight in'), 'check flight in' },

 

 

This are the events:

[events.NOTIFY_BIRTH_ON_RAMP_HOT]					
[events.DENY_TAKEOFF_FROM_AIRDROME] 				
[events.NOTIFY_BIRTH_ON_RUNWAY]						
[events.CLEAR_TO_TAKEOFF_FROM_AIRDROME]				
[events.STARTUP_PERMISSION_FROM_AIRDROME] 			
[events.TAKEOFF] 									
[events.LANDING]									
[events.ENGINE_SHUTDOWN]						
[events.DENY_TAKEOFF_FROM_HELIPAD]					
[events.NOTIFY_BIRTH_ON_HELIPAD_HOT]				
[events.STARTUP_PERMISSION_FROM_HELIPAD] 			
[events.CLEAR_TO_TAKEOFF_FROM_HELIPAD]				
[events.NOTIFY_BIRTH_ON_SHIP_HOT]					
[events.DENY_TAKEOFF_FROM_SHIP] 					
[events.CLEAR_TO_TAKEOFF_FROM_SHIP]					
[events.STARTUP_PERMISSION_FROM_SHIP]

 

I have understood how to create and move through "ATC stages" but the problem is I can't create new messages for Leader or ATC.

Creating new messages means create new functions for the ATC control.

 

i.e. if I can create [Message.wMsgLeaderCatapultOK] and its ATC response [Message.wMsgATCCatapultOk] I can create an ATC stage "Catapult Officer: Hand Signal OK" and then move to stage "Launch" where I wait [event.Takeoff] to enable "Departure" radio messages.

 

 

I've tried to create a new defined Message in common.lua (..\DCSWorld\Sounds\Speech\common.lua) but the whole radio menu dialog breaks.

If someone from ED could help me would be really great!

 

There's a group of us redoing the entire voice system for English speech. If you can identify voice messages that are not in game we can add them. PM me.

 

VCAW-99_sig_ED_BD-3.png

 

Alienware New Aurora R15 | Windows® 11 Home Premium | 64bit, 13thGen Intel(R) Core(TM) i9 13900KF(24-Core, 68MB|  NVIDIA(R) GeForce RTX(TM) 4090, 24GB GDDR6X | 1 X 2TB SSD, 1X 1TB SSD | 64GB, 2x32GB, DDR5, 4800MHz | 1350W PSU, Alienware Cryo-tech (TM) Edition CPU Liquid Cooling  power supply | G2 Rverb VR

Link to comment
Share on other sites

V 0.5

 

Departure Airdrome

 

ADDED:

-Approach: Inbound VFR

-Approach: Inbound Instrumental

-Departure: Confirm takeoff ( at event.takeoff )

-

 

Departure Ship:

 

ADDED:

- stage "Launch" before takeoff

-Departure: Confirm takeoff ( at event.takeoff )

 

Arrival

 

ADDED:

-Tower: Request Full Stop Landing and Tower: Touch and GO during "Ready to land" stage

-Ground Control: Request Taxi to Park at event.landing

 

Departure Helipad untouched.

Still no joy for adding messages, so i'm using actual one.

Please report bugs.

ATC mod v0.5.lua

Link to comment
Share on other sites

This is amazing.

Can this MOD be used online, on coops missions? Assuming that everybody has this mod?

Thanks and keep the good work.

Windows 7 Professional x64, EVGA GTX 1060 6GB,

Intel Xeon W5650(i7) @ 4.1ghz, Asus P6TWS motherboard, 24gb DDR3, 500GB SSD.

Hybrid joystick(Base: Saitek X55 - Grip:CH Fighterstick), Saitek X55 throttle, Saitek ruder pedals.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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