Oblivion:NPC-Erstellung

Aus Skript-Wiki
Version vom 12. August 2008, 11:11 Uhr von Keris (Diskussion | Beiträge) (Ändern des Inventars und der Zaubersprüche des NPC)
Wechseln zu: Navigation, Suche

Allgemeines

Dieses Tutorial soll die Grundlagen der NPC-Erstellung etwas erleuchten. Wir werden einen neuen Gegner-Charakter erstellen und diesen in einen Dungeon platzieren.

Dieses Tutorial geht nicht auf Dialoge oder Quest-Erstellung ein (für das Quest-Tutorial wird aber ein neuer Charakter gebraucht).


Erstelle einen neuen NPC

In diesem Tutorial wollen wir nun einen speziellen Boss-NPC für unsere Höhle "Creepy Cave" aus dem Dungeon-Tutorial erstellen. Daher laden wir wieder unser Plugin "CreepyCave" und dort die Boss-Höhle "CreepyCave02" und lösche dort "LL1BanditBossLvl100" (wenn du das Plugin noch nicht gemacht hast, oder schon wieder gelöscht hast, geht natürlich auch jede andere Höhle. Erstelle ein neues Plugin).

Es ist meist hilfreich, wenn man bereits vorhandene NPCs als Vorlagen für neue nimmt. Für unser Beispiel suchen wir unter Actors->NPC das Objekt "BanditBossFemale1". Doppelklicke es, um das NPC-Fenster zu öffnen.

http://www.ei-der-zeit.com/LexikonCSIV/pic/fenster-NPC.jpg

Wichtig! Bevor du irgendetwas veränderst, ändere die ID in einen anderen Einzigartigen Namen. Damit vermeidest du, das irgendwelche versehentlichen Änderungen für den existierenden Charakter gelten und vielleicht nicht mehr richtig funktioniert. Wenn du "OK" klickst, nachdem du die ID geändert hast, wirst du gefragt ob du einen neuen Charakter erstellen willst (Kopie) oder den Charakter umbenennen willst. Mit OK erstellen wir einen neuen Charakter.


Editieren der NPC-Einstellungen

Erklären wir nun was die einzelnen Felder auf der linken Seite zu bedeuten haben.

  • ID - Editor ID für diesen NPC. Muss einmalig sein. Ich habe einfach eine 4 angehängt.
  • Name - NPC Name, der auch im Spiel angezeigt wird. Sollte in jedem Fall ausgefüllt werden
  • Script - Script können an einen NPC angehängt werden. Dieser Charakter bekommt aber keines.
  • Class - Die Klasse die der Charakter haben soll. Unser Bandit ist aber eine spezielle Klasse. Um Details über vorgefertigte Klassen zu bekommen wähle "Charakter/Class" aus dem Programm-Menü.
  • Summonable - Bleibt frei
  • Offset - Hier kann man angeben, um wie viel höher oder niedriger der Charakter-Level in Bezug zu dem des Spielers liegen darf.
  • PC Level Offset - Hiermit schaltet man das Offset ein, so dass der NPC sich dem Spieler-Level anpasst. Unser NPC soll einen Level höher sein.
  • Calc Min/Max - Hier kann man einen Mindest- und Höchstlevel für den Charakter eingeben. Das kann hilfreich sein, wenn man zum Beispiel einen Dungeon mit einem Mindest-Level erstellen möchte. Gibt man hier also als Calc Min "10" ein, würde ein Level 1 Spieler keine Chance gegen den Gegner haben. Für unseren NPC lassen wir die Werte aber auf 1 und 0, was heißt, das der NPC sich immer auf dem Level des Spielers befinden kann.
  • Race - Die Rasse die der NPC haben soll. Aus der Dropdown-Liste kann man aus einer der Rassen wählen.
  • Female - Hier kann man den Charakter "weiblich" schalten. Der Körper verändert sich dann in einen Frauenkörper.
  • Death Item - Hier kann man einstellen, welches besondere Item der NPC nach seinem Tode hinterlässt. Dieses Item kann nicht vorher "gestohlen" werden. Das ist z.B. gut für Sachen, die man einfach nicht "lebend" entfernen kann wie z.B. das Deadra-Herz, das ja nur nach dem Ableben entnommen werden kann.
  • Essential - Wird nur bei speziellen NPCs gebraucht und wird durch ein Script kontrolliert. Wird dieses Feld aktiviert kann der NPC nicht getötet werden und wird beim Angriff höchstens KO geschlagen. Dieses ist vor allen Dingen für Quest-Geber wichtig, damit diese nicht ableben.
  • Respawn - Ist dieses Feld aktiviert, wird der NPC wiederbelebt, wenn die Zelle neu geladen wird. Bei diesem Boss-Gegner wollen wir das und aktivieren das Feld

