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
-
-
Du hast den Teil zur Testing version 35922 bzw 35924 gelesen? Benutzt du Linux?
Bis jetzt hat bei mir noch keine Vorfahrtsregel beim Testen funktioniert...
Ich kann auch keine Crashes feststellen deswegen.
Ich benutze zum Testen öfters die Ladefunktion aus dem Hauptmenü.
Wo konntest du etwas nicht laden? Der Unterschied zwischen der letzten Version und der vorherigen ist auch sehr gering...
-
Steht zwar auf meiner Todoliste, aber mit 0 Priorität...
-
Also laut stdout.txt
hat CommonAPI2 die Hektometertafeln nach
local\mods\dh106_Hektometertafeln_1
extrahiert, sind dort keine Daten zu finden?
-
stdout.txt? Fehlermeldung?
-
Da es ja ein echtes Townbuilding ist, da gibt es in TPF2 eigentlich kein Möglichkeit dieses zu triggern, die Daten kommen von C++ Code Seite. Stadterweiterungen laufen im eigene Thread.
Mir fällt da eigentlich nur ein Script Mod ein, das während der Verschiebens/Umbau von Straßen das Proposal der Konstruktion ändert. Wobei man ja da auf die Parcels auch keinen Einfluss hat.
Da ja jetzt die Position bekannt ist. Wurde da irgendwas in der Nähe geändert in der letzten (Spiel)Zeit?
Es kann dann ggf. auch ein Arbeitsspeicherfehler sein, der sich beim erstellen der Daten für dieses Gebäude gezeigt hat (bit flip),
oder irgendwo ein fehlerhafter Pointer und Daten da geschrieben wurden. Nur so ein Pointerfehler verursacht in der Regel viel mehr Schaden im Speicher als ein Bit.
-
Also der Priority wird in StreetGeometry::CreateCrossing angesprochen und kommt direkt vom StreetTypeRep, die precedenceNode der BaseEdgeStreet werden dort nicht genutzt...
Code{ ... priority = StreetTypeRep::Get(streetTypeRep, *v57)->priority; if ( temp < priority ) temp = priority; ++streetCnt; } while ( maxStreetCnt != streetCnt ); if ( vUnknown != 2 || temp >= StreetTypeRep::Get(streetTypeRep, v0_i)->priority )-edit-
Ich finde keinen Code der irgendwas mit den ecs::component::BaseEdgeStreet precedenceNode0 bzw. precedenceNode1 anfängt

