Systemvariable wearlifespan

Das Forum befindet sich im reduzierten Betrieb. Die Addon- und Supportforen bleiben weiterhin verfügbar.
Bitte beachte, dass OMSI nicht mehr weiterentwickelt wird. Ein Teil der Entwickler widmet sich inzwischen der Entwicklung eines neuen Simulators. Weitere Informationen zum LOTUS-Simulator findest Du hier.
  • Hallo,


    vielleicht kann mir ja jemand weiterhelfen:


    - Im OMSI-Wiki ist "wearlifespan" als Systemvariable gelistet. Demnach muesste der Wert von "wearlifespan" mit (L.S.wearlifespan) aufgerufen werden.
    - Im OMSI-Wiki steht weiterhin der Hinweis, dass die Variable nicht verwendet werden soll.


    - In verschiedenen Bussen (z.B. Helvetes MB O530 II Facelift) wird die Variable "wearlifespan" als lokale Variable verwendet und mit (L.L.wearlifespan) aufgerufen.
    - Wearlifespan ist in keiner varlist (als lokale Variable) definiert.
    - Weiter kann man sehen, dass wearlifespan veschiedene Werte annimmt, die Variable scheint also zu funktionieren.
    - Die Logfile erkennt keine Fehler.



    Daher meine Fragen:


    - funktioniert wearlifespan mittlerweile als Systemvariable?
    - was ist der Ausgangswert, und wo wird dieser definiert?
    - wenn wearelifespan als Systemvariable funktioniert, warum laesst sie sich mit {L.L aurufen? Ist das ein OMSI-Bug?



    Gruss
    Peter

  • Laut dem Unterordner "program" ist "wearlifespan" sowohl eine Systemvariable als auch eine lokale Fahrzeugvariable.
    Sie lässt sich also in jedem Fall mit L.S. und L.L. aufrufen, ob die Aufrufe auch Sinn machen, steht dabei auf einem anderen Blatt.
    Der Inhalt hat m.W.n. etwas mit der Wartungsoption in den OMSI-Einstellungen zu tun, am Besten einfach mal etwas rumprobieren.

    :)
  • Danke fuer die Info!


    Wusste ich gar nicht, dass Systemvariablen auch lokale Variablen sein koennen.


    Den Skripten und der Uebersetzung nach definiert wearlifespan die Lebensdauer.
    Die Variable taucht auch in OMSI Original-Bussen auf im Zusammenhang mit Algorithmen, die die Abnutzung verschiedener Komponenten berechnen.
    Wearlife scheint demnach einen Standardwert zu haben, der dann (ueber die Zeit?) heruntergezaehlt wird.
    Wie koennte ich den Standardwert auslesen?

  • Naja, im Prinzip sind das zwei Variablen, die nichts miteinander zu tun haben, nur zufällig gleich heißen.
    Ich könnte bspw. auch eine lokale Variable "Time" nennen, die nichts mit der gleichnamigen Systemvariable zu tun haben muss.


    Den Inhalt von Variablen auslesen kann man am einfachsten über die laststn.osn im Ordner der jeweils geladenen Map.
    Öffne diese und such nach dem Namen deiner Variable, also in dem Fall "wearlifespan". Die Zahl darunter ist dann der aktuelle Wert.
    Du kannst den Wert natürlich auch z.B. auf dem IBIS-Display anzeigen lassen, indem du Skript oder model.cfg entsprechend bearbeitest.

  • Also, ich habe nochmal in den Original_OMSI-Bussen nachgesehen:


    Im SD 200 taucht wearlifespan in folgenden Dateien auf:


    collision
    door
    lights
    matrix


    Im MAN NG zusaetzlich in der elec.osc


    Wearlifespan wird in diesen Dateien ausschliesslich ueber (L.L.wearlifespan), also als Lokale Variable ausgelesen.
    Es gibt in diesen Dateien kein Kommando (also S.L), das einen neuen Wert fuer wearlifespan setzt.
    Wearlifespan ist in keiner lokalen Varlist definiert, es wird aber kein Fehler in der logfile angezeigt


    Ich habe mal den Wert im VDV Display bei einem frisch gespawnten Bus anzeigen lassen:


    - wenn man den Wert mit (L.L.wearlifspan) aufruft, ergibt sich ein Wert von 1.500.000
    - wenn man den Wert mit (L.S.wearlifespan) aufrugt, ergibt sich kein Wert


    Gleichzeitig verringert sich der Wert aber ueber die Zeit, wie man in der laststn.osn sehen kann


    Also hat wearlifespan sowohl die Eigenschaften einer System- als auch lokalen Variable:


    Systemvariable, weil:
    - Wert ist vorgeben und veraendert sich unabhaengig von Skript-Kommandos
    - benoetigt keinen Eintrag in einer lokalen varlist


    Lokale Variable, weil:
    - wird ueber L.L. (nicht: L.S.) aufgerufen
    - der Standardwert nur als lokale Variable zu existieren scheint.



    Meintest Du, dass alle Systemvariablen mit dem Kommandos (L.L), (S.L.) aufgeruefen werden koennen? Wo ist dann der Unterschied zu (L.S.) bzw. (S.S.) ?

  • Ich empfehle hier nochmals genauer hinzuschauen:
    http://www.omnibussimulator.de…inierte_lokalen_Variablen


    wearlifespan gibt es sowohl als Systemvariable als auch als vordefinierte lokale Variable. Das sind zwei verschiedene Variablen, die gleich heißen, aber unterschiedliche Werte haben können. Der Zugriff erfolgt ja auch unterschiedlich (L.L und L.S). Während die Systemvariable ganz einfach nicht genutzt werden soll und ihr Inhalt daher auch nicht interessiert, gibt es zur lokalen Fahrzeugvariable eine Beschreibung im Wiki.

  • Ok, jetzt habe ich den Abschnitt gefunden. Hatte aufgehoert zu lesen, als ich wearlifespan unter den Systemvariablen entdeckt hatte...



    Habe ich das richtig verstanden:


    - wenn wearlifespan nicht als lokale Variable in einer Varlist definiert ist, kann wearlifespan trotzdem mit konstantem Wert 1.500.000 abgerufen werden


    - wenn wearlifespan als lokale Variable in einer Varlist definiert ist, hat wearlifespan einen konstanten Ausgangswert (je nach Wartung). DIeser kann dann aber wie jede weitere Variable per (S.L.) Kommando veraendert werden