CommonAPI2 Bahnhofmodule mit eigenen Gleisen via Bahnhofsadapter

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

  • Kleine Übersicht um eigene Gleismodule zu erstellen.

    1 Einführung


    Zwar kann in TPF2 auch wieder Gleise erstellen, aber man hat wie unter TPF1 das Problem, das diese Gleise nicht einem Bahnhof genutzt werden können.
    Damit es dann nicht X unterschiedliche Bahnhofsmodifikationen gibt


    Hier hilft die CommonAPI2 + CommonAPI2 Bahnhofsadapter, damit ist es möglich mehrere Gleistypen zu unterstützen, darüber hinaus kann man damit auch Oberleitungen hinzufügen via Gleismodifikation.


    Warum nicht selber einen Bahnhof editieren? Ja, das könnt Ihr natürlich, aber ihr werdet dann mit Supportfragen belästigt, warum Gleis X nicht mit Gleis Y funktioniert.


    Wenn Ihr das untere Beispiel zeigt, wird keine feste Abhängigkeit zur CommonAPI2 geschaffen, Ihr könnt auch andere Lösungen anbieten. Auch andere Bahnhofkonstruktionen können diesen Standard folgen. Die CommonAPI2 hat noch ne ganze Menge an Hilfsfunktionen für die Bahnhofsanpassung.


    2 Codebeispiel Gleis Modul


    2.1 Erklärung


    2.1.1 metadata Einträge:


    In der Tabelle common müsst Ihr für das Gleismodifkationstool Informationen bereitstellen:


    hasCatenarytrue/falseHat das Gleismodul eine Oberleitung (wichtig wenn man das Gleismodifkationstool nutzt) Zwingend Notwendig
    isHighSpeedtrue/falseOb das Gleis eine Hochgeschwindigkeitsvariante darstellt. Zwingend Notwendig
    toggleCatenarystringAngabe des Modules wenn eine Oberleitung ab oder gebaut werden muss
    toggleTrackstringAngabe des Modules wenn der Gleistype umgeschaltet werden soll, von Normal auf Highspeed oder umgekehrt.



    2.1.2 updateFn


    Erst mal Abfragen ob der Bahnhof das CommonAPI2 Interface unterstützt:
    if (result.common_trackinterface ~= nil and result.common_trackinterface.makeTrackByTrackType ~= nil) then


    Dann können wir unseren Gleistyp bauen:
    result.common_trackinterface.makeTrackByTrackType(result, transform, tag, slotId, addModuleFn, params, <Gleisname>, <Oberleitung>)


    <Gleisname>stringEuren Gleisdatei, ggf mit Unterverzeichnis Achtet auf gross & KLEINSCHREIBUNG!
    <Oberleitung>true/falseMit Oberleitung bauen



    else
    Wenn der Bahnhofsadapter und die CommonAPI2 nicht geladen wurden, oder dieser Bahnhof das Interface nicht unterstützt:
    trainstationutil.makeTrack(result, transform, tag, slotId, addModuleFn, params, <ug gleistyp>)
    Die UG Gleistypen <ug gleistyp> sind:

    • Normal
    • Normal mit Oberleitung
    • Highspeed
    • Highspeed mit Oberleitung

    end

Share