Posts by eis_os

Willkommen in der Transport Fever Community

Welcome to the fan community of Transport Fever and Train Fever, the economic simulators of Urban Games. The community is free for you to share and inform yourself about the game. We cultivate a friendly and objective interaction with each other and our team will be happy to answer any questions you may have.

 

Registration and use is of course free for you.

 

We wish you a lot of fun and hope for active participation.

The Team of the Transport-Fever Community

    Hallo


    Es wäre schön wenn ich auch brauchbare Bugreports erhalte, bitte beachtet, das ist meine Dev Version die hätte eigentlich noch mehr tests erhalten sollen...



    Nun gibt es auf der Webdisk hier Version 1.8:


    CommonAPI2 - Modulare Bahnhofsadapter


    Changelog

    1.8.1

    - hotfix: Don't access commonapi._native if it's missing


    1.8

    - Use alternative to createAutoSumOfEdgesList so it works without CommonAPI2 loaded


    1.7

    - add cargo building selector

    - add flexibleStairs setting, adds 6 new stair positions (incompatible with old, old station need an modify upgrade cycle)

    Ich war die Version eigentlich noch am Testen aber hier:

    CommonAPI2 - Modulare Bahnhofsadapter





    Nochmals, ich brauche Crashlogs und nein die alten Module sollten nicht crashen... Sonst sende mir doch bitte im relevanten Thread ein Crashlog. Mit schweigen gibt es keine Updates..



    Deswegen mag ich Versionen so nicht releasen, also noch dazu:


    1.8.1

    - hotfix: Don't access commonapi._native if it's missing


    Damit sollte es auch ohne CommonAPI2 laufen, dann gibt es Failback Gleise bei Altmodulen, kann das aber hier auf der Linuxbüchse gerade nicht testen

    In der Beschreibung meines Adapters steht, das man keine weiteren Mods nutzen soll, die die Bahnhofskonstruktion beeinflusst. (Du kannst mit dem Adapter aber auch größere Bahnhöfe bauen, siehe Einstellungen). Die Frage war was mit allen Alt Gleis Modulen geschieht, wie gesagt, die sollten mit Adapter weiterhin funktionieren. Für das Chaos ist UG verantwortlich.

    Beispiele:

    Bahnhofsadapter + neue UG Gleismodule => geht nicht

    Nur alte Gleismodule => gehen nicht


    CommonAPI2 20200630 + Bahnhofsadapter + neue UG Gleismodule => funktioniert

    CommonAPI2 20200630 + Bahnhofsadapter + alte Gleismodule => funktioniert


    Für maximale Nutzerfreundlichkeit sollten Gleispakete entweder die Alt Module ohne Sichtbarkeit mitliefern,

    oder für den Umstieg ein (neues) Paket mit Alt Modulen anbieten für den Übergang.


    Vielleicht mag sich Marcolino26 ja dazu äußern.

    Nein ich habe es nicht ignoriert, sondern dir gesagt, das vielleicht die Reihenfolge anders ist.


    Du kannst ja jeweils ein stdout.txt bei frischen Spielstart und laden

    1. des funktionierenden Spielstands

    2. eines neuen nicht funktionierenden Spielstands

    anhängen und wir können versuchen einen Unterschied zu finden. (Bitte benenne die Dateien um, so das wir klar sehen können, zum Beispiel stdout_funktionert,txt und stdout_crash.txt)

    Die CommonAPI ist laut dem log gar nicht aktiv/geladen


    Den Modularen Adapter ohne CommonAPI zu nutzen, ist zurzeit kein Unterstütztes Szenario, aber das würde erst zu Problemen beim Bau/Umbau einer führen, nicht beim Laden.


    Technisch sollte UG ja Failback Blöcke haben, deswegen den Ringlokschuppen und Fix deaktiviern und schauen ob es lädt. Wenn nicht, mods häpchenweise deaktiveren bis es funktioniert und den Fehler eingrenzen.


    PS: res/-1 ist aber ein komischer Mod Eintrag, liegt da in mods ein res Verzeichnis?, das dort nicht hingehört?


    PPS: Es wäre mir sehr lieb nicht alle TPF2 Probleme immer auf die CommonAPI2 zu schieben, gerade wenn Sie gar nicht geladen wird. Irgendwann läuft dann mein Fass wieder über. So etwas ärgert mich enorm!

    orgUpdateFn, oppiestation ? NL Train Station ...



    PS: Du solltest den Modularen Adapter Nutzen können, solange CommonAPI2 geladen ist, dann funktionieren auch alt Stationen mit "alt" Gleismodulen + Du kannst dann mit dem Oberleitungstool auch bei den neuen UG basierten Modulen die Oberleitung umschalten, das kann TPF2 sonst ja nicht...

    Technisch ist der LUA Syntax sehr einfach:

    https://www.lua.org/manual/5.2/manual.html#9

    bzw.

    https://www.lua.org/manual/5.2/manual.html#3.1


    Aber, es gibt mods die auch einfach irgendwelche Globals nutzen oder anderen Kram,

    daher benutzt das Forum hier für die CommonAPI2 eine Version auszulesen nur ein simplen Regex für die Versionsnummer. Sonst müsste man korrekterweise eine komplette LUA Umgebung mit allen Dateien aus TPF2 erschaffen...


    Für die erste TPF2 Version und TPF1 war _ eine LUA Funktion die Translate aufgerufen hat, seit dem Modding Update ist es definitiv eine C Funktion.

    First Version for Build 29433 Windows

    Erste Version für Build 29433 Windows


    Steam Nutzer, Build 29433 ist auf der Postivliste und sollte direkt laufen.

    Für GOG Nutzer, mod installieren, ein Spiel mit CommonAPI2 starten, CommonAPI in Toolbar an anklicken

    buildoverwrite ändern in gog_29433_1 dann auf Speichern. Spiel neustarten, normale CommonAPI UI sollte wieder erscheinen.



    Steam Nutzer, Build 29433 should work directly.

    For GOG Users, install mod, start a game,

    click on CommonAPI in the toolbar, in the buildoverwrite write gog_29433_1 and then press save.

    Restart the game, dll should load.





    1.6.20200627-dev

    - Windows only build

    - Use getBuildNr for loader, don't load native with unknown version

    - Add build overwrite setting, so new builds can be added

    - Fix: Windows Build 29372, Build 29433

    - Fix: inspect.lua, don't crash with userdata

    - Fix: don't crash in utils._t if language can't be found

    - Duplicate ModSettingsWindow to be used with ug ui

    - Internal: Start of render nativeui uilist with UGs api.gui toolkit


    Bekannte Probleme:

    Das Fenster hergestellt via UG Funktionen führt beim Beenden des Spiels schon mal zu Exception, aber nicht immer...



    Für Fehler, Fragen / For erros and questions:

    CommonAPI2 Entwicklungsdiskussion, Fragen & Antworten

    Es wird auch weiterhin nur mit DLL richtig funktionieren. Das Problem ist, meine alte debug.sethook Variante zum aufspüren von Mods funktioniert nicht. Warum kann ich auch nicht sagen, weil trotz aller Bemühungen seitens UG, das Spiel ohne Fehlermeldungen crasht. Nen Debugger darf ich an die Steam Version auch nicht dranhänge, das mag Steam gar nicht gerne.


    Die UG UI scheint Speicherlecks zu haben, das liegt primär daran das ich ein Heavy Duty Nutzer bin und meine APIs sehr dynamisch zu Werke gehen, d.h. ich füttere technisch die gleichen Daten meiner UI an meine lua imgui bridge, und einer neu geschriebenen tpfui.lua. Zurzeit ist das aber eher noch pfui. Fakt ist, ich kann den CommonAPI2 Einstellungsdialog nun via api.gui. darstellen, habe aber noch mit der Übersetzungsfunktion _ technische Problem. Warum ich das primär machen muss, ich will


    • Eine Info für den Nutzer haben das die CommonAPI2 gerade ohne DLL geladen wurde
    • Die Möglichkeit bekommen, die Einstellungen umzuschalten ob die DLL geladen werden soll
    • Es ermöglichen allen Nutzern einen bestimme Versionsstring einzugeben, damit ich nicht ständig Steam Updates machen muss, wenn UG ein neues Build macht.


    Das bedeutet, ich werde dann hier im Forum einen String veröffentlichen, der dann das Laden der DLL mit einer bestimmten neuen Version ermöglicht.

    e:\Programme (x86)\Steam\userdata\999236574\1066780\local\mods\

    e:\Programme (x86)\Steam\steamapps\common\Transport Fever 2\mods\

    nach dem Verzeichnis eis_os_commonapi2_1 schauen und entfernen.


    e:\Programme (x86)\Steam\steamapps\workshop\content\1066780\

    nach dem Verzeichnis 1947572332, sollte es hier noch vorhanden sein, hast Du es nicht via Steam Client deabboniert!


    Wenn es immer noch nicht geht, den ganzen Steam Ordner nach CommonAPI durchsuchen, es sollte eine DLL auftauchen in einem bin Verzeichnis. Den kompletten Verzeichnispfad dann bitte hier posten...



    PS: Und als Statusreport, CommonAPI2 kann ohne DLL zurzeit keine Spracje herausfinden, eine Modliste gibt es leider auch noch nicht ;(

    Technisch müsste man dem entity ein PlayerOwned ( api.type.PlayerOwned.new() ) verpassen


    Ich hätte ja gesagt in der UG Console,


    game.interface.setPlayer(<entityid des Gebäudes>, game.interface.getPlayer())


    das funktioniert natürlich mal wieder nicht... weil setPlayer dort nicht vorhanden ist ;(