« Zurück zu Produkt

Dokumentation

IPS_SetScriptTimer

 bool IPS_SetScriptTimer (int $SkriptID, int $TimerWert) 

Parameterliste

SkriptID

ID des Skripts, dessen Timer eingestellt werden soll

TimerWert

Zeit in Sekunden, in denen das Skript zyklisch aufgerufen werden soll

Rückgabewert

Konnte die Funktion erfolgreich ausgeführt werden, liefert sie 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.

Warning

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.

Steht der Wert auf 0, so ist der Timer abgeschaltet, und es erfolgt keine Ausführung. Negative Werte werden wie 0 behandelt.

TimerWert muss kleiner als 86400 (ein Tag) sein. Bei größeren Werten schlägt die Funktion mit "Interval must be less than 86400 seconds (1 day). Use a cyclic event for longer intervals" fehl und der bestehende Timer bleibt unverändert. Für längere Intervalle ist ein zyklisches Ereignis zu verwenden, siehe IPS_SetEventCyclic.

Beispiel

//veranlasst, dass das Skript alle 10 Sekunden ausgeführt wird        
IPS_SetScriptTimer($ScriptID, 10);
Haben Sie noch Fragen?