Zum Inhalt springen

MSFS 2020 und plötzlich ist die ATC ID und ATC AIRLINE weg…

  • von
Schlagwörter:

Im WorldFlight habe ich bemerkt, dass die Simulator Variablen für ATC ID und ATC AIRLINE geleert werden, wenn der Simulator die Verbindung zur Microsoft Cloud verliert.

Das kann zu ärgerlichen Effekten führen, da ich diese beiden Variablen u.a. für mein DATALOADER Display verwende.

Daher habe ich ein kleines LUA Script geschrieben, welches die beiden Variablen wieder setzt, wenn sie aus irgendeinem Grund „leer“ sind.

Das Script kann man allein laufen lassen oder in eine bestehende LUA einbinden. Ich würde die RefreshRate nicht kleiner als 3 Sekunden setzen, da das füllen der Variablen ja kein wichtiger Prozess ist.

local logging = 1
local lastfltnbr = ""
local lastairline = ""
local airline = ""
local refreshRate = 5000

function log(message)
	if (logging==1) then ipc.log(os.date("%Y-%m-%d %H:%M:%S")..": "..message) end
end

function fixAircraftData()
	-- Read current values
	fltnbr  = ipc.readSTR(0x313C, 12):gsub("%z.*", "")
	airline = ipc.readSTR(0x3148, 24):gsub("%z.*", "")

	-- ATC ID
	if (fltnbr~="") then
		if (fltnbr~=lastfltnbr) then
			lastfltnbr=fltnbr 
			log("Found new ATC-ID: "..lastfltnbr)
		end
	else		
		log("Empty ATC-ID detected.")
		if (lastfltnbr~="") then
			fltnbr = lastfltnbr
			log("Set ATC-ID to: "..lastfltnbr)
		else
			fltnbr = "D-ALAM"
			log("Set ATC-ID to < "..fltnbr.." > because no last ATC-ID found.")
		end
		ipc.writeSTR(0x313C,fltnbr)
		
	end
	
	
	-- Airline
	if (airline~="") then
		if (airline~=lastairline) then
			lastairline=airline 
			log("Found new Airline: "..lastairline)
		end
	else
		log("Empty Airline detected.")
		if (lastairline~="") then
			airline = lastairline
			log("Set Airline to: "..lastairline)
		else
			airline = "LUFTHANSA"
			log("Set Airline to < "..airline.." > because no last Airline found.")
		end
		ipc.writeSTR(0x3148,airline)
	end
end

function ATtimer()
	-- ipc.writeSTR(0x3148,"test")
	fixAircraftData()
end

event.timer(refreshRate, "ATtimer")

log("peroAircraftFixer.lua running...")
Consent Management Platform von Real Cookie Banner