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


  • Bitte beachtet:

    Epic Game Store könnte mit buildoverwrite eos_34108_1 funktionieren,

    da ich das Spiel über die Distributionsplattform nicht besitze, kann alles mögliche passieren. Also Vorsicht!


    Es gibt keine Mac Version, da ich die Plattform nicht unterstützen kann.



    Please note:

    Epic Game Store could work with buildoverwrite eos_34108_1,

    as I don't own the game via epic distribution system, a lot bad stuff can happen. Be warned!

  • CommonAPI2 1.7.20210822-dev


    Die ModWerkstatt ist nun als zusätzliche Installationsquelle vorhanden.

    Auch können Mod Abhängigkeiten aufgelöst werden, sprich ein Mod hier kann ein Mod aus der ModWerkstatt via mod.lua referenzieren oder umgekehrt.

    Solltet Ihr die Quellen mal geändert haben, müsst Ihr ggf. die Quellen resetten. Checkbox Repositories anklicken und Reset drücken.

    Um die Quell-Daten herunterzuladen,"Update Information herunterladen" klicken, dann lädt sich CommonAPI2 die Modliste von hier und der ModWerkstatt herunter.


    Ggf. kann es noch hier und da noch kleine Probleme geben, deswegen bitte Testen.


    VacuumTube fand meine Geschwindigkeitsangaben via uiparamater nicht so toll, nun wird etwas anders gerundet ;)


  • Hallo,

    ich wollte gerade meinem TpF2 Spielstand über 'Spiel laden' Mods hinzufügen und diesen dann spielen. Sobald ich im 'Spiel laden' Fenster meinen Spielstand auswähle bekomme ich einen Crash mit folgender Meldung:

    stdout.txt


    Der Crash hängt wohl damit zusammen, dass ich in meinem Spielstand die CommonAPI als Mod geladen habe. Bei Spielständen, in denen ich die CommonAPI nicht aktiviert habe, gibt es keinen Crash beim Auswählen.

    Wenn ich dann die CommonAPI aus dem Mod Ordner lösche, bekomme ich keinen Crash mehr beim Auswählen des Spielstandes. Den selben Crash bekomme ich aber, wenn ich versuche die CommonAPI Mod zu deaktivieren.

    Ich habe schon verschiedene Dinge in den CommonAPI Settings ausprobiert, bin aber zu keinem Ergebnis gekommen. CommonAPI habe ich auch schon frisch aus dem Webdisk Eintrag, sowie aus diesem Thread heruntergeladen. Bei beiden Versionen tritt der Fehler auf.


    Ich hoffe, jemand weiß bei diesem Problem weiter. Vielleicht liegt der Fehler auch einfach nur an mir und ich habe etwas falsch gemacht :)

  • Den Fehler hatte ich auch. Entweder es lag an verschiedenen Versionen der Doppelstock(steuer)wagen von MaikC, die ich genutzt habe oder daran, dass ich einen der Mods doppelt geladen hatte (1x per Steam, 1x manuell). Daran scheint sich ein Skript zu verschlucken, CommonAPI ist daran nicht schuld.


    //edit: Mit "doppelt geladen" meine ich nicht, dass beide Mods aktiviert sind, es genügt wenn beide im Dateisystem liegen und vom Spiel gefunden werden können.

  • CommonAPI ist daran nicht schuld.

    Das ist sehr interessant!

    Vielen Dank für deine Hilfe!


    Ich hatte die Doppelstockwagen der 3. Generation von MaikC tatsächlich einmal von Steam und einmal aus dem Forum installiert.

    Die Steam Version hatte das Update noch nicht.

    Nach dem Deabonnieren der Steam Mod funktioniert das Laden auch wieder problemlos.

    Ich muss meine ganzen doppelten Mods unbedingt herausfischen und deaktivieren.

  • An einem Mod scheint das nicht zu liegen. So weit kommt der wohl gar nicht. Der Fehler tritt beim "Loading commonapi2.ui interface" auf. Vorher gibt es einen Fehler "commonapi._modmm: Can't load tpfnet-tpf2.json".

    Ich kenn mich mit der commonAPI überhaupt nicht aus. Würde da die Experten fragen oder die commonAPI mal runterschmeissen und die neueste Version neu installieren.


    EDIT: Jetzt den letzten Post von Weisssi gesehen. Liegt das doch an einem Mod? Interessant.

  • Kanshi ich weiß es auch nicht so recht. Beim Löschen der CommonAPI Tritt der Fehler an einer anderen Stelle auf, aber wenn ich einen doppelten Mod deabonniere, tritt der Fehler gar nicht mehr auf.

    die commonAPI mal runterschmeissen und die neueste Version neu installieren.

    Beides schon geschehen. Vielleicht kann da ja eis_os weiterhelfen.


    Jetzt muss ich doch nochmal etwas Melden:

    Ich habe nun nur noch eine Doppelstockwagen Mod der 3. Generation aktiviert. Die Version aus dem Steam Workshop habe ich jetzt deabonniert. Wenn ich jetzt jedoch bei deaktivierter Steam Version auf OK klicke, bekomme ich den gleichen Crash.



    Edit:

    Ich weiß nicht wie, aber ich habe es jetzt geschafft, das Spiel nicht zum Absturz zu bringen!

    Ich glaube, es lag an den Doppelschockteuerwagen der 2. Generation, ich bin mir aber nicht sicher!


    Edit 2:

    Nein, es liegt nicht an den Doppelstocksteuerwagen der 2. Generation, sondern an etwas anderem.

  • Bei mir war der Fehler erst weg, als ich alle Doppelstock(steuer)wagenmods von MaikC als Unikate im Dateisystem liegen hatte. Als der Fehler noch da war, hatte ich den neu hinzugefügten Regler für Kapazität jeweils doppelt angezeigt bekommen (ist mittlerweile ein Dropdown), vielleicht hilft dir das um einzugrenzen um welche Mod es geht.

  • Ich habe schon diese Mods im Auge:

    • Doppelstocksteuerwagen der 2. Generation - aktuellste Version - nur einmal (aus dem Forum) installiert
    • Doppelstocksteuerwagen der 3. Generation - war 2 mal vorhanden - Absturz bei deaktivieren der deabonnierten Steam Version - Forum Version ist aktuell

    Gerade sind alle Doppelstock(steuer)wagenmods von MaikC nur als Unikat vorhanden. Nun ist der Fehler auch tatsächlich nicht mehr vorhanden.

    Vielen Dank für eure Hilfe!

  • Der Fehler könnte daher kommen das ich bei allen Mods die Einstellungen über commonapi2 entfernt habe und stattdessen die ingamesettings im Lademenü nutze.

    Ich vermute mal, wenn der Mod dann 2mal installiert ist versucht TPF2/commonapi2 die settings.lua bei beiden Mods zu laden. Da es die in der neueren Version aber nicht mehr gibt knallt es eben.

  • Mag sein das es eine Interaktion gibt.


    Aber der Crash Assert:

    ..\..\src\Lib\lua\Value.cpp:38: class std::variant<struct lua::Nil,bool,double,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct lua::Table> &__cdecl lua::Table::Put(const class std::variant<struct lua::Nil,bool,double,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct lua::Table> &,class std::variant<struct lua::Nil,bool,double,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct lua::Table> &&): Assertion `pr.second' failed.


    kommt nicht von einem Code von mir. Mein LUA liegt weder in Lib\lua noch ist LUA bei mir in C++. Alle Access Funktionen mit TPF2 bezüglich lua sind in namespace luaTPF zusammengefasst.


    Das ist ne Makro Funktion in TPF2 die eine Lua Tabelle in C++ ausliest.


    Sollte es an einer Mod Doppelung liegen bin ich das gerne bereit zu Debuggen, ich spreche UGs Funktionen an, die könnten natürlich crashen, wenn es ein obskurer Sonderfall ist, möchte dann aber ein Testfall haben nur mit wenigen Mods oder genau Input. ( Lade Mod A, Mod B, Savegame erstellen, Mod B enfernen, Mod C installieren -> Crash)


    Zum Testen kann man CommonAPI2 komplett entfernen (sprich im Dateisystem löschen) und dann schauen ob es funktioniert.

    Jeder Spielstand läuft auch ohne CommonAPI2, ihr müsst nach dem entfernen im Dateisystem halt CommonAPI2 aus der Mod Liste entfernen.

    Kommt es weiterhin zum Crash oder nicht, bitte um Nachricht hier. Sonst steht hier wieder irgendwelcher Unfug im Raum das meine CommonAPI2 dran schuld sein.


    Um den Fehler zukünftig zu vermeiden wäre es schön eine Beispiel Savegame zu erhalten und eine Dateisystemstruktur mir genannt wird, die zu einem Crash führt


    MaikC Das auslesen von settings.lua wird nicht über C++ Code geregelt, ich bitte dich daher nicht solchen Kram in den Raum zu stellen. Du nährst leider nur irgendwelche obskuren Spekulationen

    res\scripts\commonapi2\settings.lua -> local function readUserSettings(filename)


    Ist die Datei nicht vorhanden oder keine Tabelle, gibt es halt keine Einstellungen...



    PS: Und ja, ihr müsst Zeit investieren für die Fehlersuche, so ist halt der Handel. Es gibt keine Verbesserungen wenn Ihr nicht aktiv wird...

  • Zwischenstand:


    Langsam kommen wir der Sache näher mit dem Debuggen.

    Es scheint eine ungewollte Interaktion zwischen TPF2, CommonAPI2 und nicht vorhanden Mod in einer älteren Version im Savegame zu handeln, die durch eine neue Version ersetzt werden soll.


    Die neuere Version muss wohl in einem anderen Ordner als ursprünglich installiert worden sein? Andernfalls würde TPF2 ja die neuere Version direkt nutzen.


    Ich brauche immer noch einen Testsavegame zum nachstellen...




    Workarounds:


    Möglichkeiten:

    a) CommonAPI2 deinstallieren

    oder


    b) Im CommonAPI2 Menü -> Einstellungen -> Mehr .. Native Lib abschalten. Speichen nicht vergessen, Spiel komplett neu starten.


    Spielstand mit neuen Mods unter neuen Namen speichern.


    Spiel neu starten, CommonAPI2 Native via Failback UI Links unten wieder einschalten.



    -edit-

    Und nochmals klarzustellen: Ich bin nicht sicher ob CommonAPI2 wirklich der Auslöser ist oder nur den Zeitpunkt verschiebt.

BlueBrixx