CommonAPI2

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 wieder mal Zeit für eine Development Version:


    1.1.20200325-dev

    - console, new tab complete code, should fix numeric key problems

    - add luasocket (note: needs activation by settings)

    - add local mod install

    - fix UI FileDialog folder level can't be changed when path ends with slash


    1.1.20200313-dev

    - remove railroadCrossings code hotpatch (fixed by UG)

    - update windows build to use SDL 2.0.8


    Das größte Highlight der Release ist ein minimal Version von LuaSocket. (socket.core), diese muss via Einstellungen eingeschaltet werden (speichern und neu starten nicht vergessen)

    Damit ist es nun als erstes möglich, LUA Dateien zu debuggen. Breakpoints, Watches, :)



    Ihr benötigt hierfür https://github.com/pkulchenko/…b/master/src/mobdebug.lua , dies muss in eis_os_commonapi_2/res/scripts

    Als IDE funktioniert https://studio.zerobrane.com/ Technisch können auch andere Debug Lösungen funktionieren, ich bin gespannt was Ihr so anstellt :)


    Nach Installation (ich hab die Portable Version genutzt), wählt Ihr unter Project -> Project Directory -> Choose das Verzeichnis eures Mods: meinmod_1

    Unter Project -> Start Debug Server einschalten.


    In der updateFn einer Konstruktion:

    require("mobdebug").start() nutzen.


    Ja, manchmal funktioniert es nicht so tolle. Wenn man die Console nutzt um require("mobdebug").start() zu nutzen, kann man schon mal zwei dreimal versuchen bis es geht.

    Bedenkt, ich ermögliche den ganzen Kram von Außen ohne Infos von UG.


    English

    The highlight is adding a minimal LuaSocket (socket.core) to CommonAPI2.

    LuaSocket can be enabled via settings, please don't forget save and restart the game.


    With LuaSocket it's possible to use remote debuggers in TPF2, so it's technical possible to debug, add watches and breakpoints. :)



    Required and tested is: https://github.com/pkulchenko/…b/master/src/mobdebug.lua , please put this in eis_os_commonapi_2/res/scripts

    IDE https://studio.zerobrane.com/ Technical other debugging solution may work, please let me know if you have other solutions. Like with Visual Studio Code :)

    I did use a portable IDE Version, select your moddir via Project -> Project Directory -> Choose

    Under Projec, use Start Debug Server.


    Add require("mobdebug").start() in an updateFn in a construction.

    You can use one thread in the Console as well. however UGs Threads are a bit picky. Sometimes you need to run it several times so debugging starts or it does other crazy stuff.


    Note: I do this all from outside without having any source code, this is technical a challange and TPF2 reloading of threads may have very odd behavior. So starting the debugger at function bondary seems to be more reliable. (updateFn/upgradeFn)


  • Hallo zusammen kann mir da jemanden vielleicht helfen,was ich da machen soll?

    Hab auch den Mod 100 x 100 Module aktiviert auf Steam ( Atlits Lager Stations 100x100)

    Aber irgendwie kann ich nur bis zu 25 module auf der Y achse bauen also senkrecht


  • Super, die Tab Completion funktioniert jetzt auch in den Fällen mit [x].


    Die Mod Einstellungen werden bei mir im Spiel manchmal nicht angezeigt, die Liste ist dann leer. Konnte nicht rausfinden, wann und warum. Die CommonApi ist auf jeden Fall immer als Mod aktiviert.


    Und was die Liste der Einstellungen angeht: Die Optionen sind nicht immer in derselben Reihenfolge. Ideal wäre es natürlich, wenn sie immer in der Reihenfolge sind, in der sie in der mod.lua definiert werden.

    Man muss die Dinge so einfach wie möglich machen. Aber nicht einfacher. - Albert Einstein

  • Die Einstellungen können in der mod.lua, in der Definition einer Einstellung via order = <int>, in die richtige Reihenfolge gebracht werden.

    LUA hat explizit keine feste Sortierung für key, value Tabellen. (es wird sogar technisch wie in Go etwaige Sortierung verhindert), order wird auch von TPFMM unterstützt.


    Code
    1. settings = {
    2. option_ = {
    3. order = 10,
    4. ...
    5. },
    6. option_b = {
    7. order = 11,
    8. ...
    9. },
    10. ...


    Modlisten:

    Ja, ich hab gestern gemerkt das neue Spiele keine Modliste erhalten, ich hab noch keine Ahnung warum, UG bzw. der Compiler hat da wohl was herum geschraubt. 100% sicher bin ich mir noch nicht. (Bei gespeicherten Spielstand funktioniert es wieder)