Oblivion:Set: Unterschied zwischen den Versionen
Keris (Diskussion | Beiträge) K |
Keris (Diskussion | Beiträge) K |
||
Zeile 34: | Zeile 34: | ||
* 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: | * 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: | ||
− | < | + | <tesscript>float a |
set a to 9/5 ; Setzt "a" auf 1.000 - Die Zahl hinter dem Komma wird weggelassen. | 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</ | + | set a to 9.0/5 ; Setzt "a" auf 1.800</tesscript> |
* Wenn du das korrekt aufgerundete Ergebnis einer Division in einer Integer-[[ob:Variablen|Variable]] speichern willst, solltest du sicherstellen, das die Berechnung Gleitkommas benutzt (So das der Dezimal-Bruch nicht abgeschnitten wird) und addierst 0.5: | * Wenn du das korrekt aufgerundete Ergebnis einer Division in einer Integer-[[ob:Variablen|Variable]] speichern willst, solltest du sicherstellen, das die Berechnung Gleitkommas benutzt (So das der Dezimal-Bruch nicht abgeschnitten wird) und addierst 0.5: | ||
− | < | + | <tesscript>short a |
set a to 9/5 ; Setzt "a" auf 1 | set a to 9/5 ; Setzt "a" auf 1 | ||
set a to 9/5 + 0.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 ; Setzt "a" auf 1 | ||
set a to 9.0/5 + 0.5 ; Setzt "a" auf 2 | set a to 9.0/5 + 0.5 ; Setzt "a" auf 2 | ||
− | set a to 7.0/5 + 0.5 ; Setzt "a" auf 1</ | + | set a to 7.0/5 + 0.5 ; Setzt "a" auf 1</tesscript> |
− | < | + | <tesscript>short a |
set a to 9 | set a to 9 | ||
− | set a to a/5.0 + 0.5 ; Setzt "a" auf 2</ | + | set a to a/5.0 + 0.5 ; Setzt "a" auf 2</tesscript> |
− | < | + | <tesscript>short a |
float b | float b | ||
set b to 9 | set b to 9 | ||
− | set a to b/5 + 0.5 ; Setzt "a" auf 2 | + | set a to b/5 + 0.5 ; Setzt "a" auf 2</tesscript> |
− | </ | + | |
* 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. | * 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. | ||
− | < | + | <tesscript>set goodluck to player.Getav luck > 60</tesscript> |
− | |||
* Macht das selbe wie: | * Macht das selbe wie: | ||
− | < | + | <tesscript>if player.Getav luck > 60 |
set goodluck to 1 | set goodluck to 1 | ||
else | else | ||
set goodluck to 0 | set goodluck to 0 | ||
− | endif</ | + | endif</tesscript> |
* Andere Beispiele: | * Andere Beispiele: | ||
− | < | + | <tesscript>set a to 2 |
set b to a*a | set b to a*a | ||
set c to (b - a)*b - a | set c to (b - a)*b - a | ||
Zeile 79: | Zeile 78: | ||
set stage to getstage quest1 + 10 | set stage to getstage quest1 + 10 | ||
− | set weapondrawn to player.isweaponout</ | + | set weapondrawn to player.isweaponout</tesscript> |
[[Kategorie: Befehle|Set]] | [[Kategorie: Befehle|Set]] | ||
− |
Aktuelle Version vom 28. August 2008, 21:52 Uhr
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:
<tesscript>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</tesscript>
- 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:
<tesscript>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</tesscript>
<tesscript>short a set a to 9 set a to a/5.0 + 0.5 ; Setzt "a" auf 2</tesscript>
<tesscript>short a float b set b to 9 set a to b/5 + 0.5 ; Setzt "a" auf 2</tesscript>
- 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.
<tesscript>set goodluck to player.Getav luck > 60</tesscript>
- Macht das selbe wie:
<tesscript>if player.Getav luck > 60
set goodluck to 1
else
set goodluck to 0
endif</tesscript>
- Andere Beispiele:
<tesscript>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</tesscript>