Signalbezeichnerupdate separieren
This commit is contained in:
parent
716d21717d
commit
4c6a370f78
63
init.lua
63
init.lua
@ -2,7 +2,7 @@
|
|||||||
-- Ich weiss jetzt noch nicht, wie viele verschiedene Versionen von dem Script spaeter herumfliegen werden.
|
-- Ich weiss jetzt noch nicht, wie viele verschiedene Versionen von dem Script spaeter herumfliegen werden.
|
||||||
KsKitVer=0
|
KsKitVer=0
|
||||||
|
|
||||||
Kennziffer=34
|
Kennzahl=34
|
||||||
|
|
||||||
local Callbacks = {}
|
local Callbacks = {}
|
||||||
|
|
||||||
@ -55,37 +55,16 @@ end
|
|||||||
|
|
||||||
-- Signal-Callback registrieren
|
-- Signal-Callback registrieren
|
||||||
function OnSignal(Signal, Funktion)
|
function OnSignal(Signal, Funktion)
|
||||||
EEPRegisterSignal(Signal)
|
|
||||||
On("EEPOnSignal_"..tostring(Signal), Funktion)
|
On("EEPOnSignal_"..tostring(Signal), Funktion)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Weichen-Callbacks registrieren
|
-- Weichen-Callbacks registrieren
|
||||||
function OnSwitch(Switch, Funktion)
|
function OnSwitch(Switch, Funktion)
|
||||||
EEPRegisterSwitch(Switch)
|
|
||||||
On("EEPOnSwitch_"..tostring(Switch), Funktion)
|
On("EEPOnSwitch_"..tostring(Switch), Funktion)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Lua-Serializer und Deserializer laden
|
|
||||||
serpent=require("kskit/serpent")
|
|
||||||
|
|
||||||
-- Lua-Tabelle aus EEP Slot laden
|
|
||||||
function ladeTabelle(Slot)
|
|
||||||
local roh, geparst
|
|
||||||
ok, roh = EEPLoadData(Slot)
|
|
||||||
if not ok then return {} end
|
|
||||||
ok, geparst = serpent.load(roh)
|
|
||||||
if not ok then return {} end
|
|
||||||
if type(geparst) ~= "table" then return {} end
|
|
||||||
return geparst
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Lua-Tabelle in EEP Slot speichern
|
|
||||||
function speicherTabelle(Slot, Tabelle)
|
|
||||||
EEPSaveData(Slot, serpent.line(Tabelle, {comment = false}))
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Referenz-Datenbank mit Signalen, Fahrstrassen & Weichen
|
-- Referenz-Datenbank mit Signalen, Fahrstrassen & Weichen
|
||||||
-- Geordnet nach Signal/Weichen-ID
|
-- Geordnet nach Signal-ID
|
||||||
KsSignale = {}
|
KsSignale = {}
|
||||||
|
|
||||||
-- KsSignale von GK3 sind sehr systematisch benannt, die moeglichen Stellungen lassen sich aus dem Namen herleiten
|
-- KsSignale von GK3 sind sehr systematisch benannt, die moeglichen Stellungen lassen sich aus dem Namen herleiten
|
||||||
@ -141,7 +120,7 @@ function GK3KsBegriffe(Modell)
|
|||||||
table.insert(Stellungen, {"Sh1"})
|
table.insert(Stellungen, {"Sh1"})
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Ersatzfahrt an Ausfahrsignalen und Blocksignalen ohne Vorsichtssignal
|
-- Ersatzsignal an Ausfahrsignalen und Blocksignalen ohne Vorsichtssignal
|
||||||
if Teile["A"] or (Teile["B"] and not Teile["V"]) then
|
if Teile["A"] or (Teile["B"] and not Teile["V"]) then
|
||||||
table.insert(Stellungen, {"Zs1"})
|
table.insert(Stellungen, {"Zs1"})
|
||||||
end
|
end
|
||||||
@ -179,34 +158,26 @@ local GK3KsBauarten={
|
|||||||
}
|
}
|
||||||
|
|
||||||
for cnt=1, #GK3KsBauarten do
|
for cnt=1, #GK3KsBauarten do
|
||||||
_G[GK3KsBauarten[cnt]]=function(Signal, Meta)
|
_G[GK3KsBauarten[cnt]]=function(Meta)
|
||||||
|
Signal=Meta[1]
|
||||||
|
Meta[1] = nil
|
||||||
-- Falls kein name gegeben, einen generieren
|
-- Falls kein name gegeben, einen generieren
|
||||||
if Meta.Name == nil then
|
if Meta.Name == nil then
|
||||||
Meta.Name = string.format("%d", Signal)
|
Meta.Name = string.format("%d", Signal)
|
||||||
end
|
end
|
||||||
Meta.Kennziffer = Kennziffer
|
if type(Meta.Schild) == "number" then
|
||||||
|
Meta.Schild="#"..tostring(Meta.Schild)
|
||||||
|
end
|
||||||
|
Meta.Kennzahl = Kennzahl
|
||||||
Meta.Begriffe = GK3KsBegriffe(GK3KsBauarten[cnt])
|
Meta.Begriffe = GK3KsBegriffe(GK3KsBauarten[cnt])
|
||||||
for _, Var in ipairs({"Schild","Mastschild","Immobilie", "PZB"}) do
|
|
||||||
if type(Meta[Var]) == "number" then
|
|
||||||
Meta[Var]=tostring("#"..Meta[Var])
|
|
||||||
end
|
|
||||||
if Meta[Var] then
|
|
||||||
local ok,x,y,z = EEPStructureGetPosition(Meta[Var])
|
|
||||||
if ok then
|
|
||||||
if not Meta.Ort then
|
|
||||||
Meta.Ort = {x,y,z}
|
|
||||||
end
|
|
||||||
else
|
|
||||||
print("Warnung: Signal ",Signal," ",Var," ",Meta[Var]," nicht gefunden")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if not Meta.Ort then
|
|
||||||
print("Warnung: Signal ",Signal," hat keine Immobilie, um die eigene Position zu ermitteln")
|
|
||||||
end
|
|
||||||
KsSignale[Signal] = Meta
|
KsSignale[Signal] = Meta
|
||||||
if Meta.Schild then
|
end
|
||||||
EEPStructureSetTextureText(Meta.Schild, 1, Meta.Kennziffer)
|
end
|
||||||
|
|
||||||
|
function KsSignalBezeichner()
|
||||||
|
for Signal, Meta in ipairs(KsSignale) do
|
||||||
|
if Meta.Schild ~= nil then
|
||||||
|
EEPStructureSetTextureText(Meta.Schild, 1, Meta.Kennzahl)
|
||||||
EEPStructureSetTextureText(Meta.Schild, 2, Meta.Name)
|
EEPStructureSetTextureText(Meta.Schild, 2, Meta.Name)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user