| 
 | 
 
Mushclient是Nick Gammon大神写的一个mud客户端工具。 
 
作者的网站:http://mushclient.com/mushclient/mushclient.htm 
 
推荐使用的版本是4.94。如果想使用原版可以从上面的网址下载。 
 
简单对比Zmud的话,mushclient因为有lua,python等语言扩展,所以可编程性要比Zmud强很多。 
 
Zmud可以做的事情,mushclient一定可以做到,反之则不一定,推荐大家尝试使用。 
 
 
FAQ: 
 
1. 我的机器人遇到了问题,如何提问: 
 
请参考下面的方法,贴出你的触发器代码,并把报错信息一同发到论坛,以便大家帮助你判断。 
http://mushclient.com/copying 
 
2. xml格式的触发器如何导入到mushclient中: 
 
请参考下面的方法,可以把代码导入到mushclient里: 
http://mushclient.com/pasting 
 
3. 我想开始尝试做mushclient的脚本,如何开始? 
 
建议从下面的地址开始了解基本功能 
http://mushclient.com/scripting 
 
4. 我应该使用哪种脚本语言? 
 
mushclient作者强烈推荐lua语言作为扩展脚本语言,目前的公版机器人也是用lua写的,因此建议使用lua作为编程语言。 
 
另外,mushclient也支持vb,python,php,perl等其他语言,如果你更习惯使用他们,应该也是可以的。 
 
5. mushclient有哪些接口函数,文档在哪里? 
 
文档地址: 
http://mushclient.com/docs 
 
接口函数地址: 
http://mushclient.com/functions 
 
mushclient作者提供了很多用于操作mushclient内部对象的函数,比如enable trigger,create trigger等等,都可以在上面的地址中找到。 
 
6. 什么是正则表达式,该如何使用他? 
 
mud就是处理文字信息,处理文字信息最强的工具就是正则表达式,mushclient作者提供了一些帮助文档,如下: 
 
http://mushclient.com/mushclient/regexp.htm 
 
http://mushclient.com/pcre/pcrepattern.html 
 
7. 使用alias的一个例子: 
 
- <aliases>
 
 -   <alias
 
 -    name="sz" -- alias的名字
 
 -    match="^sz(.*)$" --正则表达式,^代表顶格,()代表引用括号里的内容,$代表行的结束,.*代表括号中的任何字符
 
 -    enabled="y" --是否启用
 
 -    regexp="y" --是否带有正则表达式
 
 -    send_to="12" --send_to 12是把alias发送到哪里执行,12是代表脚本,就是会把alias调用的内容发送给脚本去执行,这里面还有很多其他选择,大家可以到上面的接口函数文档中寻找具体解释。
 
 -    sequence="100"  --这是alias的优先级,设置为100,如果有其他同名字的alias,设置为90,则会优先调用90的。
 
 -   >
 
 -   <send>goto("%1")</send>  --这里是发送给脚本的具体内容,%1就代表上面正则表达式中括号里的文字
 
 -   </alias>
 
 - </aliases>
 
  复制代码 
 
这里引用一个公版自带的alias作为例子。首先,这个alias的作用是让你去一个地方,使用方法如:sz 扬州当铺 
 
我在alias的定义中加入了各个部分的解释,给大家参考。 
 
8. 如何在alias或者trigger中使用变量? 
 
例子如下: 
- <triggers>
 
 -   <trigger
 
 -    custom_colour="7"
 
 -    enabled="y"
 
 -    expand_variables="y"  --打开后,下面的@target会被替换为target变量的内容,否则不替换
 
 -    match="@target hits you!"  -- @target是变量引用,如果target是xxx,那触发就是xxx hits you!
 
 -    sequence="100"
 
 -   >
 
 -   <send>punch @target</send> --这里同样的。
 
 -   </trigger>
 
 - </triggers>
 
  复制代码 
 
9. 如何在机器人逻辑中加入等待,类似zmud中的#wa? 
 
可以使用DoAfter函数,例子如下: 
doafter函数的含义是,在做某个动作以前,等几秒钟。 
 
- <aliases>
 
 -   <alias
 
 -    match="eat"
 
 -    enabled="y"
 
 -    send_to="12"
 
 -    sequence="100"
 
 -   >
 
 -   <send>
 
 - Send "open bag"
 
 - DoAfter (1, "get food bag")
 
 - DoAfter (3, "eat food")
 
 - DoAfter (4, "close bag")
 
 - </send>
 
 -   </alias>
 
 - </aliases>
 
  复制代码 
 
在公版中,你可能也会看到这样的代码: 
 
也是类似的功能,含义是等2秒钟,然后执行main()函数,注意一点,如果在end后面还有其他代码,这些代码并不会等待2秒钟哦。因此最好把这种wait的代码放到function的最后来执行。 
 
-     wait.make(function()
 
 -        wait.time(2)
 
 -        main()
 
 -     end)
 
  复制代码 
 
10. mushclient是否可以连接数据库? 
 
答案是肯定的,mushclient支持 mysql等数据库,目前公版中貌似没有用到这种高级功能,所以不过多赘述。 
 
 
上面的内容是部分引用于http://mushclient.com网站,并加入小猪猪自己的一些解释,希望能给新来的同学一些帮助。 
 
祝大家早日打傻啊! |   
 
评分
- 
3
查看全部评分 
 
- 
 
 
 
 
 |