求解答在mushclient中wait.regexp中判断busy
小弟新学mushclinet,按前辈的教程使用wait.regexp来抓取触发。但是一个问题一直困扰着我,就是在wait.make(function() ....end)之间如何判断busy,求解答北大侠客行MUD,中国最好的MUD repeat
send(checkbusy)
l =wait.regexp(你不忙,1)
until l不为空
后续代码……
是这个意思吗?爪机code无力 本帖最后由 iamhy 于 2013-12-18 11:22 AM 编辑
对,可是如何写为函数,写为函数,运作的话会报错,不写为函数,调用的时候没办法回调,如果忙等待后在判断就不会写了 function wait_busy()
while true do
Send("checkbusy")
local l, w = wait.regexp("你不忙", 1)
if l ~= nil then break end
end
end
--以上是while结构的函数,lua语言,用法:
wait.make(function()
Send("dazuo 100")
wait_busy()
Send("say finish")
end)
爪机。。。哭泣 以上只是个人风格,方法应该有好多,比如lzkd的mush中级教程里好像用的是一种hook的方法。 谢谢了,我明白了 本帖最后由 hasea 于 2013-12-18 07:56 PM 编辑
回复 4# hijacker
这个方法应该就是很好的检测busy方法了。lzkd中说的那个hook好像不是使用wait模块。这样就要建有触发,要有回调,是比较麻烦的。
另外while的时候掉线的话这个可能会陷入死循环。判断一下检测busy的次数或是时间是比较好的。 太感谢了,帮我解决了很多的问题,现在我的机器人效率终于高了
页:
[1]