Fehlermeldungen und Lösungen

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


  • Beim Basteln stößt man bisweilen auf Fehlermeldungen, die aus völlig heiterem Himmel zu kommen scheinen und die auch nicht wirklich bei der Fehlersuche helfen.


    Dieser Thread soll zum diesbezüglichen Erfahrungsaustausch dienen. Wenn ihr also einen komischen Eintrag in der stdout.txt, einen befremdlichen CtD oder irgendwas anderes Unlogisches fabriziert habt - immer her damit. Und wenn ihr dann auch eine Erklärung dazu gefunden habt und die hier mit reinschreibt, um so besser - dann können nämlich alle anderen auch was davon lernen und ihre Fehlerjagd verkürzen :)


    Ich fange gleich mal an:


    Ein Test eines neuen Flugzeugs. Das Modell kaufen kann man, es im Hangar auf eine Linie setzen aber nur im Pausenmodus. Im laufenden Spiel, oder auch eine Sekunde nach Beenden der Pause folgt ein CtD mit diesem Fehler hier in der stdout.txt:


    c:\build\tpf2_gog\src\game\transport\path_util.cpp:174: struct transport::PathPos __cdecl transport::Move<struct std::pair<struct transport::EdgeId,bool>>(const class ecs::Engine *,int,const class transport::TpNetData &,const class std::vector<struct std::pair<struct transport::EdgeId,bool>,class std::allocator<struct std::pair<struct transport::EdgeId,bool> > > &,struct transport::PathPos,float): Assertion `dist < .0f' failed.


    Das lag daran, daß in der .mdl der Wert timeToFullThrust auf 0 gesetzt war und das Spiel offensichtlich nicht in der Lage war, damit die Leistungseinstellung zu berechnen...

  • Genau für sowas war auch mal die Idee, eine Liste von Fehlermeldungen anzulegen, inklusive Ursache/Problemlösung.

    Dabei entstand dieser Lexikon Artikel, der im Wesentlichen von mir ist: stdout.txt - Sammlung typischer Fehlermeldungen


    Der Fehler ist sogar schon in der Liste. Mir begegnete dieser Fehler beim "Flughafen außerhalb der Karte" wahrscheinlich weil der Flughafen zu hoch war und irgendwas bei der Pfadsuche schiefgegangen ist.

  • An dem Beispiel sieht man schon das die Fehlermeldungen nicht so ganz hilfreich sind ;) Bei dem einen war es ein Fahrzeug bei dem anderen ein Gebäude/Scriptmod(?) Man kann da also absolut keine Rückschlüsse ziehen um welche Art von Mod es sich handelt und auch nicht wo man suchen muss.

  • Und damit hast du genau den Sinn dieses Threads und VacuumTube s Lexikoneintrags erfaßt :)


    Es gibt Fehlermeldungen, deren Wortlaut keinen direkten, unmittelbaren Rückschluß auf ihre Ursache zuläßt. Wenn man also eine Sammlung hat, die Gründe für solche Ausgaben auflistet, dann mag das für den einen oder anderen Modder hilfreich sein und Frust bei der Fehlersuche vermeiden, wenn er hier ein paar zusammengetragene Fingerzeige vorfindet.

  • Die Ursache ist aber oft gleich. Auch wenn unterschiedliche Dinge zum selben Fehler führen, hat man so zumindest eine Richtung.


    Der Flughafen ist natürlich eine andere Art Mod, aber der Fehler ist ja auch beim Flugzeug (im Flug) aufgetreten. Bei 3000m Höhenunterschied gabs noch einen seltsamen Bug, bei 4000m trat der Fehler auf.


    Klar dass man mit manchen Fehlermeldungen nur sehr schwer auf eine verantwortliche Mod schließen kann. Da müssten einfach mehr und aussagekräftigere Infos mit angegeben werden.

  • Hier ist noch ein Fehler. it != m_key2value.end()

    Ich bekomme den selben Fehler (Absturz bei Fahrzeugkauf) wenn ich den Emission-Block bei Road Vehicles nicht in der .mdl habe. (Im Model Editor-Template für Road-Vehicles sind die Emissions nicht drin. Warum auch immer muss man es als extra Property auswählen).

  • Leicht möglich - aber daß in dem Spiel Fahrzeug nicht gleich Fahrzeug ist, sondern feine Unterschiede zwischen den Kategorien gemacht werden, ist auch nicht zu bestreiten. Der Fehler war jedenfalls mehrfach wiederholbar, und die einzige Änderung in der .mdl, die ihn beseitigt hat (nachdem alle anderen Änderungen rückgängig gemacht wurden) war das Nachtragen des erwähnten Blocks.


    Daß Schienenfahrzeuge nicht unbedingt ein Soundset brauchen, habe ich auch schon bei meinen wenigen Waggons festgestellt: die hatten alle ursprünglich keines installiert, weil ich es einfach nicht vermißt habe. Bei Flugzeugen funktioniert zum Beispiel auch nicht der Animationsauslöser "drive", was manchmal ein wenig schade ist.

  • Eben habe ich eine Stunde vor der Fehlersuche gesessen, nachdem ein mit @EAT1963s ansonsten extrem zuverlässigen Konverter bearbeitetes Modell nicht und nicht vom TPF2-Modelleditor zu öffnen war. Bei jedem Versuch hat der ME ein paar Sekunden gezögert und ist dann kommentarlos zusammengeklappt, das Spiel hat das Modell auch nicht öffnen mögen.


    Die Ursache hat sich inzwischen gezeigt: der Konverter kann Animationen, die nur aus einem Keyframe bestehen, nicht in eine .ani umrechnen (bevor die Frage kommt: die hätte ich dann in TPF2 zuende schreiben wollen). Diese führen dann zu einer Datei, die nur einen einzelnen Zeitpunkt, aber keine Matrix dazu beinhaltet, und das schießt sowohl das Spiel als auch den ME ab. Der TPF1-Modellviewer verträgt solche Anfänge einer Animation problemlos und benötigt sie sogar regelmäßig.


    Als Fehler möchte ich das nicht bezeichnen, weder beim ME oder Spiel noch beim Konverter, vielleicht ist es am ehesten eine Unverträglichkeit gegenüber unfertigen Animationen oder ein Problem, das beim Konvertieren von nicht fertig animierten Modellen entstehen kann.

  • Manche Animationen werden in der .mdl über die Sequenznummer des Teils angesprochen: Lichter, Steuerflächen von Flugzeugen und andere gehören in diese Kategorie.


    Wenn man hier zum Beispiel Teil Nr. 35 anfordert, aber es nur 34 Teile in dem jeweiligen LoD gibt, dann ist das Spiel dagegen eine Weile sehr tolerant und das Modell funktioniert. Sobald aber die fehlerhaft aufgerufene Animation aufgerufen wird, während die betroffene LoD gerade angezeigt wird, folgt sofort der CtD mit der einfachen Fehlermeldugn im Fenster "An error just occured". In der stdout.txt ist dann so etwas wie das hier zu finden:


    Ein Dank geht an Dunkel für die Hilfe bei der Fehlersuche.

    Einmal editiert, zuletzt von DH-106 ()

BlueBrixx