PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Tutorial] Zauberei ist keine Zauberei



Wenthoff
12.04.2006, 19:39
Wentis dickes Zauber-Tutorial


Als Beispiel benutze ich meinen Schrumpfzauber.

Zauber erstellen

Also öffnen wir unser CS und laden die Oblivion.esm
Im Object Window gehen wir unter Magic->Spell. Da es ein ganz neuer Zauber werden soll, klicken wir rechts in die Liste und klicken auf "New".

Jetzt haben wir gaaaanz viele Auswahlmöglichkeiten. Bei "ID" geben wir einen Namen ein den wir im Editor gut wiederfinden können, z. B. "WeSpell224455MQ" (achtung Ironie^^).
Also etwas Einfaches wie "Shrinkspell" oder Ähnliches.
Unter "Name" geben wir den Namen an, der im Spiel angezeigt werden soll, in diesem Fall "Schrumpfen".
Unter "Type" kann man einstellen was es für eine art von Zauber ist, in diesem Fall lassen wir es auf normalem Zauber.

Dann haben wir noch folgende Auswahlmöglichkeiten, die wir hier allerdings nicht brauchen:

Disallow Spell Absorb/Reflect: der zauber kann nicht reflektiert oder Absorbiert werden.
Scrip Effect Always Applies: ???
Area Effect Ignores LOS: der Zauber kann durch wände und objekte dringen.
Immune to Silence: Der Zauber kann auch gesrpochen werden wenn ein Stille Zauber auf einem ruht.
PC Start spell: der Zauber ist von Anfang an verfügbar.

Effekte erstellen

Jetzt klicken wir rechts in das Effects-Fenster und wählen "New"
Und wieder haben wir viele Möglichkeiten :D:

Effect: Naja, welcher Effekt halt eintreten soll :)
Range: Hier kann man einstellen ob der Zauber auf einen Selbst, bei berührung oder auf entfernung wirken soll.
Area: Hier kann eingestellt werden wie groß der Wirkungsradius ist, bei 0 wirkt es nur direkt. Geht nur bei Berühren und Ziel.
Duration: Wie lange soll der Zauber wirken (in sek)
Magnitude: Um wieviele Punkte soll der Zauber wirken?
Actor Val: hier sind verscheidene Möglichkeiten aufgelistet, z. B. beim erhöhen von Attributen.

Da Schrumpfen ein nicht vorhandener Effect ist müssen wir den scripten.
Dazu wählen wir unter "Effect->Script Effect" aus.
Bei "Range" machen wir "Ziel", wir wollen uns ja nicht selbst schrumpfen (was auch gar nicht geht, dazu später)
Bei "Duration" machen wir 1 Minute, also "60" :D
Die anderen Felder sind grau, da diese Effekte bestimmt sind und das CS weiß ja nicht was unser Effekt machen wird.

Jetzt gehn wir weiter runter in den Abschnitt "Script Effect Info"
Und wieder Einstellungen, argh:

Script: Das Script das ausgeführt werden soll wenn der Zauber benutzt wird. Scripts sind kleine eigene Funktionen die in den Spielcode eingefügt werden. Mehr dazu später.
Effect Name: Der Name des effekts, dieser erscheint dann später im Spiel unter den Zauber Details, z. B. "Schrumpfen, 60 sek. an Ziel".
School: Hier kann man die Zauberschule angeben, wie Zerstörung oder Illusion.
Visual Effects: Man kann hier vorgegebene Effekte auswählen, wie z. B. blitze oder Nebel.
Effect is Hostile: Wenn angeklickt, bedeutet das dass der Zauber nicht erlaubt ist auf andre auszuführen.

Scripting

Ich wiederhole jetz nochmal ganz frech ein paar Teile aus Lakos Skripting Tut :p

Wie gesagt, Skripte sind kleine Funktionen die im Programm ausgeführt werden. Skripte können auf verschiedene Sachen ausgeübt werden, z. B. auf Objekte oder NPCs. In diesem Fall wird das Script auf das Ziel ausgeführt, da wir ja unter "Range->Ziel" ausgewählt haben.

Um ein neues Script zu öffnen klicken wir entweder auf die 3 Punkte neben Script, oder auf den kleinen Bleistift oben in der Toolbar. Jetzt geht ein Fenster auf und wir gehen auf "Script->New".
Da das ganze ein Zauber werden soll wählen wir unter Script Type "Magic Effect" aus.
Das schöne an Magic Scripts ist das es nur 3 wirkliche Befehle gibt:

ScriptEffectStart - Wenn der Zauber gestartet wird, bzw, wenn er das Ziel trifft
ScriptEffectUpdate - Solange der Zauber läuft.
ScriptEffektFinish - Wenn der Zauber zu ende ist

Als erstes braucht unser Script einen Namen. Also geben wir in die erste Zeile ein:


Scn shrinkordie

Der Befehl Scn gibt dem Script einfach nur den Namen unter dem es im Editor angezeigt wird.
Da wir wollen das der Gegner schrumpft wenn er vom Zauber getroffen wird, müssen wir die Größe während des Starts des Zaubers ändern.

Also schreiben wir in das Fenster:


Begin ScriptEffectStart
SetScale 0.6
End


Erklärung:

Begin leitet einen Block ein


