Beiträge von eis_os

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


    Unter Windows versucht mal:

    C:\Program Files\7-Zip\7z.exe



    -edit-

    Unter Linux, liegt /usr/bin/7z dort?


    Mal unter der UG Console aufrufen:

    commonapi._native.fs.realpath("/usr/bin/bash")

    Ergebnis sollte "/usr/bin/bash" sein


    Was passiert bei:

    commonapi._native.fs.realpath("/usr/bin/7z")


    -/edit-



    Emiliocat: Keine Ahnung, aus der Webdisk herunterladen. Vielleicht hast du rendermode auf 2

    Wenn es reproduzierbar aufritt:


    Die Frage ist, wurden gerade selber StreetTerminals erstellt?

    Gibt es vor dem Crash immer UpdateEdgeObjectStreetTerminal_AddComponent_Station_Hook Aufzeichnungen?

    -> Wenn Ja, mal newevents in der CommonAPI2 abschalten, neu starten und testen.

    -> Wenn Nein, war es womöglich nur ein Zufall.


    Und wieder mal eine Randbemerkung. Immer wenn CommonAPI2 ein Event erstellt für den EdgeObject umbau/neubau wird ein Eintrag

    UpdateEdgeObjectStreetTerminal_AddComponent_Station_Hook in der stdout.txt veranlasst. Das ist kein Fehler sondern ein Hinweis was da passiert.



    Aber danach wird das Spiel natürlich noch weiter laufen ggf. ohne weitere Logeintrag bis es woanders zum Crash kommt.

    UpdateEdgeObjectStreetTerminal kann auch keine Winkel eine ecs::component::BaseEdge ändern.


    CreateAngleMap wird auch nur bei der automatischen Vergrößerung einer Stadt (Straßenbau) aufgerufen, soweit ich das Überblicken kann.

    Daher ist es Unwahrscheinlich, wenn man den Bulldozer oder ein anderes Tool benutzt, diesen Fehler selber zu produzieren.


    Wenn jemand ein kleines Savegame hat, kann ich mir das mal Anschauen. Versprechen möchte ich nix.


    Ich würde auf Build Without Collision Nebeneffekte tippen, oder eine Straße ist total verrückt gebaut. Sprich die Tangente an einem Node ist total daneben.

    Wenn es solche Stellen auf der Karte gibt, diese halt mal großzügig Platt machen und dann schauen was passiert...

    Ja., das hab ich ja schon geschrieben. Das ist ein anderer Patch bei Konstruktionen, der aber eigentlich nur auf Straßen und nicht auf die Konstruktion Lanes wirkt. (Die XL Station hat auch keinen Schalter)

    Nur zur Sicherheit hätte ich gerne eine stdout.txt,


    Kannst du eine kleine Karte neu erstellen (Vielleicht liegt es an der Kartengröße), schauen ob die Karte den Fehler produziert und mir via Swisstransfer senden?

    Passiert das auch, nachdem du die Karte einmalig speicherst und diese wieder lädst?

    Wenn du eine Rasengleis Straße im Failback Modus lädst (CommonAPI2 nicht geladen / Flexstreets fehlt), hast du dort halt auch BusTramspur.


    Damit verhindere ich, dass ein Savegame beim Laden abstürzen würde.

    Sobald Flexstreets wieder vorhanden ist, ist das Rasengleis keine Busspur mehr.


    Die Art einer Haltestelle wird durch die Lane bestimmt, auf deren sich der Fahrzeughaltepunkt befindet. (Debug Modes Lanes -> Punkt mit Umrandung)

    Das Stationsschild bildet dafür einen guten Hinweis. Da es eine feste 1zu 1 Zuordnung zwischen Wartebereich und Haltepunkt gibt, können nicht mehrere Fahrbahnen als Haltepunkte genutzt werden.



    Der Aspekt welche Art von Lane als Failback herauskommtm ist im Handbuch beschrieben, im Teil für das Erstellen von Straßenmods.

    Also wenn das Mittelgleis nur aus Tramgleisen besteht, hast du natürlich auch nur eine Haltestelle für Trams. (kommt halt dann darauf an wo der Haltepunkt liegt)


    Eine Konstruktion wird aber ganz anders gebaut. Die Tramfunktion dort wird ja als Parameter abgewickelt, tramCatenaryYearFrom = 1875. Da bin ich mir jetzt unsicher.


    Ich möchte nicht Ausschließen das die Änderungen bei Flexstreets doch bei irgendwelchen Sonderfälle Probleme bereiten könnten.


    Daher, welches Jahr hast du? Die XL Tramstation ist erst ab 1950 verfügbar. Hab ein Spiel mit CommonAPI2, Straßen, Tramgleise und XL Station geladen bzw. erstellt ab 1960:




    Wird es beim Bau immer unterschiedlich oder ist es pro neuer Karte entweder alles immer Tram only oder Bus only?

    Zitat von Straßenpaket Download Eintrag

    Kompatibilitätsprobleme:

    Nicht kompatibel mit Strassen-Fine-Tuning

    (Steam ID 2021038808)

    (Es schaltet die Tram Strassen ab, weitere Seiteneffekte kann ich nicht ausschließen)

    Entweder oder. Lollus schaltet einfach ohne Gnade alle Straßen mit Trams ab.

    Was ändern will er wohl daran auch nicht...

    Mal eine "fertige" Version für Build 35915 Steam & GOG für Windows & Linux

    1.9.20241109

    - Build 35915 Steam and GOG support

    - New CopyPaste window: let you copy / paste constructions, save and load to file

    - inspect window: trace gui events to stdout.txt

    - secondaryui: more robust setMouseListener handling

    - FlexStreets: Add support for changing tram tracks via tram upgrade tool

    - fix SecondaryMenuWindow position in failbackmode via invokeLater hack



    Downloads:

    >>> CommonAPI2 Download

    >>> Streetpackage Download

    >>> Tram Tracks Download

    stdout.txt? iOS? Tablet / Handy wäre mir neu. Oder meinst du MacOS?


    Also ich hab erst vorgestern CommonAPI2 Inspector ohne so lib benutzt um etwaige Änderungen der UG Schnittstellen auszuschließen.

    (Ich hab keine Daten erhalten, also habe ich ohne Lib getestet und das selbe Problem gehabt).


    Ggf. musst du den API Knopf zweimal drücken, das Menü Fenster will manchmal die Größe nicht berechnen.


    Hier mal ein Bild von gerade eben auf Linux ohne CommonAPI2 so library, man sieht auch hat man auch nur noch 3 Optionen in der Menüliste.


    PS: Du benutzt aber nicht die Steam Version ohne Inhalt der als Platzhalter fungiert damit ich keine Supportanfragen bekomme, weil Spieler CommonAPI2 nicht aus Ihrem Spielstand entfernt bekommen haben?

    https://commonapi2.bytetransfe…requirements/requirements

    • Windows 10 1803 or higher (see windows requirements)
    • Linux
    • TransportFever2 Steam or GOG Version

    Nix MacOS


    99% der CommonAPI2 funktioniert nicht auf Mac:

    - Das Inspector Fenster funktioniert, kann aber nur Daten der offiziellen API anzeigen.

    - Checkmods sollte funktionieren.


    Es wird keine Mac Version geben.

    Ich müsste einen Apple Developer Account haben inkl. Mac und noch mehr Zeit verbraten.

    Jede x86 Version ist anders, jede Build ist anders. Linux & Windows benutze ich halt selber und bekommen daher Unterstützung.


    Obwohl ich eher auf Linux "Spiele" bekommen ich eine Unterstützung für Windows Builds schneller zusammen, da GCC weit mehr optimiert und daher leichte Änderungen schon erhebliche Binäränderungen hervorrufen.


    PS: Vergleicht CommonAPI2 nicht mit irgendwelchen Mods für Spiele wie Unity. Der C# Bytecode ist für alle Plattformen normalerweise identisch und wird erst auf dem Zielsystem optimiert. x86-64 Assembler ist halt ne andere Hausnummer...

    oberhausener68

    Also wenn du eine Version 20240607 nutzt wird das natürlich nicht gehen :rolleyes:

    Ich tippe mal, du hast auch das Fenster für Neuerungen noch nicht abgeschaltet.

    Code: stdout_old.txt
    commonapi2.init    20240607
    commonapi2.init: Your TPF2 version 'steam_35915_1' isn't listed as known good version, please update CommonAPI2


    Wenn man mal in den Release Thread schaut:


    Und das wiederum verlinkt drei Nachrichten über deine Nachricht...



    WernerK


    Ein entfernen der Einträge würde zum verschieben der internen Ids führen, danach ist das Savegame Schrott.

    stdout.txt, settings.lua der CommonAPI2, Gibt es ne Nachricht auf dem Hauptmenü von TPF2 unten links? Wie soll man den Helfen wenn man keine Informationen bekommt.


    Es sollten alle Funktionen laufen... unter Linux wie auch unter Windows in der Steam Version... Zur GOG Version bin ich nicht zu gekommen bis jetzt... (Aber dann gibt es wie immer eine Nachricht unten Links im TPF2 Hauptmenü)

    Ja, die Verbindungen sind nicht an irgendwelche transportModes gebunden.


    TPF2 speichert eine ConnectionMap, die ich beeinflusse. Das ist im Endeffekt eine Liste mit (QuellStraße, QuellNodeID) -> (ZielStraßen, NodeID) Verbindungen.
    Das hat sich seit Build 359xx geändert intern, da ist technisch nun sogar wenig Platz drin, sprich da hat UG Speicher optimiert.


    Das steht auf meiner Todoliste noch mal nachzuforschen, ob ich da noch was anders Handhaben kann. Die UI für so etwas wäre dann auch spannend...


    Wenn mir jemand ne Idee bringen kann wie ich es verhindere, das sich zwei Trams auf der Eingleisigen Strecke begegnen und deswegen stehenbleiben...

    (Der Betriebshof hat zwei Haltestellen, eine "Ausstieg", damit die Line richtig rum funktioniert. )


    Da ist nix überbaut, das ist via Nodeditor advMode verbunden.

    Wer es ausprobieren möchte, muss


    advMode = false,  in advMode = true, in der Datei res/scripts/commonapi2/ui2/NodeWindow.lua  (Zeile ~325) ändern.

    Dann habt Ihr im NodeEditor Lila Start Nodes für "Gegenverkehr" Nur zu empfehlen bei Lanes mit reinen Gleisen, sonst habt ihr bald alles Geisterfahrer :)

    Was mich ärgert ist, das meine CommonAPI2 so hingestellt wird, als würde das Spiel dadurch total instabil. "Beta"


    Ich arbeite an Sachen, die mir Spaß machen und Sinnvoll erscheinen. Bei meinen Tramstraßen habe ich UG genau berichtet was ich haben möchte, das ich die auch ohne CommonAPI2 bauen kann. Daraus wurde mal wieder nix, wenn ich dann schon den Code komplett auseinander nehmen muss, kann ich direkt auch bestimmte Sachen ändern.

    (Trams in der Mitte hab ich schon früher versucht in TPF1)


    CommonAPI2 ist aus dem ignorieren des Feedbacks zu den miesen Anbindung von Modgleisen bei Release in Konstruktionen entstanden. Das wurde ja erst später mit postRunFn gerade gebogen. So richtig glücklich bin ich damit aber nicht.


    So führte die Einführung der Tramlanes in der Mitte einer Straße zur Analyse wie Lanes überhaupt funktionieren, das führte zum Inspector Fenster, das zur Analyse der Attribute Map.

    Hatte ich irgendwann mal verstanden wie UG die Straßen baut und dann Rendert, konnte ich mir das mit den Nodes anschauen. Daraus wurde dann der Nodeeditor. (Weil Wendeschleifen so schrecklich aussahen) und ich Konstruktionen wegen echter Stadthäuser auch schrecklich finde.


    Bei der Überlegung wie ich Eisenbahngleise dazu bringe eine andere Fahrleitung anzuzeigen, bzw. den Mast nicht auf meine Weiche zu pflanzen hab ich nach Möglichkeiten gesucht, irgendwo dort ein paar Bits zu speichern. Da ist halt nur an/aus Oberleitung drin, aber das führte mich dazu das man ja eigentlich bei Trams mindestens 3 zustände braucht. In so ein Byte bekommt man dann halt mal 256 Zustände rein. Zum Glück optimierte UG das nicht und hab da quasi fast überall Platz ;)


    Der Prototype ist dann innerhalb zwei Tagen entstanden!.

    Die Infrastruktur, laden von Modgleisen, schauen wie ich Trams das als elektrischen Weg verkaufen kann war dann eine Menge Arbeit.

    Funfact: Das erste Modtramgleis zum Laden lag im ATS Mod Verzeichnis, da schließt sich der Kreis, :P


    Ich würde behaupten, mit dem direkten Zugriff auf den Quellcode hätte ich das Feature innerhalb eines Monats Vollzeit komplett erstellt.

    Es ist halt sehr viel Mehrarbeit wenn ich erst ne Infrastruktur bauen muss um zum Beispiel die Tramgleise zu laden als wenn ich in TPF2 Code einfach ResType<TramTrack> hinzufügen könnte. Zurzeit muss ich mich auch begnügen alle Gleise als elektrisch zu betrachten. Das ist eine Byteänderung, mehr Platz hab ich dort nicht.