跳转至内容

MIRC 脚本/进阶/计时器

来自维基教科书,开放的书籍,开放的世界

第 4 章:计时器 75% 已完成  于 2008 年 3 月 31 日 14:23 (UTC)




计时器本质上是延迟,它会在指定时间后触发一个命令。您可以将它们用于各种用途,从设置每分钟运行一次的命令到设置 1 秒延迟以等待另一个操作先完成。

语法为 /timer[N/name] [-cdeomhipr] [time] <repetitions> <interval> <command> 这看起来可能很混乱,但我们会一步一步地进行解释。


首先,可选的 [N/name] 部分。您可以使用此部分标识您的计时器(例如,以便以后将其关闭),或者将其留空,在这种情况下,mIRC 会自动为其分配最低的未使用的 N。

示例
/timerBAN ......
/timer1 .......
/timer ....


现在,可选的 [-cdeomhipr] 部分。这些是选项,我们将逐个进行解释。

-c:这将使 mIRC 尝试“追赶”计时器,如果需要,它会每隔一段时间执行一次以上。例如,如果您的 mIRC 出现延迟,并且跳过了一次执行,它将执行两次而不是只跳过一次。
-d:这确保了此计时器和之后启动的计时器将按照它们启动的顺序运行。
-e:这会执行与指定计时器名称关联的命令,如果您指定通配符名称,它也会生效。
-o:这将创建一个脱机计时器,无论您是否连接到服务器,它都会运行。默认情况下,计时器在线,除非您在未连接到服务器的情况下启动它们,在这种情况下,它们默认情况下是脱机的。
-m -h:这将创建一个以毫秒为单位的间隔延迟,而不是默认的秒 -h 指定一个高分辨率多媒体计时器,它将大量使用系统资源,因此应仅在时间关键的情况下使用。
-i:这将使计时器动态地与任何碰巧是活动连接的连接关联起来。如果关闭了服务器窗口,则计时器将与下一个可用的服务器窗口关联。
-p -r:这将暂停/恢复计时器。


现在,可选的 [time] 部分。这将指定计时器应启动的时间,例如,“/timer 15:00 ....”将在下午 3 点启动。


现在我们开始进入计时器的主要部分,首先是 <repetitions>。这将设置计时器必须运行多少次才能结束,例如,“/timer 5 ....”运行 5 次,之后将被删除。如果您指定 0,它将重复自身,直到您停止它。


计时器的主要部分是 <interval>。这指定了计时器应延迟多少时间,以秒为单位(除非您使用 -h 或 -m 开关)。
例如
timer 1 10 .... 将在 10 秒后运行。
/timer 5 10 .... 将在 10 秒后运行,并重复 5 次(它将在启动后的 10、20、30、40 和 50 秒运行)


现在是最后的部分,<command>。这是每次计时器运行时要执行的命令,即您希望它执行的功能。请注意,任何标识符仅在启动计时器时才会进行评估,因此,如果它返回的值发生变化,计时器将不会发生变化。要强制每次计时器运行时评估标识符,请使用 $!
示例
/timer 5 600 /echo -a $me 将每次返回相同的昵称,无论您当前的昵称是什么。
/timer 5 600 /echo -a $!me 将返回您当前的昵称。


示例
/ban $nick
/timer 1 10 /unban $nick
这将禁止某人,然后在 10 秒后解除对他的/她的禁令。

/timer 0 600 /msg $chan 这是 $chan 的自动公告 - 请享受您在 $chan 的停留
这将启动一个计时器,该计时器将持续运行,直到您停止它,并且它将每 10 分钟向 $chan 发送消息“这是 <chan> 的自动公告 - 请享受您在 <chan> 的停留”。


现在,还有一些杂项命令。
/timers 这将列出所有计时器。
/timer[N/name] off 这将关闭一个计时器
$ltimer 这将返回刚启动的计时器的编号。

示例
/timer1 1 2 /echo Hello World!!!!
/timer2 1 2 /echo Hello World!!!!
/timer 1 2 /echo Hello World!!!!
$ltimer > 将返回 3

/timerwho 0 600 /who $chan
$ltimer > 将返回 who

华夏公益教科书