Oblivion:Bedingung

Aus Skript-Wiki
Wechseln zu: Navigation, Suche

Bedingungen allgemein

Bedingungen (Orig: "Conditions") tauchen an vielen Stellen des Editors auf und teilen dem Spiel mit, was passieren muss, damit eine Aktion ausgelöst wird. Einfach gesagt ist eine Bedingung ein oder mehrere Scripts, die dem Spiel sagen, unter welchen Umständen ein bestimmtes Editor-Item gültig ist. Bedingungen werden in den folgenden Sektionen des Editors genutzt:

Idle Animations

Quest Data

Quest Stages

Quest Targets

Dialoge

Packages



Die Condition-Liste

Die Condition-Liste zeigt alle einzelnen Condition-Items für dieses Set der Bedingung an. Mit einem Rechtsklick in das Listenfeld öffnet man das zugehörige Kontext-Menü, in dem man eine neue Bedingung erstellen kann (New), sowie eine vorhandene Bedingung duplizieren (Duplicate) oder löschen (Delete). Außerdem kann man hier eine (Copy Condition) oder alle (Copy All Conditions) Bedingungen kopieren und zuvor kopierte Bedingungen hier einfügen (Paste).


Cs-bedingungen.jpg


Die << und >> Buttons bewegen die einzelnen Bedingungs-Einträge in der Liste auf und ab. Mit dem "New"-Button kann man einen neuen Eintrag erstellen.

Um eine Bedingung zu bearbeiten, klicke sie in der Liste an und deren Einstellungen werden unter dem Listenfeld angezeigt. Dort können dann Änderungen vorgenommen werden.

Die "Condition Function"-Dropdown-Liste zeigt die Funktion an, die für die Bedingung erfüllt sein muss. Siehe "Condition-Functions", um eine komplette Liste der Script-Funktionen anzuzeigen, die als Bedingung genutzt werden können.

Das "Run on Target"-Markierfeld gibt an, dass die Funktion auf das Ziel des Actors angewendet wird und nicht an dem Actor selbst.

Der "Function Parameters"-Button öffnet ein Eingabefeld, in dem man weitere Parameter für die aktuell gewählte Funktion eingeben kann. Hier wird z.B. die Referenz für die GetDistance-Funktion oder die Faction für eine GetFactionRank gesetzt.

Die "Comparision Dropdown"-Liste bestimmt, wie der Rückgabe-Wert auf die Funktion einwirkt, um zu bestimmen, ob die Bedingung erfüllt ist.


Comparision Bedingung
< Wert muss kleiner sein
<= Wert muss kleiner oder gleich sein
== Wert muss gleich sein
>= Wert muss größer oder gleich sein
!= Wert darf nicht gleich sein


Unter "Value" ist ein Text-Feld, in dem man einen Wert eingibt, dem die Bedingung in Bezug auf die Comparsion entsprechen soll. Wenn man aber "Use Global" oben drüber aktiviert, wird das Textfeld zu einer Dropdown-Liste, aus der man stattdessen eine Globale Variable auswählen kann.

Das "OR"-Feld kann aktiviert werden, wenn die Funktion mit einer anderen Funktion zusammen arbeitet. Wird nun "OR" aktiviert, muss diese Bedingung ODER die andere erfüllt sein. Andernfalls müssen beide Bedingungen erfüllt sein (AND). So kann man also angeben, dass der Spieler z.B. entweder mit einem NPC geredet ODER einen Gegenstand geholt haben muss. Andernfalls muss er mit einem NPC reden UND einen Gegenstand holen. Beispiele für AND und OR Anwendung: ( A AND B OR C AND D ) wird erkannt als ( A AND ( B OR C ) AND D ) und nicht als ( ( A AND B ) OR ( C AND D ) ). Das OR wird also vor dem UND ausgewertet.