Hallo Dieter,
in der Anlage ZZA_Diorama ist mir eine seltsame Zeitanzeige an der ZZA aufgefallen.
Diese Fehlanzeige tritt aber nur bei einer zu ermittelten Abfahrtszeit und EEP-Zeit über 23:00 Uhr + der eingetragenen Zeit von Ankanz auf.
Hier ein Bild aus deiner Anlage und anschließend ein Auszug aus deinem Skript.
Lua
function zeitrechnen2()
FZUG1_2 = select(2,EEPLoadData(201))
DPos1_2 = select(2,EEPLoadData(202))
FZUG2_2 = select(2,EEPLoadData(203))
DPos2_2 = select(2,EEPLoadData(204))
zeit_ZZ2 = select(2,EEPLoadData(205)) -- Zeitstring aus Slot lesen
if string.len(zeit_ZZ2) == 17 then -- wenn der Zeitstring mindestens 5 Zeichen hat (eine Zeit gespeichert ist)
zeit_Gl2 = string.sub(zeit_ZZ2,1,5) -- Abfahrtszeit aus dem Zeitstring kürzen
zeit_FZUG_1_Gl2 = string.sub(zeit_ZZ2,7,12)
zeit_FZUG_2_Gl2 = string.sub(zeit_ZZ2,13,18)
elseif string.len(zeit_ZZ2) == 11 then
zeit_Gl2 = string.sub(zeit_ZZ2,1,5) -- Abfahrtszeit aus dem Zeitstring kürzen
zeit_FZUG_1_Gl2 = string.sub(zeit_ZZ2,7,12)
zeit_FZUG_2_Gl2 = ""
elseif string.len(zeit_ZZ2) == 5 then
zeit_Gl1 = string.sub(zeit_ZZ2,1,5) -- Abfahrtszeit aus dem Zeitstring kürzen
zeit_FZUG_1_Gl2 = ""
zeit_FZUG_2_Gl2 = ""
else
zeit_Gl2 = ""
zeit_FZUG_1_Gl2 = ""
zeit_FZUG_2_Gl2 = ""
end
end
function zeitrechnen2_2()
if zeit_Gl2 == "" then -- wenn keine Abfahrtszeit gefunden
zeit_Gl2 = string.format("%02d:%02d", EEPTimeH, EEPTimeM + Ankanz) -- Abfahrtszeit = EEPZeit + Verzögerung für Anfahrt
if EEPTimeM + Ankanz >= 60 then -- volle Stunde überschritten
zeit_Gl2 = string.format("%02d:%02d", EEPTimeH + 1, EEPTimeM + Ankanz - 60) -- dann den Wert für die Stunde um 1 erhöhen und Minutenwert -60
end
if EEPTimeH + 1 > 23 then -- wenn der Stundenwert größer als 23 (neuer Tag)
zeit_Gl2 = string.format("%02d:%02d", EEPTimeH - 23 , EEPTimeM + Ankanz - 60) -- den Stundenwert um 23 reduzieren
end
zeit_ZZ2 = zeit_Gl2 -- den Zeitstring mit der Abfahrtszeit beschreiben
end
if FZUG1_2 ~= "" then -- wenn ein Folgezug gespeichert ist
if zeit_FZUG_1_Gl2 == "" then
zeit_FZUG_1_Gl2 = string.format("%02d:%02d", EEPTimeH, EEPTimeM + DPos1_2 * ZZATimer) -- die Abfahrtszeit errechnen
if EEPTimeM + DPos1_2 * ZZATimer >= 60 then
zeit_FZUG_1_Gl2 = string.format("%02d:%02d", EEPTimeH + 1, EEPTimeM + (DPos1_2 * ZZATimer) - 60) --s.o.
end
if EEPTimeH + 1 > 23 then
zeit_FZUG_1_Gl2 = string.format("%02d:%02d", EEPTimeH - 23, EEPTimeM + (DPos1_2 * ZZATimer) - 60) --s.o.
end
zeit_ZZ2 = zeit_ZZ2..","..zeit_FZUG_1_Gl2 -- den Zeitstring mit der Abfahrtszeit beschreiben
end
zugnr_FZUG_1_Gl2 = FZUG1_2
if FZUG1_2 == "RE40" then
ziel_FZUG_1_Gl2 = "Nürnberg Hbf"
elseif FZUG1_2 == "RE47" then
ziel_FZUG_1_Gl2 = "Nürnberg Hbf"
end
else
zeit_FZUG_1_Gl2 = ""
zugnr_FZUG_1_Gl2 = ""
ziel_FZUG_1_Gl2 = ""
end
if FZUG2_2 ~= "" then -- wenn ein 2. Folgezug gespeichert ist
if zeit_FZUG_2_Gl2 == "" then
zeit_FZUG_2_Gl2 = string.format("%02d:%02d", EEPTimeH, EEPTimeM + DPos2_2 * ZZATimer) -- Abfahrtszeit errechnen
if EEPTimeM + DPos2_2 * ZZATimer >= 60 then
zeit_FZUG_2_Gl2 = string.format("%02d:%02d", EEPTimeH + 1, EEPTimeM + (DPos2_2 * ZZATimer) - 60)
end
if EEPTimeH + 1 > 23 then
zeit_FZUG_2_Gl2 = string.format("%02d:%02d", EEPTimeH - 23, EEPTimeM + (DPos1_2 * ZZATimer) - 60) --s.o.
end
zeit_ZZ2 = zeit_ZZ2..","..zeit_FZUG_2_Gl2 -- den Zeitstring mit der Abfahrtszeit beschreiben
end
zugnr_FZUG_2_Gl2 = FZUG2_2
if FZUG2_2 == "RE40" then
ziel_FZUG_2_Gl2 = "Nürnberg Hbf"
elseif FZUG2_2 == "RE47" then
ziel_FZUG_2_Gl2 = "Nürnberg Hbf"
end
else
zeit_FZUG_2_Gl2 = ""
zugnr_FZUG_2_Gl2 = ""
ziel_FZUG_2_Gl2 = ""
end
end
Ich bin ein mittelmäßiger Lua-Kenner und habe mit meinen Kenntnissen versucht den Fehler zu beheben. Vergeblich!
Gruß Hartmut
Alles anzeigen