iam
发表于 2011-11-17 13:29:54
回复 20# trace
谢谢你的指点。你做慕容机器的思路我完全同意,我也是想用462来实现这个功能。
对于你说用lua或者c++,你可能没注意我前面帖子的话,我只会用zmud462,lua是什么都不知道,c++听说过没用过。
所以,如果你能把在B地N层遍历的做法或者思路贴出来(个人感觉这是关键点之一),不胜感激,向你学习一下。
我也先不继续贴我的思路了,静待你的回复。
iam
发表于 2011-11-18 13:39:30
不知道那位仁兄什么时候才能回复,但是自己挖的坑,自己要填满。现在我已经找到了别人做的慕容机器,不过还没来得及看。我还是把自己做慕容机器的想法贴出来吧,抛砖引玉,为462做点贡献。
trace
发表于 2011-11-18 13:42:34
晕。才看见。。。遍历的源码,helllua 和 ptouch的lua代码都有啊。
iam
发表于 2011-11-18 13:45:20
回复 24# trace
我找到的是462的源码 helllua什么的有我也看不懂……
iam
发表于 2011-11-18 13:45:56
对于有中心遍历,通过mrlook找到该中心,需要做触发类didian,用该中心名称做触发,#sto,寻找的同时记录下返回该中心的路径--存成list变量lookfor1的方法。可能的情况,在寻找该中心的过程中,发现了npc,此时也可以#sto。搞定之后,依次取出返回路径的值。
接下来,开始对此中心周围房间进行广度优先遍历。
首先抓取此中心房间出口,抓取方法:
同时要记录出口个数,作为是否遍历完全部出口的判断依据。yinum,ernum,sannum,
然后一次遍历该房间各个出口所连接的房间,称为二层房间,遍历的时候同样把返回路径存为一个变量lookfor2。
抓取二层房间的出口,遍历二层房间的各个出口,抓取三层房间的出口,遍历三层房间的各个出口……
从第一层进入第二层后,yinum-1,
设置变量findok,来标识是否找到npc,遍历各出口,使用#wa @wa,来控制行走的速度。#if @findok=1 ,就停止行走,
假设只遍历三层房间,如果遍历完成后没有发现npc,那么就再遍历一遍……
可以设置遍历几遍后如果还是不能发现npc,就判定任务失败,回慕容复重新要任务。
需要杀拦路人,开门的,#mess 有拦路的!手动杀掉后,#step,
北京晚上不去。用天色触发。
iam
发表于 2011-11-18 13:47:10
最后一部分由于找到了源码就没太仔细的写如果想探讨的再说吧
supertu
发表于 2011-11-18 14:10:50
可能要提醒下楼主
即使你用462做出了上述的功能,但软件本身的缺陷会让ROBOT的稳定性和效率性大打折扣!
换句话说 462做出的搜索遍历机器人更多的只是象征性。
alucar
发表于 2011-11-18 14:19:18
关键是环状路径如何自动遍历,不如分析一下这个问题的解决思路,比如苏州宝带桥一带
iam
发表于 2011-11-18 14:26:47
回复 28# supertu
关于这个问题,我只是提出了思路,并没有真正的实现过,不好说稳定性的问题。不过既然有成熟的自动机器人,说明稳定性还可以吧。
iam
发表于 2011-11-18 14:27:47
回复 30# iam
好问题!我确实没想到这一点。我想想再回复你。现在在手动慕容,呵呵,早日500k推车。