Here is a modified (but untested) version that should work better:
- Code: Select all
on SetTimer()
tell application "IndigoServer"
set myDelay to value of variable "My_Delay"
set triggerTime to current date
set triggerTime to triggerTime + (myDelay as number)
if not (exists time date action "_MyTimer") then
set a to make new time date action with properties ¬
{name:"_MyTimer", date trigger type:absolute, time trigger type:absolute, absolute trigger time:triggerTime, auto delete:true, enabled:true}
tell first action step of a
set action type to executeScript
set script code to "MyTimeout()"
end tell
else
set absolute trigger time of time date action ("_MyTimer") to triggerTime
end if
end tell
end SetTimer
on MyTimeout()
-- do whatever you need on timeout
end MyTimeout