Zeitverzögerung nur 1x auslösen

Hallo, ich würde gerne bei einer Aktion eine Variable verzögert umschalten. Nun war mein Gedanke mit sleep zu arbeiten. Allerdings vermute ich das wenn in der Verzögerungszeit noch mal das Ereignis ausgelöst wird der erste Skript auch noch abgearbeitet wird. Gibt es eine Möglichkeit eine Aktion verzögert auszulösen und wenn während der Verzögerungszeit die Aktion neu Getriggert wird die Erste Aktion nicht mehr abgearbeitet wird?

Ich habe auch noch IPS Timer gefunden. Konnte aber kein gutes Beispiel finden. Auch hier stellt sich mir die Frage was passiert wenn der erste Timer noch nicht abgearbeitet wurde ob dann beide Timer abgearbeitet werden.

Sleep ist meistens keine gute Idee, da das Skript währenddessen einen Thread blockiert.

Bau Dir ein Skript und lass Deine Aktion dieses Skript starten. Dieses Skript setzt einen ScriptTimer auf das gleiche Skript. Gleichzeitig kann hier bei erneuter Auslösung vor Ablauf des Timers geprüft werden, ob es den SkriptTimer schon gibt. Je nachdem, was dann gewünscht ist, kann man entsprechend reagieren. Dann baust Du noch einen Part ein, der ausgeführt wird, wenn das Skript durch den SkriptTimer gestartet wird. In diesem setzt Du den Timer dann auch gleich zurück auf 0. Fertig.

Hättest Du ein Beispiel für Dummis.

Status Integrator und Dummie? :thinking:

Hier findest Du alles, was Du brauchst:
https://www.symcon.de/service/dokumentation/konzepte/skripte/systemvariablen/
https://www.symcon.de/service/dokumentation/befehlsreferenz/skriptverwaltung/ips-setscripttimer/

Vielleicht noch:
https://www.symcon.de/service/dokumentation/befehlsreferenz/objektverwaltung/ips-getchildrenids/

oder

https://www.symcon.de/service/dokumentation/befehlsreferenz/skriptverwaltung/ips-getscripttimer/

Viele Wege führen nach Rom.

EDIT: Kurz getestet. Ich würde es mit IPS_GetScriptTimer lösen.

Und hoffentlich bald auch über den Ablaufplan, der mit der 5.6 kommen wird :slight_smile:

paresy

Es gibt auch dumme Integratoren :slight_smile:

Das stimmt. Auf einigen Gebieten gehöre ich da auch dazu :wink: