Oblivion:Quest Scripts: Unterschied zwischen den Versionen
Aus Skript-Wiki
Keris (Diskussion | Beiträge) K (→Links) |
Keris (Diskussion | Beiträge) K (→Einleitung) |
||
Zeile 1: | Zeile 1: | ||
== Einleitung == | == Einleitung == | ||
− | Quest Scripts können erstellt werden, indem im [[ob:Script_Editor_Window|Script Window]] 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. | + | Quest Scripts können erstellt werden, indem im [[ob:Script_Editor_Window|Script Window]] 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 == | == Grundlegende Fakten == |
Version vom 20. September 2008, 14:21 Uhr
Inhaltsverzeichnis
Einleitung
Quest Scripts können erstellt werden, indem im Script Window 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 jeden 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 Zeit-Abstä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.