zMud是一款非常常用的MUD游戏客户端,国内玩家最常用版本为v4.62,下载地址:zMud v4.62
怎么使用zMUD连接游戏就不多说了,这里列出zMUD机器人相关语法,帮助小朋友们开发自己的机器人。

这里先简单介绍一下zMUD的特性:
- 别名(Aliases)
- 变量(Variables)
- 路径(Paths)
- 触发(Triggers)
- 快捷键(Macro Keys)
- 按钮(Buttons)
- 定时器(Tick Timer)
- 指令补全(Tab Completion)
- 快捷菜单(Speed Menus)
- 命令(Command)
- 函数(Function)
开发机器人主要是使用软件提供的命令和函数,结合别名、变量、路径和触发实现。
zMud 4.62中提供了116个命令和83个系统函数,使用这些命令和函数,结合变量,就可以像编程一样开发你的机器人。这里先列出这些命令和函数:
zMud系统命令:

zMud系统函数:

zMud系统变量:
zMUD提供了一些预先定义的系统变量,与自定义变量不同的是,这些系统变量以字符%开头,下面是系统变量的简单介绍:
| 变量 | 说明 |
|---|---|
| %action | 最后一次触发所执行的命令 |
| %char | 你在这个MUD中的ID |
| %cr | 换行 |
| %ctime | 以秒为单位表示的你的连线时间 |
| %def | 当前使用的特殊字符 |
| %host | 当前连线的MUD的域名或IP地址 |
| %i | 与 %repeatnum 相同 |
| %lastcom | 最后被执行的命令 |
| %lastcom2 | 倒数第二个被执行的命令 |
| %lastcom3 | 倒数第三个被执行的命令 |
| %lastinput | |
| %line | 从MUD中得到的最后一行文本 |
| %line2 | 从MUD中得到的倒数第二行文本 |
| %line3 | 从MUD中得到的倒数第三行文本 |
| %param1 | 从最后一次触发中获得的第一个参数,也可写成 %1 |
| %param2..%param99 | 从最后一次触发获得的其他参数,也可以写成 %2、%3..%99 |
| %port | 当前连线的端口号 |
| %random | 产生一个0至99之间的随机数 |
| %repeatnum | 当前循环命令的索引,可写成 %i(参见 loop命令) |
| %selected | 当前选中的文本或命令 |
| %selline | 当前选中的行 |
| %selword | 当前选中的单词 |
| %title | 当前MUD的标题 |
| %trigger | 引起最近一次触发的行 |
| %window | 当前窗口的标题 |
zMud正则表达式
下面是zMud中触发可以使用的特殊字符
| 字符 | 说明 |
|---|---|
| * | 匹配任何数量的字符或空格 |
| ? | 匹配一个字符 |
| %d | 匹配任何数量的数字(0-9) |
| %w | 匹配任何数量的字母(a-z) |
| %a | 匹配任何数量的字母或数字(0-9,a-z) |
| %s | 匹配任何数量的空格(spaces, tabs) |
| %x | 匹配任何数量的非空格 |
| [range] | 匹配任何数量的在[range]中列出的字符 |
| ^ | 强制从一行的开始进行匹配 |
| $ | 强制匹配到一行的结束 |
| (pattern) | 保存匹配的式样到参数%1~%9 |
| ~ | 包括其中的字符不会被解释为特殊字符 |
| {val1|val2|val3|...} | 匹配其中列出的任何特殊的串 |
| {^string} | 不匹配其中包括的串 |
使用[range]时,你可以在其中列出需要的字符例如[abc] 或使用范围 [a-c] 。
为了匹配特殊字符本身,可以使用~将特殊字符括住,例如:~[test~] 将匹配字符串[test] 而不是作为 [range] 来匹配。
只使用$可以匹配一个空行
教程整理中,推荐先看这里:https://www.mud.ren/doc/ZMUD462_book.pdf