Beiträge von eis_os

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


    TTD (Bzw. Transport Tycoon) konnte man schon im Multiplayer Spielen, per Serielle Verbindung, bzw. auch per Netzwerk. Das war Peer 2 Peer, kein Server, nix weiter.
    (Wenn man Glück hat keine Desyncs, mit TTDPatch nur bedingt).


    Transport Tycoon hat schon immer das Konzept von Eigentümer, bedeutet eine Stück Land/Haus gehört zum Beispiel einer Stadt, einem Unternehmen.
    Das war für TTD(Patch) 8 Firmen, auch KI gesteuert. TTD überprüft bei jedem Tile ob das der richtige Eigentümer ist. Bis auf Stationen, siehe auch http://www.tt-ms.de/cheats/ :)


    Ich verweise da gerne mal auf meine eigene Dokumentation.
    http://www.bytetransfer.de/pro…landscapeusage.html#owner


    OTTD? Pah, ich halte dagegen: https://www.tt-wiki.net/wiki/ExperimentalFeatures/2.5
    Viele Dinge die OTTD für sich in Anspruch nimmt, sind im Konzept schon im Basisspiel bzw. vieles war schon in TTDPatch, da gab es OTTD noch gar nicht.


    OTTD hat aber einen komplett anderen Netzwerkcode, der einen Server nutzt. Grundlegend basiert dies aber immer noch auf Chris Sawyers Ideen die auch schon in TTD Ihren Dienst tun:
    Die UI ist vom Spiel getrennt, schickt einen Command und der wird dann zeitgleich auf allen Rechnern ausgeführt, alle Rechner berechnen das selbe Spiel, es gibt nur eine Pseudo-Zufallsgenerator.


    Bei OTTD wird das Kommando in der Zukunft, sprich später ausgeführt, wird per "Broadcast" an alles Spieler verteilt und es wird auf Synchronisation geachtet.
    Damit wird ein Spielen über das Internet mit hohen Latenzen möglich


    Imho Train/Transport Fever hat dieses grundlegende Konzept überhaupt nicht, das sieht man schön bei den Missionen :/




    -edit-
    Um mehr beim Thema zu bleiben:
    Für ein synchronisiertes Multiplayer Spiel haben alle Partner die selbe Map,
    -technisch kann man das auch gar nicht anders bei einer WiSim machen, man kann die Daten nicht alle in die Cloud stecken, die Bandbreite im Rechnersystem sind ja schon ein Flaschenhals -
    Deswegen war mir schon bei SimCity klar, das der Online Zwang bescheuert ist.


    Daher, man kann theoretisch so eine Multiplayer Map weiter spielen, hat aber keine KI im Transport Fever dafür...


    -edit2-
    Cities in Motion 2 hat auch so ein Modus, aber leider auch verbuggt...

    Jein, wenn die Dateinamen und die Modliste die Reihenfolge richtig machen, ist alles ok.


    Man kann auch ein Savegame spielen mit "kaputten" Straßen, nur wenn man Sie dann versucht aufzurüsten ist mir das Spiel immer abgeschmiert. Muss aber jeder selber Wissen.
    Dein Straßenmod ist ja noch klar ersichtlich. Wenn es dann Leute gibt die in Ihren Bahnhöfen neue Strassen definieren wird es mit hinzufügen von Mods in einem Spiel düster...

    Imho löst das aber immer noch kein Problem mit Mods, das muss UG lösen...


    Mod A = 10
    Mod B = 11


    Wenn im Savegame Mod B eingefügt wird, dann später Mod A, ist wieder das Problem mit internen ID Verschiebungen, oder UG hat was im letzten Patch geändert was ich übersehen habe.
    Wenn man Mod A und dann B einfügt ist alles gut. Wenn man keine Strassen gebaut hat, aber das Mod entfernt, verschiebt sich auch alles.

    Irgendein Texteditor:


    Unter Windows:
    Notepad++ funktioniert recht gut, NetBeans,


    HxD, Frhed


    Für die Exe Dateien diff
    MingW strings, diff, WinMerge und co.


    Debugger:
    32Bit OllyDbg
    64Bit: x64dbg (Leider noch buggy!)


    Um etwas die Rountrips zu vermeiden lade ich meine Lua Scripte im Spiel neu, damit kann ich dann schon mal viele Sachen testen ohne alles neu zu starten.

    Yes, you need to use bezier curves.


    From memory, your need a "Transport Network Provider" in your model, in there you need "Transport Network Group" (this selects what kind of Nodes you have, PERSON, BUS ...)
    Then you need for each part a bezier curve. When the bezier curve is in a network group you can select the terminalid you want to have it.


    Technical a bezier curve can have more then two points, however the ui is only able to set the terminal id for the first and second (A and B) point of your bezier curve.
    A terminal id is the glue "virtual" connector to get the nodes together without counting.


    As the export isn't the best, all edges still uses the laneutil helper in the mdl to correct them.


    Best way is to import a train fever station platform model to see the relations.




    Sometimes Blender decides to change the order it loads the additional plug ins, so terminals won't be exported.
    The problem is as soon I decide to debug the problem and change the code, it starts working again because it will be loaded last.


    As soon @Merk releases a offical 0.5 Beta version I can try to debug this problem.
    The overall transport node plugin isn't tested and so there there will be some problems here and there, I am sorry. For my usage pattern it works, so I only touch the code if blender breaks it ;-)

    There a are some problems in the plugin (changes, new version of Blender), so the export may or may not work properly.


    In tf_mesh_mdl.py
    Find:
    "<class 'io_mesh_mdl.tf_transportNetwork.LuaExportFunctionProto'>":


    Replace with
    "<class 'tf_transportNetwork.LuaExportFunctionProto'>"



    If there is still errors, this could help:


    In tf_transportNetwork.py, search:
    transportNetworkProvider = self.export_transportNetwork(obj)


    Add:

    Code
    if 'metadata' not in model_data:
    						model_data['metadata'] = []

    Check the tabs, should be at the same code indentation as transportNetworkProvider = self.export_transportNetwork(obj)




    For modding questions please use the "Modding" part of the forum, the part "Mod Problems" is for users facing problems with mods.

    Build [b]12726 (March 28)

    • Fixed crash when using modified cargo types
    • Fixed "Advanced" button wrongfully enabled in new game menu
    • Adder power rating to details tab in vehicle window (for trains)


    Bei der Einschätzung der Leistung (Details) den Tooltip abwarten, da gibt es dann die Anzeige "Top speeds for slope".
    Dort gibt es dann Flach, Mittel und Hoch als Steigung inkl. Geschwindigkeit, die Gleislänge und Zeit!


    -edit-
    Ich hab mich gewundert beim EXE diff was das wohl für ein neuer komischer String ist und hab dann die Tooltip Funktion gesehen
    -edit2-
    Build 12726 korrigiert

    Build 12718 (March 28)


    UGs Changelog:



    Weitere Änderungen:
    res/models/vehicle/train/*

    • LODS für
      br_103_1.mdl
      br_185_traxx.mdl
      br_218.mdl
      br_246_traxx.mdl
      lner_flying_scotsman.mdl
      obb_1042.mdl plm_220.mdl
      roterpfeil.mdl
      tgv.mdl
      tgv_w1.mdl
      tgv_w2.mdl

    res/models/mesh/vehicle/ship/klondike/lod_1_body.msh

    • Material Änderungen

    res/models/model/station/bus/station_diag/station_diag_*.mdl

    • Änderungen an den Lanes

    EXE Änderung:
    "Replace now" Übersetzung




    Build 12726 (March 28)



    EXE Änderungen:

    • Weitere Informationen per Tooltip für das "power rating"
    • maxFeasableSlope?


    Edit: Nachdem wir den guten @tomdotio geknebelt und gefesselt haben, ihm Salz über die Fußsohle gestreut haben und unsere eigens dafür angeschaffte Ziege sich des Salzes annehmen durfte ... mussten Urban und Basil dermaßen lachen, daß sie versehentlich weitere Details verraten haben:


    Die voraussichtliche Lösung ab voraussichtlich morgen ( hier fetten Smilie einfügen ) : Ein Straßenanschluss muß nicht mehr vorhanden sein, die Terminals (Bahnsteige) müssen aber verbunden sein.

    Was müssen wir mit @tomdotio anstellen damit wir Feste ID Zuordnungen in Savegames bekommen?
    So das man Schienen, Strassen, Brücken und Tunnel gefahrlos in ein bestehendes Spielstand bekommt, bzw. wen ein Mod ein neue Komponente hinzufügt...

    Irgendwo wurde ich hier im Thema erwähnt.
    Persönlich würde ich gerne auch teilweise Unterpflaster Straßenbahnen bauen. Bin mir noch nicht sicher mit dem Straßenanschluss außerhalb meines Bahnhofs.


    I hab schon unter Train Fever Fussgängerzonen gebaut, hab Sie auch nach TPF portiert, aber es war immer das selbe, kommt ein neues Mod hinzu wird TF/TPF instabil.


    https://www.transportfever.net…t/75442-zuvieletrams-jpg/


    Diese Instabilität ist auch nicht direkt ersichtlich. Und ja Urban Games hab ich deswegen auch schon mehrmals genervt.


    Fügt man eine neue Strasse hinzu, die die IDs verändert so gibt es Chaos, es sieht zwar richtig aus, sobald man zum Beispiel mit dem Upgrade-Cursor in die Nähe kommt gibt es einen Absturz.

    Build 12663



    Da ich ja nie zufrieden bin mit den UG Changelogs, hier nun meine Version speziell fürs Modding :)
    Dies ist hier kein Diskussionsthread.


    Aber erst mal von UG:




    Meine Changelog weil UG zu "faul" ist, das diff ist 700 KB Groß also nur meine Auswahl ;)


    /res/campaign/

    • Die Städte werden per Id statt Namen angesprochen

    /res/scripts/constructionutil.lua

    • result.terrainAlignmentLists wird nun erweitert und nicht mehr überschrieben

    /res/scripts/vec3.lua

    • Neu: vec3.cross(a, b)

    /res/config/base_config.lua

    • Neu: Gewichte für Güter
    • Neu: game.config.earnAchievementsWithMods
    • Neu: game.config.simulateCargoWeight
    • game.config.world.areaPerIndustry von 2.0 auf 2.5 geändert

    /res/models/model/station/train/passenger/1990/platform_single_start_last.mdl

    • Translation Matrix fix

    /res/scripts/personnameutil.lua
    /res/config/name/*/persons.lua
    /res/config/name2/*/en/persons.lua

    • Neue Dateien um Namen für Personen zu erstellen

    /res/config/sound_set/waggon_modern.lua
    /res/config/sound_set/waggon_old.lua

    • Sound für openDoors und closeDoors berichtigt (nicht mehr vertauscht)

    /res/config/track/standard.lua
    /res/config/track/high_speed.lua

    • Neu: t.catenaryPoleDistance = 25.0

    /res/construction/station/air/airport_*.cons

    • String aircrafts -> aircraft

    /res/construction/station/street/*.con

    • Änderung wie die Tramstracks behandelt werden
    • config.models
    • config.tramTrackTypes { "NO", "ELECTRIC", "ELECTRIC" } zu { "NO", "YES", "ELECTRIC" }

    /res/models/model/bridge/rail/

    • Änderungen Pillar BBox

    /res/models/model/c*.mdl
    /res/models/model/tf*.mdl (Personen)

    • Lod Stufe mit animation und events entfernt,
      visibleFrom, visibleTo für LOD ohne Animatioen reduziert
      (Kamare muss weniger weit weg sein, damit auf keine Animationen umgeschaltet wird)


    /res/models/model/station/bus/station_diag/*.mdl

    • Neu: speedLimit = 50
    • Terminals und Lanes geändert

    /res/models/model/vehicle

    • Viele Änderungen, viele neue axles, wheels, fakeBogies einstellungen
    • visibleTo teilweise reduziert
    • Mehr Details für Flugzeuge
    • Neu: Extra Logo Meshs für Fahrzeuge

    /res/config/building

    • Komplett entfernt, auch aus der exe

    /res/textures/buildings/

    • Alle Texturen in Unterordnern entfernt!


    EXE Änderungen:



    Bedenkt, dies ist eine Analyse an der Fassade und spiegeln nur meine Meinung der gemachten Änderungen wieder.


    • Neu: Intern VerifyMatConfig
      invalid index in mesh material configuration
      invalid index in meshGroup material configuration
      invalid material index
      invalid index in group material configuration


      Scheint Materialien zu überprüfen

    • getGameDifficulty Könnte per Scripting erreichbar sein (ungetestet)
    • Neu: Intern UpdateFileCache (Neues Caching System für Dateien?)
    • Neu?: Destination Cache für Gebäude? destinationCacheDrive und destinationCacheWalk.

    Das Problem ist das UG immer das Spiel hard crasht, obwohl das nicht immer sinnvoll ist.
    Und da wo es theoretisch sinnvoll wäre, bei eindeutigen Fehlern, macht UG es eben nicht und schreibt in der Fehlermeldung auch eindeutigen Grund rein.


    Wenn ein Zug hält an einer Haltestelle, das Spiel irgendwann meint eine nicht dafür vorgesehenes Terminal zu nutzen. Das heißt das Passagiere oder Waren auch mal versuchen irgend ein Lane zu nutzen wo es eigentlich nicht
    hingehört! Aber auch nur dann wenn der Bahnhof überhaupt einen verbundenen Straßenanschluss hatte.


    Anstatt die eigentliche Ursache zu fixen, ist das scheinbar wieder mal so ein Workaround. TPF hat es unterstützt das ein Bahnhof mehrere Straßenanschlüsse hatte - die Intern eben nicht verbunden waren - aber über das normale Straßennetz. Das geht wohl dann nun auch nicht mehr. Grrr.


    Das macht natürlich mein Bahnhofdesigner Projekt noch schwieriger.


    -edit-
    Bedeutet ich muss die Brechstange anlegen und die Fehlermeldung abschalten per Hex Editor *grumel*

    Irgendein Mod für Cargo Types geändert, hinzugefügt ?


    "Assertion `(int)tv.config.allCaps.size() == numCargoTypes' Das ist eher kein Pfad Problem sondern da stimmt wohl etwas mit dem Cargo System nicht...

    Weil 49 unterschiedliche Modelle mit 12 Dreiecken viel langsamer Rendern als ein Modell mit 1000 Dreiecken. Du errechnest dann ja für jede Modellinstanz ja auch noch so Sachen wie Lods und co und hast jeweils einen Render Befehl.


    Wer gerne die Modelle erstellt und die 25 bzw. 49 "Buchstaben" per UV Map erstellt kann sich gerne bei mir melden, das Script dafür würde ich schreiben.
    Zum Bauen muss der besagte Bahnhof kurz umbenannt werden, sprich ein Anhängsel bekommen damit das Script den Bahnhofsnamen findet. Oder wie bei meinem Bahnhof dann per Liniennamen, da kann man dann jeden Text erstellen. (Jeder Buchstabe bekommt ein Modell damit der Zeichenabstand stimmt)


    Um es einfacher zu machen, kann man dann eine Textur haben mit weißen Text auf blauen Grund (heute) und noch eine zweite mit schwarzen Buchstaben auf weißen Grund. (alte Bahnhöfe)

    Hmm, als Asset Bahnhofsschild?


    Das wäre theoretisch jetzt schon möglich wenn es jetzt nur Großbuchstaben sein sollen, das wären dann 25 Modelle (für Leerzeichen) + ein Mast. Sonst hat man 49 Modelle.
    Performance technisch wäre das aber überhaupt nicht gut...