Posts by Parry36

    Ja, so ist nu mal Lua, die Funktionen werden der Reihe nach abgearbeitet

    und wenn eine Unterbrechung kommt, geht´s wieder von vorne los.


    Das kannst du nur per Tabelle verhindern, alle Funktionen per Tabelle

    abarbeiten und dabei den Index per Variable in einem Slot speichern.

    Den Index nach Unterbrechung laden und in die for Schleife als Laufvariable

    einsetzen.

    Sollte gehen, ist aber nur eine Idee.

    Wie sieht die Wartezeit() Funktion aus?


    Gruß Dieter

    joke1 ,

    Jörg,

    deine Scripte haben mit dem rus Paket nicht das geringste zu tun,
    das was du da programmiert hast, wird nie funktionieren.

    Du solltest noch etwas über Lua lernen, arbeite erst nach den
    Lehrvideos ..Neu01e und .. Neu01f.


    Gruß Dieter

    PS: so sieht das Anlagentemplate/Vorlage für das rus Paket aus:


    Versuchs mal mit dieser Änderung, ansonsten arbeitet Lua

    immer von "oben nach unten", also sollte das bei entsprechender
    Reihenfolge nach deinen Wünschen funktionieren.


    Gruß Dieter

    ein. Erstens sollte er mit Zugschluss wirken. Und zweitens darf er nicht so früh wirken, dass die Zugspitze noch nicht das Ende der FS der Gegenrichtung erreicht hat. Genau um dieses Szenario geht es mir hier ja.

    Das der Auflösen KP als Zugschluß angelegt wird ist wohl selbstverständlich, aber da die Gegenrichtung auf die gleiche Weise abgesichert ist, ist die Absicherung voll aktiv, auch wenn der Zug die Zielflagge überfahren hat.
    Eine FS kann in das Gleis nicht aktiviert werden.
    Ich hatte im ersten Thread gesagt: Voraussetzung ist eine lückenlose Gleisüberwachung
    mit den FS.

    Also bitte, die Fahrstrassen sind das sicherste Mittel um einen Fahrberieb
    auf einer Anlage zu steuern.


    Und das heißt dringlichst, eine Fahrstrasse muß immer auf der gesamten
    zu überwachenden Gleisstrecke angelegt werden.
    Vom einem Signalpunkt zum nächsten Signalpunkt, FS Startsignal sofort
    hinter dem Signalpunkt und das FS Zielsignal kurz vor dem Haltepunkt des
    nächsten Signals, damit ist die gesamte Strecke überwacht, auch wenn
    man aus Betriebsgründen den FS Auflösen KP hinter dem letzten Weichenfeld
    auflöst.

    Habe ich xmal in meinen Lehrvideos erklärt.

    Gruß Dieter

    Ich bin für das Einfache, meine Bühnensteuerung habe ich
    für meine Anlagen folgendermaßen programmiert:

    Gruß Dieter

    Ich habs mal versucht rein in Lua zu programmieren, ist mir

    mit Tricks auch gelungen, bis auf den letzten Steuerwagen, der muß

    ja gedreht werden, daher gehen lustigerweise die Türen auf der falschen Seite

    auf. Bei diesem Typ passt eigentlich garnichts.

    Ich habs dann nicht mehr weiter versucht, war mir einfach zu blöd.


    Gruß Dieter

    Ich verstehe die Verwirrung und Ratlosigkeit nicht,

    natürlich kann man ein oder mehrere Depots per Lua Funktion steuern

    und zwar mit allem pipapo, zufällige Zeitintervale, Zugnamen , eine gesicherte Ausfahrt

    und was man sich sonst noch so wünscht.


    Dafür stellt doch EEP eine ganze Menge Dpot- Funktionen bereit.

    Baden280 ,

    dann ist da etwas ganz faul, weil dieTool_Box Funktion nichts anderes macht

    als die Route des Zuges mit den Routen in der Tabelle zu vergleichen.
    Wenn die Route des Zuges in der Tabelle gefunden wird, wird die neue

    Geschwindigkeit dem Zug übermittelt.

    Da du die Schlüssel der Tabelle entgegen der korrekten Lua Syntax genutzt hast, konnte

    es sein, dass da Lua gestreikt hat, beispielsweise hätte ein Schlüssel D-Zug = 120 zu einer
    Fehlermeldung geführt (  warum?  ).

    Lua bietet uns so einige Syntax Schmankerl ( Syntaxsugar) an, die wir auch sehr eifrig

    nutzen, siehe --> (.)  bei a_znSlot.s_text  oder ---> (:) a_pool:FS_765 .


    Hier liegt ein verständigungs Fehler vor, zwischen Route Zug und Route Tabelle.

    Wenn du möchtest, kannst du mir dein Anlagenscript zusenden.


    Gruß Dieter

    Dann versuchs halt so, das geht auf jeden Fall, wenn alles soweit stimmt:


    Code: SetTrainSpeed korrigiert
    1. a_speed_Bahnhof = { ["Schnellzug"] = 60,["ICE"] = 50,["Sonderfahrt"] = 50,
    2. ["Gueterzug"] = 70, ["Gueterzugnebenstrecke"] = 60,
    3. ["Regionalzug"] = 50,["Nahverkehrszug"] = 40,
    4.                  ["RangierzugII"] = 30, ["MirsbergRitters"] = 40,["NahEckWald"] = 40 }
    5. a_speed_Strecke = {["Schnellzug"] = 120,["ICE"] = 200,["Sonderfahrt"] = 80,
    6. ["Gueterzug"] = 80, ["Gueterzugnebenstrecke"] = 70,
    7. ["Regionalzug"] = 120,["Nahverkehrszug"] = 110,
    8.                  ["RangierzugII"] = 60, ["MirsbergRitters"] = 70, ["NahEckWald"] = 70 }

    Gruß Dieter

    Mußt du gucken:

    string.sub (s, i [, j])

    Returns the substring of s that
    starts at i and continues until j;
    i and j can be negative.
    If j is absent, then it is assumed to be equal to -1
    (which is the same as the string length).
    In particular,
    the call string.sub(s,1,j) returns a prefix of s
    with length j,
    and string.sub(s, -i) (for a positive i)
    returns a suffix of s
    with length i.

    string.sub("#Bombardier TRAXX 147 565", 2)

    Nimmt dir die erste Stelle weg, oder besser beginnt erst mit der 2. Stelle.
    mit einem 3. Parameter kannst du den String auch begrenzen.


    Gruß Dieter

    moebelplus , Dietmar,


    wenn du die Codes für deine Busse nutzen möchtest, dann geht das
    selbstverständlich, mit einer Anpassung an die Parametereingabe kannst

    du beispielsweise das Script von Benny nehmen:


    In den KP´s schreibst du BusTuerenAuf(BusName) bzw. BusTuerenZu(BusName),

    es geht auch BusTueren(BusName, Zustand) nur mußt du hier

    den Zustand 0/1 eingeben, für ZU/AUF.

    So geht das, viel Spaß mit EEP und dem rus Paket.


    Gruß Dieter

    musterkonsument , Hans-Werner,

    ich habe ebenfalls, erst mit einer Tabelle angefangen, wie aus ähnlichen

    Türsteuerrungen anderer Triebzüge, hat mir dann aber nicht so gefallen.

    Man schaut sich den Code an und denkt, das geht auch einfacher, aber in

    diesem Fall, kam dann die große Überraschung, war doch nicht so einfach.

    Man sieht, viele Wege führen nach Rom.


    Gruß Dieter

    Habe mal für meine Anlage, für den Triebwagen BR442-806 eine Türsteuerung gemacht,

    allerdings erwartete mich eine große Überraschung, die Achsen sind für jeden Wagen des

    Zuges anders benannt.
    Würde mich freuen, wenn jemand einen besseren Codes heraus gefunden hat, als mein hier vorgestellter Code.

    LUA Source Code: BR442-806 Türsteuerung
    1. -- BR442-806 Türsteuerung, (_axis "_Tueren-re" oder "_Tueren-li"), (_v auf 100, zu -100)
    2. function Tueren_BR442(_axis,_v, Zn)
    3. Zn = Zn or Zugname
    4. for Wagen = 0, EEPGetRollingstockItemsCount(Zn) do
    5. local Wname = EEPGetRollingstockItemName(Zn, Wagen)
    6. EEPRollingstockSetAxis(Wname, string.gsub(string.sub(Wname, 8,14 ), " ", "-").._axis, _v)
    7. end
    8. end

    Gruß Dieter