MissingLink für Verweise auf noch nicht erstellte Abschnitte:
Begriffe, für die auf eine Definition verwiesen wird; Altes grün 33AA11
Hallo Welt
Nun wollen wir ein erstes kleines Skript erstellen, das (wie es sich für ein erstes Skript gehört) den Text „Hallo Welt“ auf den Bildschirm zaubert.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
program HalloWelt;
const
Message1 = 'Hallo Welt!';
procedure StartMission;
begin
game_api_messageBox(Message1);
end;
begin
MissionName := 'HalloWelt lesen';
end. |
Konstanten
Dieses Skript enthält unsere erste Definition einer
Konstanten (Zeilen 4 und 5). Um Konstanten zu definieren, wird das
Schlüsselwort const verwendet. Danach folgen die einzelnen Konstanten. Dabei sind auch mehrere Konstanten möglich, also z. B.
1 2 3 4
|
const
Message1 = 'Hallo Welt';
Message2 = 'Hallo Spieler';
... |
Der Name einer Konstante ist ein
Bezeichner, weshalb er immer mit einem Buchstaben oder Unterstrich beginnen muss, und dann auch Zahlen enthalten darf. Jeder Name muss eindeutig sein (d.h. er darf nur einmal vorkommen), zwischen Groß- und Kleinschreibung wird nicht unterschieden.
Da eine Konstante, wie der Name schon sagt, im Ablauf des Skriptes nicht mehr verändert werden kann, muss ihr sofort ein Wert zugewiesen werden. Dies geschieht mit dem Gleichheitszeichen. Soll es sich um eine Textkonstante (konstanter
String) handeln, so steht der entsprechende Text rechts vom Gleichheitszeichen zwischen zwei Hochstrichen ( '...' ). Soll der Text
selbst einen Hochstrich enthalten, so wird dies mit zwei aufeinander folgenden Hochstrichen, also
'' , erreicht. Außerdem können auch ASCII-Werte verwendet werden, um z.B. einen Zeilenumbruch zu realisieren. Näheres dazu in
Kapitel 4 - Nachrichtenfenster für Fortgeschrittene.
Handelt es sich bei der Konstante um eine
Zahl, so steht diese ohne Hochstriche rechts vom Gleichheitszeichen; z.B. könnte die Zahl PI als Konstante definiert werden ( const PI = 3.14159...), so dass man später bei Berechnungen statt der langen Zahl einfach nur PI in den Formeln schreiben muss.
Prinzipiell kommt man natürlich auch ohne Konstanten aus (wir hätten z.B. den Text 'Hallo Welt!' auch direkt beim Prozeduraufruf (Zeile 9) des Textfensters angeben können), allerdings wird ein Skript mit Konstanten übersichtlicher und leichter zu warten. Außerdem kann man mit Textkonstanten sehr einfach und übersichtlich verschiedene Sprachen realisieren. Dazu aber mehr im
Kapitel 5 - Multilinguale Skripte.
Unsere erste Nachricht

Kommen wir nun zum Erzeugen des Textfensters. Dies geschieht mit der vorgefertigten
Prozedur game_api_MessageBox() (die vorgefertigten Prozeduren sind alle im Objektbrowser zu finden, welcher mit Strg+B aufgerufen wird). Prozeduren und auch
Funktionen können
Paramter übergeben werden. Diese werden zwischen den Klammern
(...) mit Komma getrennt angegeben. Erst durch die Parameter werden die Skripte dynamisch. Die Prozedur
game_api_MessageBox zum Beispiel erwartet einen Parameter, der den anzuzeigenden Text darstellt. So muss dieser Parameter auch ein Text (vom Typ String) sein. Eine Konstante oder
Variable, die z.B. einer Zahl entspricht, wird hier nicht akzeptiert. Selbstverständlich gibt es Funktionen, um eine Zahl in einen String umzuwandeln bzw. umgekehrt.
Aber darauf wird später noch mal eingegangen.
Dem aufmerksamen Leser ist vielleicht aufgefallen, dass unser Skript noch nicht vollständig ist, da kein Missionstyp festgelegt wurde. Dies macht im vorliegenden Fall allerdings keinen Sinn, da es sich ja nicht wirklich um eine Mission handelt, die gewonnen oder verloren werden könnte. Wir verzichten deshalb an dieser Stelle darauf (das Skript funktioniert dennoch) und verweisen auf das
nächste Kapitel.
Unser erster Test
Um das Skript im Missionseditor zu testen, musst du nur den Start Button (F9,

) drücken.
Nach der Nachricht "Willkommen bei X-Force: Fight For Destiny" (diese Nachricht erscheint immer) sollte eine MessageBox mit dem Text "Hallo Welt" geöffnet werden. Nach Klick auf OK wird das Skript beendet, da keine weiteren Anweisungen folgen.
Hat alles geklappt, können wir dir zu deinem ersten programmierten X-Skript gratulieren.