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

    You can't use the commonapi that way. It always needs to be loaded by the internal loader.


    But you don't need to worry much, if commonapi is loaded, you simple can use it's global public api:

    Code
    1. local myvariable
    2. if (commonapi ~= nil and commonapi.mods ~= nil) then
    3.     myvariable = commonapi.mods.getById("modname_1")
    4. else
    5.     -- CommonAPI1/2 not loaded, do some failback
    6. end
    7. -- sample to see what is inside:
    8. commonapi.dmp(myvariable)

    Never ever try to load commonapi parts by yourself. All public interfaces are reachable by the commonapi global interface.

    Note: To get a proper Modlist in TPF2, CommonAPI2, it's native component must be loaded and CommonAPI2 must be active in the savegame (otherwise commonapi console works, but other mods have no access to the global interface)

    Hallo, darf ich nach einer Testdatei für erhöhte Bahnsteige fragen?


    Es wird wohl wenn alles klappt darauf hinauslaufen, das es dann

    Code
    1. metadata.common.waitarea = {
    2. left = {
    3. model = "station/rail/era_a/tn_cargo_wait_area.mdl",
    4. transf = transf.transl(vec3.new(-3.5, 0, 0)),
    5. }
    6. right = {
    7. model = "station/rail/era_a/tn_passenger_wait_area.mdl",
    8. transf = transf.rotZTransl(math.rad(180), vec3.new(3.5, 0, 0))
    9. }
    10. }

    für Plattformen geben wird.


    Damit sollte es auch möglich sein ein Modul zu konstruieren, das verschiede Bahnsteighöhen anbietet oder asymetrische Layouts. Technisch könnte man es später vielleicht auch hinbekommen auf einer Seite Cargo und auf der andern Passagiere abzufertigen, das geht aber bis jetzt nicht und würde wohl auch die Kompatibilität brechen mit anderen Bahnhöfen, sollte die CommonAPI nicht laufen sollte es fehlerhafte Default Wartebereiche geben. Intern wird weiterhin addModelFn benutzt, das sollte also weiter mit den NL Stationen funktionieren aber andere Mods werde ich nun bewusst brechen und dafür keine trainstationutil.lua mehr nutzen...

    Da sind zu viele Mods mit Wechselwirkungen an den Gleisen und Stationen drin. Funktioniert es in einem Spielstand nur mit

    CommonAPI2, Bahnhofs Adapter und CC Johnsons Gleispaket?

    Wenn das auch nicht geht, ok, dann werde ich mir das weiter anschauen, sonst muss ich da leider passen.

    Die letzte Änderungen Tunnel Repainter hier im Forum ist am 30. Januar 2020 erfolgt (zweites Datum bei jedem Beitrag), d.h. zurzeit auf Seite 2. Ich sehe da auf Anhieb nicht welches Problem dieser Mod machen sollte.


    Also auch hier wieder die Frage, wo ist deine stdout.txt + Funktioniert es in einem neuen Spiel nur mit CommonAPI2, Bahnhofs Adapter und Gleispaket?

    Nochmals ich tippe darauf, du hast noch einen zusätzlichen Bahnhof installiert und überschreibst damit den Modularen Adapter...

    commonapi.dmp( <somefunction or variable> ) will print you the returned data of somefunction or variable.


    Note: Not all threads have game.interface.getTowns() The script thread should have it... (use the dropdown to select thread)


    With

    commonapi.dmp( game.interface.getTowns() )

    you should get a list of entities, these can be used with getEntity to get more info...


    commonapi.dmp( game.interface.getEntity( 12345 ) )


    CommonAPI provides more or less tab completion.


    ---


    Ich habe gerade eher wenig Zeit, daher gibt es keine Neuigkeiten bezüglich CommonAPI2 und Linux Support. (Auf UGs Antwort warte ich auch noch)

    NL Stations Konstruktion = failback Gleise, weil eben das Interface fehlt.


    Zum Umstieg, technisch sollte es möglich sein von Steam 50x50 und 100x100 Stations auf den Adapter zu Updaten. Ihr müsst nur genügend Slots für bestehende Bahnhöfe bereitstellen, sonst wird ein Umbau zu einem stdout.txt Fehler führen, der besagt, das die Limits nicht reichen. Hierfür müsst Ihr aber unbedingt die Webdisk Version hier auf transportfever.net nutzen. Beim Laden eines Savegames den Modularen Adapter anstatt 50x50 oder 100x100 nutzen. Savegame starten und auch unbedingt als neuen Namen speichern, wenn dann etwas schief geht, könnt Ihr wieder mit dem alten Savegame weiterspielen.


    Drauf achten das auch wirklich der Pfeil in allen Richtungen auftaucht (bei der Auswahl im Baumenü der Stationstypen)

    Der CommonAPI2 Interface Standard von Gleisseite her ist hier beschrieben:


    CommonAPI2 Bahnhofmodule mit eigenen Gleisen via Bahnhofsadapter


    Das Problem ist, oppiescc müsste seinen Bahnhof anpassen und result.common_trackinterface.makeTrackByTrackType unterstützen, damit nicht ein Failback Gleis gebaut wird. Ich hab aber zu Ihm keinen Kontakt.

    Ich möchte auch in Zukunft in den Adapter die Möglichkeit anbieten, verschiedene Bahnsteighöhen anzubieten, bis ich da aber ein sinnvolles System entwickelt habe, möchte ich einen Wildwuchs an Mod-Adaptern vorbeugen.


    Man sieht ja das Problematik jetzt schon. Darüber hinaus habe ich noch eine Idee wie man Bahnhöfe biegen könnte. Im Endeffekt wird es später wohl aber übel darauf hinauslaufen, das ich einen kompletten eigenen Bahnhof anbieten werde und den Bahnhofsadapter beerdige. Die Support Kosten sind einfach zu hoch und es gibt scheinbar immer weniger Spieler, die zu logischen Schlussfolgerungen fähig sind. Sprich sie laden X Mods die Bahnhöfe verändern und denken dann alles muss zusammen funktionieren.

    Technisch ist der Kopierschutz und der Workshop zwei Teile, die nix miteinander zu tun haben.


    TPF2 holt sich alle Steam Workshop Mods via SteamAPI. Auch wenn ich das technisch noch nie gesehen habe, können die Mods auch auf verschiedene Datenträger aufgeteilt werden.

    Deswegen kann auch die CommonAPI2 nicht sagen, dort liegt das Steam Workshop Verzeichnis.


    TPF2 macht dann ein ID Mapping zwischen SteamWorkshopID und Pfad via Steam API. Das ist ModRep::GetModDir()

    Das ist eine Funktion die CommonAPI1 und 2 schon mal zum Absturz bringen kann, weil es bei nicht existierende Mods Exceptions gibt.

    Die ruft bei Steam Versionen dann schlussendlich die Steam API an, hab ID 1234 und macht da raus einen kompletten Pfad. Damit TPF1/2 aber richtig funktioniert muss das in einem Verzeichnis mit der SteamSpielID sein, damit Filefilter erkennen können, das es ein Mod Pfad ist. (und CommonAPI)


    Ich frage mich warum Du den Aufwand betreibst? Wenn ich wüsste was dein Ziel ist... Es muss ja nen Grund geben warum du die Workshop Mods ausblenden willst...


    PS: Technisch kann TPF2 viermal das selbe Mod laden: Im workshop, stageing, Spielverzeichnis mods, Nutzerverzeichnis mods...

    Wenn der Ersteller des Mods eine bestimmte Ladereihenfolge benötigt, kann er dieses per Zusatzinformationen in mod.lua beschreiben, das nimmt die CommonAPI2 (Windows) dann dazu um energisch davor zu warnen. Repaints zum Beispiel


    Wenn ein Abhängigkeit nicht geladen wurde, gibt es auch eine Meldung. (wenn die Info vorhanden ist, gibt es auch einen Link zur Webdisk und zu Steam, TPFMM in TPF1)

    Das Forum bzw. der Server hat etwas "Schluckauf" gehabt, daraufhin hat es Dateien (index.php) ausgeliefert in einer Art die euer Browser veranlasst hat nicht mehr beim Server nachzufragen ob es etwas neues gibt. Das hält den Traffic gering. -> Ihr müsst mal den Cache leeren und gut ist.


    Das BBCode nicht mehr so funktioniert ist so ein Ding, technisch sollte der Server jetzt nur noch den XML Code in der Datenbank ausliefern ohne den ständig anzufassen. Naja, er wird trotzdem noch angefasst. Das hat leider den unangenehmen Nebeneffekt, das der WYSIWYG Editor, das Board und co. in XML läuft und nicht mehr mit BBCode. Die Software ist nun mal so und wir müssen damit leben. (Auch ein Grund warum das Forum Team nicht schon viel früher umgestiegen ist. Es gab Tests schon vor >2 Jahren und die wurden nicht für Gut befunden)


    Ob wir nochmal das Board direkt per NGINX ausliefern werden, müssen Tests zeigen. Wir sind aber erst mal überhaupt froh, das es jetzt läuft.


    Gestern hab ich zum Beispiel "Labels" repariert:

    Der Woltlab Importer hat es geschafft, das wenn ich ein Label Namen editiert habe, sich direkt zwei weitere geändert haben. Daher durfte ich es auch wieder per Hand aufräumen, als Anhaltspunkt blieb mir nur die Farbe...


    Wir haben auch einen internen Bugtracker, die Tendenz dort ist leider aber eher steigend als abnehmend. So entschuldigt, das wir nicht so gesprächig sind und immer noch viel Zeit investieren das Forum wieder zusammen zu kleben.

    Hier gibt es ja irgendwelche Nutzer, die meinen immer alles Besser zu wissen. Die Forendatenbank hat schon viel mitmachen müssen.


    Zum Thema Webdisk und Forum in Allgemeinen möchte ich anmerken, ich hatte nie das Bedürfnis die Software anzufassen.


    Ich wurde Ende letzten Jahres gebeten die Webdisk Daten in das neue System zu "retten". Eigentlich kein großes Thema sollte man meinen, nur das was ich vorgefunden habe war:


    - BBCode kaputt

    - Attachment Hashes, die x mal vergeben wurden.

    - Ein System aus Software Klassen, das gar nicht ausgelegt ist, irgendetwas extern zu machen. Ein Attachment einfach Anlegen? Ne geht nicht...

    - Ein lückenhaftes ID Mapping.


    Was wäre also passiert?

    Gar keine Daten und die Webdisk neu starten

    Alle tfnet IDs in allen Mods hätten geändert werden müssen.


    Ich schrieb im Tandem einen Konverter und versuchte Daten jeweils zu importieren. Änderungen an der Webdisk rekonstruieren und diese in das neue System zu integrieren. Hab den Importer also auf die Daten X mal drauf losgelassen.

    Einträge Testweise zu importieren hat ca. 4 Stunden gebraucht, um Festzustellen das Software Klassen überhaupt nicht das machen was sie sollten, wild ID selber verteilen oder ein Attachment Shreddern.


    Technisch sollte der Importer seinen Dienst in Ruhe verrichten,

    das Ergebnis in eine saubere Datenbank einrichten.

    So gab es nun mal eine Hauruck Auktion.


    Hatte ich drauf Lust? Nein

    Verbrät es viel Zeit? Ohja.


    Für einen Community Dienst kriegt man überall blöde Kommentare.


    Wer es meint besser machen zu können, meldet sich daher bei Stepke und kann gerne alle Fehler beseitigen.

    Hallo


    Liebe Community, leider hat scheinbar der Import von zusätzlichen Felder der Webdisk überhaupt nicht funktioniert, obwohl das mindestens 10 mal mit einem Testdatensatz (2/3 der Daten) immer geklappt hat.


    Ich bitte euch daher erst mal davor abzusehen, ältere Einträge zu reparieren.


    Sobald es meine Zeit zulässt werde ich mir den Datenbank Knoten ansehen und dann ggf. nicht geänderte Einträge versuchen zu reparieren.

    Der Bahnhofsadapter macht technisch auch nicht anders als der 100x100 Mod auf Steam wenn es um die Größe geht. (nur eben per Einstellung per bigStationSize gesteuert)


    Du kannst die Längen und Breiten Angaben für eine Station auf der Steam Version mit bigStationSize steuern, hier im Forum gibt es schon eine Version, die das auch einzeln kann mit Erklärung. (Kann auch 40 Meter Gleise bauen und man kann auch das Bahnhofsgebäude abschalten)


    Außerdem hat die Version hier im Forum eine Fehlerabfrage drin, die bei tgLeft / tgRight Problemen eine Warnung in der stdout.txt rausgibt und auffordert die Station Size Werte in den Einstellungen zu vergrößern. (Da fehlen einfach die Slots)


    Slotids werden erst nach einen Upgrade der Station geändert, einfach ein Mod austauschen bringt beim Debugging nix, sondern man muss auch die Station erst mal ändern.


    Wenn Ihr beim Debugging helfen wollt. Schaut wenn es zu Artefakte kommt, beim erweitern der Werte. Aber das geht nur, wenn Ihr mit einem neuen frischen Bahnhof ohne andere weiteren Mods startet. Wenn die Slot IDs im Savegame schon durcheinander sind, durch eine andere con, hilft nur abreißen von Teilen und neubauen.


    SlotIDs haben eine Position, eine neue / geänderte con kann diese Verschieben. Wenn dann ein Upgrade der Station ausgeführt werden Teile teleportiert.