-- 从黄厝到桃花岛,测试坐船wait
function wtt()
require "wait"
wait.make (function ()
Send (EvaluateSpeedwalk("(nw)3n(enter boat)"))
wait.time (6)
Send (EvaluateSpeedwalk("2n"))
wait.time (2)
Note ("Done")
end)
end -- wtt()
但还是不知道Execute的Delay到底如何实现,呵呵……
duno能否演示一下? wait没有意义,用Queue+busytest更方便
我实在没看出哪里有用wait的必要
可以参考我的钓鱼机器人 按照我的理解,自己做了一个增加Delay的小脚本,功能与51楼的脚本相同,duno看看是不是这个意思?
代码无用,废弃掉……
[ 本帖最后由 ddid 于 2009-6-1 09:24 AM 编辑 ] wait的可以简化busy型行为的衔接,这也是意义 囧
只是不够健壮,且对speed walk没用处,有更好替代方案
比如
Send (EvaluateSpeedwalk("(nw)3n(enter boat)"))
wait.time (6)
Send (EvaluateSpeedwalk("2n"))
中间的wait 6s很脆弱,只要稍有延迟或其他干扰发生,就不能按预期执行了
Execute 需要在Commands->speed walking设置delay
Execute ("# (nw) (do 3 n) ") , enter boat,check到岸,Execute("# (do 2 n)")
回复 53# 的帖子
高科技(囧)的方法是enter boat后,check是否到岸,到岸则继续后面的路程check方式就是一个one_shot的 trigger,
如:
set brief 2 --保证出现 “出口”行
trigger"^ 这里XXXXXX的出口XXXX" , "到岸判定确认,继续路程"
SetTriggerOption ("trigger名称", "one_shot", 1)-- 设定只触发一次 确实不够健壮,单纯模仿zmud的#wait而已……
看来zmud的#wait是一个通用的解决方案,无论什么情况,等够时间就执行,但是不够健壮,
MUSH虽然需要更细致的状态检查(如:检查到岸……等),但可以更精密地执行……
感觉MUSH还有很多需要细致研究的地方啊。
谢谢了,duno and everyone. 真是讨论出花来了.哈哈,感觉我的生动的描述把大家引入一个前所未有的,昏头昏脑的境界. 怎么看都是我——比较晕,各个都比我清醒……
bow