Oblivion:Zauber erzwingen: Unterschied zwischen den Versionen
Keris (Diskussion | Beiträge) K |
Keris (Diskussion | Beiträge) K |
||
Zeile 59: | Zeile 59: | ||
− | {{ Scriptkategorie |Handhabung von Zaubern|Level 1 Scripts | + | {{ Scriptkategorie|Handhabung von Zaubern |Level 1 Scripts}} |
Version vom 9. September 2008, 21:51 Uhr
Inhaltsverzeichnis
Thema
Manchmal möchte man, dass NPCs, der Spielercharakter oder sogar Gegenstände in bestimmten Situationen bestimmte Zauber sprechen. Man will sie also dazu zwingen, dies zu tun. Dadurch kann man effektvolle Szenen basteln, oder auch böse Fallen.
NPC mit Heilungseffekt
Aufgabenstellung
Wir wollen, dass ein NPC der Spieler heilt, wenn man ihn aktiviert.
Theorie
Es wird der Cast-Befehl benutzt, um den NPC zu seiner segensreichen Tat zu zwingen. Wenn wir diesen in einen OnActivate-Block tun, wird unser Script ausgeführt, anstatt dass wir den NPC ansprechen. Das Script schreiben wir so allgemein wie möglich, also können wir es auf jeden beliebigen NPC legen.
Probleme
Bei dem Cast-Befehl von lebenden Wesen werden nur Zauber auf sich selbst oder auf Berührung ausgeführt. Wenn man einen Zauber auf Ziel mit diesem Befehl wirkt, versucht der NPC so nah an das Ziel zu kommen, bis er in Berührungsreichweite ist.
Realisierung
Umgebung
Wir benötigen einen NPC, auf den wir das Script packen, und den wir auch ingame antreffen können. Diesem geben wir die Reference ID Heiler. Weiterhin müssen wir erst einen geeigneten(beachte: Der Zauber muss auf Berührung gezaubert werden) Zauber erstellen. Diesem geben wir die ID HealSpell.
Script
<tesscript>Scn CastHealSpell
begin OnActivate
Heiler.Cast HealSpell Player
end</tesscript>
Handhabung
Mit diesen Script wird kann der NPC den sogenannten Healspell auf den Spieler zaubern. Das Heiler. ist eigentlich in diesem Falle nicht nötig, da das Script auf demselben Objekt liegt, das auch den Zauber ausführt, sollte hier jedoch der Vollständigkeit halber dabeistehen (dort kann man auch einen anderen NPC oder ein anderes Objekt angeben, welches dann zaubert)
Zaubernder Stein
Aufgabenstellung
Als nächstes wollen wir einen magischen Stein machen, der auf den Spieler schießt, wenn er zu nahe kommt.
Theorie
Wir benutzen den bekannten Cast-Befehl um den Zauber zu sprechen, weiterhin einen Timer (denn sonst würden ununterbrochen Zauber auf den Spieler niederrasseln!) und eine GetDistance-Abfrage um zu schauen, ob der Spieler auch in der Nähe ist.
Probleme
Beachte, dass der Stein aus der Kategorie Activators stammen muss, sonst kann es sein, dass dieser Scriptbefehl nicht richtig funktioniert! Als Bonus dürfen wir nun jedoch auch Fernzauber abfeuern lassen.
Realisierung
Umgebung
Erstelle einen neuen Stein als Activator und platziere ihn geeignet in der Spielwelt.
Script
<tesscript>Scn FireStone
float timer
begin GameMode if GetDistance Player <= 1000 if timer > 0 Set timer to timer - GetSecondsPassed else set timer to 10 Cast StandardShockDamageTarget5Master Player endif endif end</tesscript>
Handhabung
Wir sehen am Aufbau, dass getestet wird, ob der Spieler nah genug an dem Stein dran ist (1000 Einheiten). Da beim ersten Mal der Timer auf 0 steht, wird gleich ein Blitz auf den Spieler gefeuert. Dann wird dem Spieler 10 Sekunden Zeit gegeben, sich zu entfernen. Nach Ablauf der Zeit geht das Spielchen von vorne los.
Links
Weitere Scripts aus dieser Kategorie
Level 1
{{#if: Handhabung von Zaubern | }}
{{#if: Level 1 Scripts | }}