SciptEffectStart sagt der Block soll gestartet werden wenn der Zauber gestartet wird


SetScale ist eine Funktion. Funktionen können verschiedene Sachen ausführen, wie z.B. die größe ändern, oder Items hinzufügen. SetScale in
diesem Fall setz die größe des Ziels vom Standart (1.0) auf 0.6 herunter. Achtung: SetScale funktioniert nicht beim eigenen Character! Im Ego-Modus passiert überhaupt nichts und im 3rd-Person Modus wird lediglich die Kamera nach unten gesetzt.


End beendet den Block.

Blöcke sind abschnitte im Script die zu verschiedenen Zeitpunkten eingeleitet werden.

Aber jetzt muss ja auch noch der Gegner wieder groß werden, sobald der Zauber vorbei ist.
Also scheieben wir in das Script:



Begin ScriptEffectFinish
SetScale 1.0
End


Das dürfte sich von selbst erklären :)

Jetzt sollte unser Script so aussehen:


scn shrinkordie

Begin ScriptEffectStart
SetScale 0.6
End

begin scripteffectfinish
setScale 1.0
End

Jetzt gehen wir noch auf "Script->Save"

Jetzt klicken wir beim Effect Item Fenster auf "OK" und öffnen es nochmal, damit er die Scriptliste aktualisiert. Jetzt wählen wir bei Script unser Script aus. (Hier "shrinkordie")
Bei [B]"Effect Name" geben wir "Schrumpfen" ein. Bei "School" wählen wir Veränderung, oder Zerstörung, oder irgendwas was damit zutun hat.
Bei "Visual Effects" kann man ein bisschen rumspielen, ich hab hier mal "öffnen" genommen.
Jetz mit OK bestätigen.

Aber nein wir sind immernoch nicht fertig :)

[B]Feintuning

Im Moment werden unsre Gegner einfach nur kleiner, bleiben aber gleich stark.
Also machen wir nochmal einen neuen Effekt (rechtsklick ins Effects-Fenster)
Wir wählen aus:

Effect: Attribut entziehen
Range: Ziel
Area: 0
Duration: 60
Magnitude: 20
Actor Val: Stärke

Das gleiche machen wir mit Konstitution.
Aber da kleine Wesen meistens Flink sind, geben wir ihnen mit "Attribut festigen" nochmal 5 Punkte auf Geschicklichkeit und Schnelligkeit.

Wie wir sehen können rechnet das CS automatisch die Magicka kosten und den Spell Level aus. (Unter dem Effects-Fenster zu sehen)
Allerdings rechnet es auch negative Effekte wie z.B. das die Gegner 5 Punkte Schnelligkeit bekommen drauf. Also machen wir das Häkchen bei "Auto-Calculate" weg und schreiben etwas geeignetes rein. Beim "Spell kost" muss man im Spiel immer nur die Hälfte des eingegeben Werts bezahlen, keine Ahnung warum. Also geben wir da den doppelten Wert ein.

Zauber Einbauen

Man kann jetzt meinen der Zauber ist fertig. Allerdings muss der Spieler ja noch irgendwie drankommen. Also suchen wir uns einen Zauberhändler unter Actors->NPC und machen einen Doppelklick auf ihn. Den Zauber ziehen wir per Drag&Drop aus dem ObjectWindow in seine Spelllist.

Tip: Der NPC "Agata" ist ein Händler und wohnt in der Magiergilde in Leyawiin.
Jetzt speichern wir das ganze ab (strg+s). Wir starten Oblivion und aktivieren das PI unter "Spieldateien." Im Spiel reisen wir nach Leyawiin und kaufen Agata den Spell ab. Jetz kann man ein bisschen damit rumspielen, evt. Bugs entdecken, etc...

Fertig, dein Zauber ist nun einsatzbereit :D !

Weiteres zum Scripting:
Funtionen, Befehle, etc. im CS-Wiki (Englisch) (http://cs.elderscrolls.com/constwiki/index.php/Category:Scripting)
Sehr gutes Scripting Tut von Lakos (http://forum.worldofplayers.de/forum/showthread.php?t=107576)

Ich hoffe ich konnte ich konnte euch helfen auf eurem Weg zum Erzmagier :D

http://lolsoft.lo.funpic.de/TES/Screens/SMURF.jpg

imported_Lakos
12.04.2006, 19:44
Super Tutorial, Wenthoff! :A

Wenthoff
12.04.2006, 19:48
Danke, aber ohne den meister Lakos hätte ich den einsitg nie geschafft *schleim* http://www.multimediaxis.de/images/smilies/old/sm_12.gif

:D

Jounk33
12.04.2006, 21:09
Vortrefflich.
Ich kann nur sagen, dass dieses Forum durch viele Lehrgänge nur wertvoller werden kann.

Wenthoff
13.04.2006, 08:44
So, ich hab jetzt mal die Schlimmsten fehler rausgemacht und alles wichtige makiert, für die ganz schnellen unter uns :p

don_wasweisich
14.04.2006, 20:55
danköööhttp://www.multimediaxis.de/images/smilies/old/sm_12.gif
das war in MW immer mein größtes problem, das spell-scripten xD

1337
22.04.2006, 14:57
gutes tut... muss ich gleich mal ausprobieren :D