Oblivion:Set: Unterschied zwischen den Versionen

Aus Skript-Wiki
Wechseln zu: Navigation, Suche
K (Die Seite wurde neu angelegt: Setzt eine Lokale oder Globale Variable auf den angegebenen Wert. Dieser Wert kann eine Nummer oder eine Expression (Ausdruck) sein. Arithmetische Op...)
 
K
Zeile 17: Zeile 17:
 
|/||Division
 
|/||Division
 
|-
 
|-
|%||Modul (Dividiert Integers und gibt den Restwert zurück)
+
|%||Modul (Dividiert Integer-Variablen und gibt den Restwert zurück)
 
|}
 
|}
 
</div>
 
</div>
Zeile 57: Zeile 57:
 
</code>
 
</code>
  
* Du kannst auch einen comparsion (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.
  
 
<code>set goodluck to player.Getav luck > 60</code>
 
<code>set goodluck to player.Getav luck > 60</code>

Version vom 19. August 2008, 10:51 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:

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