CommonAPI2 Entwicklungsdiskussion, Fragen & Antworten

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


  • Also wenn ich mir Kesselwagen Zans 95m³ Repaint Set

    anschaue, sehe nirgends ein call zu getDefaultSettings in mod.lua. Eine ältere Version kann hier mir nicht herunterladen, da kann ich nicht weiter helfen.


    Ich hab mit 2.1 ein Modlisten Import & Export via CommonAPI2 gemacht und bei mir gab es keinen Crash... :/

  • marcok_78


    Und warum hast Du noch weitere Bahnhofserweiterungen drin? Hier könnte evtl. Dein Problem liegen. Bei Verwendung des Bahnhofs-Adapters von eis_os heißt der letzte Längeneintrag noch lange nicht, dass man nicht noch längere Bahnhöfe bauen kann. Mit Hilfe der CommonAPI ist es bei den Einstellungen der Bahnhofs-Adapter-Mod sogar noch möglich die Anzahl der Bahnhofsmodule zu erhöhen. Das sollte aber behutsam gemacht werden.


    Zum Thema Depot-Adapter. Dieser gibt Dir z.B. die Möglichkeit Gleis-Mods bei den Depots zu verwenden.


    Ich kann Dir nur empfehlen alle 3 Mods mal gründlich in einer Testkarte auszutesten. Mir fällt wirklich kein Grund ein andere Bahnhofserweiterungen zu verwenden. Aber jeder spielt halt anders.

  • eis_os : Das mit der älteren Version war ein guter Hinweis. So fand ich, dass es vom Repaintpack eine neuere Version gibt, die ich mir gleich mal einspielte. :)

    Ausschlaggebender aber war, dass ich die Kesselwagen erneut runterlud und ins "neue" Modverzeichnis packte, während die alte Installation sich noch im "alten" Verzeichnis befand.


    Danach erhielt ich noch folgenden Fehler:



    Hier verfuhr ich aber wie mit Kaleuts Waggons und konnte danach die Modliste erfolgreich importieren.



    Allerdings wurde beim Importvorgang einige wenige Mods nicht mit importiert, was aber weniger tragisch war. Kannst Du Dir aber erklären, weshalb die außen vorgelassen wurden?

  • Nach dem Import der Modlist in eine neu generierte Karte, stürzt das Spiel nach einiger Ladezeit mit einem "Fatal Error" und einer mir nichts sagenden Fehlermeldung ab.



    Das hier scheint der Auslöser zu sein:


    Zitat

    In function: struct CargoTypeId __cdecl transport::CargoTypeRep::GetIndex(const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &) const



    __CRASHDB_CRASH__ struct AssertException: ..\..\src\Game\transport\CargoTypeRep.cpp:117: struct CargoTypeId __cdecl transport::CargoTypeRep::GetIndex(const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &) const: Assertion `int(index) >= 0' failed.

    Exception type: Fatal error


    Die stdout.txt hab' ich mal angehängt.


    Ich wählte die Ex- und Importfunktion bewusst, um Probleme mit Abhängigkeiten von Modreihenfolgen zu bekommen, falls sowas den Fehler verursachen sollte.

    Einiges setzt ja eine "Basis-"mod oder eine Mod zur Mod zur Mod zur Mod oder sogar eine Mod zur Mod und Fix zur Mod zur Mod voraus. Und was jetzt wo stehen muss und wovon abhängig ist, ist bei einer Anzahl von 1480 Mods nicht mehr zu sagen. Auch eine Suche nach den Mods und Hinweise darauf, welche was benötigt, ist echt keine Option.

  • Hier verfuhr ich aber wie mit Kaleuts Waggons und konnte danach die Modliste erfolgreich importieren.

    195872-pasted-from-clipboard-png

    Das hatten wir aber schon öfter, das ist keine gute Idee Mods 2x zu installieren. Das führt fast immer zu Problemen, in deinem Fall zu genau dem was da passiert ist. Das hat auch nicht mit Capi.2 zu tun..

  • Ja, das weiß ich. Die Mods sind auch nicht parallel installiert. Es war jeweils zunächst die Mod im "alten" Verzeichnis aktiv. Diese deaktivierte ich dann und aktivierte die im "neuen" Mod-Verzeichnis.

    Den Schieber (aktiviert/deaktiviert) ließ ich im Screenshot weg, weil ich nur die Icons zur Verdeutlichung von "altem" und "neuem" Modverzeichnis zeigen wollte.


    Wenn nichts dagegen spricht, würde ich die Fehlermeldung auch noch mal an anderer Stelle posten, weil ich nicht weiß, ob hier jeder reinschaut.

  • Gibt es in der CommonAPI eigentlich die Möglichkeit die gespeicherten Mod-Listen in einer Text-Datei anzeigen zu lassen? Und wenn ja, wo finde ich diese Dateien?
    Ich hatte in einem Save-Game ein paar "überflüssige" Mods entfernt, weil ich das Spiel ein wenig entschlacken wollte - aber das Spiel war dann doch anderer Meinung, was wichtig ist und was nicht und meint an diversen Stellen sich kommentarlos verabschieden zu müssen.
    Und da ich die entfernten Mods auf keiner Gedächtnis-Prothese notiert habe, würde ich gerne mal die Mod-Listen vergleichen, um zu sehen, ob ich nicht doch irgendwo im Übereifer war...

    Der Mensch ist nicht das, was er vorgibt zu sein - er ist das, was er verbirgt!

  • Speicherorte der Spieldateien, stdout.txt, Speicherstände, Mods

    Spiel Benutzerordner -> modlists -> *.modlists Diese können mit einem einfachen Texteditor geladen werden, im Kopf ist die ganze Liste als Kommentar vertreten

  • Ok, danke Dir! Hab's auf Anhieb gefunden...hatte die vorher aber tatsächlich irgendwo in den Ordner der Mod vermutet...!

    Der Mensch ist nicht das, was er vorgibt zu sein - er ist das, was er verbirgt!

  • Und wieder der allgemeine Hinweis:



    Nutzt buildoverwrite nicht einfach mit der nächsten Beta Version von TPF2.

    Technisch kann ich nur eine wirkliche Kompatibilitätsaussage treffen, sobald ich das Spiel in den "Händen" habe. Auch dann kann ich erst mit Code Anpassungen anfangen!

    Da viele Änderungen hier und da sind, wird das Spiel mit leichtsinniger Nutzung von buildoverwrite explodieren! Ich habe euch gewarnt.


    Please don't use buildoverwrite blindly for the next beta version of TPF2.


    Technical I can only give a statement about compatiblity when I have a copy of the beta game. Then I can start to actually develop any code changes.

    As there a lot changes in the game, using buildoverwrite will result in a exploding game. I have warned you...

  • sehe nirgends ein call zu getDefaultSettings in mod.lua

    Doch, ganz unten in der mod.lua (settings = modutils.userSettings.getDefaultSettings(modData),)

    MfG elektronikfreak


    MB MSI MPG Z790 Edge WIFI - i7-14700K - Nvidia GeForce RTX 4080 Founders Edition 16GB - 192 Gb DDR5 Ram - 5x 2TB M.2 - Win11/64 - WsK - 60TB Ext. - TPF2 35732

    (Meine Screenshots dürfen weiter verwendet werden) - (Fixiert auf Berliner Mod's)

  • Ich habe mir die Datei heruntergeladen (siehe link), in der mod.lua ist da kein call, Du musst das ne andere Version haben... (alte zip Datei) Keine Ahnung, das hab ich aber auch schon geschrieben...



    -edit-


    Und ja, ich arbeite an Beta Kompatibilität für den nativen Teil.
    Das aber nicht so einfach, schon die die BuildNr, oben alt, ne Funktion mit einer Nummer als Ergebnis, unten ein String. Das geht halt nicht einfach so, und fertig:


  • Zum Update 35024


    So, erste Informationen über das weitere Vorgehen:


    Die internen Strukturen haben sich erheblich geändert, mal als Beispiel,

    LoadGame nutzt nun std::unique_ptr , keine UserProfile sondern ein UserProfileContext

    Die ModRep liegt nun auch in einem std::unique_ptr Container,


    Dies führt zu erheblichen Änderungen in den Spielinterna, somit ist eine zeitige Reparatur ausgeschlossen.


    Da ja Ihr ja Modlisten Support via UG bekommen habt, ist halt die große Frage, weiter entwickeln oder nicht. :/


    Wäre schade um meine Straßenbahn Map ...

  • Ich nutz die CommonApi sehr gerne und hat mir auch schon Hinweise zu Bugs geliefert, die UG verborgen hat.


    Zudem kann man lange testen, was UG dann auch noch einführt :-P .


    Und einige tolle Funktionen bietet CommonApi wohl weiterhin zusätzlich zu all dem was UG eingebaut hat.


    Aber ehrlich gesagt würde ich auch verstehen, wenn die Luft draussen ist.

BlueBrixx