Dir wird auffallen, das einige Werte unter "Stats" inaktiv sind. Das liegt daran, weil wir "PC Level Offset" aktiviert haben und diese Werte nun vom Programm gesteuert und berechnet werden.

Für uns ist nun der "Faction"-Reiter interessant. Wir belassen die "BanditFaction" hier, aber wir brauchen noch eine weitere. Dazu müssen wir eine weitere Faction in dieses Fenster ziehen. Dazu öffnen wir im Menü Charakter->Factions.

Nun such dir eine weiter Faction aus. Am besten keine, die der Spieler angehören könnte (MageGuild, FightersGuild). Ich nehme die NenalataFaction. Diese ist "Evil" und "Hidden from PC". Wir ziehen die Faction einfach vom Factions-Fenster in den Faction-Reiter des NPCs. So einfach geht das.


Editieren des Aussehens

Klicke auf den „Face“-Tab. Dieser Tab bietet uns einige grundlegende Möglichkeiten in Form von Alter-, Hautfarbe- und Haar-Schiebereglern. Zusätzlich können wir unseren Haarstil, –farbe und Augenfarbe ändern oder zufällige Gesichtszüge generieren lassen.

http://www.ei-der-zeit.com/LexikonCSIV/pic/fenster-npc-face.jpg

Die „Lock“-Radiobuttons ermöglichen es uns, die Schieberegler manuell zu verändern und dann den „generate“-Button zu verwenden, um alle anderen Eigenschaften des Gesichts zufällig verändern zu lassen. Eine Anmerkung zur Haarfarbe: sehr helles Haar kann verlockend sein, passt aber größtenteils nicht zum Fantasy-Stil von [ob:Oblivion|Oblivion]]. Widerstehe der Versuchung! Versuche es mit dieser Technik, um neue Haarfarben zu erstellen:

  • drücke „Select Color“
  • wähle eine helle Farbe, die du magst
  • rechts gibt es einen vertikalen Balken mit einem Pfeil als Schieberegler
  • verschiebe den Pfeil fast ganz nach Schwarz
  • drücke OK, um die Vorschau zu sehen

Normalerweise genügt es, ein Gesicht zufällig erstellen zu lassen und dann weiterzumachen, besonders für Gegner wie diesen Boss-NPC. Für verfeinertes Tuning gibt es jedoch noch den „Face Advanced“-Tab.


http://www.ei-der-zeit.com/LexikonCSIV/pic/fenster-npc-face-advanced.jpg

Dieser Tab eröffnet einem Myriaden an Möglichkeiten und ist sogar umfangreicher wie der Ingame-Editor für das Gesicht. Du kannst einmal das NPC-Fenster mit "OK" schließen und dann wieder öffnen. Anschließend wechselst du wieder zum Face Advanced Reiter und experimentierst etwas herum. Wähle einen Eintrag aus der Liste und bewege den Slider an der Linken Seite. Du wirst sehen, wie sich Teile des Kopfes verändern. Manches kann den Kopf arg verunstalten. Du kannst aber auch den Kopf drehen. Gehe mit dem Mauszeiger auf den Kopf. Mit der linken Maustaste "greifst" du ihn und kannst ihn herumschwenken. Wenn du jetzt aber mit der rechten Maustaste greifst, kannst du Teile des Kopfes "greifen" und quasi manuell verändern. Das geht meist noch viel leichter und schneller. Kann aber auch ganz schön in die Hose gehen. Wenn der Bandit nun aussieht wie ein Chimpanse mit Mumps, klicke "Cancel" und alle Einstellungen werden verworfen (deswegen solltest du eben das Fenster einmal kurz schließen). Eigentlich eine gute Methode zum herumexperimentieren.

