OrbiterManual/de/v060929/Script Interface

From OrbiterWiki
Revision as of 02:44, 31 October 2021 by Arvil (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

NEW

19 Skriptschnittstelle[edit]

Orbiter enthält ein Skript-Interpreter-Modul, das es ermöglicht, eine Vielzahl von Simulationsaufgaben mit Hilfe von Skripten zu steuern. Zu den Skriptanwendungen gehören Autopiloten, MFD-Steuerung, interaktive Tutorials, Mission Control und viele andere.

Die Orbiter-Skript-Engine verwendet die Skriptsprache Lua (www/lua.org). Der Standard-Lua-Befehlssatz wurde um eine Vielzahl von Funktionen und Methoden erweitert, um eine Schnittstelle zur Orbiter-Simulationsumgebung bereitzustellen. Die Lua-Orbiter-Schnittstelle repliziert weitgehend die Orbiter C++ API-Schnittstelle.

Für den Zugriff auf die Skriptschnittstelle stehen Benutzern und Entwicklern mehrere Methoden zur Verfügung:

•Konsolenfenster: Stellen Sie sicher, dass das LuaConsole-Modul auf der Registerkarte Module des Orbiter-Launchpads aktiviert ist. Die Konsole kann dann geöffnet werden, indem Sie das Lua-Konsolenfenster aus der benutzerdefinierten Befehlsliste (CtrlF1) auswählen.

•Terminal-MFD: Stellen Sie sicher, dass das LuaMFD-Modul auf der Registerkarte Module des Orbiter-Launchpads aktiviert ist. Der Terminal-MFD-Modus ist dann verfügbar über ShiftF1 - ShiftT.

•Führen Sie beim Starten eines Szenarios ein Skript aus. Dies ist nützlich für Szenarien im Missions- oder Tutorial-Stil.

•Führen Sie mithilfe der Orbiter-API einen Lua-Befehl oder ein Skript von einem Modul aus aus. Dies ist nützlich für die Implementierung von Autopiloten und Steuersystemen.

Skriptbeispiele und eine Liste der verfügbaren Funktionen finden Sie im Abschnitt „Orbiter Scripting User Manual“ in der Orbiter Online-Hilfe (verfügbar über die Schaltfläche „Help“ im Launchpad-Fenster oder mit AltH über die Simulation. Von einem Terminal (Konsolenfenster oder Terminal-MFD) können Sie auf das Skripthandbuch zugreifen, indem Sie Folgendes eingeben: help(api).

19.1 Konsolenfenster[edit]

Scrnshot 2010 1901.jpg

Die Konsole ermöglicht die Eingabe von Befehlen oder das Starten von Skripten, die verschiedene Aspekte des Verhaltens von Raumfahrzeugen steuern. Um das Konsolenfenster zu öffnen, wählen Sie Lua-Konsolenfenster aus der benutzerdefinierten Befehlsliste (CtrlF4). Wenn diese Option nicht verfügbar ist, aktivieren Sie das LuaConsole-Modul auf der Registerkarte Module des Orbiter-Launchpad-Dialogs.

Das Konsolenfenster ist eine einfache Terminalschnittstelle. Benutzereingaben werden schwarz dargestellt, Programmantworten werden grün dargestellt. Das Fenster kann in der Größe geändert werden. Die Schriftgröße kann über das Konsolenkonfigurationselement auf der Registerkarte Extras des Orbiter-Launchpads ausgewählt werden. Die Konsole ermöglicht eine einfache Befehlszeilenbearbeitung und das Scrollen durch die Befehlshistorie über die Taste.

19.2 Terminal-MFD[edit]

Der Terminal-MFD-Modus ist über den Terminal-MFD-Eintrag (ShiftT) der MFD-Auswahlliste (ShiftF1) verfügbar. Wenn dieser Eintrag nicht verfügbar ist, aktivieren Sie das LuaMFD-Modul auf der Registerkarte Module des Orbiter-Launchpads.

Befehle können in das MFD eingegeben werden, indem Sie die Taste INP (Eingabe) (ShiftI) drücken, den Befehl eingeben und drücken Enter.

Das MFD ermöglicht das gleichzeitige Öffnen mehrerer Befehlsinterpreter. Um eine neue Terminalseite zu öffnen, drücken Sie NEU (ShiftN). Um zwischen den Seiten zu wechseln, drücken Sie PG> (Shift.) oder <PG (Shift,). Um eine Terminalseite zu schließen, drücken Sie ENTF (ShiftD).

19.3 Führen Sie ein Skript mit einem Szenario aus[edit]

Um ein Orbiter-Skript beim Start eines Szenarios automatisch auszuführen, muss das Szenario die folgende Zeile im ENVIRONMENT-Block enthalten:

SKRIPT <Pfad>

Dabei ist <path> der Pfad zur Skriptdatei relativ zum Skriptunterverzeichnis. Skriptdateien sind Textdateien. Die Dateinamen sollten die Endung „.lua“ haben, aber die Endung sollte nicht an die Pfadangabe angehängt werden. Wenn Sie beispielsweise eine Skriptdatei tutorial1.lua in einem Verzeichnis Script\MyScripts unter dem Orbiter-Hauptverzeichnis erstellt haben, wäre der Eintrag in der Szenariodatei

SKRIPT MyScripts/Tutorial1


19.4 Rufen Sie einen Befehl oder ein Skript über die API auf[edit]

To access the script interface from within a plugin module, you must create an inter-preter instance with the oapiCreateInterpreter function. This returns a handle with can subsequently be used to issue commands via the oapiExecScriptCmd function. It is possible to either execute individual commands, or entire scripts via the „run‟ command.