Zugziel mit Zwischenbahnhöfen

Willkommen in der Transport Fever Community

Welcome to the fan community of Transport Fever and Train Fever, the economic simulators of Urban Games. The community is free for you to share and inform yourself about the game. We cultivate a friendly and objective interaction with each other and our team will be happy to answer any questions you may have.

 

Registration and use is of course free for you.

 

We wish you a lot of fun and hope for active participation.

The Team of the Transport-Fever Community


  • Hallo Mitspieler,


    ich versuche seit Wochen mir die Frage zu beantworten, wie andere Spieler es hinbekommen einen Startbahnhof , 2 ZwischenStops und einen Zielbahnhof an die Zielanzeiger an Zügen ( nicht nur an BGHW Wagen ) zu bekommen.

    Ich bin leider kein Fachmann was programmieren angeht ( Lexikon gelesen so gut es ging ). Bisher keine Lösung gefunden, aber möchte es gerne versuchen zu erlernen, was ich tun muss um es so realistisch wie nur möglich darzustellen.


    Wenn jemand eine gute Erklärung für Laien hat - bitte her damit.


    Ich danke + Grüße aus dem Havelland

  • Ich versuchs sonst mal mit einer Lösung:


    Ich basiere das Ganze auf der Anzeige, die ich für das SBB FV-Dosto (RABDe 502) Repaint gemacht habe. Falls jemand eine bessere Lösung kennt, bin ich auch froh zu lernen :)
    Da habe ich folgendes Resultat erzielt:

    transportfever.net/wsc/attachment/229775/


    Wichtig hierbei ist für End- und Zielbahnhof wird die CommonAPI2 benutzt. Die ermöglicht es überhaupt erst Endbahnhöfe zu definieren. Zudem empfiehlt es sich die Mod Verbesserte Linienbezeichnungen (Update 06.05.23) zusätzlich zu installieren.


    Meine Variante sollte aber mit sowie ohne diese beiden Mods funktionieren (aber nicht im vollen Funktionsumfang).

    Der Einfachhalt halber beziehe ich auf die Nummern von dem folgenden Bild:



    Vorbereitung
    Da meine Variante sowohl mit als auch ohne die CommonAPI funktioniert, muss per Script geprüft werden, ob diese installiert ist oder nicht, damit entsprechend das Verhalten angepasst werden kann.

    Hierzu wird im .mdl file ein kurzer CodeBlock eingefügt:


    Wichtig hierbei sind Zeilen 2 bis 5.

    Lua
    function data()
        local labelType = "NEXT_STOP"
        if (commonapi ~= nil and commonapi.supports and commonapi.supports("LINE_DESTINATION")) then
         labelType = "LINE_DESTINATION"
        end
    return {
        boundingInfo = {...},
        collider = {...},
        ...
    }


    Label 7 Linienbezeichnung

    Die Linienbezeichnung erhält den type = "LINE_NAME"



    Label 8 Nächster Halt

    Hier wird der nächste Halt angezeigt. Das mit dem type = "NEXT_STOP". In meinem Fall habe ich noch dontModify = true hinzugefügt, damit die beiden zusätzlichen Mods dieses Label nicht zu einer Zielanzeige ändern.


    Label 9 (Label 10,11) Übernächster Halt
    Dieses Label zeigt den übernächsten Halt an. Hierzu wird wieder der type auf "NEXT_STOP" gesetzt. Um aber den Übernächsten halt anzuzeigen, wird zusätzlich noch der params Wert wie folgt angepasst:


    Lua
    {
        params = {
            offset = 2,
        },
        type = "NEXT_STOP",
        dontModify = true, 
    },


    Um den über-übernächsten Halt anzuzeigen, muss entsprechend das offset erhöht werden.



    Label 12 Zielbahnhof

    Um den Zielbahnhof/Endbahnhof anzeigen, muss type = labelType gesetzt werden.

    zudem kann/sollte dontModify = true wieder hinzugefügt werden.


    Damit für den Fall, dass die CommonAPI nicht installiert ist, nicht einfach der nächste Halt angezeigt wird, habe ich hier noch den params = { offset = 5, }, gesetzt.



    Ich hoffe, ich konnte zumindest ein wenig weiterhelfen. :) Und sonst einfach fragen.

  • Danke. Danke.


    Ich bin am basteln deiner Idee.

    Dämliche Fragen gibt es ja niemals... aber wo genau muss ich "

    Vorbereitung


    Da meine Variante sowohl mit als auch ohne die CommonAPI funktioniert, muss per Script geprüft werden, ob diese installiert ist oder nicht, damit entsprechend das Verhalten angepasst werden kann.

    Hierzu wird im .mdl file ein kurzer CodeBlock eingefügt:

    "

    Einfuegen

  • Klar :) Einfach ungeniert fragen ^^


    Deine .mdl-Files für deinen Wagen/deine Lok sollte es auch entweder gleich zu Anfang oder in den ersten paar Zeilen einen Block:

    Lua
    function data()
    return {
    (...) -- Hier geht das File dann weiter mit Meshes, Materialien, Labellist, Collider, etc.

    geben.

    Und zwischen das


    function data()


    und


    return {


    muss dann der folgende Teil dazwischen:

    Code
        local labelType = "NEXT_STOP"
        if (commonapi ~= nil and commonapi.supports and commonapi.supports("LINE_DESTINATION")) then
         labelType = "LINE_DESTINATION"
        end

    Ansonsten kannst du auch gerne die ersten ~10 Zeilen mal hier als Kommentar da lassen, dann kann ich direkt an deinem Beispiel zeigen, wo das hereinmuss :)

  • Keine Sorge :)

    Ich war mir nicht bewusst, wie vertraut du mit Modding bist.

    Das wirkt aber so, als hätte der Modder bereits genau das implementiert, was ich oben beschrieben habe.

    In dem Fall müsstest du nur noch die CommonAPI beim Spielen installieren und dann entsprechend Endbahnhöfe markieren

BlueBrixx