Oblivion:GetSecondsPassed: Unterschied zwischen den Versionen

Aus Skript-Wiki
Wechseln zu: Navigation, Suche
K
K
Zeile 16: Zeile 16:
 
   set timer to timer - GetSecondsPassed
 
   set timer to timer - GetSecondsPassed
 
else
 
else
   ; time's up! Do something.
+
   ; die Zeit ist um! Mache etwas.
 
endif
 
endif
  
Zeile 31: Zeile 31:
 
   
 
   
 
  begin gamemode
 
  begin gamemode
  set timer1 to getsecondspassed  ;This returns the time passed since the last frame
+
  set timer1 to getsecondspassed  ;dies gibt die Zeit zurück, die seit dem letzten Frame verstrichen ist. 
  set timer2 to getsecondspassed  ;This returns the same value
+
  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