Mit Copy und Paste (Kopieren und Einfügen) kannst du Gesichtseinstellungen auch auf andere NPCs übertragen. Das ist vielleicht dann interessant, wenn du einen vorhandenen NPC das Gesicht eines anderen NPC auflegen willst (wenn du z.B. einen männlichen NPC weiblich machen willst und die Gesichtseinstellungen nicht manuell eingeben willst).

In diesem Fenster findest du außerdem die Wechsel-Optionen "Control Type": Hier kannst du entscheiden, ob du hier die Beschaffenheit des Gesichtes verändern willst ("Geometry") oder die Textur ("Texture").

In der Auswahl "Symetry Type" kannst du dich entscheiden, ob du Symetrisch oder Asymetrisch arbeiten willst. Diese Einstellung gilt nur, wenn du im "Geometry"-Modus arbeitest. Wenn du "Symmetry" wählst, werden alle Einstellungen angezeigt, die sich auf Beide Gesichtshälften bezieht (empfohlen). Wählst du "Asymetry" werden die Einstellungen angezeigt, die sich nur auf eine Gesichtshälfte bezieht, bzw. an unterschiedlichen Stellen. Damit kann man dann besondere Merkmale am Kopf einstellen. Wird aber eher seltener benutzt.

Für unseren Charakter haben wir die Augen (Brow Ridge Inner Up/Down)etwas verändert, soll ja ein Bandit und keine "nette Dame" sein. Außerdem den Mund (mouth-Happy/Sad) auf -10 gezogen. Für diesen Gegner, den der Spieler quasi nur ein paar Sekunden zu Gesicht bekommt (wenn überhaupt), sind weitere Einstellungen eigentlich unnütz. Bei NPCs, mit denen der Spieler auch redet (und somit auf "Nahaufnahme" geht), kann man ruhig mehr ins Detail gehen.


Ändern des Inventars und der Zaubersprüche des NPC

Inventory

Öffne nun den "Inventory"-Tab:

http://www.ei-der-zeit.com/LexikonCSIV/pic/fenster-npc-inventory.jpg

Du wirst eine Menge Gegenstände, die mit LL anfangen, in dieser Liste finden. Das ist die Standard-Vorsilbe für gelevelte Listen. Da wir einen Vorlagen-NPC verwenden, müssen wir hier nichts hinzufügen – sein Inventar enthält alle Ausrüstung, die er benötigt, um dem Spieler einen herausfordernden Kampf und lohnende Kriegsbeute zu liefern. Wenn dieser NPC jedoch einen bestimmten Gegenstand tragen soll (Notizen oder Schlüssel zum Beispiel), müsstest du den Gegenstand aus dem Objekt-Fenster in diese Liste ziehen.

Man beachte auch, dass man ein hypothetisches Spieler-Level eintragen und "Preview Calculated Result" drücken kann. Dadurch öffnet sich ein Popup-Fenster mit einer Liste an Gegenständen, die der Editor per Zufall aus der Liste gewählt hat. Das mehrmalige Ausführen dieses Tests ist eine gute Möglichkeit, um dein Inventar zu testen, ohne das Spiel dafür starten zu müssen.

Spell List

Als nächstes öffnen wir den "SpellList"-Tab:

http://www.ei-der-zeit.com/LexikonCSIV/pic/fenster-npc-spells.jpg

Diese Liste ist leer, aber lass uns diesem Boss einige grundlegende Veränderungs-Fähigkeiten geben, da er in der Schule dieser Magie ein wenig bewandt ist (die Info findet man im Stats-Tab ).

