Oblivion:Sprechen und Ansprechen
Inhaltsverzeichnis
Sprechen und sprechen lassen
Es gibt verschiedene Methoden, einen NPC etwas sagen zu lassen bzw. eine Konversation zu beginnen und eine einzige, einen Nicht-NPC etwas sagen zu lassen.
Eine Konverversation beginnt
C
Aufgabenstellung
Es soll eine Konversation eröffnet werden. Teilnehmer sind der Player und Agarmir, ein NPC .
Theorie
Ohne Festlegung des zu Sagenden beginnt eine Konversation mit der Begrüßung. Durch ein Activate geschieht das Öffnen des Dialogfensters. Im offenen Dialogfenster erscheint eine Liste mit aktuellen Topics des Gesprächspartners. Aus diesen kann man dann Gesprächspunkte auswählen.
(Dies funktioniert übrigens auch mit einem Find Package auf einem NPC, wenn der Player das Target ist.)
Realisierung
Umgebung
Agarmir lebt. Agarmir und der Player sind in der selben Cell, sonst wirkt es nicht glaubhaft, obwohl es trotzdem funktioniert. Der Player ist nicht im Schleich-Modus (da sonst das Activate nicht das Dialogfenster öffnet sondern das Inventarfenster zum Stehlen).
Script
<tesscript>scn BeginPlayerDialog
- Written by keris
- 28.12.08
short Doonce
Begin GameMode
If Doonce == 0 Set Doonce to 1 AgarmirRef.Activate Player endif
end</tesscript>
Handhabung
Das Script kann als Quest- oder als Objectscript genutzt werden.
Eine Konversation beginnt mit einem bestimmten Thema
Anwendung
Aufgabenstellung
Es soll eine Konversation mit einem bestimmten Thema begonnen werden. Teilnehmer sind der Player und Agarmir, ein NPC .
Theorie
Mit StartConversation wird der NPC zum gewünschten Gesprächspartner gehen und dann eine passende Info aus dem angeforderte Topic sprechen. Passend bedeutet, dass aus der Liste der Topics das erste genommen wird, dessen Condition passt. Wenn eine Konversation weiter gehen kann (die gesprochene Info also keine Goodbye-Flag hat) und der Player beteiligt ist, erscheint das Dialogfenster des Gesprächspartners mit der Liste der aktuellen Topics (das geht allerdings nur, wenn der Player beteiligt ist).
Realisierung
Umgebung
Agarmir lebt. Agarmir und der Player sind in der selben Cell (sonst ist der Weg sehr weit; s.o) und es gibt ein Topic DemoTopic mit passender Condition, in dem Agarmir etwas sagt.
Bild der Condition
Script
<tesscript>scn BeginNPCDialog
- Written by keris
- 28.12.08
short Doonce
Begin GameMode If Doonce == 0
If Player.Itemcount Breadloaf == 0
Set Doonce to 1
AgarmirRef.StartConversation Player DemoTopic
endif endif end </tesscript>
Handhabung
Das Script kann als Quest- oder als Objectscript genutzt werden.
Ein NPC sagt etwas zu jemandem
Anwendung
Aufgabenstellung
Agarmir, ein NPC, gibt dem Player eine Information
Theorie
Mit SayTo lässt man einen NPC eine einzelne Info aus einem Topic zum Spieler oder einem anderen NPC sprechen. Der sprechende NPC wird sich dabei zum Ziel drehen oder hingehen, wenn es das aktuelle Package erlaubt, wird damit aber nicht warten (Also sollte man diese Funktion nur dann aufrufen, wenn alle in angemessener Nähe sind, s.o.).
Realisierung
Umgebung
Agarmir lebt und es gibt ein Topic DemoTopic, in dem Agarmir etwas sagt.
Bild der Condition
Script
<tesscript>scn GiveInfo
- Written by keris
- 28.12.08
short Doonce
Begin GameMode If Doonce == 0
If Player.Itemcount Breadloaf == 0
Set Doonce to 1
Agarmir.SayTo Player DemoTopic
endif
endif
end</tesscript>
Handhabung
Das Script kann als Quest- oder als Objectscript genutzt werden.
Ein NPC führt Selbstgespräche
Anwendung
Aufgabenstellung
Agarmir, ein NPC, sagt etwas zu einem Totenschädel.
Theorie
Mit dem Kommando Say sagt ein NPC etwas. Ein Adressat ist nicht erforderlich.
Realisierung
Umgebung
Agarmir lebt und es gibt ein Topic DemoTopic, in dem Agarmir etwas sagt. Er befindet sich in der Nähe des Totenschädels. Der Schädel ist persistent und hat den Namen SkullRef.
Bild der Condition
Script =
<tesscript>scn MakeTheHamlet
- Written by keris
- 28.12.08
short Doonce
Begin GameMode
If Doonce == 0 Set Doonce to 1
AgarmirRef.Look SkullRef; damit wendet sich Agarmir dem Schädel zu AgarmirRef.Say DemoTopic
endif
end</tesscript>
Handhabung
Das Script kann als Quest- oder als Objectscript genutzt werden.
Ein Nicht-NPC sagt etwas
Anwendung
Aufgabenstellung
Eine Statue soll etwas sprechen können.
Theorie
Das say hat eine "SpeakerID". Mit dieser optionalen "SpeakerID" ist es möglich, einer Kreatur, einem Activator oder einem andern Objekt das Sprechen beizubringen. Dabei braucht die ID einen NPC, der als Platzhalter für Rasse, Geschlecht und Stimmen-Datei herhalten muss. Der NPC muss dabei aber nicht in der Welt platziert sein (es genügt also, wenn er im Objekt-Fenster vorhanden ist).
Realisierung
Umgebung
Es gibt ein Topic DemoTopic, in dem Agarmir etwas sagt. Agarmir „leiht“ also der Statue seine Stimme. Der Player steht vor der Statue.
Bild der Condition
Script
<tesscript>scn SpeakingStatue
- Written by keris
- 28.12.08
short Doonce
Begin GameMode If Doonce == 0 Set Doonce to 1
If Player.ItemCount Breadloaf == 0 Say DemoTopic 1 Agarmir 1 Endif
Endif end</tesscript>
Handhabung
Das Script liegt auf der Statue
Weiterführende Hinweise
Weitere Scripts aus dieser Kategorie
{{#if: Dialog | }}
{{#if: Level 1 Scripts | }}