Difference between revisions of "Timer"

From Scriptwiki
Jump to: navigation, search
(test)
(Timer Commands and Identifiers that is)
Line 66: Line 66:
  
 
[[Category:Commands]]
 
[[Category:Commands]]
[[Category:Timer]]
+
[[Category:Timer Commands and Identifiers]]

Revision as of 00:13, 28 November 2005

Activates the specified timer to perform the specified command at a specified interval, and optionally at a specified time.

/timer[N/name] [-ceomhipr] [time] <repetitions> <interval> <command>

If you are not connected to a server and a timer is started, it will be an offline timer by default, meaning that it will continue to run whether you are connected to a server on not. If you aren't connected to a server while starting a timer, it will be an online timer, that will stop if you disconnect. You can make a timer being an offline timer by using the -o switch.

To make a new timer, you can either use /timer without name/number or you can specify a name, without space between the command and the name (/timerfoo ...). If you do not specify a name/number, mIRC will get the first free timernumber it finds and use this.

If you specify a delay of 0 seconds, the timer will trigger immediately after the calling script ends.

You can also specify a time when the timer is supposed to trigger (see example below).

Note that if you specify 0 repetitions it will continue until you either stop it yourself or you disconnect, in case it is an online timer.

Note that identifiers usually do not get re-evaluated during a timer (see example below). To force this, you have to use an exclamation mark after the $ of an identifier (e.g. $!time or $!me)

You can stop a timer by using /timer<name|N> off, which will also be able to handle wildcards in the name (see example below).


You can use the following switches:

switchexplanation
cwill make mIRC "catch up" a timer by executing it more than once during one interval if the real-time interval isn't matching your requested interval.
-m / -hindicates that the interval delay is in milliseconds.
-hmake a high-resolution multimedia timer (uses system resources heavily)
-ewill executes the command associated with the specified timer name (works with wildcard names too).
-pwill pause a timer
-rwill resume a timer
-iwill make a timer dynamically associate with whatever happens to be the active connection. If a server window is closed, the timer is associated with the next available server window.

Example

In the following, we'll always create an alias to be able to execute commands directly after creating the timer.

alias timertest {
 timer 2 2 { echo -a moo! }
}

This alias just creates an timer that will echo moo! to your active window two times with a delay of 2 seconds.


alias timertest {
 timer1 2 10 { echo -a $!asctime }
 timer2 2 10 { echo -a $asctime }
}

Here we create two timers, one with forcing it to re-evaluate the identifier (the one on top), the other not. You will see the first always echoing the current time, the other always echoing the time when it was started.


alias timertest {
 timermilli -m 10 50 { echo -a The difference are 50 milliseconds. }
}

This timer called milli will echo The difference are 50 milliseconds. every 0,05 seconds to your active window, all in all 10 times.


alias timertest {
 timertime 14:00 1 1 { echo -a It is 14:00 o'clock. }
}

This one will echo It is 14:00 o'clock. to the active window when it is 14oclock, as we made the timer trigger then.


timer1* off

We just stop all timers beginning with a 1.

See Also

To stop all timers, take a look at /timers.

You can also get information about a timer, using the $timer identifier.