Oblivion:Mein erster Zauber
Dieses Tutorial hilft dir dabei, deinen ersten Zauber mit vordefinierten und selbst erstellten Effekten zu schreiben.
Erste Schritte
Falls du es noch nicht getan hast, öffne das TES Construction Set Programm. Wenn es geladen ist, wähle und Doppelklicke auf die "Oblivion.esm" und wähle dann "OK", um die Oblivion Master-Datei zu laden.
Erstelle einen Zauber
Nachdem der Ladevorgang abgeschlossen ist, können wir damit anfangen, einen Zauber zu erstellen. Wähle im Objekt-Fenster Magic->Spell.
Nun werden im rechten Fenster eine ganze Menge Zauber angezeigt. Öffne in dieser Liste mit der rechten Maustaste das Kontext-Menü und wähle "New" und ein leeres Spell-Fenster erscheint.
- ID - Die ID ist der Name, mit dem der Zauber ausgerufen wird. Dieser Name muss einmalig sein und darf nicht mit anderen Namen im Editor übereinstimmen. Nennen wir unseren Zauber "MeinErsterZauber"
- Name - Das ist der "echte" Name des Zaubers, also der Name, der im Spiel für den Spieler sichtbar ist. Nennen wir ihn hier also "Mein erster Zauber".
- Type - Hier kann man eingeben, um welche Art Zauber es sich handelt. Es ist eine festgelegte DropDown-Liste. Wählen wir hier "Zauber".
Der Rest wird auf der Spell-Seite erklärt.
Füge vordefinierte Effekte hinzu
Im Moment ist die Effekt-Liste rechts noch leer. Weil unser Zauber aber etwas machen soll, sollten wir diesen Umstand nun aber ändern. Rechtsklicke daher in die Liste und wähle "New" aus dem Kontext-Menü. Nun erscheint das "Effect Item"-Fenster.
- Effect - Das ist der magische Effekt, den wir aufrufen. Wählen wir hier "Schild" aus der DropDown Liste.
- Range - Das umschreibt, an wen der Zauber gerichtet werden kann. Hier wählen wir "selbst".
- Area - Fläche des Effekts. Das ist bei "Selbst"-Zaubern deaktiviert, weil sie nur den Actor selbst betreffen.
- Duration - Wie lange (in Sekunden) der Zauber wirkt. Setzen wir ihn auf 30 (Sekunden).
- Magnitude - In diesem Fall, wie viel Rüstung dem Aufrufenden gegeben wird. Wir nehmen hier mal den Wert 300.
Klicke auf OK, wenn du den Effekt für fertig erklärst.
Ist dir aufgefallen, wie beim Eintragen der Werte in Duration und Magnitude
die "Auto-Calculate Costs"-Werte nach oben geschnellt sind? Damit wird angegeben, wieviel Zauberpunkte das Aufrufen des Zaubers kosten würde. Wenn du das nicht willst, kannst du die "Auto Calculate"-Funktion im Spell-Fenster deaktivieren. Wir machen das später auch noch!
Erstelle ein Spell-Script
Wo wir nun ein Standard-Magie-Effekt zugefügt haben, wird es Zeit, einen selbst Erstellten Hinzuzufügen. Um einen maßgeschneiderten Effekt hinzuzufügen, brauchen wir ein Script. Wähle aus der Toolbar um den Script-Editor aufzurufen.
Wir haben nun ein leeres Script-Editor-Fenster, wähle daher Script->New aus dem Menü, um die Textfläche zu aktivieren.
Wähle als Script-Type "Magic Effect" (So, ne: ). Das ist wichtig, damit wir das Script zu einem Zauber hinzufügen können.
Nennen wir es "MeinErstesZauberscript" und fügen eine Variable für den späteren Gebrauch hinzu. Schreibe also:
<tesscript>scriptname MeinErstesZauberscript
short updateCount</tesscript>
Spell-Scripts sind ein wenig anders als reguläre Scripts. Sie erkennen nur drei Script Blöcke an, während andere Arten von Scripts viel mehr anerkennen können. Falls du es noch nicht weißt: Script-Blöcke sind Code-Blöcke die unter verschiedenen Voraussetzungen gestartet werden. Spell-Scripts erkennen folgende Script-Blöcke an:
- ScriptEffectStart - dieser Block wird ausgeführt, wenn der Zauber das erste Mal aufgerufen wird (nicht Global im Spiel)
- ScriptEffectUpdate - dieser Block wird ausgeführt, in (ungefähr) jedem Frame des Spiels für die Dauer des Zaubers
- ScriptEffectFinish - dieser Block wird ausgeführt am Ende des Zaubers (am Ende der Dauer des Zaubers)
Weitere Informationen über Blöcke findet man unter begin.
Spell-Scripts werden von einem Actor oder einem Objekt, das von dem Zauber getroffen wurde, ausgeführt. Wenn ein Zauber also ein Selbst-Zauber ist, wird der Aufrufende die Kommandos im Script starten. Wenn der Zauber auf etwas zielt, wird das Ziel den Zauber ausführen (wenn es getroffen wird). Wenn der Zauber einen Flächen-Effekt hat (Area Effect), dann wird alles, was den Kreis des Wirkens betritt, die Befehle im Script starten.
Lasst uns nun einen Block in unser Script einfügen:
ScriptEffectStart-Block
<tesscript>Begin ScriptEffectStart
RemoveAllItems
End</tesscript>
Dieser Effekt dürfte äußerst amüsant werden...
ScriptEffectUpdate-Block
Alles, was wir in dem Update-Block machen, ist einen Counter weiterzuzählen. Das sagt uns dann, wieviel Mal es ausgeführt wurde. Eine Interessantere Benutzung wäre vielleicht, die Gesundheit zu erhöhen oder zu verringern oder etwas Ähnliches.
<tesscript>Begin ScriptEffectUpdate
set updateCount to updateCount + 1
End</tesscript>
ScriptEffectFinish-Block
<tesscript>Begin ScriptEffectFinish
Message "Der Zauber ist abgeschlossen. ScriptEffectUpdate wurde %.0f mal ausgeführt", updateCount
End</tesscript>
Dies blendet eine Textnachricht ein, die uns sagt, dass der Zauber abgeschlossen ist und wie oft der Update-Block ausgeführt wurde.
Hier nun noch einmal das gesamte Script:
<tesscript>scriptname MeinErstesZauberscript
short updateCount
Begin ScriptEffectStart
RemoveAllItems
End
Begin ScriptEffectUpdate
set updateCount to updateCount + 1
End
Begin ScriptEffectFinish
Message "Der Zauber ist abgeschlossen. ScriptEffectUpdate wurde %.0f mal ausgeführt", updateCount
End</tesscript>
Wähle Script->Save aus dem Menü (oder klicke aus der Toolbar) und schließe den Script-Editor. Sollten irgendwelche Fehlermeldungen auftauchen, überprüfe das Script noch einmal auf irgendwelche Schreibfehler.
Du kannst mehr über das Scripten in den Scripting-Tutorials "Mein erstes Script" und "Mein zweites Script" erfahren.
Füge selbsterstellte Effekte hinzu
Wir sollten nun wieder im Spell-Fenster sein. Rechtsklicke wieder in die Effekt-Liste und wähle "New" aus dem Kontext-Menü, so wie eben auch schon.
Dieses mal wählen wir aber "Skript Effekt" aus der Effect-DropDown-Liste. Dieses lässt uns das Script benutzen, das wir eben geschrieben haben. Sollte es nicht gehen, kontrolliere noch einmal im Script-Editor, ob du den Script-Type auch auf "Magic Effect" gesetzt hast! Die Einstellungen für das aktuelle Effekt-Item Fenster:
- Effect - Setze dieses auf "Skript Effekt"
- Range - Wähle "Ziel" als Eintrag
- Area - Gebe hier vielleicht 100 ein
- Duration - Wähle einen kleinen Wert wie 5 oder 10, dann brauchen wir (beim testen) nicht so lange zu warten bis das Script abgeschlossen ist.
Script Effect Info
- Script - Hier wird das Script, das ausgeführt werden soll, ausgewählt. Wähle "MeinErstesZauberscript" aus der Dropdown-Liste. (Mit kannst du direkt den Script-Editor aufrufen, falls dein Script hier nicht aufgeführt ist und du schauen willst, warum das so ist oder weil du jetzt erst anfangen willst, ein Script hierfür zu schreiben).
- Effect Name - Name des Effekts. Wähle irgendetwas, was dir gefällt, wie vielleicht "Mach dich Nackig".
- School - Welcher Magie-Schule der Effekt angehört. Wir müssen uns im Moment nicht drauf konzentrieren. Veränderung wird es aber sicher am Ehesten treffen.
- Visual Effect - Welche Visuellen Effekt angewendet werden sollen. Wähle "Erzürnung" aus der Liste.
- Effect is Hostile - Wenn du das aktivierst, werden es die Leute nicht mögen, wenn du den Zauber verwendest (wir lassen den inaktiv)
Der letzte Schliff
Wir sollten nun noch die "Auto-Calculate"-Funktion im Spell-Fenster abschalten. Ansonsten wird der Spieler (bzw. du) vermutlich nicht in der Lage sein, den Zauber anzuwenden.
Wähle nun einen entsprechenden Eintrag unter Spell Level und Spell Costs. Ich wählte hierfür "Novice" und 20. Damit dürfte dem Test nichts mehr im Wege stehen.
Schließe nun das Fenster mit einem Klick auf "OK" und der Zauber ist bereit.
Finde die FormID
Bevor wir den Zauber testen können, müssen wir noch wissen, wie wir ihn im Spiel aufrufen können. Leider können wir nicht einfach "MeinErsterZauber" benutzen also müssen wir die FormID des Zaubers herausfinden.
Am oberen Rand, wo die Namen sind, findest du zwischen der EditorID und Count-Reihe einen Doppelstrich. Das ist die FormID die ganz zusammengeschoben ist. Die kannst du auseinander ziehen und dann die FormID deines Zaubers herausfinden und notieren. Sie dürfte so aussehen wie "01000CE8", kann aber geringfügig abweichen.
Speichern
Das ist wichtig, damit wir die Datei im Spiel auswählen können. Wähle aus der Toolbar und im folgenden Dialog kannst du dir einen guten Namen einfallen lassen. Da dies nur ein Tutorial ist, muss es nichts Spannendes sein, vielleicht "MeinErsterZauber", oder "Tutorial-Zauber"...
Belasse auf jeden Fall deine Datei in dem vorgegebenen Ordner, denn sonst wird sie vom Spiel nicht erkannt.
Testen
Nun sind wir auch schon im letzten Bereich. Jetzt testen wir unseren Zauber. Starte nun Oblivion (ggf. den Editor beenden, je nach dem was deine Kiste so drauf hat). Wenn das Start-Fenster kommt, wähle "Spieldateien" hier solltest du nun deine eben benannte Datei finden und auswählen (Kreuz davor). Die Oblivon.esm muss natürlich auch aktiviert sein, sonst wird es leer im Spiel.
Bevor du das Spiel startest, solltest du - falls du dieses Tutorial nicht ausgedruckt hast - vielleicht zu Ende lesen oder/und dir die wichtigsten Punkte herausschreiben.
Wähle "Start", um das Spiel zu starten.
Starte ein neues Spiel, oder besser noch wähle eine (ältere) Spieldatei von dir selbst. Denk daran, dass unser Effekt am besten auf mehrere Ziele wirkt. Suche dir daher eine Gegend mir mehreren Leuten oder Kreaturen aus. Ich fand einen Thronsaal äußerst spaßig.
Wenn du im Spiel bist, rufe die Konsole auf, indem du die ^-Taste drückst, und gib das folgende ein:
player.addspell <formId>
Wobei die <formId> natürlich der FormID deines Zaubers entsprechen sollte - du hast ihn ja wohl aufgeschrieben, oder?
Dann sollte es in etwa so aussehen:
player.addspell 01000ce8
Wenn alles richtig läuft, wird eine Meldung erscheinen, dass "Mein Erster Zauber" hinzugefügt wurde. Wähle den Zauber nun aus dem Zauberbuch und wirke ihn!
Dein Rüstungswert sollte dann steigen und nach ein paar Sekunden wird eine Meldung erscheinen und dir sagen, wie oft der Block ausgeführt wurde. Außerdem wird unser selbst erstelltes Script dafür sorgen, dass die NPCs nun recht "luftig" dastehen...
Wenn es nicht klappt mit der FormID deinen Zauber aufzurufen, dann erhöhe die FormID, indem du die zweite Zahl erhöhst (in unserem Fall war es 01000ce8 und dann wären die nächsten Schritte 02000ce8, 03000ce8 usw), bis es funktioniert. Vielleicht hast du mehr als nur die Oblivion.esm und die MeinErsterZauber-Datei im Spieldateien-Fenster gewählt und somit ist die FormID verändert worden (Weil sie in einer anderen Plugin-Datei bereits verwendet wurde). Zu Testzwecken ist es daher besser, wenn nur die Test-Datei und die Oblivion.esm aktiviert sind um solche Sachen zu vermeiden. Alternativ kannst du auch Tools wie Wrye Bash oder den OBMM verwenden, um die korrekte Nummer herauszufinden.
Teste nun deinen Zauber und experimentiere mit dem Gelernten ein wenig herum.
Siehe auch:
- Scripting_Tutorial:_My_First_Spell (das englische Original des obigen Artikels)