Omsi stürzt beim beenden wenn ein bestimmter Bus geladen immer ab (Scriptproblem?)

Willkommen in der OMSI-WebDisk!
Als Gast kannst du nur Inhalte in deiner ausgewählten Sprache sehen. Registrierte Nutzer können die Sichtbarkeit anderer Sprachen in ihrem Kontrollzentrum aktivieren, weitere Infos hier.
Alle Themen sind in den Foren mit einer Sprachflagge gekennzeichnet: = Englisch [EN], = Deutsch [DE], = Französisch [FR]. Wenn du die angegebene Sprache nicht beherrschst, schreibe auf Englisch!
  • Moin,

    ich habe leider (mal wieder) das Problem das OMSI, wenn ein bestimmter Bus geladen ist, beim beenden immer abstürzt und in der logfile leider genau 0 steht.


    Es muss an den Scripts liegen, denn wenn ich bestimmte Scripts raus mache, dann funktioniert es. Allerdings liegt es auch nicht nur an einem Script.

    Z.B. wenn ich das Innenanzeigenscript raus mache dann gehts.

    Aber auch wenn ich das Türscript raus mache geht es. Auch mit dem Innenanzeigenscript.


    Hat da wer vielleicht eine Idee?

  • Das Problem ist auf dem Discord von Sobol vor einiger Zeit im Detail diskutiert worden und ich habe es mit deinem C2 schon selber erlebt. Das Problem liegt ziemlich sicher an der Gesamtgröße der Scripts im Bus. Es gibt zwar an sich kein wirkliches Limit für die Größe der Scripts, aber ab einem bestimmten Punkt fängt Omsi an, ein solches Verhalten zu zeigen. Ich gehe ganz stark davon aus, dass der größte Übeltäter das riesige Script vom Atron ist. Wenn ich den durch ein anderes IBIS oder einen anderen Drucker ersetze, dessen Script kleiner ist, habe ich keine Probleme mehr.


    Schau da bitte nach, was du da alles kürzen kannst im Script. Gerade im Part zum Wechseln des Atron-Modells mit 340 Zeilen mit solchen ifs:

    Code
        (L.L.atron_ticketpad_Tickets_erweitert_1) 1 =
        {if}
        1 (S.L.atron_ticketpad_Tickets_erweitert_1_N)
        {else}
        0 (S.L.atron_ticketpad_Tickets_erweitert_1_N)
        {endif}

    die sich (fast) alle auch einfach so anschreiben lassen:

    Code
    (L.L.atron_ticketpad_Tickets_erweitert_1) (S.L.atron_ticketpad_Tickets_erweitert_1_N)

    gibt es einiges an Optimierungs-Potenzial, mit dem das Script auch wesentlich kleiner wird.



    Auch das Macro CharToCapital, das man auf die letzten vier Abfragen kürzen kann, weil der Rest nichts macht und ähnliche solche Script-Abfragen lassen sich sehr schön in der Größe optimieren. Ähnlich schaut es bei vielen anderen String-Abfragen aus.

  • That was a problem I had with the release version as well, solved by simplifying the cockpit.osc script: it's worth having a look into it as it has too many lines of code to check the vehicle number.

    It's better to convert it to float and then check if it falls within a range, if possible, so you can save some a little memory and avoid the problem.

  • Hmm, leider muss ich da was anderes einwerfen:


    DIe Probleme hatte ich auch, allerdings in Bussen, die den Atron garnicht mehr verbaut hatten.


    Letztendlich war es bei mir die bremse.osc vom Capacity sowie die door.osc für manuelle Türen beim Gelenkbus.

    Mit dem Tausch auf die normale bremse.osc und die Autoddor-Variante war das weg.

  • Ich werfe mein Problem hier mal mit rein wenn es okay ist.


    Bei mir zeigt sich das Problem wie folgt, ich lade einen bestimmten Bus und wenn ich dann einen zweiten daneben stellen möchte stürzt OMSI ab sobald das Bus-Auswahl Fenster öffnet. Als KI fährt der Bus aber ganz normal und ich kann Busse platzieren.


    Es kommt nur ein Fehler in der Bereichsprüfung die Log ist absolut sauber. Könnte das auch an einem Script liegen?

    Gruß



    Tom

  • mit dem das Script auch wesentlich kleiner wird.

    Ich hab das jetzt im Übrigen mal beim Iveco getestet, den Atron einzubauen... Ich hab's zwar geschafft das Script von 10000 auf 5000 Zeilen zu reduzieren, aber keine Chance. OMSI stürzt auch weiterhin ab. Das komische: mein vorheriges IVU-Script hatte knappe 4000 Zeilen und damit funktionierte es problemlos. Selbst wenn ich das Atron-Script auf 3500 kürze, wird das nichts.

    Irgendwie liegt das auch an der Komplexität der Scripte.