Scripterweiterung nur bei Spieler

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.
Ein communitybetriebenes Nachfolge-Forum wird hier verlinkt, sobald es gegründet und bereit ist.
  • Gude, analog zu einem sehr alten Tutorial zum IBIS 2 wollte ich die ibox mit der Funktion ausstatten an der Endstelle automatisch auf "www.avg-ahlheim.de" zu schildern; für den Spieler klappt das auch.
    Die KI fährt jedoch meist komplett mit dieser Anzeig rum. Kann man irgendwie ergänzen, dass die AI diesen Befehl missachtet? Denn dadurch steigen die Fahrgäste bei den KI-Kollegen nicht ein.
    Aktuell:


    Evtl kann mir da einer helfen. Beim Spieler funktioniert es exat so wie es soll.

    ehemals 0000Bus


    "Minicar nix dürfen rumlungern
    Minicar machen aber rumlungern überall" Zitat maxo3 2k16

  • Du kannst ganz einfach über die Variable "AI" herausfinden, ob der Bus als KI unterwegs ist oder nicht.
    Dementsprechend könnte die Abfrage in deinem Codeabschnitt etwa so aussehen (beachte die zweite Zeile):

    Code
    1. (L.L.IBIS_RouteIndex) (M.V.GetBusstopCount) 1 - (L.L.IBIS_busstop) <=
    2. (L.L.AI) ! &&
    3. {if}
    4. 001 (S.L.IBIS_TerminusCode)
    5. (M.V.GetTerminusIndex) s0
    6. l0 (S.L.IBIS_TerminusIndex)
    7. (M.L.IBIS_RefreshTerminusText)
    8. {endif}
  • Mit der KI könnte es auch funktionieren, wenn du bei aktiver KI (Variable AI=1) nicht auf IBIS_RouteIndex (ist bei KI vermutlich immer 0?), sondern mit den System-Makros GetTTBusstopCount und GetTTBusstopIndex arbeitest. Wäre nur so eine Idee.
    Die führenden Nullen beim Terminuscode kannst du dir übrigens sparen. Der Datentyp kennt keinen Unterschied zwischen 1 und 001, das ist beides der Wert 1.