Scriptsystem
Das Scriptsystem in OMSI ermöglicht es, dass Szenerieobjekte und vor allem Fahrzeuge mit individuellen Systemen ausgestattet werden können, die über Variablen und Funktionsaufrufe mit dem Hauptprogramm und der Grafik- und Soundengine kommunizieren.
Dateien des Scriptsystems
Das Scriptsystem umfasst folgende Dateien:
- Scriptdateien mit ausführbarem Code (*.sco)
- Varlist- und Stringvarlist-Dateien im OMSI\program-Verzeichnis zur Definition von Systemvariablen
- Varlist- und Stringvarlist-Dateien zur Definition von Uservariablen
- Constfile-Dateien zur Definition von Userkonstanten und Funktionstabellen
Abgesehen von den Dateien zur Definition von Systemvariablen müssen alle benötigten Dateien für jedes Fahrzeug/Szenerieobjekt (im folgenden kurz: Objekt) in dessen Konfigurationsdatei angemeldet werden.
Hierfür gibt es die Befehle [script], [varnamelist], [stringvarnamelist] und [constfile]. Der erste Eintrag jedes Befehls ist die Anzahl der Dateien, darauf folgen die entsprechenden Dateinamen (inkl. Pfad relativ zur Konfigurationsdatei. Die Namen der Dateien sind nicht relevant, solange sie korrekt in die Listen eingetragen werden.
Auf die Funktion der jeweiligen Dateien wird im Laufe der Beschreibung der Scriptsprache eingegangen.
Grundlagen der Scriptsprache
Das OMSI-Scriptsystem arbeitet mit der umgekehrten Polnischen Notation, kurz UPN. Ein ausführlicher Artikel hierzu findet sich in der Wikipedia. Hierbei steht der Operator hinter den beiden Operanden; vereinfacht gesagt bedeutet es, dass die Operation " 1 + 2 " stattdessen folgendermaßen notiert wird: " 1 2 + ". Ein komplizierteres Beispiel: " (1 + 2) * (3 + 4) " entspricht " 1 2 + 3 4 + * ".