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


  • If it's a savegame, please set commonapi2 verbose level to 99 and attach a stdout.txt (compressed as zip)

    Thanks Eis_os I set the parameter you suggested, (verbose level to 99), to me and it would seem that it goes well now I try it then I tell you.

    Einmal editiert, zuletzt von cr0ss ()

  • I am not sure what you do but somehow the complete game is screwed.

    So I have to say CommonAPI2 isn't compatible with you system. Simple remove eis_os_commonapi2_1 completely from your system.


    Some of the problems:


    "Thread did not respond to ping. Possible hang detected!" sounds fishy


    "[RESOURCE ERROR] Wrong configuration for track type (this will be an hard error in the future):"

    A ton of Texture resolve errors ...


    jag_fences_1 seems to broken


    because it triggers "...mods\eis_os_commonapi2_1/res/scripts/commonapi2\mods.lua:224: attempt to index local 'entry' (a number value)"


    CommonAPI2 has no memory for allocing the font atlas.


    And I already said, creating new maps won't work under windows currently if commonapi2 is in the mod list.



    Conclusion:

    The system isn't compatible with CommonAPI2 and I currently have no clue why, so remove eis_os_commonapi2_1 completely please.


    -edit-

    (Next version will fix "the attempt to index local 'entry' (a number value)" by checking if mod.lua syntax is correct)

  • UG mag sein UI ständig gerne umbauen, also hier mal ein kurzer Hotfix:


    Mit einem Texteditor die Datei res\scripts\commonapi2\ui2\LineDestination.lua öffnen und die Zeilen:

    Code: res\scripts\commonapi2\ui2\LineDestination.lua
        local LineEditor = LineManager_LineEditorComp:getLayout():getItem(0)
        if (LineEditor:getName() ~= "LineEditor") then
            print("LineEditor not found")
            return nil
        end


    ersetzen durch diese hier:

    Code
        local LineEditor = tpfui._findByName( LineManager_LineEditorComp , "LineEditor", 2)
        if (LineEditor == nil) then
            print("LineEditor not found")
            return nil
        end


    Dann sollte die UI wieder erscheinen...

  • Vielen Dank. Hat bei mir 1a geholfen. Musste nur vorher Notepad mir runterladen um die richtigen Zeilen zu finden :S

    Wer Fehler findet darf sie mitnehmen und behalten 8)

  • Scroll mal drei Beiträge nach oben:


  • wie dumm von mir :-) ... blöd wenn man die Suche benutzt und drei Messages dran vorbei springt.

    Danke für den Hinweis denke das ich das mit dem Einfügen in die Daten der Mod hinbekomme ...

  • Moin, ich habe mal meine stdout.txt gecheckt. Ich habe hier eine Reihe von Ausgaben die ich nicht verstehe.



    Diese Ausgabe kommt ungefähr alle 10 sec im Spiel.

    Was ich daraus verstehe ist, das diese Files initialisiert werden. Aber warum muss das so oft passieren?

    Kann der Script Drop davon kommen?

    Dateien

    • stdout.txt

      (519,61 kB, 36 Mal heruntergeladen, zuletzt: )
  • Diese Ausgabe kommt ungefähr alle 10 sec im Spiel.

    Was ich daraus verstehe ist, das diese Files initialisiert werden. Aber warum muss das so oft passieren?

    Diese Ausgaben besagen, dass die Initialisierung innerhalb der angegebenen Mods erfolgreich war.

    Ist in den Einstellungen Debug aktiviert, so kommt es zu einer mehrfachen Ausgabe, da die Initialisierungen durch das Spiel mehrfach aufgerufen werden.

    Der Sinn der Ausgabe ist eventuelle Fehler zu erkennen, da dann dort veränderte Ausgaben zu erkennen wären.


    Da einige Mods meine eatglobal verwenden kommt es natürlich zu häufigerer Ausgabe.

    Diese Ausgaben haben jedoch keinerlei negative Folgen.

    Auch ein alter Fuchs schaut gern ein Huhn, selbst wenn er's nicht mehr Reißen kann. ^^

    163393-cpuz-ryzen9-5900-png

  • Ja, wenn man auf dem Debug Modus verzichten kann, sollte Ihn abschalten. (Dann lädt TPF2 nicht alle Scripts neu)

    Man kann dann via CommonAPI2 -> Inspektor -> RenderSettings weiterhin die Lane Anzeige dazuschalten, wenn man es mal kurzfristig braucht..




    Und ja, mein Klumpen Software wird leider größer und größer...



    Da man leider in einem handleEvent keine api.cmd senden darf, braucht TPF2 leider Workarounds.


    Wenn alles gut läuft kann man dann durch CommonAPI2 erzeugtes vehicleArrived event an jedem Stop selbst erstellte lua Scriptblöcke ausführen.

    Damit sich nicht jeder mit den Eigenheiten der UG APIs herumschlagen muss gibt es VehicleScript (vs)


    vs ist ein Selektor / Modifizierungsystem für TPF2 ecs::component::TransportVehicle.


    Damit ist es dann möglich neue Teile eines Zugs zu erstellen, teile zu entfernen, herauszunehmen, umzusortieren.

    Inwiefern ich noch Events für das Beladen und Abfahrt einbauen, ist mir noch nicht klar.


    Und ja, ich kann auch die Lok komplett entfernen, aber das findet TPF2 in der Regel nicht so dolle. :)


    Daher gibt es auch gerade kein Bugfix für CommonAPI2...

  • Jetzt habe ich eben aus Versehen - oder zum Testen - die showSomethingBoxes aktiviert und bekomme die nicht wieder ausgeschaltet. Haken wieder setzen, warten, Haken rausnehmen hilft nicht.


    Und aus deiner Aussage

    Ja, wenn man auf dem Debug Modus verzichten kann, sollte Ihn abschalten. (Dann lädt TPF2 nicht alle Scripts neu)

    Man kann dann via CommonAPI2 -> Inspektor -> RenderSettings weiterhin die Lane Anzeige dazuschalten, wenn man es mal kurzfristig braucht..

    hat sich für mich folgender Wunsch bzw. "feature request" ergeben, da ich den Debugmodus nur wegen der Lanes aktivert habe:

    Direkt im "API"-Hauptmenü den Menüpunkt "Lanes an/aus" einbauen, unter "Einstellungen" und über "Inspektor".

    Denn die Lanes werden oft benötigt, aber auch oft wieder nicht benötigt.

  • Version 1.8.20230321 ist "fertig", ok, lasse ich auf euch los. :P


    Wie immer der Download hier:

    Download can be found here:

    CommonAPI2 Download





    Hier mal kurz die Vorabversion von VehicleScript erklärt:



    Mit LineDestination + newevents + lineevents kann man weitere Einstellungen pro Stop hinzufügen.


    vs ist ein Selektor und Bearbeitungsobjekt für Fahrzeuge:



    Beispiel:


    Code
    vs:selectWagons():setColor({0.6, 0, 0}, 0.1, 0.4, 0.4)
    vs:doIt()

    Ihr könnt auch andere Sachen damit machen. Der Texteditor ist etwas gewöhnungsbedürftig, Zeilen müssen per Enter Taste abgeschlossen werden, + erzeugt eine neue Zeile, x löscht eine Zeile.
    TPF2 hat keinen Multiline Texteditor.


    Technisch kann man da alles mögliche machen.

    Ob ich dafür eine einfache Scriptlösung, die man aus Blöcke zusammenbauen kann noch hinzufüge, keine Ahnung, das kommt auf die Resonanz an.


    Ein Beispiel:

    An einen Bahnhof ne Lok für ne große Steigung hinzufügen, am nächsten Bahnhof wieder entfernen. Ne große Lok entfernen, ne kleine Rangierlok dranhängen und so ein Anschlussgleis darstellen...


    Nochmalig, das Feature ist ein Preview... nicht alles ist getestet. Ich hatte das alles schon fertig, aber ich hatte dann Pointer Probleme bei UGs API. (Ändern des sol vectors objekts hat alle Lua Objekte verändert...


    -edit2-

    PS: Es zwingt euch keiner mein VehicleScript zu nutzen, Ihr könnt theoretisch auch via require was nachladen und euch selber mit UGs APIs herumschlagen, wenn ich zu viel Bugreports erhalte wird es aber abgeschaltet ;) Script Fehler werden wenn möglich abgefangen, am besten ne Console öffnen...

BlueBrixx