====== Worterklärung ====== Eine Liste mit Fachwörter gibt es auch [[http://forum.worldofplayers.de/forum/threads/28219-Editing-FAQ?p=4564059&viewfull=1#post4564059|im Forum]]. ===== Skripte ===== Skript (lat. scribere - schreiben) bedeutet wörtlich übersetzt soviel wie 'das Geschriebene' und genau das ist es auch - ein geschriebenes Textstück. Im Programmierbereich gibt es drei Arten von Skripten, von denen uns hier nur eine interessiert: Skripte, die in ein Programm eingebunden sind. In Spielen dienen sie hauptsächlich dazu, den eigentliche GameContent-Code aus dem Programmcode auslagern zu können. Dadurch werden spätere änderungen am Spiel vereinfacht. So können häufig veränderte Dinge (zB. NPC,Items,Dialoge etc) einfach in die Skripte ausgelagert werden. Dadurch kann die Funktionalität des Programms geändert werden, ohne etwas am Programm selbst ändern zu müssen. Skripte lassen sich in der Regel mit einem normalen Texteditor bearbeiten, das gilt auch für Gothic. Bei Gothic geben die Skripte dem Modder die Möglichkeit Dinge wie Story, Dialoge, NPCs, Items, und alles was sonst noch in den Skripten definiert ist, zu verändern, an dem Spiel selbst (den ausführbaren Dateien wie EXEn und DLLs) lässt sich so leicht nichts ändern. Die Skripte sind in der Skriptsprache Daedalus geschrieben (deshalb die Endung '.d'), welche einen eindeutigen C/C++-Syntax aufweist. Die Gothic-Skripte befinden bei installiertem MDK im Verzeichnis **_work\\data\\scripts\\** und dessen Unterverzeichnissen **content** oder **system**. Im Ordner **_compiled** befinden sich die kompilierten Skripte, die von Gothic direkt eingelesen werden können. Um die veränderbaren Skripte kompilieren zu lassen sollte im GothicStarter die Option **Scripte parsen** bzw **reparse all scripts** aktiviert sein. Genauere Informationen zu Daedalus gibt es [[Daedalus:Syntax|hier]]. Erweiterungen und Verbesserungen sind immer erwünscht - Rolus Edit by terror666 ===== Skriptbezogene Begriffe ===== **Instanz** : Als Instanz bezeichnet man eine abgeschlossene Einheit mit einer bestimmten Funktion. **Konstante** : Eine Konstante ist ein fester, unveränderlicher Wert. Wird also mit einer Zahl oder einem Text (String) bestückt. **Variable** : Eine Variable ist eine Größe, die verschiedene Werte annehmen kann. Also wenn es z.B. die Variable "Wolfkill" gibt, und es 10 Eiswölfe gibt und nach jedem kill die Variable Plus 1 gesetzt wird, kann man das als Condition benutzen. Das ist eine Variable. **String**: Ein Format für Textwerte. **Integer**: Ein Format für ganzzahlige Werte. **Float**: Ein Format für Zahlenwerte mit Komma. **Funktion**: Eine Funktion ist eine Gruppierung von verschiedenen Befehlen. Es gibt zwei Arten von Funktionen: Funktionen, die einen Wert zurückgeben (eignen sich zur Berechnung von Werten) und Funktionen die nichts zurückliefern (eignen sich zum Ausführen von Aktionen). Der Sinn von Funktionen ist es, kleine Anweisungspakete zu haben, die man ähnlich wie Bauklötze aneinanderbauen kann. So hat man eine gute Übersicht über den Code und spart sich sehr viel Schreibarbeit. **Parameter**: Ein Wert, der an eine Funktion beim Aufruf übergeben wird.