Beiträge von WernerK

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


    Ich tippe mal, er meint die Platzhalterwürfel. Irgendeine Komponente dürfte da fehlen.


    Stadtbahn1: Screenshots müssen als Dateianhänge direkt hier hochgeladen werden. Externe Verlinkung ist nicht erlaubt, ganz abgesehen davon, dass der Link nach .ru auch nicht funktioniert. ;)

    Das hier solltest du dir unbedingt ansehen, falls du es noch nicht kennst. Leider nur in Englisch, aber was will man machen ... :-( Ansonsten schaue dir schon einmal die Dateien im Spiel oder in einer Mod in res/config/track an. Diese definieren jeweils ein Gleis. Darin enthalten sind vor allem Referenzen auf mtl- und mdl-Dateien. Deren Position im Spiel-Ordner kannst du ja ermitteln. Auch diese Dateien haben wieder Referenzen, z.B. auf Texturen, die wiederum aus mehreren Teilen bestehen. Oder bei mdl-Dateien wiederum auf msh- und mtl-Dateien. Wie gesagt, die Strukturen sind extrem komplex, und alles im Detail zu erklären, wäre eine Doktorarbeit. Aber besagter Link dürfte schon einmal weiterhelfen.


    Schau dir auch einfach mal an, wie andere Modder ihre Gleise, Texturen etc. definieren. Bei mir gibt es z.B. die Mods mit den Kleinbahngleisen, da wirst du schnell fündig.


    Übrigens kannst du auch auf Dateien anderer Mods verweisen, ohne diese in deiner eigenen Mod zu benutzen, das nennt sich dann "Mod zur Mod" und hat den Vorteil, dass du kein Urheberrecht beachten musst und den Nachteil, dass du dich darauf verlassen musst, dass sich in der anderen Mod nichts ändert. Die Datenstruktur ist immer dieselbe wie bei den Original-Dateien des Spiels, und beim Laden werden Spiel- und Mod-Dateien in einen Topf geworfen, und bei mehrfachem Vorhandensein in der Ladereihenfolge überschrieben.


    Außerdem gibt es die Möglichkeit, bestimmte Eigenschaften von Gleisen etc. in der Datei mod.lua zu ändern, und zwar in runFn oder postRunFn. Wie das geht, wäre eine weitere Doktorarbeit. Die besten Anschauungsbeispiele sind bereits vorhandene Mods.


    Wie gesagt, einfach ist es leider nicht. Und gerade Gleis- und Bodentexturen sind nicht unbedingt der beste Startpunkt für Einsteiger. Bei Straßen hättest du etwas bessere Karten, denn die sind etwas einfacher aufgebaut und enthalten vor allem keine mdl's, außer als Assets.


    Wie gesagt, ich möchte deinen Tatendrang nicht ausbremsen ;-) vielleicht sehen ja andere Modder das viel unkomplizierter.

    Alles, was Text ist, bearbeitest du mit einem Texteditor (z.B. Notepad++), und alles, was Bild ist, bearbeitest du mit einer Bildbearbeitung. ;-) Ansonsten nützt es dir nichts, wenn du dir eigene Befehle zusammenreimst, du wirst dich wohl oder übel in die Syntax der Skripte einarbeiten müssen. Und fang immer mit kleinen Schritten an, Rom wurde auch nicht an einem Tag erbaut. Ändere einfach mal eine Textur und schau, was passiert. Dann wechselst du vielleicht mal die Materialdatei aus oder editierst sie. Und möglichst nichts im Originalspiel verändern. Wenn du in den Mods an gleicher Verzeichnisposition deine eigene Datei mit gleichem Namen setzt, hat es denselben Effekt wie eine Änderung des Originals. Und mach Backups. ;-)

    Zitat

    Könnte ich auch einfach eine bestehende Ballast Textur nehmen ?

    Kann man so einfach nicht sagen. Aber es bietet sich an, die bestehende Textur als Basis für Experimente zu verwenden. Dabei könntest du z.B. erforschen, wie die Verzeichnisstruktur der Texturen aufgebaut ist, was ein essentieller Schritt für eigene Entwicklungen ist. Ein Blick ins UG-Wiki kann auch nicht schaden, aber leider ist dort nicht alles dokumentiert, so dass immer wieder "Forschung" angesagt ist. Das beinhaltet auch den Blick in den Code solcher Mods, wo Ähnliches gemacht wird, wie du vorhast.

    Beides. ;-) Ein Bildbearbeitungsprogramm wie z.B. GIMP für die Texturen (die mindestens drei Dateien zu einer Textur und deren richtige Wahl machen das noch komplizierter) und was reinschreiben für deren Eigenschaften. Alles aufeinander abstimmen und immer wieder in der Praxis austesten. So mach ich's jedenfalls. Ach ja, und dann gibt es da noch eine Texturen-Map. Die verteilt unterschiedliche Texturen wiederum auf einer gemeinsamen Fläche. Und irgendwie muss dann wieder alles zu den angrenzenden Texturen und zum Gelände-Untergrund passen. Dass Blender in diesem Fall praktisch nicht gebraucht wird, ist eher ein schwacher Trost. Wie bei fast allen Modding-Vorgängen gibt es hier keine einfachen Instant-Lösungen, sondern nur Klein-klein, und du musst es dir mühsam erarbeiten. :-( Ich hoffe, ich habe dich jetzt nicht entmutigt ;-)

    [OT] Beim Gerade-Straßen-Werkzeug bekämst du aber auch nur eine vollkommen gerade Straße, wenn's einrastet. Sonst bekämst du speziell mit diesem Werkzeug einen unbeabsichtigten Knick, und der könnte noch heimtückischer sein als eine minimal verbogene Gerade. In Steigungen entstünde da nämlich ein Buckel wie bei einer Kreuzung, und auch andere Dinge würden nicht funktionieren wie erwartet.

    Die Wissenschaft hat wieder einmal festgestellt, dass die Skript-API undokumentierte Probleme enthält. ^^8)


    Erstmals sind mir bei meinen beiden Aktualisierer-Mods Verzögerungen durch den API-Skript-Befehl getNode2SegmentMap aufgefallen. Dieser Befehl liefert eine Tabelle sämtlicher Verbindungen zwischen Nodes und Edges auf einer Map. Das wird benötigt, um Streckenverläufe festzustellen, zu prüfen, wieviele Anschlüsse sich an einer Abzweigung oder Kreuzung befinden, und für noch einige andere Sachen. Das Generieren dieser riesigen Tabelle dauert relativ lange, und umso länger, je mehr Gleise und Straßen verlegt sind. Bislang habe ich in meinen Tools diese Funktion recht häufig aufgerufen, was dann immer wieder zu Lags geführt hat. Da ich eher kleinere Maps teste, ist es mir nie so sehr aufgefallen.


    Das Problem lässt sich beheben, indem man getNode2SegmentMap nur dann aufruft, wenn sich etwas am Gleis- oder Straßenverlauf geändert hat oder Entities umnummeriert wurden. Während kurzer Operationen kommt das nicht vor, wenn es nicht gerade Teil der Operation selbst ist. So muss man getNode2SegmentMap nur ein einziges Mal zu Beginn einer Operation aufrufen und braucht dann nur noch Daten aus dieser Tabelle herauszugreifen, ohne sie ständig neu zu generieren. Gerade bei großen Maps mit vielen Elementen ist die Beschleunigung enorm.


    Eine weitere Beschleunigungsmöglichkeit besteht noch darin, die beiden ähnlichen API-Funktionen getNode2TrackEdgeMap nur für Gleise oder getNode2StreetEdgeMap nur für Straßen zu verwenden, sofern nicht zwingend alles abgefragt werden muss. UG wird sich schon etwas dabei gedacht haben, warum es diese an sich redundanten Funktionen auch noch gibt. ;-)


    Apropos: Da es sich bei der erzeugten Tabelle um Userdata handelt, müssen die Edge-ID-Werte zu einem Node zunächst in eine Mini-Tabelle umkopiert werden (deepcopy geht auch), um erfolgreich ausgelesen zu werden. :rolleyes:

    Apropos: Es sollten keine Umlaute in Dateinamen sein, und das Ganze in Kleinschreibung (ohne Leerzeichen, Unter- und Bindestriche erlaubt), dann gibt es keine Kompatibilitätsprobleme in unterschiedlichen Betriebssystemen.

    Das inzwischen schon gute alte Parallel-Tool hat wieder einmal ein größeres Update und neben einigen kleinen Verbesserungen gleich drei neue Features bekommen:!:Ein Update dürfte sich auf jeden Fall lohnen - zunächst als Beta zum Testen:

    • [AUSSEN+FÜLLEN] als neue Option bei Abflachung von Straßenknoten übernehmen, damit werden jetzt auch automatisch Verbindungen mit exaktem Steigungsverlauf im Knotenbereich erstellt
    • Berechnung und Anzeige von Kosten - Es soll ein Bau- und kein Cheat-Tool ;-) sein
    • Brücken und Tunnel in freier Kombination möglich

    Ich würde mich über euer Feedback freuen. Falls irgendwas noch nicht so funktioniert, wie es soll, bitte melden oder nachfragen. Und wie gehabt etwas vorsichtig beim Testen.

    Zitat

    Aber wäre es nicht evtl. besser, wenn UG sowas als "Spalte" im LienenManager einfügt.

    Für den eigentlichen Sinn und Zweck des Spiels braucht sowas wohl niemand. Aus reiner Neugier: Wozu brauchst du es denn?

    Zitat

    Ggf. mit Info/Verweis zur Mod "Fahrpläne" (falls aktiviert),

    Die Fahrplan-Mod selbst läuft ja nicht einmal stabil. :-( Die beste Unterstützung wäre, wenn UG selber ein Fahrplan-Feature einbauen würde. Die eigentliche Frage wäre jedoch: Warum sollte eine Längenermittlung überhaupt einen Bezug zur Fahrplan-Mod haben?

    Jain. ;-) Du müsstest die Segmente einzeln markieren und dann die Werte addieren. Dabei entsteht jedoch eine Ungenauigkeit an den Kreuzungen, wo entweder wie bei aufeinanderstoßenden Geraden oder nur die Nettolänge ohne Kreuzungsbereich gemessen wird. Eine weitere Ungenauigkeit entsteht in den Kurven, abhängig davon, welche Fahrspur benutzt wird. Ein Tool, mit dem du exakt die Linienlänge messen kannst, ist mir nicht bekannt. Vielleicht sollte ich sowas mal schreiben. ;-)

    Jetzt bräuchten wir nur noch spezielle Brücken mit einseitigen Geländern oder ohne Geländer, um den Effekt wie auf dem rechten Bild zu verhindern, denn nun haben wir vorbildgetreue Gleisabstände, bei denen die Automatismen des Spiels aber leider nicht mehr funktionieren. Ich selber hatte bereits im Rahmen des Gleisbauers daran gedacht, die Vanilla-Brücken entsprechend zu modifizieren, hab es dann aber doch bislang nicht umgesetzt.

    Dreischienengleis geht mit dem Parallel Tool (siehe zugehörige Anleitung) in Verbindung mit dem Vanilla-Gleis und den Gleisen aus dem 750- und 1000-mm-Set. Zum Ausfädeln brauchst du auch noch BuildWithCollision. Vierschienengleis geht momentan nicht mehr; UG hat beim letzten Update einen Mechanismus eingebaut, der ein exaktes Übereinanderlegen von Gleisen verhindert. :(;( Ein Workaround ist aber in Vorbereitung.


    Falls du NEP-Gleise verwendest, wird es allerdings Probleme mit der Überlappung der Schwellen geben. Vielleicht baut ja mal jemand Schmalspurgleise auf NEP-Basis ohne Schwellen.


    Auf Herzstücklücken und Zugbeeinflussung musst du allerdings grundsätzlich verzichten. Aber ich denke mal, das tut nicht so weh. ;-)