Tutorial zu X-Skript
Stand 19.07.2011 für X-Force Version 0.917a02
Hauptverantwortlicher Autor: Nathanael alias Natter
In diesem Kapitel werden die Grundelemente eines X-Skriptes erläutert. Dazu gehören der Programmname, die Prozedur StartMission und der Missionsname.
Hier werden unter anderem Konstanten und einfache Messageboxen behandelt.
Die Missionstypen werden eingeführt. Außerdem wird gezeigt, wie man Ereignisse für Sieg und Niederlage festlegt.
Hier wird gezeigt, wie man UFOs erzeugen kann. Des weiteren werden einige neue Sprachelemente eingeführt, darunter Variablen, die Funktion random(n) zur Erzeugung von Zufallszahlen, arithmetische Operatoren und die for..to-Schleife.
Zeigt die Steuerung von Sieg oder Niederlage in Verbindung mit register_mission_object und register_timed_event. Damit können UFOs als Siegbedingung definiert werden und Prozeduren nach einer bestimmten Zeit aufgerufen werden.
Zeigt, wie man mit ufo_api_GetUFOModelByID und ufo_api_CreateUFOFromModel ein bestimmtes UFO aus einem Spielsatz erstellt, oder ein komplett eigenes UFO erzeugt. Des weiteren werden die Typen TUFOModel und Boolean eingeführt sowie die Verwendung der bedingten Anweisung if..then erläutert.
Die wichtigsten Eigenschaften und Methoden, die für TUFO verfügbar sind, werden erläutert. Und es gibt einen Einschub, der ausführlich die register_*-Funktionen behandelt. Außerdem wird gezeigt, wie man Problemen mit globalen Variablen vorbeugen kann.
Das vollständige Skript zu Kapitel 3 wird angegeben. Außerdem wird gezeigt, welche Hilfen der Skript-Editor für die Fehlersuche zur Verfügung stellt.
ASCII-Zeichen in Strings; Tags für farbigen Text; mzUser; Deklarationen mit forward
Das 1. Quiz wird erstellt. Dazu wird TStringList und die dazugehörigen Methoden Create, Add, CommaText und Free eingeführt. Zusätzlich gibts Infos zum Umgang mit Objektvariablen. game_api_ChooseItemBox wird eingeführt. Auperdem die Schleife while ... do und die Befehle Inc sowie StrToInt.
Das 2. Quiz wird erstellt. Die Methode TStringList.Count, der Operator not, die Funktion game_api_QueryText und die Prozedur (Ansi)UpperCase werden eingeführt
Das 3. Quiz wird erstellt. Platzhalter in Strings und die dazugehörige Funktion 'Format werden eingeführt des weiteren noch StrtoIntdef.
savegame_api_FreeCredits; savegame_api_GetCredits, savegame_api_NeedCredits, game_api_GameOver, IntToStr
savegame_api_Message und eine Reihe weiterer Befehle zur Manipulation von Strings
In diesem Kapitel wird gezeigt, wie man verschiedene Sprachen mit Hilfe von DEFINE umsetzen kann.
TGround (inklusive der Methoden AddAlien und Show); TUnit; ground_api_generateGround; alien_api_GetRandomAlien
country_api_GetCountryCount; country_api_getCountryByIndex; country_api_GetRandomLandPosition; TCountry.Name; TGround.Position; TGround.Name; TGround.Description; TGround.Objectives; TGround.RemainTime; TGround.MapName; break; array of; SetLength; high; ground_api_getMapFiles; TAlien.Ges
EVENT_ONGROUNDTIMEUP; EVENT_ONGROUNDFINISHED; TGround.Result
TGround.PopulateFromUFO; LongWord; function; alien_api_GetAlienCount; alien_api_GetAlienByIndex; alien_api_GetAlienByID; TAlien.Name; string_utils_split; "Umwandeln" von TObject-Variablen; var; record; type; set of; include; Mengenoperatoren
Anhang A - Aufgaben
Hier findet ihr Aufgaben zu den meisten Kapiteln, mit denen ihr euer Wissen prüfen unbd vertiefen könnt
Hier findet ihr Lösungsvorschläge zu den einzelnen Aufgaben
Die folgenden Artikel wurden zu einem großen Teil von Delphi-Source übernommen und auf X-Skript angepasst. X-Skript basiert auf Pascal Script, so dass sich Pascal (bzw. Delphi)-Kenner sofort heimisch fühlen werden.
Anhang C - Eigenständige Kapitel
Hier findet ihr Kapitel, die sich zwar rund um X-Skript drehen, aber die nicht für das eigentliche Tutorial geschrieben wurden.
Dieses Kapitel beschreibt, in welcher Reihenfolge welche speziellen Funktionen und Events in einem Skript aufgerufen werden.
Dieses Kapitel diskutiert die verschiedenen Möglichkeiten, mehrfach genutzte Funktionen zu steuern und aufzurufen.
Dieses Kapitel beschreibt was man bei der Benennung von Funktionen und Variablen beachten sollte
Sonstiges