Dokumentation
IPS_SetScriptTimer
boolean IPS_SetScriptTimer (int $SkriptID, int $TimerWert)
Parameterliste
SkriptID | ID des Skripts, dessen Timer eingestellt werden solll |
TimerWert | Zeit in Sekunden, in denen das Skript zyklisch aufgerufen werden soll |
Rückgabewert
Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis TRUE, andernfalls FALSE.
Beschreibung
Die Funktion setzt den Integer-Startwert des ScriptTimers des Skripts mit der ID SkriptID auf den Wert TimerWert in Sekunden. Mit dieser Funktion kann man den ScriptTimer auf einen bestimmten Wert setzen. Der Wert wird in Sekundenschritten heruntergezählt. Beim Erreichen des Werts 0 wird das Skript gestartet und der ScriptTimer erneut auf den Startwert gesetzt. Dieser Vorgang wiederholt sich bis der Timer explizit gelöscht (auf 0 gesetzt) wurde.
Diese Funktion funktioniert nur sekundengenau, wenn Werte kleiner als 3600 angegeben werden. Bei Werten über 3600 kann es je nach Startzeit/Teiler zu unregelmäßigkeiten kommen, da der SkriptTimer an die Limitation von normalen Ereignissen und dessen Zeitmuster gebunden ist. z.B. wird ein SkriptTimer, welcher alle 5 Stunden starten soll und um 6h früh gesetzt wird, täglich um 6h, 11h, 16h, 21h und dann wieder um 1h, statt wie vielleicht erwartet um 2h, gestartet. Werte über die Tagesgrenze hinaus werden zu vollen Tagen abgerundet.
Steht der Wert auf 0, so ist der Timer abgeschaltet, und es erfolgt kein Ausführung.
Beispiel
//veranlasst, dass das Skript alle 10 Sekunden ausgeführt wird
IPS_SetScriptTimer($ScriptID, 10);