用户工具

站点工具


mush:timer

转自MUSHclient爱好者网站 http://mc.chinaido.com


定时器

  定时器可以周期性的(例如,每 10 秒钟)或者在特定时间(例如,10:30)做出预先定义的动作。

  定时器还可以设置为只触发一次,也就是说它在触发一次后就会被自动从游戏中删除。你在编程中会发现你会经常用到这种定时器。

  定时器和别名及触发器一样,可以在触发时向 MUD 服务器发送命令,在输出窗口显示注释信息,调用脚本函数,执行快速行走命令,或者其它的动作。

  一个游戏可以定义任意数量的定时器。

时间精度

  定时器的时间精度是指定时器每次检查自己是否应该被触发的间隔时间(即检查的频率)。时间精度值设置得越小,定时器触发的时间就越准确,但是同时也会造成程序性能的下降,这在速度慢的机器上表现得更明显。当时间精度值为 0 时,定时器的精度将达到 0.1 秒,这也是定时器能达到的最小精度值。

  定时器的时间精度可以在“全局属性”配置框的“定时器”项中设置。

定时器脚本

  定时器的发送框中不但可以发送普通的 MUD 命令,还可以执行脚本命令,你只要把发送框发送的对象选为“脚本解析器”就可以了。

  如果脚本很复杂,在发送框中编写会很吃力。这时你可以把这个脚本作为一个函数写在游戏的脚本文件中(在脚本配置对话框中设置),然后在定时器设置对话框的脚本框中填入这个脚本名称就可以调用它了。

  定时器调用的脚本函数必须有以下这个参数:

  • 定时器名称

  下面是一个 VBscript 脚本函数的示例:

  sub MyTimer (name)
  world.Note "Timer " & name & " fired."
  end sub

快速行走

快速行走是一种从一个地点快速移动到另一个地点的方法。一旦你在配置对话框中设置了快速行走的标识符,并启用了快速行走功能,你就可以在命令窗口中输入这个标识符 + 快速行走路径来快速移动角色。例如:

  #4n3esuwd

  这个路径命令会让你想北走 4 步,东走 3 步,南,上,西,下

路径命令

动作命令

  默认可以识别的动作命令有:C:close,O:open,L:lock,K:unlock

方向命令

  默认可以识别的方向命令有:N:north,S:south,E:east,W:west,U:up,D:down。

防重复命令

  你还可以在快速行走路径中加入防重复命令的字符(F)。因为很多 MUD 都不允许连续发送太多相同的命令,为了避免这种情况的出现,你可以这样(假如你想想西走 30 步,但是服务器只运行连续执行 20 个同样的命令):

  #15w f 15w

  在执行到“f”的时候,MUSHclient 会自动执行你在配置对话框中为“f”指定的命令。建议使用“look”作为防重复命令。

多次执行的语法

  在一个命令的前面还可以添加一个 1 - 99 的数字,用来表示执行这个命令多少次。例如,“5s”意味着向南走 5 步。

  路径中可以包含空格,但是会被忽略。

特殊路径命令

  如果需要执行其它命令(例如,NE 为 向东北方走一步),你必须把这些命令放在括号中。否则 NE 就会被解析为先向被走一步,再向东走一步。假设你想向北、西、东北各走一步,其路径命令为:

  N W (NE)

  如果需要通过当前路径命令生成一个相反的路径命令,你还必须在括号中给这些特殊命令加上对应的相反命令,并用斜线分开。例如:

  (NE/SW) (UP/DOWN) (OPEN/CLOSE) (LOCK/UNLOCK)

  只有在给特殊命令提供了对应的相反命令后,你才可以正确的反转一个路径命令。

注释

  路径中可以包含注释内容,它们被放置在花括号中。例如:

  { The Hall of the Mountain King }

  有了注释,你就可以在在很长的路径命令中标识解哪些命令到达了哪些地方,方便以后修改。

快速行走的延迟时间

  你可以设置路径中发送每条命令的间隔时间,其范围是 0 - 30,000 毫秒(30 秒)。如果延迟时间大于 0,还未发送的路径命令会依次显示在状态栏中,但是最多显示 50 个字符,多余的会用“…”代替。

  在行走过程中,如果你想改变主意到其它地方去的话,可以通过“输入”菜单中的“丢弃 n 个队列命令”项把剩余的命令丢弃。

绕过队列命令

  当队列中还有没有发送的命令时,你在命令窗口中输入的命令会自动加入到这些命令的后面,等待前面的命令发送出去后才发送。但是有时候你可能想立即把你输入的命令(例如和某人说话)发送给 MUD 服务器,这时你可以做一个“立即发送”的别名,通过 SendImmediate 函数把这些命令发送出去。

mush/timer.txt · 最后更改: 2020/08/15 21:40 (外部编辑)