Scriptmöglichkeiten

Seid mir gegrüßt, Lehrling! Was ist euer Begehr?
Ihr stellt hohe Ansprüche, für jemanden mit einer solch schwachen Aura. Ihr solltet euch besser nicht mit Dingen anlegen, von denen ihr nichts versteht! Hier im Südturm seid ihr völlig falsch, wenn es euch darum geht, Grundkenntnisse zu erlangen. Ich könnte euch lehren, wie ihr Wesen, wie diesen Luftelementar beschwört, doch für derartige Aufgaben seid ihr wohl kaum bereit. Ihr solltet zunächst besser Camael aufsuchen, er wird euch in die Künste der Illusionen und Bezauberungen einführen. Aber ich bin mir nicht sicher, ob er gerade in der Akademie ist...

Nun gut, vielleicht kann ich euch für den Augenblick zumindest ein paar simple Dinge erklären. Die Kunst des Scriptens ist nur den Intelligentesten unter uns vorbehalten, das Bauernvolk dort draußen wird ohnehin niemals über die nächste Stadt hinweg kommen, was sollen sie also mit solch magischen Kenntnissen? Wie auch immer, es dürfte sich als nützlich erweisen, wenn ihr für das Scripten bereits von der Magie des C oder C++ gehört habt, denn die Schreibweise der Glyphen ähnelt sich sehr. Falls nicht, solltet ihr euch wohl besser an das halten, was die weisen Kanadier euch in die Wiege gelegt haben, denn für grundlegende Dinge, wie sie auch Tephenon, der Meister des Nordwindes, lehrt, braucht ihr unsere Magie ohnehin nicht. Es ist nur etwas für jene, die wirklich große Dinge bewegen wollen! Aber sie, die Gepriesen sind, werden über eine nahezu unbegrenzte Macht innerhalb ihrer Welt verfügen. Lasset es mich an einem Beispiel verdeutlichen...

Mit dem, was Tephenon euch lehrte, könnt ihr ein Land erschaffen, vielleicht eine Gebirgslandschaft mit einer kleinen Festung im Zentrum. Ihr könntet alle möglichen Arten von Geschöpfen darin erscheinen lassen und ihnen sogar vorschreiben, was sie zu den kommenden Helden sagen sollen. Doch eines könnt ihr nicht: Sie realistisch agieren lassen!
Mit unserer Magie des Scriptens könntet ihr zum Beispiel zwei Wachen, die ihr gerade aufgestellt habt, patrouillieren lassen. Anhand von markierten Objekten könnt ihr sie eine von euch bestimmte Route entlang marschieren - und dabei nach Feinden Ausschau halten - lassen. Wenn sie nun einen Feind erspähen, könnten sie nach eurem vorgefertigtem Script Kameraden herbeirufen und die Feinde überrennen. Oder die beiden Wachen könnten jedesmal, wenn sie aufeinander treffen, einen zufällig ausgewählten (doch von euch vorgegebenen) Dialog abspulen. So etwas liegt in eurer Macht, wenn ihr die Künste beherrscht, die wir an unserer Akademie lehren.
Zum Glück der Unwissenden werden allen Neverwinter-Nights-Anhängern die Skripte der "offiziellen Kampagne" allesamt offengelegt und mehr als gut dokumentiert, sodass einige von euch vielleicht gar nicht unsere Akademie besuchen und einfach nur ein paar Zeichen auf dem Skriptbogen entfernen müssen. Ich werde es euch mal wieder an einem Beispiel aufzeigen:

Nehmt mein Fachgebiet, die Beschwörung von Kreaturen, oder besser gesagt das Standardskript für das Charakter OnSpawnIn() Ereignis. Alle möglichen Kommandos befinden sich bereits in diesem Skript und sind lediglich durch das übliche Zeichen // auskommentiert, wodurch sie standardmäßig nichts bewirken. Doch die Anleitung wird euch sagen, "Um dieses oder jenes mit deinem Charakter zu machen, entferne die Kommentarzeichen". So könntet ihr z.B. dieses in dem erwähnten Script finden:


// SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); 
// This will set the listening pattern on the NPC to attack when allies call


Wenn ihr nun die // Zeichen entfernt, wird der Charakter auf Rufe von Verbündeten reagieren und deren Angreifer attackieren (basierend auf dem Standardscript, welches dafür wiederum an anderer Stelle definiert wurde).

Wollt ihr hingegen, dass eure Kreatur etwas Spezielles unternimmt, wenn sie einen bestimmten SC oder NSC sieht, dann verändert ihr einfach die nächste Zeile:


//SetSpawnInCondition(NW_FLAG_PERCEIVE_EVENT); 
//OPTIONAL BEHAVIOR - Fire User Defined Event 1002 


Kommentiert die erste Zeile aus und begebt euch zu eurem benutzerdefinierten() Script und legt dort etwas an, das besagt "Wenn Ereignis 1002 eintritt, tue das...". So etwas kann doch selbst für euch nicht schwer sein, oder?
Aber selbst wenn, einige andere Magier dieser Welt werden sicherlich ihr Wissen, und vor allem ihre erarbeiteten Skripte, kostenlos mit euch teilen.

Nun, wenn ihr meint, ihr hättet schon von C++ gehört, dann werde ich euch zumindest einen kurzen Vergleich der mächtigen Grundbegriffe aufzeigen. Was genau ihr mit ihnen vollbringen könnt, solltet ihr entweder selbst wissen oder Camael dazu befragen. Es gibt in unserer magischen Sprache 3 Variablen, die ihr auch aus der alten überlieferten Sprache C kennen solltet. Diese sind:

int (Integer) für ganze Zahlen int nMeinGeld = 250;
float für größere und Kommazahlen float fMeineUeberlebenschance = 99.9;
string für Zeichenkonstellationen string sMeineWorte = "Es lebe die Magie ";

Damit ihr diese sinnvoll verwenden könnt, stehen euch die folgenden Kontrollmechanismen zur Verfügung:


switch/case, break
if/else
while
do/while
for, continue


Somit endet der Vergleich auch schon, Felder, wie ihr sie vielleicht aus C/C++ kennt, existieren in unserer Form der Magie nicht.

Nachdem ich euch nun gezeigt hab, womit ihr arbeiten könntet, muss ich euch jedoch wieder in eure Schranken verweisen, denn es gibt eine Grundregel unserer Magie, die ihr nicht außer Acht lassen dürft.
Alles was außerhalb eurer eigenen Welt liegt, ist und bleibt unerreichbar! Ihr könnt weder etwas auf Schriftstücke (Dateien) außerhalb eurer Welt verlagern, noch Botschaften in andere Welten schicken (Variablen auf andere Server versenden).

Erstellt von Pandur | am 18.07.2007