hba 发表于 2010-1-13 12:14:24

“ 关于mushclient和lua的一些东西”的请教

jarlyyn的“关于mushclient和lua的一些东西”很有启发性,看了几天也想了几天,但作为一个非常业余的编程人员,对Lua真的不太懂。也想请教一二。


jarlyyn提出的checkbusy和dazuo,这两个思路和范例,都是我所关心的,就目前的北大侠客行,checkbusy的编写是不是应该这样?
busyhook=nil
busytest=function(func)
    busyhook=func
    Send("checkbusy")
end
busyok=function(name,line,wildcards) -- 你不忙
      if busyhook==nil then return end
      busyhook()
      busyhook=nil
end
busyfail=function(name,line,wildcards)--你正忙
    if busyhook~=nil then
      DoAfterSpecial(1,"checkbusy")
    end
end


但我没搞懂,“你不忙”和“你正忙”这两个判断语句在哪里设呢?还是在mushclint中设置,然后触发调用busyok和busyfail?

lzkd 发表于 2010-1-13 12:23:19

在mush的触发里面体现...如果你有耐心,可以等我写mush教程中级,这里面会把busytest作为一个例子,进行详细的说明....

lzkd 发表于 2010-1-13 12:35:00

哦.还有,如果你等不及了,或者有一些基础,可以去下载maper的mush版跳楼机器人,那个就是用busytest结构写的.wiki上有地址

maper 发表于 2010-1-13 13:32:54

busytest只要明白意思就可以了,不用照抄别人的写法
大致就是你被busy了,然后每隔1秒或0.5秒向服务器发送一个test命令,看这个命令返回什么信息来判断busy时间是不是到了,到了就接着做其他事,没有到就接着发送test命令。

hba 发表于 2010-1-13 17:33:32

非常感谢,我先去下maper的来学习学习。
话说小刀你的教程要快一点,你的初级教程我已经看完了。

lzkd 发表于 2010-1-13 17:45:40

原帖由 hba 于 2010-1-13 05:33 PM 发表 http://www.pkuxkx.com/forum/images/common/back.gif
非常感谢,我先去下maper的来学习学习。
话说小刀你的教程要快一点,你的初级教程我已经看完了。
我倒.....
yct31 yct31 yct5 yct5

计划是很好的.但做起来是很累的......
介绍你看我编的mush中文手册吧.
http://pkuxkx.com/wiki/course/mushclient

看你也有一定基础了,看完初级教程,看手册应该可以写出象样的机器人了
页: [1]
查看完整版本: “ 关于mushclient和lua的一些东西”的请教