Hallo Jörg,
leider kann ich nicht richtig mitspielen, das Plug-In 2 habe ich noch nicht.
Hallo Jörg,
leider kann ich nicht richtig mitspielen, das Plug-In 2 habe ich noch nicht.
Da ich aber zur Zeit diese Richtungen nicht auslesen kann ...
Du kannst den Status der Kupplungen abfragen. Beim ersten und beim letzten Element kann nur eine Kupplung den Status "gekuppelt" haben. Entweder die vordere (Beispiel: Tender) oder die hintere (Beispiel: Talent 2).
Hilft das?
Wenn die Lok vor einem Zug hängt oder der Triebwagen in Doppeltraktion unterwegs ist, sind beide Seiten gekuppelt, für Lua also nicht mehr unterscheidbar...
Viele Grüße
Benny
In diesen Fällen befände sich das Element nicht mehr am äußeren Ende des Zuges. Wenn ich Tufftuff richtig verstehe, geht es ihm aber um das jeweils erste und letzte Element im Verband?
Generell stimme ich aber zu, dass die Ausrichtung im Zugverband interessanter wäre als die Ausrichtung auf dem Gleis. Ich spreche das mal bei den Entwicklern an.
Hallo Reinhard ( @jason ),
das Plug-In 2 habe ich noch nicht.
das Plugin2 habe ich auch noch nicht, aber ich habe schon die Voraussetzungen in meinen Skripten vorgenommen. Das mit der Kupplung funktioniert aber schon jetzt. Ich meine die richtige Anzeige. Zur Zeit verliere ich immer noch den Zugnamen von einer Einheit, wenn ich entkopple. Da muß ich immer wieder im Steuerdialog den Zugnamen abändern.
Hallo Götz ( @Goetz ),
folgende Erklärung von mir, damit man nichts durcheinander bringt. Mit dem Trafo kann ich eine Diesellok, E-Lok, Tenderlok, Schlepptenderlok mit Tender oder aber auch ganze Einheiten steuern mit einem Trafo und / oder mehreren Trafos. Unter einer Einheit verstehe ich z.B. den Talent2 mit 5 Rollmaterialien (RM), oder aber auch mit 3 Rollmaterialien. Ich steuere aber nur die komplette Einheit über den Trafo. Dazu brauche ich den vorderen Namen von der Einheit Name_RM_V und den hinteren (letzten) Namen von der Einheit Name_RM_H . Und da ich auch verschiedene Einheiten kuppeln und entkoppeln will, benötige ich noch die Richtung vom hinteren (letzten) Rollmaterial in der Einheit. Denn Standard ist: für Name_RM_V : EEPRollingstockSetCouplingFront bzw. EEPRollingstockGetCouplingFront
für Name_RM_H : EEPRollingstockSetCouplingRear bzw. EEPRollingstockGetCouplingRear
Nur wenn die Richtung vom Name_RM_V nicht gleich (ungleich) der Richtung vom Name_RM_H ist, muß ich Hinten die selben Funktionen für die Kupplung benutzen, wie die von Vorn (die Grünen). Deshalb hiv_ = hinten ist vorne
Und soeben habe ich im Skript einen Fehler entdeckt. Auf die Tester (ich) ist aber auch kein Verlass mehr.
Nur wenn die Richtung vom Name_RM_V nicht gleich (ungleich) der Richtung vom Name_RM_H ist, muß ich Hinten die selben Funktionen für die Kupplung benutzen ...
Ich erkläre es gerne noch einmal, Jörg:
Beim ersten und beim letzten Fahrzeug im Verband ist jeweils nur eine Kupplung im Zustand gekuppelt. Die andere ist entweder auf scharf oder auf abstoßen, aber keinesfalls gekuppelt. Denn wären beide Enden des Fahrzeugs gekuppelt, dann befände sich dieses Fahrzeug nicht am Anfang oder am Ende des Verbands.
Du kannst also prüfen, welche der beiden Kupplungen gekuppelt ist und welche nicht. Dann weißt du, welche du scharf stellen musst. Oder du sprichst die Zugkupplungen an. Das sind immer die beiden Kupplungen an den äußeren Enden des Zuges.
Hilft dir das weiter?
Hallo Götz,
so wie es Benny ( Benny (BH2) ) schon erklärt hat, diese Abfrage funktioniert nicht, wenn ich mehrere Einheiten gekoppelt habe, Da ich jede Einheit über die Trafos steuern kann. Wenn ich 3 Einheiten gekoppelt habe, nun möchte ich die mittlere Einheit über den Trafo entkoppeln mit der ersten Einheit. Wie willst Du das Auslesen? Jede Einheit ist auf dem Trafo ein Rollmaterial, welches ich Hinten oder Vorne kuppeln oder entkoppeln kann.
diese Abfrage funktioniert nicht, wenn ich mehrere Einheiten gekoppelt habe
Stimmt.
Aber dann willst du auch nicht mehr das erste und das letzte Fahrzeug im Verband ansprechen. Insofern war deine Beschreibung immer wieder irreführend.
Hallo Götz,
doch für den Trafo gibt es nur Vorn und Hinten für eine Einheit, nicht für alle Einheiten die damit verbunden sind. Deshalb benötige ich die Richtung vom letzten Rollmaterial in einer Einheit und nicht im Zugverband. Ich bin vielleicht Irre, aber ich wollte nicht irreführend sein.
Aaahhh ... eine Einheit ist bei dir etwas anderes als ein Zugverband. Ein Zugverband kann sich aus zwei EInheiten zusammensetzen.
Deshalb hatte ich dich immer missverstanden. (Weil ein Trafo immer einen Zugverband anspricht.)
Hallo Götz,
das ist auch richtig, aber dieser Zugverband (Einheit) ist fest (fest verankert im Trafo). Dieser Zugverband vom Trafo kann aber mit anderen Zugverbänden einen Zusammenschluss (Vereinigung) führen. Aber ich möchte ihn über den Trafo auch wieder trennen, damit der Zugverband (Einheit) alleine unterwegs ist. Der Zugverband allgemein verändert sich, aber nicht der Zugverband (Einheit) für den Trafo, denn der Zugverband (Einheit) vom Trafo lässt sich nicht über den Trafo in Einzelteile zerlegen. Auch die Schlepptenderlok mit Tender lässt sich nicht über den Trafo zerlegen weil sie eine Einheit (festen Zugverband) bilden.
Dieser Zugverband vom Trafo kann aber mit anderen Zugverbänden einen Zusammenschluss (Vereinigung) führen.
Okay.
Aber zu diesem Zeitpunkt kennst du ihn doch längst. Und hast schon vorher ermittelt, wie die einzelnen Elemente im Zug ausgerichtet sind. Und dir diesen Zustand gemerkt. Sonst wüsstest du ja garnicht, an welcher Stelle du die Einheiten wieder trennen musst ...
Hallo Götz,
ja ich weiß es, wenn der Trafo-User X,Y,Z mir verrät, ob bei ihm am Ende der "Einheit" die Kupplung Vorne oder Hinten frei ist, indem er mir das mit hiv_ für den Name_RM_H dokumentiert, dann weiß ich, das dieses Rollmaterial entgegengesetzt der Richtung von Name_RM_V ist, ansonsten nicht. Da ich auf den "externen" Speicher verzichte. Der Trafo-User X,Y,Z kann ganz viele "Einheiten" auf einen Trafo legen.Eine "Einheit" kann auch nur aus einer Diesellok bestehen. Nehmen wir mal an, der Trafo-User hat über 500 Loks, Waggons und "Einheiten" (feste Zugverbände), auf einen Trafo liegen, welche er bequem über Schalter und/ oder Kontaktpunkte aktivieren kann. Wie soll man dies auffangen? Der Trafo-User ändert das Rollmaterial, behält aber die Namen und nun? Für mich selbst ist es kein Problem, aber ich denke da auch ein wenig weiter. Auf der Anlage wird gekoppelt und entkoppelt. Die Anlage wird gespeichert und wieder geladen. Wann kann ich einen Zugverband auslesen? Wo setzt er das Rollmaterial ein und gibt er mir seine Namen bekannt? Ist er schon in diesem Fall mit einer anderen Einheit zusammen? Alles das weiß ich nicht. Der Trafo-User gibt mir nur den vorderen und hinteren Namen von der "Einheit" bekannt und setzt ihn damit auf den Trafo (aktiv oder nur zur Auswahl).
Die Kupplungszustände der "Einheiten", welche aktiv auf den Trafos sind, werden pro Sekunde ausgelesen, ob eine Kopplung oder Entkopplung erfolgte.
Hallo Trafo-User,
für die Freunde, welche den Trafo über das GBS steuern, habe ich für das Skript MTS_GBS_Funktionen ein Update auf meiner Homepage bereitgestellt. Die aktuelle Version für das Skript MTS_GBS_Funktionen lautet jetzt v.1.0.1 .
Und soeben habe ich im Skript einen Fehler entdeckt. Auf die Tester (ich) ist aber auch kein Verlass mehr.
Der Fehler bestand nur für die Trafosteuerung über das GBS.
Hallo Götz ( @Goetz )
Generell stimme ich aber zu, dass die Ausrichtung im Zugverband interessanter wäre als die Ausrichtung auf dem Gleis. Ich spreche das mal bei den Entwicklern an.
Und da hast Du Recht, ich brauche die Richtung von einem bestimmtes Rollmaterial im Zugverband mit einem anderen Rollmaterial. Die 2 Rollmaterialien im Zugverband sind mir über den Trafo bekannt, aber nicht die Richtung. Wo sie im Zugverband stehen und ob sie vorhanden sind, kann ich ja auslesen mit den vorhandenen Lua-Funktionen.
Hallo Trafo-User,
für den MTS_GBS_xx ist ein Update auf die Version 1.0.2 auf meiner Homepage erhältlich.
Betreff: Bahnübergang
!Achtung: Skripte veraltet!
Hallo User,
hier das Skript ohne Straßenüberwachung und ohne Blockfunktion.
BUE_01_v1
--*********BUE_01_v1****************************
--*********Einträge einfügen, abändern, ergänzen****************************
SlotMapping.BUE_01_v1 = 0 --Bahnübergang_01! Ersetze die Null durch einen freien Slotplatz/-nummer!
BUE_01_v1_Sig_BUE = { --Einfache Schranke aus dem Grundsortiment von EEP (BUE v90 A T EpV von AM1)
--{Signal-ID, Stellung_Auf, Stellung_Zu}
{0,1,2}, {0, 1, 2},
}
--***********************************Ende***********************************
if not Slot.BUE_01_v1 then Slot.BUE_01_v1 = 0 end
function BUE_01_Zu_Kp() --Im Kontaktpunkt steht: BUE_01_Zu_Kp
if Slot.BUE_01_v1 < 0 then Slot.BUE_01_v1 = 0 end
if Slot.BUE_01_v1 == 0 then
for nc, TP in ipairs(BUE_01_v1_Sig_BUE) do
EEPSetSignal(TP[1], TP[3])
end
end
Slot.BUE_01_v1 = Slot.BUE_01_v1 + 1
end
function BUE_01_Auf_Kp() --Im Kontaktpunkt steht: BUE_01_Auf_Kp
Slot.BUE_01_v1 = Slot.BUE_01_v1 - 1
if Slot.BUE_01_v1 < 0 then Slot.BUE_01_v1 = 0 end
if Slot.BUE_01_v1 == 0 then
for nc, TP in ipairs(BUE_01_v1_Sig_BUE) do
EEPSetSignal(TP[1], TP[2])
end
end
end
print ("Skript BUE_01_v1 wurde eingebunden.")
Alles anzeigen
Und hier das Skript mit Straßenüberwachung und mit Blockfunktion.
BUE_01_v2
--*********BUE_01_v2****************************
--*********Einträge einfügen, abändern, ergänzen****************************
SlotMapping.BUE_01_v2_Signal = { --Signalspeicher für Haltesignal vor Bahnübergang "Belegt" oder "Frei"! Ersetze die Nullen durch Zahlen zwischen 1-500!
Gleis_1A = 0,
Gleis_1B = 0,
Gleis_2A = 0,
Gleis_2B = 0,
Gleis_3A = 0,
Gleis_3B = 0,
}
SlotMapping.BUE_01_v2_BUE_Zeit = 0 --Bahnübergang_Schranke_Zeit:! Ersetze die Nullen durch Zahlen zwischen 1-500!
SlotMapping.BUE_01_v2_Zaehler = 0 --! Ersetze die Nullen durch Zahlen zwischen 1-500!
SlotMapping.BUE_01_v2_T1 = 0 --! Ersetze die Nullen durch Zahlen zwischen 1-500!
SlotMapping.BUE_01_v2_T2 = 0 --! Ersetze die Nullen durch Zahlen zwischen 1-500!
HT_BUE_01_v2_Signal = {
"Gleis_1A", "Gleis_1B","Gleis_2A","Gleis_2B","Gleis_3A","Gleis_3B",
}
BUE_01_v2_Zug = {--{Signal-ID, Stellung_Fahrt}, Ersetze die Nullen durch die entsprechende Signal-ID, die Stellung Fahrt anpassen, wenn es nicht Stellung 2 ist!
{0, 2}, --Gleis_1A
{0, 2}, --Gleis_1B
{0, 2}, --Gleis_2A
{0, 2}, --Gleis_2B
{0, 2}, --Gleis_3A
{0, 2}, --Gleis_3B
}
BUE_01_v2_Sig_BUE = { --!!!Shopmodell V11NSM20058 von SM2 hier die Eisenbahnschranke 1 !!!
--{Signal-ID, Stellung_Fahrt (Schranke auf; Fahrt), Stellung_Halt(Schranke_Auf, Ampel gelb, Kfz_Halt; Halt), Stellung_Halt(Schranke_Zu, Ampel rot, Kfz_Halt; Halt)}
{0, 1, 2, 3}, {0, 1, 2, 3}, --Signal-ID anpassen und Stellungen überprüfen!
}
BUE_01_v2_Strasse_ID = { --Ersetze die Null(en) durch die entsprechende Gleis-ID (Strassen-ID), es können auch mehrere Gleise sein!
0,
}
BUE_01_v2_Sec_01 = 3 --Zeitspanne Kfz_Halt --> Schranke_runter, kann abgeändert werden!
BUE_01_v2_Sec_03 = 3 --Zeitspanne Schranke_runter --> Signal_Fahrt, kann abgeändert werden!
--***********************************Ende***********************************
--BUE_01_Strasse_ID registrieren
for nc, TP in ipairs(BUE_01_v2_Strasse_ID) do
EEPRegisterRoadTrack(TP)
end
BUE_01_v2_Timer_01 = 0 --Hier nichts ändern!
BUE_01_v2_Timer_02 = 0 --Hier nichts ändern!
if not Slot.BUE_01_v2_BUE_Zeit then Slot.BUE_01_v2_BUE_Zeit = 0 end --Hier nichts ändern!
if not Slot.BUE_01_v2_Zaehler then Slot.BUE_01_v2_Zaehler = 0 end --Hier nichts ändern!
BUE_01_v2_Sec_02 = (BUE_01_v2_Sec_01*5) -1 --Hier nichts ändern!
BUE_01_v2_Sec_04 = (BUE_01_v2_Sec_03*5) -1 --Hier nichts ändern!
function BUE_01_v2_Abfage() --!Diese Funktion wird über die EEPMain aufgerufen!
if Slot.BUE_01_v2_BUE_Zeit == 1 then BUE_01_v2_Schranke_Zu() end
if Slot.BUE_01_v2_T1 == "An" then
BUE_01_v2_Timer_01 = (BUE_01_v2_Timer_01 + 1) % (BUE_01_v2_Sec_01 * 5)
if BUE_01_v2_Timer_01 == BUE_01_v2_Sec_02 then
Slot.BUE_01_v2_T1 = "Aus"
BUE_01_v2_Schranke_Zu()
end
end
if Slot.BUE_01_v2_T2 == "An" and Slot.Hauptschalter == "An" then --!mit Hauptschalter! Wenn ohne Hauptschalter, dann Bitte folgendes in der Zeile löschen: and Slot.Hauptschalter == "An"
BUE_01_v2_Timer_02 = (BUE_01_v2_Timer_02 + 1) % (BUE_01_v2_Sec_03 * 5)
if BUE_01_v2_Timer_02 == BUE_01_v2_Sec_04 then
Slot.BUE_01_v2_T2 = "Aus"
BUE_01_v2_Sig_Zug(BUE_01_v2_Gleisname)
--EEPStructurePlaySound("#0",0) --Wenn ein "Eigener Sound (endlos)" -Modell eingesetzt wird, dann die #0 durch die passende ID abändern und die 2 Striche am Anfang entfernen!
end
end
end
function BUE_01_v2_anmelden_Kp(Gleisname) --Bsp.: BUE_01_v2_anmelden_Kp("Gleis_1A")
Slot.BUE_01_v2_Signal[Gleisname] = "Belegt"
if Slot.BUE_01_v2_Zaehler < 0 then Slot.BUE_01_v2_Zaehler = 0 end
if Slot.BUE_01_v2_Zaehler == 0 then
--EEPStructurePlaySound("#0",1) --Wenn ein "Eigener Sound (endlos)" -Modell eingesetzt wird, dann die #0 durch die passende ID abändern und die 2 Striche am Anfang entfernen!
BUE_01_v2_Kfz_Halt()
end
Slot.BUE_01_v2_Zaehler = Slot.BUE_01_v2_Zaehler + 1
BUE_01_v2_Gleisname = Gleisname
if (Slot.BUE_01_v2_T1 == "Aus" and Slot.BUE_01_v2_T2 == "Aus" and Slot.BUE_01_v2_BUE_Zeit == 0) then BUE_01_v2_Sig_Zug(BUE_01_v2_Gleisname) end
end
function BUE_01_v2_abmelden_Kp()
Slot.BUE_01_v2_Zaehler = Slot.BUE_01_v2_Zaehler - 1
if Slot.BUE_01_v2_Zaehler < 0 then Slot.BUE_01_v2_Zaehler = 0 end
if Slot.BUE_01_v2_Zaehler == 0 then
BUE_01_v2_Schranke_Auf()
end
end
function BUE_01_v2_Kfz_Halt()
for nc, TP in ipairs(BUE_01_v2_Sig_BUE) do
EEPSetSignal(TP[1], TP[3])
end
Slot.BUE_01_v2_T1 = "An"
end
function BUE_01_v2_Schranke_Zu()
Slot.BUE_01_v2_BUE_Zeit = 0
for nc, TP in ipairs(BUE_01_v2_Strasse_ID) do
nc, Gleis_besetzt = EEPIsRoadTrackReserved(TP)
if Gleis_besetzt == true then Slot.BUE_01_v2_BUE_Zeit = 1 break end
end
if Slot.BUE_01_v2_BUE_Zeit == 0 then
for nc, TP in ipairs(BUE_01_v2_Sig_BUE) do
EEPSetSignal(TP[1], TP[4])
end
Slot.BUE_01_v2_T2 = "An"
end
end
function BUE_01_v2_Sig_Zug(BUE_01_v2_Gleisname)
for TN, TP in ipairs(BUE_01_v2_Zug) do
if Slot.BUE_01_v2_Signal[HT_BUE_01_v2_Signal[TN]] == "Belegt" then
EEPSetSignal(TP[1], TP[2])
Slot.BUE_01_v2_Signal[HT_BUE_01_v2_Signal[TN]] = "Frei"
end
end
end
function BUE_01_v2_Schranke_Auf()
for nc, TP in ipairs(BUE_01_v2_Sig_BUE) do
EEPSetSignal(TP[1], TP[2])
end
end
print ("Skript BUE_01_v2 wurde eingebunden.")
Alles anzeigen
Und hier das Skript mit Straßenüberwachung und mit Blockfunktion, mit Halbschranken.
!Achtung: Skripte veraltet!
BUE_01_v3
--*********BUE_01_v3****************************
--*********Einträge einfügen, abändern, ergänzen****************************
SlotMapping.BUE_01_v3_Signal = { --Signalspeicher für Haltesignal vor Bahnübergang "Belegt" oder "Frei"! Ersetze die Nullen durch Zahlen zwischen 1-500!
Gleis_1A = 0,
Gleis_1B = 0,
Gleis_2A = 0,
Gleis_2B = 0,
Gleis_3A = 0,
Gleis_3B = 0,
}
SlotMapping.BUE_01_v3_BUE_Zeit = 0 --Bahnübergang_Schranke_Zeit:! Ersetze die Nullen durch Zahlen zwischen 1-500!
SlotMapping.BUE_01_v3_Zaehler = 0 --! Ersetze die Nullen durch Zahlen zwischen 1-500!
SlotMapping.BUE_01_v3_T1 = 0 --! Ersetze die Nullen durch Zahlen zwischen 1-500! Timeraktivierung zwischen Kfz_Halt und Schranke_rechts_zu
SlotMapping.BUE_01_v3_T2 = 0 --! Ersetze die Nullen durch Zahlen zwischen 1-500! Timeraktivierung zwischen Schranke_rechts_zu und Schranke_links_zu
SlotMapping.BUE_01_v3_T3 = 0 --! Ersetze die Nullen durch Zahlen zwischen 1-500! Timeraktivierung zwischen Schranke_links_zu und Signal_Fahrt
SlotMapping.BUE_01_v3_T4 = 0 --! Ersetze die Nullen durch Zahlen zwischen 1-500! Timeraktivierung zwischen Schranke_links_zu und Schranken_auf
HT_BUE_01_v3_Signal = {
"Gleis_1A", "Gleis_1B","Gleis_2A","Gleis_2B","Gleis_3A","Gleis_3B",
}
BUE_01_v3_Zug = {--{Signal-ID, Stellung_Fahrt}, Ersetze die Nullen durch die entsprechende Signal-ID, die Stellung Fahrt anpassen, wenn es nicht Stellung 2 ist!
{0, 2}, --Gleis_1A
{0, 2}, --Gleis_1B
{0, 2}, --Gleis_2A
{0, 2}, --Gleis_2B
{0, 2}, --Gleis_3A
{0, 2}, --Gleis_3B
}
BUE_01_v3_Sig_re = { --!!!Shopmodell V70NAH10004 von AH1 hier die Schranke_halb_Bl_V7 !!!
--{Signal-ID, Pos. 01: Stellung_Fahrt (Schranke auf; Fahrt), Pos. 02: Stellung_Halt(Schranke_Auf, Ampel rot, Kfz_Halt; Halt), Pos. 03: Stellung_Halt(Schranke_Zu, Ampel rot, Kfz_Halt; Halt), Pos. 04: Stellung_Halt(Schranke_Auf, Ampel rot, Kfz_Halt; Halt)}
{0, 1, 2, 3, 4}, {0, 1, 2, 3, 4}, --Signal-ID anpassen und Stellungen überprüfen!
}
BUE_01_v3_Sig_li = { --!!!Shopmodell V70NAH10001 von AH1 hier die Schranke_halb_V7 !!!
--{Signal-ID, Pos_01: Stellung_Fahrt (Schranke auf; Fahrt), Pos_02: Stellung_Halt(Schranke_Zu)}
{0, 1, 2}, {0, 1, 2}
}
BUE_01_v3_Strasse_ID = { --Ersetze die Null(en) durch die entsprechende Gleis-ID (Strassen-ID), es können auch mehrere Gleise sein!
0,
}
BUE_01_v3_Sec_01 = 3 --Zeitspanne Kfz_Halt --> Schranke_rechts_runter, kann abgeändert werden!
BUE_01_v3_Sec_02 = 5 --Zeitspanne Schranke_rechts_runter --> Schranke_links_runter, kann abgeändert werden!
BUE_01_v3_Sec_03 = 10 --Zeitspanne Schranke_runter --> Signal_Fahrt, kann abgeändert werden!
BUE_01_v3_Sec_04 = 10 --Zeitspanne Schranke_auf --> Kfz_Fahrt, kann abgeändert werden!
--***********************************Ende***********************************
--BUE_01_Strasse_ID registrieren
for nc, TP in ipairs(BUE_01_v3_Strasse_ID) do
EEPRegisterRoadTrack(TP)
end
BUE_01_v3_Timer_01 = 0 --Hier nichts ändern!
BUE_01_v3_Timer_02 = 0 --Hier nichts ändern!
BUE_01_v3_Timer_03 = 0 --Hier nichts ändern!
BUE_01_v3_Timer_04 = 0 --Hier nichts ändern!
if not Slot.BUE_01_v3_BUE_Zeit then Slot.BUE_01_v3_BUE_Zeit = 0 end --Hier nichts ändern!
if not Slot.BUE_01_v3_Zaehler then Slot.BUE_01_v3_Zaehler = 0 end --Hier nichts ändern!
BUE_01_v3_Sec_001 = (BUE_01_v3_Sec_01*5) -1 --Hier nichts ändern!
BUE_01_v3_Sec_002 = (BUE_01_v3_Sec_02*5) -1 --Hier nichts ändern!
BUE_01_v3_Sec_003 = (BUE_01_v3_Sec_03*5) -1 --Hier nichts ändern!
BUE_01_v3_Sec_004 = (BUE_01_v3_Sec_04*5) -1 --Hier nichts ändern!
function BUE_01_v3_Abfage() --!Diese Funktion wird über die EEPMain aufgerufen!
if Slot.BUE_01_v3_BUE_Zeit == 1 then BUE_01_v3_BUEli_Zu() end
--Zeitspanne Kfz_Halt --> Schranke_rechts_runter
if Slot.BUE_01_v3_T1 == "An" and Slot.Hauptschalter == "An" then --!mit Hauptschalter! Wenn ohne Hauptschalter, dann Bitte folgendes in der Zeile löschen: and Slot.Hauptschalter == "An"
BUE_01_v3_Timer_01 = (BUE_01_v3_Timer_01 + 1) % (BUE_01_v3_Sec_01 * 5)
if BUE_01_v3_Timer_01 == BUE_01_v3_Sec_001 then
Slot.BUE_01_v3_T1 = "Aus"
BUE_01_v3_BUEre_Zu()
end
end
--Zeitspanne Schranke_rechts_runter --> Schranke_links_runter
if Slot.BUE_01_v3_T2 == "An" and Slot.Hauptschalter == "An" then --!mit Hauptschalter! Wenn ohne Hauptschalter, dann Bitte folgendes in der Zeile löschen: and Slot.Hauptschalter == "An"
BUE_01_v3_Timer_02 = (BUE_01_v3_Timer_02 + 1) % (BUE_01_v3_Sec_02 * 5)
if BUE_01_v3_Timer_02 == BUE_01_v3_Sec_002 then
Slot.BUE_01_v3_T2 = "Aus"
BUE_01_v3_BUEli_Zu()
end
end
--Zeitspanne Schranke_runter --> Signal_Fahrt
if Slot.BUE_01_v3_T3 == "An" and Slot.Hauptschalter == "An" then --!mit Hauptschalter! Wenn ohne Hauptschalter, dann Bitte folgendes in der Zeile löschen: and Slot.Hauptschalter == "An"
BUE_01_v3_Timer_03 = (BUE_01_v3_Timer_03 + 1) % (BUE_01_v3_Sec_03 * 5)
if BUE_01_v3_Timer_03 == BUE_01_v3_Sec_003 then
Slot.BUE_01_v3_T3 = "Aus"
BUE_01_v3_Sig_Zug(BUE_01_v3_Gleisname)
--EEPStructurePlaySound("#0",0) --Wenn ein "Eigener Sound (endlos)" -Modell eingesetzt wird, dann die #0 durch die passende ID abändern und die 2 Striche am Anfang entfernen!
end
end
--Zeitspanne Schranke_Auf --> Kfz_Fahrt
if Slot.BUE_01_v3_T4 == "An" and Slot.Hauptschalter == "An" then --!mit Hauptschalter! Wenn ohne Hauptschalter, dann Bitte folgendes in der Zeile löschen: and Slot.Hauptschalter == "An"
BUE_01_v3_Timer_04 = (BUE_01_v3_Timer_04 + 1) % (BUE_01_v3_Sec_04 * 5)
if BUE_01_v3_Timer_04 == BUE_01_v3_Sec_004 then
Slot.BUE_01_v3_T4 = "Aus"
BUE_01_v3_Kfz_Fahrt()
end
end
end
function BUE_01_v3_anmelden_Kp(Gleisname) --Bsp.: BUE_01_v3_anmelden_Kp("Gleis_1A")
Slot.BUE_01_v3_Signal[Gleisname] = "Belegt"
if Slot.BUE_01_v3_Zaehler < 0 then Slot.BUE_01_v3_Zaehler = 0 end
if Slot.BUE_01_v3_Zaehler == 0 then
--EEPStructurePlaySound("#0",1) --Wenn ein "Eigener Sound (endlos)" -Modell eingesetzt wird, dann die #0 durch die passende ID abändern und die 2 Striche am Anfang entfernen!
Slot.BUE_01_v3_T4 = "Aus"
BUE_01_v3_Timer_04 = 0
BUE_01_v3_Kfz_Halt()
end
Slot.BUE_01_v3_Zaehler = Slot.BUE_01_v3_Zaehler + 1
BUE_01_v3_Gleisname = Gleisname
if (Slot.BUE_01_v3_T1 == "Aus" and Slot.BUE_01_v3_T2 == "Aus" and Slot.BUE_01_v3_T3 == "Aus" and Slot.BUE_01_v3_BUE_Zeit == 0) then BUE_01_v3_Sig_Zug(BUE_01_v3_Gleisname) end --!!!!!noch abändern!!!!!
end
function BUE_01_v3_abmelden_Kp() --Im Kontaktpunkt steht: BUE_01_v3_abmelden_Kp
Slot.BUE_01_v3_Zaehler = Slot.BUE_01_v3_Zaehler - 1
if Slot.BUE_01_v3_Zaehler < 0 then Slot.BUE_01_v3_Zaehler = 0 end
if Slot.BUE_01_v3_Zaehler == 0 then
BUE_01_v3_Schranke_Auf()
end
end
function BUE_01_v3_Kfz_Halt()
for nc, TP in ipairs(BUE_01_v3_Sig_re) do
EEPSetSignal(TP[1], TP[3])
end
Slot.BUE_01_v3_T1 = "An"
end
function BUE_01_v3_BUEre_Zu()
for nc, TP in ipairs(BUE_01_v3_Sig_re) do
EEPSetSignal(TP[1], TP[4])
end
Slot.BUE_01_v3_T2 = "An"
end
function BUE_01_v3_BUEli_Zu()
Slot.BUE_01_v3_BUE_Zeit = 0
for nc, TP in ipairs(BUE_01_v3_Strasse_ID) do
nc, Gleis_besetzt = EEPIsRoadTrackReserved(TP)
if Gleis_besetzt == true then Slot.BUE_01_v3_BUE_Zeit = 1 break end
end
if Slot.BUE_01_v3_BUE_Zeit == 0 then
for nc, TP in ipairs(BUE_01_v3_Sig_li) do
EEPSetSignal(TP[1], TP[3])
end
Slot.BUE_01_v3_T3 = "An"
end
end
function BUE_01_v3_Sig_Zug(BUE_01_v3_Gleisname)
for TN, TP in ipairs(BUE_01_v3_Zug) do
if Slot.BUE_01_v3_Signal[HT_BUE_01_v3_Signal[TN]] == "Belegt" then
EEPSetSignal(TP[1], TP[2])
Slot.BUE_01_v3_Signal[HT_BUE_01_v3_Signal[TN]] = "Frei"
end
end
end
function BUE_01_v3_Schranke_Auf()
for nc, TP in ipairs(BUE_01_v3_Sig_re) do
EEPSetSignal(TP[1], TP[5])
end
for nc, TP in ipairs(BUE_01_v3_Sig_li) do
EEPSetSignal(TP[1], TP[2])
end
Slot.BUE_01_v3_T4 = "An"
end
function BUE_01_v3_Kfz_Fahrt()
for nc, TP in ipairs(BUE_01_v3_Sig_re) do
EEPSetSignal(TP[1], TP[2])
end
end
print ("Skript BUE_01_v3 wurde eingebunden.")
Alles anzeigen
Betreff: MTS_Trafo_Funktionen und MTS_GBS_Funktionen
Hallo User,
ich habe auf meiner Homepage die 2 obigen Skripte auf die Version 1.0.3 upgedatet.
Mit dieser Version kann man über einen Kontaktpunkt ein Rollmaterial auf einen Trafo aktivieren, wenn er dort gelistet ist.
Klassisches Beispiel: Ein Güterzug fährt von der Automatikstrecke in den Güterbereich, wo man dann diesen über den Trafo steuern möchte. Oder ein bestimmter Zug legt ein anderes Rollmaterial auf den Trafo.
Folgendes steht dann im Kontaktpunkt (mit Benny's "Codeschnipsel")
- für den Trafo von HS1 --> MTS_Trafo.RM_aendern_Kp(Zugname,MTS_Trafo_01) oder MTS_Trafo.RM_aendern_Kp(Zugname,1)
-für den Trafo über GBS --> MTS_GBS.RM_aendern_Kp(Zugname,MTS_GBS_01) oder MTS_GBS.RM_aendern_Kp(Zugname,1)
Hier wird das Rollmaterial z.B. auf den ersten Trafo gelegt, wenn er in der Tabelle Name_RM_V gelistet ist. Das sollte zur Zeit (ohne EEP14.2 Plugin2 oder EEP15) auch der Name vom Zugverband ohne # sein.
Soll aber über den Kontaktpunkt ein anderes Rollmaterial auf den Trafo aktiviert werden, dann steht z.B. folgendes drin.
-für den Trafo von HS1 --> MTS_Trafo.RM_aendern_Kp(Zugname,MTS_Trafo_03,"Rangierlok_01") oder MTS_Trafo.RM_aendern_Kp(Zugname,3,"Rangierlok_01")
-für den Trafo über GBS --> MTS_GBS.RM_aendern_Kp(Zugname,MTS_GBS_03,"Rangierlok_01") oder MTS_GBS.RM_aendern_Kp(Zugname,3,"Rangierlok_01")
Hier wird das Rollmaterial "Rangierlok_01 auf den Trafo mit der Kennung 3 aktiviert, vorausgesetzt dieses Rollmaterial ist dort auch gelistet.
Falls noch Fragen sind, einfach nachfragen.
Thema: Spitzenzuglicht im Stand ändern
Hallo User,
irgendwo habe ich hier im Forum gelesen, ob es möglich ist, das Spitzenzuglicht während des Standes vom Zug zu ändern. Normal geht es nicht, aber mit etwas Lua kommt man doch relativ nah ran. Im Video sieht man, dass es ganz gut funktioniert. Das Video ist auch ganz kurz.
aber mit etwas Lua kommt man doch relativ nah ran
Hallo Jörg,
funktioniert ja super im Video. Problem: ansehen und freuen reicht mir nicht.
Würd ich auch gerne machen, bloß dazu fehlt mir im Moment noch der Grips.
Könntest du so nett sein und das "etwas LUA" hier einstellen.
Danke!
Frank