sure, maper等高手,请教有关mush 做遍历。
sure. maper 等等高手,请教有关用mush做遍历的思路,请不吝赐教一二。谢谢了。 用speedwalk。看mush的help研究下就会了。 呵呵,把虫二引上来冒泡了。 我来说一下我的mush遍历思路。
首先有整理好遍历路径,方法有二:一是使用mush的路径自动生成器(游戏菜单下面);二是采用现有的zmud遍历路径,如2n3rese2ne3wn3e3wnwaxrxaz4enwese4w4s3z2sv,再用脚本语言转换成可用的形式,具体可以参见bmfgqy的帖子:MUSH版的PATH路径搜索
遍历的过程是这样的:
先将一个遍历路径转换成数组的形式,如yz=s,yz=n,......,这里要注意的是如果进入一个房间要执行两个以上命令的要特殊处理,如少林寺、大轮寺先敲门可以做成sl=knock gate\nn,发送方向的时候使用FixupEscapeSequences()函数,它会将knock gate\nn解析成knock gate和n两个命令;
再set brief 3;
发送第一个方向;
进入一个房间后通过trigger检查房间内是否有要查找的npc或者物品,如果有用DiscardQueue()停止遍历,如果没有则发送下一个方向。
采用这种遍历方法的好处是不管网络情况如何都能够完成遍历,只要任务npc不跑动就不会出现走过头的情形;并且可以处理很多特殊状况,如:中途坐船;挡路npc,杀完npc后继续遍历;中途被绊了一下(重新发送上一个方向即可)。
另外还可以增加一个busy变量来判断自身是否处于busy状态,这个可以应付杀手帮石阶busy,华山爬悬崖busy等情况。关于busy test可以参见jarlyyn的
关于mushclient和lua的一些东西 采用这种方式就能够做出很好的遍历机器人,并且能将各种干扰尽可能化解。
这种走一步看一步的行走方式还能应用在其他方面,比如任意两地的自动行走,自动捡垃圾机器人等。
tianyue的新手遍历教程写的很不错,我在后面的回帖讲的就是上面的思路。 遍历的过程是这样的:
先将一个遍历路径转换成数组的形式,如yz=s,yz=n,......,这里要注意的是如果进入一个房间要执行两个以上命令的要特殊处理,如少林寺、大轮寺先敲门可以做成sl=knock gate\nn,发送方向的时候使用FixupEscapeSequences()函数,它会将knock gate\nn解析成knock gate和n两个命令;
这样还不如直接做成N个alias,然后顺序执行,我就是这么干的。 做成N个alias?那得多大的工作量啊?
举个我的例子,天龙寺的遍历
bianli["tls"]="enter shudong;say 天堂有路你不走呀\nd;8;se;s;sw;sw;s;w;ne;ne;ne;n;n;n;n;n;n;s;s;s;s;s;sw;nw;n;s;nu;nu;nu;sd;sd;sd;se;wu;nu;n;n;e;w;w;e;n;w;e;s;s;s;sd;ed;ne;ne;ne;ne;w;w;"
这样可以根据;分解成数组,然后就一个一个的发送,感觉还是很方便。 感觉上maper的数组比较省功。 最后麻烦两位是否可以上个例子?简单的即可,因为涉及robot撒播嫌疑,请将上传文件裁减至其中一个例子即可,不能直接使用,我可以作为参考,免得什么都问你们。ok? 你还是问吧yct70 http://pkuxkx.com/forum/viewthread.php?tid=4664&highlight=%C2%B7%BE%B6
这个就可以当例子阿 谁有最新的遍历路径给发一个出来吧。懒的做了。
页:
[1]
2