Ziel eines Zuges abfragen

  • Hallo,
    ich befasse mich bereits seit einigen Jahren immer mal wieder mit Trainz.
    Bisher mit TS2006, PTP und seit einigen Monaten mit der Version TS2010.
    Mein Ziel ist es eine Anlage zu bauen, in der die Züge durch die KI gelenkt ihre Ziele finden. Z.B.: Navigiere zu Forstwirtschaft - belade - Navigiere zu ...


    Das gelingt nur sehr bedingt und wird unbefriedigender, je komplizierter die Anlage wird. Selbst das deutsche Formsignalsystem, welches ich verwende, hilft nur bedingt.


    Ich habe mich bereits mit den vorhandenen Regeln auseinandergesetzt und die Möglichkeit gefunden, mit gesetzten Triggern Weichen zu schalten.
    Was mir nun noch fehlt, ist eine Abfrage des nächsten Ziels des Zuges, der den Trigger auslöst.
    Ich kann mir kaum vorstellen, dass es das noch nicht gibt, habe aber bisher vergeblich gesucht. Möglicherweise denke ich aber auch in die falsche Richtung. Könnt Ihr mir auf die Sprünge helfen?


    PS: Ich habe es bisher (aus Faulheit) vermieden, mich ins Scripting einzuarbeiten, zumal es die entsprechenden Tutorien offenbar nur in Englisch zu geben scheint. Wenn es denn aber sein muss wäre ich auch dazu bereit. Gibt es ein entsprechendes Tut auch in deutsch?


    Vorab schon mal vielen Dank für Eure Antworten

  • Hallo Chris,


    vielen Dank für deine Antwort. Ich hatte damit schon vergeblich rumexperimentiert. Leider erreiche ich damit nicht wirklich mein Ziel.
    Die path-rule funktioniert ja auch immer nur zwischen 2 Signalen.
    Da wäre dann ja u.U. auch die Angabe von Zwischenzielen hilfreich, damit die KI den sinnvollen Pfad findet. Das ist aber nicht die Lösung für mich.


    Ich muß mein Ziel/Problem noch einmal genauer beschreiben:


    Das Thema:
    Auf einer großen Anlage mit sehr vielen Weichen und KS-Formsignalen
    liegen etliche Bahnhöfe an 2-gleisigen Strecken mit abzweigenden
    Nebenbahnen, die die in Trainz vorhandenen Interaktiven Industrien bedienen. Es fahren etliche Züge gleichzeitig. Insbesondere auf den Hauptstrecken findet zusätzlich Personenverkehr statt. Das bedingt an jedem Nebenbahnanschluss mindestens ein Ausweichgleis, auf dem der von der Nebenbahn kommende Zug sich in beide möglichen Richtungen auf die Hauptstrecke einreihen kann. Bzw. welches von Zügen von der Hauptstrecke aus angefahren wird, die die angeschlossene Industrie zum Ziel haben. Durchfahrende Züge haben auf diesem Ausweichgleis nichts zu suchen.


    Problem:
    Da hapert es schon. Das Ausweichgleis wird je nach Weichenstellung auch willkürlich von den durchfahrenden Zügen genutzt, obwohl dort Tempolimit herrscht.


    Beim Herausrangieren aus komplizierten Güterbahnhöfen mit mehreren Gleisharfen, DKW's und angeschlössenem Dampflok- und Diesel-BW ist die KI ohnehin meist hoffnungslos überfordert und "fährt Unsinn zusammen".


    Ziel:
    Ich möchte von jedem beliebigen Punkt der Anlage aus einem Zug ein Zielkommando geben können, bei dem ich keine zusätzlichen Zwischenziele definieren muss. Dabei soll die KI unterstützt werden, sinnvolle Fahrstrassen zu finden.


    Grundsätzlich will ich es ja ähnlich einer path-rule machen, habe aber die Vorstellung, vor jedem Bahnhof einen Trigger zu platzieren, der eine Weichenstrasse abhängig von den für diesen Bahnhof relevanten Zielen schaltet.


    Beispiel:
    Ein Zug nähert sich dem Bahnhof Waldstadt mit angeschlossener Forstwirtschaft Kahlschlag.


    Er überfährt den Trigger


    (trigger check) darunter eingerückt die Regel "Nächstes Ziel Kahlschlag" darunter eingerückt "Set Junctions"


    Mit 1 bis 3 dieser Regeln vor jedem Bahnhof - in der richtigen Hierarchie - würden m.E. sämtliche Fahrstrassenprobleme in Trainz in den Griff zu bekommen sein. Einzig was fehlt, wäre die Abfragemöglichkeit des nächsten Zieles des aktuellen Zuges.


    Eigentlich hatte ich gehofft, so etwas würde bereits existieren.


    Frage an die Scripter unter Euch:
    Was für ein Aufwand würde so eine Regel bedeuten?


    Weiterhin bin ich für jeden Hinweis dankbar.
    Mfg Uwe

  • Hallo Spuki,


    ich hatte mir das Paket heute früh installiert, weil ich ebenfalls den Eindruck hatte, das es mir bei meinem Problem helfen könnte. Leider lässt es sich in TS2010 nicht sauber installieren und funktioniert nicht.


    gibt es das vielleicht irgendwo für 2010 überarbeitet? Habe bisher leider nichts finden können. Im CMP wird von dem ganzen Paket ausgerechnet der Trigger als fehlerhaft geführt. Und ohne den macht's keinen Sinn.


    Trotzdem vielen Dank für den Tipp.


    Mfg Uwe

    Einmal editiert, zuletzt von soboszcyk ()

  • Das ist dann natürlich ärgerlich. Ich habe TS2010 leider nicht und kann daher dazu keine Aussagen machen. Erstellt wurde das Paket vom User Brummfondel, damals noch für TRS 2004, leider hat er sich aus Trainz zurückgezogen. Ich bekam es noch unter TRS 2006 so leidlich zum Laufen. Ob sich da jemand anderes an Aktualisierungen gemacht hat, weiß ich leider nicht.


    Vielleicht kann sich aber einer der User hier (oder vielleicht auch Du selbst?) des Source-Codes annehmen? Immerhin ist dieser ja zum Download verfügbar…


    Gruß


    Spuki

  • Helfen können u.U. die Prioritätenmarker und die dazugehörige Vergabe von Prioritäten der Loks/Züge. Wenigstens in TS12 funktioniert das schon recht gut, beim TS2010 bin ich mir nicht sicher. Damit kann man beispielsweise bestimmen, dass dein Ausweichgleis von Zügen mit der Priorität 2 verwendet wird. Ein anderes Gleis eben von Zügen der Priorität 1 oder 3.


    Ferner kann man sich mit Markern helfen.
    Alle 100-200 Meter in einem großen Bahnhofsbereich bzw. alle 2000 Meter auf der Strecke nahe eines Vorsignals oder einer Vorsignalbake unter Verwendung des Fahrbefehls "Fahre über Trackmarker xyz" anstelle von "Fahre zu Trackmarker xyz". Sobald der Zug an einem der Trackmarker ankommt, greift der KI-Lokführer automatisch den nächsten Befehl, sodass der Zug sichtlich nicht anhält oder langsamer wird.


    Fahrstraßen schalte ich immer ab einem Signal vor dem Einfahrtsignal und lasse sie an einer entsprechenden Weiche enden. So muss ich nicht noch weitere Marker oder Trigger einbinden. Allerdings können sich auch Signale dazwischen befinden.

  • Hallo,


    @Spuki:
    na, dann werde ich wohl nicht umhin kommen, mich doch noch ins Scripting einzuarbeiten. Mal sehen, ob ich demnächst, den Dreh finde. Gibt es eigentlich für die ersten Schritte auch ein Tutorial in deutscher Sprache?


    Und damit es sich dann auch lohnt:
    Wäre es überhaupt möglich, in einem Script das nächste Ziel des aktuellen Zuges abzufragen?


    @ikael:
    Danke für die Anregungen, aber weder die Trackmarks, noch die Prioritäten helfen wirklich weiter (siehe Problembeschreibung).


    MFG Uwe