Oblivion:GetSecondsPassed: Unterschied zwischen den Versionen
Keris (Diskussion | Beiträge) K |
Keris (Diskussion | Beiträge) K |
||
Zeile 16: | Zeile 16: | ||
set timer to timer - GetSecondsPassed | set timer to timer - GetSecondsPassed | ||
else | else | ||
− | ; | + | ; die Zeit ist um! Mache etwas. |
endif | endif | ||
Zeile 31: | Zeile 31: | ||
begin gamemode | begin gamemode | ||
− | set timer1 to getsecondspassed ; | + | set timer1 to getsecondspassed ;dies gibt die Zeit zurück, die seit dem letzten Frame verstrichen ist. |
− | set timer2 to getsecondspassed ; | + | set timer2 to getsecondspassed ;dies gibt den selben Wert zurück |
end</tesscript> | end</tesscript> |
Version vom 27. April 2009, 20:13 Uhr
Syntax:
(seconds:float) GetSecondsPassed
Gibt die Anzahl Sekunden zurück, die seit dem letzten Frame vergangen sind (in float). Sehr nützlich, wenn man einen Timer in einem Script ausführt. Jeder Script hat seinen eigenen Zähler für GetSecondsPassed. Alle Abrufe innerhalb desselben Frame werden den gleichen Wert zurückerhalten.
Beispiel:
<tesscript>float timer
begin gamemode
if timer > 0
set timer to timer - GetSecondsPassed
else
; die Zeit ist um! Mache etwas.
endif
end</tesscript>
Wenn timer auf einen beliebigen positiven Wert (steht für Sekunden, die runtergezählt werden), wird er geringfügig mit jedem Frame heruntergezählt werden, bis 0 erreicht ist, an diesem Punkt wird der else-Abschnitt ausgeführt. Der else-Abschnitt sollte vermutlich eine Art "DoOnce" enthalten, es sei denn es wird vorausgesetzt, dass er in jedem Frame ausgeführt wird, sobald der Timer runterzählt.
Beispiel zwei:
<tesscript> float timer1
float timer2 begin gamemode set timer1 to getsecondspassed ;dies gibt die Zeit zurück, die seit dem letzten Frame verstrichen ist. set timer2 to getsecondspassed ;dies gibt den selben Wert zurück
end</tesscript>
Hinweise:
- GetSecondsPassed ist unzuverlässig in einem ScriptEffekt während Schlafen/Warten/Schnellreisen. Stattdessen sollte man ScriptEffectElapsedSeconds nutzen.
Links