Oblivion:Quest Scripts: Unterschied zwischen den Versionen

Aus Skript-Wiki
Wechseln zu: Navigation, Suche
K
K
Zeile 21: Zeile 21:
  
 
==Links==
 
==Links==
[[Übersetzung|Quest_scripts]]
+
{{Übersetzung|constwiki|Quest_scripts}}
 
* [[ob:Magic Effect Scripts|Magic Effect Scripts]]
 
* [[ob:Magic Effect Scripts|Magic Effect Scripts]]
  

Version vom 27. September 2008, 16:18 Uhr

Einleitung

Quest-Scripts können erstellt werden, indem im Script-Fenster als Script-Type 'Quest' ausgewählt wird. Scripts müssen als Quest-Scripts bezeichnet werden, um an Quests angefügt werden zu können. Quest-Scripts sind 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 StartQuest und 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 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-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 Variablen erhalten.


Einstellen, wie oft ein Quest-Script ausgeführt wird

  • Setze die 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 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 SetPos verwenden) kann dies ungewünschte Ergebnisse haben. In dem Fall können Objekt- und Magie-Scripts die bessere Wahl sein.


Links