Oblivion:Sprechen und Ansprechen: Unterschied zwischen den Versionen

Aus Skript-Wiki
Wechseln zu: Navigation, Suche
K
K (Umgebung)
Zeile 51: Zeile 51:
 
=== Realisierung ===
 
=== Realisierung ===
 
==== Umgebung ====
 
==== Umgebung ====
Agarmir lebt. Agarmir und der Player sind in der selben Cell (sonst ist der Weg sehr weit; s.o) und es gibt ein [[ob:Oblivion:Quest_Window#Response.2C_Info.2C_Topic|Topic]] DemoTopic mit passender [[ob:Bedingung|Condition]], in dem Agarmir etwas sagt.  
+
Agarmir lebt. Agarmir und der Player sind in der selben Cell (sonst ist der Weg sehr weit; s.o) und es gibt ein [[ob:Topic|Topic]] DemoTopic mit passender [[ob:Bedingung|Condition]], in dem Agarmir etwas sagt.  
  
 
Bild der Condition
 
Bild der Condition
 
  
 
==== Script ====
 
==== Script ====

Version vom 2. Januar 2009, 20:21 Uhr

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

Quest Window Bedingungen


Weitere Scripts aus dieser Kategorie

  

           



    {{#if: Dialog | }} {{#if: Level 1 Scripts | }}