-
Also ich hab mal die Analyse der Binärdateien für Linux Build 35915 und 35922 angeschaut, da ist kein capacidy drin.
Mal Mod Dateien durchgeschaut, oder Mods die Konstruktionen verschieben können?
C++ Code macht ungefähr das hier in BuildingTypeRep::ConstructProposal, und parcel_util::anonymous::Build, da kommt dann noch parcelFace später dazu.
Also weiteren Code hab ich nicht für Stadtgebäude gefunden.
Code
Alles anzeigenlua::Table::Set(v300, "seed", a3a); a3a = a2->capacity; lua::Table::Set(v300, "capacity",a3a); a3a= (a2->parcels._M_finish - a2->parcels._M_start) * 10.0; lua::Table::Set(v300, "width", a3a); a3a = a2->depth * 10.0;; lua::Table::Set(v300, "depth", &a3a); // parcelFace if ( !entry->name.size_ ) { Assert( "!m_types[iindex].name.empty()", "../../train_fever/src/Lib/Util/ResTypeRep.h", 161LL, "const Type& ResTypeRep<Type_, IdType_>::Get(ResTypeRep<Type_, IdType_>::IdType) const [with Type_ = ConstructionDesc; IdType_ = ConstructionId; ResTypeRepType_, IdType_>::Type = ConstructionDesc; ResTypeRep<Type_, IdType_>::IdType = ConstructionId]"); } pdesc = entry->pdesc if ( !pdesc->updateFn._M_manager ) { std::__throw_bad_function_call(); } // hier wird die updateFn durch TPF2 aufgerufen: pdesc->updateFn._M_invoker(&result, &pdesc->updateFn, &v300); ConstructionResultReturn::copy(&conresult, &result);"capacity" ist eine char Konstante, die wird auch beim Kompilieren zusammengefasst und zum Beispiel für die Kapazität von Fahrzeugen genutzt.
Mir kann also nur einfallen, das auf der Karte eine (Industrie)Konstruktion erstellt wurde, mit der Nutzung der Gebäude con Datei und falsche Daten.
Sonst würde jedes Bauen eines Stadtgebäudes einen Fehler triggern.
Ich hab den Code ziemlich auseinander genommen um echte Stadthäuser zu bauen, aber die Parcels wollen nicht... (daher hat der Code da auch sehr viele von mir vergebene Namen)
-edit-
Du kannst ja mal jede Konstruktion der Karte per lua testen ob du irgendwo capacidy drin hast
-
Es könnte auch was mit Sims anstellen, keine Ahnung, vielleicht wird es auch gar nicht mehr Umgesetzt. Ich hab bis jetzt nicht wirklich ein Ergebnis.
-edit-
Linux Build 35924 geht mit CommonAPI 20241210 und buildoverwrite: steam_35924_2
Window Build 35924 geht mit CommonAPI 20241210 und buildoverwrite: steam_35924_1
-edit-
Es ändert in der anliegenden Straße ecs::component::BaseEdgeStreet precedenceNode0 bzw. precedenceNode1 um.
-
Is the Asset a proper construction?
Only a construction can have a Name, can you click on it and change it's name after you build it?
Please see about constructions that are reduced to simple models:
To improve performance, for simple constructions that do not contain ground faces, terrain alignments, edges or depot/station/industry/town building definitions, there is no construction placed in the game but just the seperate mdls. These can not be configured afterwards or be deleted all at once. Furthermore these types of assets do not support the labelText custom texts from constructions.
-
You can use NAME for ASSET construction...
-
Last time I checked the code for streetTerminals (bus stops), they don't support STATION_NAME.
CommonAPI2 changes this with FlexStreets enabled:
https://commonapi2.bytetransfe…abelTypes?id=station_name
The UG Modeleditor has no clue about what is supported by a build Model. This depends on what kind of thing is build in the game.
-
TPF2 hat als Übersetzung "Vortritt" dazu. (Schweiz Vortritt -> Vorfahrt)
msgid "Toggle precedence"
msgstr "Vortritt ein/aus"
Es kam mir halt die Build 35922 dazwischen, die unter Linux ein kaputtes Fragment verursacht hat.
Ich konnte die Funktion bisher nicht weiter ergründen.
-
Es gibt keine maximale Breite des Fensters, diese wird von TPF2 kontrolliert. = Größe der Renderfläche.
Setze ich eine maximale Breite , kann das Fenster nicht mehr automatisch die Größe ändern bzw. größer werden.
Darüber hinaus hatte ich Probleme bei der Entwicklung des Fensters.
Die maximalen Breite und der Skalierungsfunktion in TPF2 haben damals nicht zusammen funktioniert.
Seitdem hat UG mehrere Sachen verändert, ich schreibe es mir mal auf die Todoliste und versuche da eine Lösung zu erarbeiten.
-
Ich habe kein großes Fenster.
Das Fenster passt sich ggf. den Entity Daten an.CommonAPI2 20241210 für Build 35915 und für Build 35922 (testing)
Ein neues Feature bzw. eine Freischaltung von einer Sache die in TPF2 schlummert.
TPF2 hat intern eine Vorrang Funktion bei Kreuzungen, ob dies wirklich richtig funktioniert, keine Ahnung.
Ich bitte daher um Tests:Des weiteren hab ich mal endlich den Straßenteil für die Gleis und Straßentoolbox eingebaut.
1.9.20241210
- Build 35922 support
- street layer: add a button to get access to hidden street precedence
- track and street toolbox: add support for street embankment
- track and street toolbox: fix german translation not used
- fix linux 7zip version detection not working
- download windows 7zip version 2409
PS: Wer unter Linux mit der Steam Sandbox & 7zip Probleme hat, kopiert /usr/bin/7z ggf. /usr/bin/7zz in das TPF2 Verzeichnis. (Kein Symlink, das geht wegen der Sandbox nicht)
Unter CommonAPI2 nehmt Ihr als 7z Einstellung dann einfach ./7z
-edit-
Linux Build 35924 geht mit CommonAPI 20241210 und buildoverwrite: steam_35924_2
Windows Build 35924 geht mit CommonAPI 20241210 und buildoverwrite: steam_35924_1
Alternativ CommonAPI 20241220 nutzen!
-
CommonAPI2 Top Menu => Dll is loaded. That is not a bug, but a way to do mod management and change the game.
If you want to disable CommonAPI2, you can remove/uninstall CommonAPI2.
-
Nur für "Schönbauer", wirtschaftlich eher nicht.
Gedankenexperiment: Aus einer Line drei machen.
Zuglinie A -> Wasserline 1 -> Zugline B
https://commonapi2.bytetransfer.de/#/features/NewLineEvents
CommonAPI2 -> New Line Events ->
Zugumbauen wenn Zuglinie A bei der Fähre ist. Fahrzeug anhalten, Leute sind ausgestiegen und laufen zur Fähre
(Sprich die Wagons abhängen bzw. durch unsichtbare ersetzen) und einzelne Lok stehen lassen.
Wasserline 1 wartet und bekommt das Event zum Losfahren (gesteuert von Zug A)
Wasserline 1 Fähre wenn bei Zugline B angekommen, anhalten.
Zug B umbauen und mit Wagons bestücken und starten. ( gesteuert von Fähre an Haltepunkt B)
Wenn Zug B bei Wasserline 1 angekommen, Zug B anhalten & umbauen, Wasserline 1 starten. ( gesteuert von Zug B an Haltepunkt B)
Wenn Wasserline 1 bei Zug A ist, anhalten, Zug A umbauen und losschicken. ( gesteuert von Fähre an Haltepunkt A)
Technisch sollte es möglich sein. Getestet hab ich das noch nie...
Aber mit Line Events kann man eigentlich alles ansprechen was TPF2 einem an Script Möglichkeiten anbietet. Sprich das wäre dann cmd setUserStopped um den Fahrzeuge zu kontrollieren. Ein Fahrplan ist das eigentlich nicht, sondern eher ein Staffelstabsystem...
PS: Ich bin mir bewusst das der Editor für die Line Events nicht schön ist, TPF2 hat keine Multiline Text Editor Komponente

