|
mush是和zmud一样的一种挖泥巴客户端,就像 ie和火狐游览器一样。
mush免费的,中文支持好,开发机器人方便,现在越来越受到欢迎。
我这里介绍下wait 模式
下载mush以后目录下会有个wait.lua文件,感兴趣可以看下,看不懂也没有关系我们只要会用就好。
wait 里面用到lua语言的协调功能。这个比较复杂,不了解,也没关系。
其实用起来很简单
新建一个txt 文本
require "wait" --加载wait lua文件
--创建一个wait 进程
wait.make(function()
world.Send("命令")
local l,w=wait.regexp("触发器",5) --5 表示超时时间5秒
if l==nil then
print("超时处理")
return
end
if string.find(l,"条件1") then
处理流程
return
end
wait.time(5)
end)
最后保存文本 修改扩展名为lua 用mush 加载
基本模式就是 你发送一个命令 比如(ask zhu about job)
然后会有预期返回 (你现在忙,或 什么)
还有有超时
看一个例子
function xuncheng:start()
local w
w=walk.new()
w.walkover=function()
wait.make(function()
world.Send("ask zhu about 巡城")
--开始巡城
--触发器作用
local l,w=wait.regexp("朱丹臣说道:「.*,你不是本王府随从,此话从何说起?」|^(> |)朱丹臣说道:「.*你刚做完任务,还是先去休息一会吧。」$|^(> |)朱丹臣说道:「好吧,你就在大理城周围四处查看一下,巡城时应当小心防范,防止外敌。」$",5)
if l==nil then --发生未预期的回答 重新做一次
self:start()
return
end
if string.find(l,"你不是本王府随从") then
local b
b=busy.new()
b.Next=function()
self:join()
end
b:check()
return
end
if string.find(l,"还是先去休息一会吧") then
local f=function() self:start() end
f_wait(f,1.5)
return
end
if string.find(l,"你就在大理城周围四处查看一下") then
local b
b=busy.new()
b.interval=0.3
b.Next=function()
self:patrol()
end
b:check()
return
end
wait.time(5)
end)
end
w:go(433)
end
[ 本帖最后由 icecream@ts 于 2011-3-30 18:09 编辑 ] |
|