Oblivion:Set
Setzt eine Lokale oder Globale Variable auf den angegebenen Wert. Dieser Wert kann eine Nummer oder eine Expression (Ausdruck) sein.
Arithmetische Operatoren:
Operator | Beschreibung |
---|---|
"+" | Addition |
"-" | Subtraktion |
* | Multiplikation |
/ | Division |
% | Modul (Dividiert Integer-Variablen und gibt den Restwert zurück) |
Hinweise:
Der Modul-Operator "%" wird nach Multiplikation/Division ausgewertet, aber noch vor Addition/Subtraktion
4 * 3 % 2 = 0
4 * (3%2) = 4
1 + 2 % 3 = 3
(1+2) % 3 = 0
- Ein Minuszeichen vor einer Zahl oder Variable gilt als "Negativ"-Zeichen. Wenn du eine Subtraktion durchführen willst, benötigst du ein Leerzeichen vor und hinter dem Minuszeichen. Das ist der einzige Platz, wo du wirklich ein Leerzeichen zweischen Arithmetischen Operanten brauchst (Zur Veranschaulichung: "a-b" wird nicht compiliert, du musst "a - b" schreiben).
- Wenn du nur Zahlen in deiner Division benutzt, benötigst du mindestens einen Dezimalpunkt um dem Spiel zu sagen, das du eine Gleitkomma Division machen willst. Ohne einen Dezimalpunkt werden die Zahlen hinter dem Komma einfach weggelassen:
float a
set a to 9/5 ; Setzt "a" auf 1.000 - Die Zahl hinter dem Komma wird weggelassen.
set a to 9.0/5 ; Setzt "a" auf 1.800
- Wenn du das korrekt aufgerundete Ergebnis einer Division in einer Integer-Variable speichern willst, solltest du sicherstellen, das die Berechnung Gleitkommas benutzt (So das der Dezimal-Bruch nicht abgeschnitten wird) und addierst 0.5:
short a
set a to 9/5 ; Setzt "a" auf 1
set a to 9/5 + 0.5 ; Setzt "a" auf 1
set a to 9.0/5 ; Setzt "a" auf 1
set a to 9.0/5 + 0.5 ; Setzt "a" auf 2
set a to 7.0/5 + 0.5 ; Setzt "a" auf 1
short a
set a to 9
set a to a/5.0 + 0.5 ; Setzt "a" auf 2
short a
float b
set b to 9
set a to b/5 + 0.5 ; Setzt "a" auf 2
- Du kannst auch einen Vergleichswert als "Wert" benutzen. Die Variable wird dann entweder auf 1 oder 0 gesetzt, abhängig davon, ob die Bedingung wahr ist oder nicht.
set goodluck to player.Getav luck > 60
- Macht das selbe wie:
if player.Getav luck > 60
set goodluck to 1
else
set goodluck to 0
endif
- Andere Beispiele:
set a to 2
set b to a*a
set c to (b - a)*b - a
set d to ((3* -b+a) - c)/ -2
message "a=%.0f, b=%.0f, c=%.0f, d=%.0f" a b c d ; ("a=2, b=4, c=6, d=8")
set stage to getstage quest1 + 10
set weapondrawn to player.isweaponout