-
Die Frage ist, ob du in der Steam Sandbox gefangen bist.
Du kannst natürlich unter Pathname in den Einstellungen auch /run/current-system/sw/bin/7z nutzen. DIe Versionsüberprüfung wird aber ggf. trotzdem Fehlschlagen.
Wird commonapi._native.fs.realpath("/run/current-system/sw/bin/7z") überhaupt was finden. Wenn, ja, gut. Wenn nicht, bleibt meine Frage von früher stehen.
Wer sich mit dem Steamgedöns auskennt, her mit Infos...
Als Info, hier mal ein Beispiel wo bei Steam bei mir dann das temporäre Dateisystem ablegt wenn TPF2 läuft. (Das wird also bei jedem Aufruf neu aufgebaut!)
/ZEUGS/Games/Steam/steamapps/common/SteamLinuxRuntime_soldier/var/tmp-349XX2/
Ich spiele mit libarchive herum, vielleicht werde ich 7z durch eine statische Binärdatei ersetzen... bis jetzt hab ich aber nur ein bsdtar mit 2.5MB, das ist etwas sehr groß...
-
Du hast einen Großen Topf.
Ein LLM versucht die wahrscheinlichste Lösung (Statistisch aus den Ausgangsdaten "Lerndaten") wiederzugeben.
Nur weil du ein Interface für ein Entity brauchst, wird es sich aus seinen Daten das passendes oder am besten gelerntes Schema raus suchen. "Halluzinieren"
Es ist daher wahrscheinlich, das du da was für Unity oder eine große Engine herausbekommst aber nichts passendes.
Wenn du dein Frage so präzise stellst, das die KI richtig antwortet hast du den größten Teil der Überlegung schon angestellt.
Wenn die Frage zu ungenau ist, wird dir das LLM irgendwas passendes Zusammenkleben. Dabei kann es nicht entscheiden ob das Richtig oder Falsch ist.
PS: Und noch ein großes Problem, ihr habt da jetzt Bilder gepostet, wenn nun irgendwann eine KI lernt, wird Ihr eure Kreationen als Lerndaten nehmen.
D.h. die Datenbasis wird dadurch auch noch zunehmend schlechter...
Und noch was, wenn Ihr reproduzierbare Tests fahren wollt, schreibt die "Frage" bzw. Prompt dazu, das jeder das Ergebnis nachvollziehen kann. Spaßeshalber versucht die gleiche Herangehensweise in zwei drei Monaten. Höchstwahrscheinlich bekommt Ihr ein komplett anderes Ergebnis. Das kann besser aber auch viel schlechter sein!-edit2-
So und nun stellt euch vor dieses Gedankenexperiment mit der Hypothese vor, das das LLM LUA und TPF2 kennt und sogar etwas brauchbares erzeugt:
Ihr lässt euch ein Mod erstellen, Ihr erhaltet ein brauchbares Ergebnis. TPF2 bekommt ne neue Funktion. Das LLM wird neu trainiert (Voraussetzung irgendjemand hat mal ein Beispiel gebaut, damit es dann abkupfern kann)Ihr gibt den selben Auftrag von damals, nur jetzt kommt was kaputtes raus.
Ähnliche Problemstellungen gibt es schon bei Bildern. Versucht von einem Bild alle Perspektiven zu erhalten.
-
Zum Thema Linux:
Seit der letzten Version von UG wird TPF2 in pressure-vessel (Steam Runtime Sandbox mit Bubblewrap) ausgeführt, damit gibt es keinen Zugriff mehr auf lokale Binaries.
Hab mal ein paar Sachen versucht, der Sandbox 7zip unterzujubeln, das hat leider nicht funktioniert.
Wer Ideen dazu hat, immer her damit...