Oblivion:Quest Scripts: Unterschied zwischen den Versionen

Aus Skript-Wiki
Wechseln zu: Navigation, Suche
K
K (Weiterleitung nach Oblivion:Scripting allgemein#Quest Scripts erstellt)
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 1: Zeile 1:
== Einleitung ==
+
#REDIRECT [[Oblivion:Scripting_allgemein#Quest_Scripts]]
 
 
Quest-Scripts können erstellt werden, indem im [[ob:Script_Editor_Window|Script-Fenster]] als Script-Type 'Quest' ausgewählt wird. Scripts müssen als Quest-Scripts bezeichnet werden, um an [[ob:Quest|Quests]] angefügt werden zu können. Quest-Scripts sind [[ob:Non-Reference_Scripts|Non-Reference-Scripts]] und deswegen in ihrer Syntax etwas beschränkt.
 
 
 
== Grundlegende Fakten ==
 
 
 
* Quest Scripts werden nur ausgeführt, wenn die Quest läuft (das lässt sich im Spiel mit "sqv QUEST_NAME" herausfinden). Quests können mit den Befehlen [[ob:StartQuest|StartQuest]] und [[ob:StopQuest|StopQuest]] gestartet und angehalten werden. Beachte dabei, dass dies unabhängig davon ist, ob eine Quest grade läuft oder nicht. Eine Quest fertigzustellen bedeutet, dass sie im Tagebuch des Spielers in den 'Abgeschlossene Aufgaben'-Reiter verschoben wird - aber sie wird immer noch ausgeführt, bis sie mit 'StopQuest' beendet wird.
 
* Quests werden automatisch aktiviert, wenn der Spieler einen entsprechenden Tagebucheintrag erhält. Wenn also ''[[ob:SetStage|SetStage]] QUESTNAME 10'' verwendet wird, angenommen es enthält einen Tagebuch-Text, wird dadurch automatisch die Quest gestartet.
 
* Normalerweise sollte eine Quest angehalten werden, wenn sie abgeschlossen ist, damit das Quest-Script nicht weiter ausgeführt wird. Wenn es einen Grund gibt, das Script weiterhin laufen zu lassen (aufgrund von Dialogen oder Scripts nach der Quest), solltest du darüber nachdenken, eine zweite Quest zu erstellen (z.B. MS38 und MS38FIN).
 
* Quest-[[ob:variablen|Variablen]] können auch dann eingesehen und verändert werden, wenn die Quest nicht ausgeführt wird. Wenn eine Quest angehalten wird, wird zwar auch das Script gestoppt, aber es bleibt ebenso wie seine [[ob:variablen|Variablen]] erhalten.
 
 
 
 
 
== Einstellen, wie oft ein Quest-Script ausgeführt wird ==
 
 
 
* Setze die [[ob:variablen|Variable]] '''float QuestDelayTime''' in deinem Quest-Script.
 
* Setze fQuestDelayTime, in welchem Intervall dein Script ausgeführt werden soll (in Sekunden). Wenn du es auf etwas sehr Kleines setzt (.01), wird es dann tatsächlich in jedem Frame ausgeführt. Wenn du es auf 0 setzt, wird das Quest-Script zur gewöhnlichen Einstellung (alle 5 Sekunden) zurückkehren. Diese Funktion ist mit Vorsicht zu benutzen - für gewöhnlich sollte fQuestDelayTime nur unter bestimmten Umständen auf etwas Kleineres als 5 gesetzt werden.
 
* fQuestDelayTime kann auch von anderen Scripts aus gesetzt werden, indem du dein Script mit angibst, z.B. '''set MyQuest.fQuestDelayTime to 0.01'''.
 
* Quest-Scripts sind die einzigen Scripts, die [[ob:MenuMode|MenuMode]]-Blöcke ausführen, während der Spieler schläft oder die Schnellreise-Funktion verwendet.
 
* Da Quest-Scripts immer basierend auf bestimmten Zeitabständen ausgeführt werden, müssen sie nicht zwangsläufig Frame-synchron sein - auch wenn fQuestDelayTime auf einen sehr kleinen Wert gesetzt wird. Für manche Effekte (z.B. welche die [[ob:SetPos|SetPos]] verwenden) kann dies ungewünschte Ergebnisse haben. In dem Fall können Objekt- und Magie-Scripts die bessere Wahl sein.
 
 
 
 
 
==Links==
 
[[Übersetzung|Quest_scripts]]
 
* [[ob:Magic Effect Scripts|Magic Effect Scripts]]
 
 
 
* [[ob:Object Scripts|Object Scripts]]
 
  
 
[[Kategorie:Scripting Wissen|Quest Scripts]]
 
[[Kategorie:Scripting Wissen|Quest Scripts]]
 
[[Category:Sprachelemente|Quest Scripts]]
 
[[Category:Sprachelemente|Quest Scripts]]

Aktuelle Version vom 27. September 2008, 20:52 Uhr