afact 发表于 2010-12-18 22:19:55

#ok和timeout value的问题

请问下#ok怎么用?
看说明上是沿定义的路径移动时放慢脚步
实例:
#TRIGGER {的出口是} {#OK}
当前一步被确认时,允许下一步的行动
理解不了 - - 求高手详细讲解下

另外还有个问题slowwalk的timeout value有控制参数么,直接用cmd控制的?

lzkd 发表于 2010-12-18 22:36:17

#ok功能是maper老大先提出来的,但maper老大没有给出比较详细的解释,我来简单说一下

其核心的思路是----
1 先设定一条路径(可以是先设置好,也可以是计算出来的,如果得到路径不讨论)
2 每行走一步,就检查该走行走是否成功,
2.1 如成功,则继续下一步
2.2 如不成功,重复上一步路径
3 行走结束后,继续后面的动作

具体代码可以参考maper的领悟机器人,里面有.
我记得,在我修改的maper版的领悟增加版中,可能有更多的注释

另外,据hba研究后的结果,#ok功能本身有一定的问题,他的建议是长路径行走,用#ok功能可能会出错,我个人米能完全理解他的结论

zywhat 发表于 2010-12-18 23:02:21

#TRIGGER {^??%s这里*出口是%s(*)。} {exit=%1;#ok}

这样能控制一些存在busy的地方的高效率行走的问题。

不过好像只能在#path里面用,alias没效果的。


另外还有个问题slowwalk的timeout value有控制参数么,直接用cmd控制的?

这个在7.21里面可以打开perferences 里面可以自己设定的,1000= 1 sec

[ 本帖最后由 zywhat 于 2010-12-18 11:20 PM 编辑 ]

afact 发表于 2010-12-18 23:28:34

我的实际情况是这样的:做了个path+slowwalk的推车机器人,path就是11个任务的遍历,direction用两套,推完车切换到走路状态,考虑到每个房间都要遇见贼,timeout value设成4秒,车停4秒后没贼就继续走,有贼#pause打架,搞定#step继续遍历,完成任务后继续走完路径,#re回程。实践下是可行的,就是没啥效率。主要问题是有时候网速卡,斜刺里劫镖的npc例如李莫愁倭寇之流的会导致机器人失灵,我总结了下,本质就是非战斗状态的检查太弱智了。因此我隐约觉得#ok还是有用的。

根据小刀你的解释结合我的实际情况再咨询下:
1 我的路径已经设好
2 检查得分两种情况,无战斗或有战斗的战斗结束,这个问题我费了些实践,最终用的是yun lifeheal,无战斗跟战斗中的反馈是不同,因为匪是同时进入战斗状态,所以多少匪都没问题了,但是匪跟捣乱npc不一定同时进入战斗状态,因此会出现乱触发的情况。
我的问题是#ok能否实现对无战斗状态以及有多次战斗的战斗最终结束状态的检查?(据我所知,#step貌似有你上文提到的2.2的功能?比如战斗中推车匪会出现拦住你的提示,这个时候tri个#step应该会实现2.2的功能)

afact 发表于 2010-12-18 23:30:41

原帖由 zywhat 于 2010-12-18 11:02 PM 发表 http://pkuxkx.net/forum/images/common/back.gif
#TRIGGER {^??%s这里*出口是%s(*)。} {exit=%1;#ok}

这样能控制一些存在busy的地方的高效率行走的问题。

不过好像只能在#path里面用,alias没效果的。


另外还有个问题slowwalk的timeout value有控制参数么 ...

这个操作我是会了,人太懒,想问问有没指令直接控制,是想用tri直接触发,战斗的时候用4秒无所谓,回程每格用4秒我觉得很崩溃。

afact 发表于 2010-12-18 23:32:19

原帖由 lzkd 于 2010-12-18 10:36 PM 发表 http://pkuxkx.net/forum/images/common/back.gif
#ok功能是maper老大先提出来的,但maper老大没有给出比较详细的解释,我来简单说一下

其核心的思路是----
1 先设定一条路径(可以是先设置好,也可以是计算出来的,如果得到路径不讨论)
2 每行走一步,就检查该走行走 ...

翻各位前辈的机器人代码说明好好恶补下 - -

littleknife 发表于 2010-12-19 08:24:14

原帖由 afact 于 2010-12-18 11:28 PM 发表 http://pkuxkx.net/forum/images/common/back.gif
我的实际情况是这样的:做了个path+slowwalk的推车机器人,path就是11个任务的遍历,direction用两套,推完车切换到走路状态,考虑到每个房间都要遇见贼,timeout value设成4秒,车停4秒后没贼就继续走,有贼#pause打 ...

1、#ok功能,就是确认行走正确与否。可以考虑自定义触发来替代"这里的出口*",这样的触发。以免因为网络问题出现卡机。
2、NPC是否在场,可以考虑用“shou robber”,这样的命令。即收NPC为徒弟。NPC在场的确认触发是:“*你想要收(*)为弟子*”;
不在场的触发:^*(这里没有这个人。|你要向谁求教?|这里没有你要攻击的对象。|你想收谁作弟子?)
遇到不在场的触发,给一个不在场变量控制比如npcishere=0,一般开始的时候设置npcishere=1(即在场)。这样就可以判定是否在场了。

afact 发表于 2010-12-19 11:20:32

原帖由 littleknife 于 2010-12-19 08:24 AM 发表 http://pkuxkx.net/forum/images/common/back.gif


1、#ok功能,就是确认行走正确与否。可以考虑自定义触发来替代"这里的出口*",这样的触发。以免因为网络问题出现卡机。
2、NPC是否在场,可以考虑用“shou robber”,这样的命令。即收NPC为徒弟。NPC在场的确认 ...

ttk_05 给力,听君一席话,胜读十年书,娃哈哈,马上投产

oolong 发表于 2010-12-23 13:20:28

原帖由 afact 于 2010-12-19 11:20 AM 发表 http://edu.pkuxkx.net:8082/forum/images/common/back.gif


ttk_05 给力,听君一席话,胜读十年书,娃哈哈,马上投产

不需要设置time out吧,刷刷的跑,见到你要的人就停。
在#ok前面加@walktime,
一般路径walktime=0,特殊路径walktime=XXXX,设置walktime可以在地图的door里面设置。比如进去一个房间需要等待2000
door里面写walktime=2000出去的时候walktime=0

bluse 发表于 2010-12-23 14:19:11

路过一下
页: [1]
查看完整版本: #ok和timeout value的问题