CommonAPI2 Bahnhofmodule mit eigenen Gleisen via Bahnhofsadapter

Willkommen in der Transport Fever Community

Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.

 

Die Registrierung und Nutzung ist selbstverständlich kostenlos.

 

Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.

Das Team der Transport-Fever Community


Sie betrachten gerade eine ältere Version des Eintrags. Klicken Sie hier, um zur aktuellen Version zu gelangen.

  • 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 Module

    [code='gleis.module'] metadata = { track = true, common = { hasCatenary = true, isHighSpeed = false, toggleCatenary = "station/rail/platform_eis_os_1000mm_track.module", toggleTrack = "station/rail/platform_eis_os_750mm_track_catenary.module", } }, updateFn = function(result, transform, tag, slotId, addModuleFn, params) if (result.common_trackinterface ~= nil and result.common_trackinterface.makeTrackByTrackType ~= nil) then result.common_trackinterface.makeTrackByTrackType(result, transform, tag, slotId, addModuleFn, params, "eis_os_1000mm.lua", true) else -- Normal without CommonAPI2 (failback to normal track type) trainstationutil.makeTrack(result, transform, tag, slotId, addModuleFn, params, 1) end end,[/code]

    2.1 Erklärung

    2.1.1 metadata Einträge:

    In der Tabelle [tt]common[/tt] müsst Ihr für das Gleismodifkationstool Informationen bereitstellen: [table] [tr] [td]hasCatenary[/td] [td]true/false[/td] [td]Hat das Gleismodul eine Oberleitung (wichtig wenn man das Gleismodifkationstool nutzt) Zwingend Notwendig[/td] [/tr] [tr] [td]isHighSpeed[/td] [td]true/false[/td] [td]Ob das Gleis eine Hochgeschwindigkeitsvariante darstellt. Zwingend Notwendig[/td] [/tr] [tr] [td]toggleCatenary[/td] [td]string[/td] [td]Angabe des Modules wenn eine Oberleitung ab oder gebaut werden muss[/td] [/tr] [tr] [td][/td] [td]string[/td] [td]Angabe des Modules wenn der Gleistype umgeschaltet werden soll, von Normal auf Highspeed oder umgekehrt.[/td] [/tr] [/table]

    2.1.2 updateFn

    Erst mal Abfragen ob der Bahnhof das CommonAPI2 Interface unterstützt: [tt]if (result.common_trackinterface ~= nil and result.common_trackinterface.makeTrackByTrackType ~= nil) then[/tt] Dann können wir unseren Gleistyp bauen: [tt]result.common_trackinterface.makeTrackByTrackType(result, transform, tag, slotId, addModuleFn, params, , )[/tt] [table] [tr] [td][/td] [td]string[/td] [td]Euren Gleisdatei, ggf mit Unterverzeichnis Achtet auf [b]gross & KLEINSCHREIBUNG![/b][/td] [/tr] [tr] [td][/td] [td]true/false[/td] [td]Mit Oberleitung bauen[/td] [/tr] [/table] [tt]else[/tt] Wenn der Bahnhofsadapter und die CommonAPI2 nicht geladen wurden, oder dieser Bahnhof das Interface nicht unterstützt: [tt}trainstationutil.makeTrack(result, transform, tag, slotId, addModuleFn, params, )[/tt] Die UG Gleistypen sind: [list=1][*]Normal [*]Normal mit Oberleitung [*]Highspeed [*]Highspeed mit Oberleitung [/list][tt]end[/tt]

Teilen