求教如何在lua中直接执行speedwalk?
如题 如何在lua中直接执行speedwallk呢不能用 DoAfterSpeedWalk(),因为它是等一会再执行的
我想要的是,在wait模块中执行一段speedwalk,我开始写的是
wait.make (function ()
-- DoAfterSpeedWalk(2, "(out)se") 我开始这么写,但是有问题,因为在它等2秒的时候,后面的代码就开始执行了,然后都乱了
wait.time(2); Execute("out;s;e") 我现在这么写的能用,但这不是speedwalk,每一步中间没有停顿,步子长了可能会不稳定
repeat
Send "bangchu"
local li, wi = wait.regexp ("^\\>?\\s?你擦擦手,厨房的杂务全做完了。$")
until string.find (li, "你擦擦手,厨房的杂务全做完了。")
wait.time(5)
Execute("w;n;enter") 这里也是很土的写法,怎么在这里执行speedwalk呢,而且要保证speedwalk完了以后,后面的代码才执行
wait.time(2)
EndOfOneJobInOneDay(currentTime)
end)
北大侠客行MUD,中国最好的MUD
[ 本帖最后由 prettysucker 于 2011-8-8 03:03 AM 编辑 ] 我没用过lua自带的wait模块。一是对这个模块没细研究感觉麻烦。二是wait用线程技术完成等待,由于线程的东西太复杂而又经常和DoAfter冲突所以最终放弃wait模块。
不过我解决wait是用的自定义触发模式。如果楼主只是想解决行走间隔问题可以考虑下。
另外最近推出的《一个脚本走天下》模块包含城际互联脚本,也可以用do_walkgo函数去完成一系列行走问题。
当然,仁者见仁智者见智,每个人有不同的喜好。我的一点建议,希望能对楼主有所帮助。 就我之前的研究speedwalk最好还是少用.因为一旦启用,很容易造成机器人不可控的后果
lua自带的wait模块,有大型机器人里,容易产生奇怪的错误(意思是,不是次次错,10-20次里就出一次错,让人抓狂)
在大型机器人中的行走,个人建议考虑#ok功能,具体可以参考maper的领悟机器人 多谢各位,我再去研究研究。ttk_03
其实我想做的只是一个很小的机器人,并且初学mush+lua,看到网站介绍这个用wait模块可以少写触发器感觉很酷很灵活的样子,所以硬着头皮调试了好久,没想到结局这么地悲剧ttk_01 你首先要明白speedwalk的用途,再决定是否用和怎么用。
这个是为那些不允许使用快速行走的mud而使用的。北侠里基本没这个需求吧。 原帖由 labaz 于 2011-8-8 08:31 AM 发表 http://www.pkuxkx.com/forum/images/common/back.gif
你首先要明白speedwalk的用途,再决定是否用和怎么用。
这个是为那些不允许使用快速行走的mud而使用的。北侠里基本没这个需求吧。
ttk_01什么都不明白什么也不知道的时候,看到什么就用什么了嘛 DoAfterSpeedWalk的时间,你要累积起来。
例如,你想在2秒后执行look, 在look之后2秒执行eat。那要这样写
DoAfterSpeedWalk(2,"look")
DoAfterSpeedWalk(4,"eat") .这里的延时是4,就是和前面的累加起来的。如果还想在eat后面做动作,依次累加
用wait模块是比较好的。
Execute("w;n;enter") 这里也是很土的写法,怎么在这里执行speedwalk呢,而且要保证speedwalk完了以后,后面的代码才执行
快速行走用execute就这样写:Execute("#wn(enter)")
另外要保证走完之后代码才执行,一般来说用wait来延时就可以了。
如果想精确,就用wait.regexp, 用走到目的地后的描述来判断。
[ 本帖最后由 fantom 于 2011-8-8 10:07 AM 编辑 ] 原帖由 fantom 于 2011-8-8 10:01 AM 发表 images/common/back.gif
DoAfterSpeedWalk的时间,你要累积起来。
例如,你想在2秒后执行look, 在look之后2秒执行eat。那要这样写
DoAfterSpeedWalk(2,"look"images/smilies/default/wink.gif
DoAfterSpeedWalk(4,"eat"images/smilies/default/wink.gif .这里的延时是4,就是和前面的累加起来的。如果 ...
多谢images/smilies/tsj/tk_01.gif等我有劲的时候试试
[ 本帖最后由 prettysucker 于 2011-8-8 01:16 PM 编辑 ]
页:
[1]