Navigiere im Objekt-Fenster zu Magic->LeveledSpell und ziehe die LL1AlterationMinorLvl100-Spruchliste auf den NPC. Das bereitet ihn auf einen Kampf mit einigen Veränderungs-Sprüchen, passend zum Spielerlevel, vor. Nun kann sie sich mit ein paar Veränderungs-Zauber auf den Kampf vorbereiten.

Ändern der grundlegenden AI und Packages

Schließlich wollen wir diesem NPC noch etwas mehr wie das Standardverhalten mitgeben. Drücke den „AI“-Button, um das AI-Fenster zu öffnen.

http://www.ei-der-zeit.com/LexikonCSIV/pic/tut-npc-ai.jpg

Wir beschäftigen uns nur mit dem Fensterteil der AI-Attribute und der AI-Paket-Liste. Die anderen Einstellungen sind für Verkaufs- und Trainer-NPCs.

Wir können die voreingestellten AI-Attribute des Original-NPCs beibehalten. Aggression und Confidence (Zuversicht) auf 100 bedeutet, dass er sich mit jedem Feind anlegt und nie davon rennt. Du kannst mit diesen Werten herumspielen, um verschiedene Verhaltensweisen zu erreichen und z.B. die Confidence senken, damit derNPC eher mal vor einem Kampf flieht. Das Energy-Level und die Responsibility (Verantwortung) führen zu anderen AI-Verhaltensweisen und müssen für diesen NPC nicht angefasst werden.

Wir werden nun die Packages ändern. Zunächst löschen wir alle vorhandenen Packages und fügen gleich neue hinzu. Die Vorsilbe der Packages ist "aaa". Dieses sind "Basis-Packages", die mit jeder Kreatur oder NPC genutzt werden kann.

Mit den letzten dreien ist der Bandit in der Lage zu essen und zu schlafen.

Öffne nun im Programmmenü "Creatures->Packages" und ziehe die folgenden Packages in die Package-List.

  • aaaCreatureInterior512
  • aaaCreatureExterior1500
  • aaaEat10x2
  • aaaEat20x2
  • aaaSleep22x8

Die Namenskonvention für die letzten drei gibt auch eine Zeitinformation. Die erste Zahl ist eine Zeit nach Militärsprache und die zweite Zahl ist die Dauer. Unser NPC wird also um 10 Uhr morgens und 8 Uhr abends zwei Stunden lang essen und ab 10 Uhr abends acht Stunden schlafen. Dieses Verhalten gibt dem Spieler die Möglichkeit, leichter heranzuschleichen und ihn und seinen Lebensraum auszurauben ohne ihn direkt konfrontieren zu müssen.

Die AI arbeitet die Liste von oben nach unten ab und wählt das erste aus, dessen Bedingung erfüllt ist. Stelle also sicher, dass die Wander-Pakete am Ende der Liste sind. Da sie an keine Bedingungen (wie Zeit oder Dauer) gebunden sind, würde die AI immer eins davon auswählen, was bedeutet, dass der NPC nie essen oder schlafen würde, wenn diese Pakete unter den Wander-Paketen in der Liste sind.

Speichern und Testen

Nochmals: stell sicher, dass du die ID geändert hast, bevor du auf OK drückst, weil du ansonsten den schon vorher dagewesenen NPC überschreibst, den wir als Vorlage genommen haben.

Jetzt bist du soweit, den NPC in das Zimmer CreepyCave02 (oder wo immer du willst) zu ziehen. Es ist sinnvoll, sie wegen ihres Schlaf-Pakets in die Nähe des Bettes zu setzen und du könntest für sie auch weiteres Essen ins Zimmer stellen.

Du kannst auch essen in ihr Inventar legen und die Menge auf "-1" (Minus eins) setzen, was bedeutet, das ihr niemals das Essen ausgeht. Das ist hilfreich, damit die NPCs nicht die ganze Umgebung nach Essen absuchen und somit unerwünschte Verhaltensweisen aufweisen.

Das wars! Du kannst dieses Plugin speichern und wie üblich testen. Du hast jetzt einen speziellen Boss nur für deinen Dungeon und kannst alle Einstellungen, über die wir etwas gelernt haben, verändern, um das Spielerlebnis zu perfektionieren.