icer 发表于 2009-2-16 13:38:56

原帖由 tianyue 于 2009-2-16 12:23 PM 发表 http://www.pkuxkx.com/forum/images/common/back.gif
老大,我加上了。呵呵。
yct23
我给你移动到技巧与示例栏目下了
addoil!

cid 发表于 2009-2-16 13:48:01

如果你想自己定义这10个方向,那么就要把这两个class改成disable的。我曾经尝试删除这10个方向,好像报错了。当然,你可以保留这10个系统内置的方向,但要注意的就是,记得系统都把这10个方向内置成键盘上的什么字母了,你在定义新的方向的时候,可别用到这10个字母,否则就会出错了。我开始出错就是因为不知道系统内置了这10个方向,比如我定义了一个nd是h,系统定义的h是nw,这样我走地图的时候,走nw的的时候,系统写上了h,真正遍历的时候,走到h的时候,机器人走nd了(或者过程相反),所以总是出错。


好像我也是遇到这个问题,所以我就一直没有搞下去,都花钱在无际身上了。。。。

maper 发表于 2009-2-16 15:37:51

写的不错,我来补充几点:
1、tianyue的遍历方法是每隔timeout value(比如150)发送一个方向,这个在网速稳定下没有关系,如果网速忽快忽慢的话遍历会因为超时而出错,还有对于嘉兴、神龙岛坐船要分开处理。这里介绍如何用#ok命令进行慢速遍历:路径录制好后,在preferences-》slow walking中,将timeout aborts walk上的勾选中,然后自己设置 timeout value,比如5000(5秒),再添加一个触发#tri {这里*的出口是*} {#ok},这样遍历的原理是:输入一个方向如果行走成功进入一个新房间,系统会用触发得到#ok命令然后执行下一个方向,这样子可以避免网速忽快忽慢而造成遍历中断,还能够处理嘉兴、神龙岛坐船、爬悬崖(前提是悬崖要有明显的出口),只要坐船的时间小于你设定的timeout value,遍历就能继续。
2、“建议把f1和f2键做成macros,一个是#step,一个是#back,也就是说,看到了你要找的目标,机器人触发停下来了,可能没停在目标所在位置上,那么用#back就是往回走,每按一下往回退一步,#step就是继续往前走,等于是在附近去找。”
如果是采用#ok命令进行遍历往往会出现上面的状况,原因如下:
n
                        青石大道            
                           |   
                            北门               
                           |   
                           北大街            
北门 -
    这是扬州的北城门,因为曾经失火,到现在城墙还是黑乎乎的,因此白纸黑
字的官府告示(gaoshi)就显得特别显眼。北方是一片崇山峻岭,一条黄土小径在
山里蜿蜒而上。
    「隆冬」: 夜幕笼罩著大地。
    这里明显的出口是 north 和 south。
    二位官兵(Guan bing)
    武将(Wu jiang)
>
以上是set brief 0情形下房间名、房间描述、房间物品的排列情况,比如”武将(Wu jiang)“是我们要找的npc,这样遍历时候zmud的分析流程为:触发”这里明显的出口是“执行#ok,输入下一个方向,触发”武将(Wu jiang)“执行#stop命令中断遍历,这样往往会跑到下一个房间而需要#back倒退一步。
知道了原因解决方法就很简单了:set brief 3,此时看一下描述:

                        青石大道            
                           |   
                            北门               
                           |   
                           北大街            
北门
    二位官兵(Guan bing)
    武将(Wu jiang)
    这里明显的出口是 north 和 south。
这样会先触发”武将(Wu jiang)“执行#stop中断遍历就不会跑到下一个房间了。
我想tianyue那种遍历方法也会产生跑过去现象的原因大抵差不多。
总结一下,采用#ok命令进行遍历并set brief 3。
其实用mushclient可以做出更强的遍历,比如”半路被什么绊了一下“,杀手帮石阶,这些都能处理,真正实现一路走到底。

durer 发表于 2009-2-16 16:05:35

都是高手!!!
Tianyue和maper从软件上讲了怎样做遍历,我的切身感受是一定要自己学会做bianli,而且要根据自己对游戏的理解来做是最爽的,既可以节约时间,又可以提高游戏快感~~~~ttk_41
1.做一个按次序走遍所有地方的遍历,并不是最好的遍历.最好的遍历应该是从任务npc出现概率最高的地方先遍历,这就是经验问题了,所以遍历经常要修改. 比如凌霄城,做hyd的人可能会发现npc几乎都出现在最里面的一条石板路或者最靠外的雪街,在做遍历是可以考虑直接先把这两条街给走了.
2.并不是所有地方都用遍历好,因为遍历是slow walking,对于小地方和方向单一的地方用键盘的快捷键会更快速,比如北京的土路,绕城一周走,我的感觉是手动比bianli快!!
3.休息的时候,请set brief 0,看看这个世界的详细描述,文字是很美的,别老把它们略过...

tianyue 发表于 2009-2-16 17:29:44

原帖由 maper 于 2009-2-16 03:37 PM 发表 http://www.pkuxkx.com/forum/images/common/back.gif
写的不错,我来补充几点:
1、tianyue的遍历方法是每隔timeout value(比如150)发送一个方向,这个在网速稳定下没有关系,如果网速忽快忽慢的话遍历会因为超时而出错,还有对于嘉兴、神龙岛坐船要分开处理。这里介 ...

maper是真正的高手。我确实做机器人什么的不是高手,都是靠你这样的高手来指点。说实话,看了你的介绍,我虽然还没有具体的想法如何改我的遍历,但是我知道你那种方法肯定是一种更高级的方法。而我对于爬山,坐船等,都是把遍历路径分开做的,也就是下了船,上了山以后,再给下一个遍历的名字。杀手帮那种有busy的路径,我采取笨办法,就是没一步中间夹一个(#wa 2000),呵呵。因为我确实不懂#ok这个命令怎么做,以后有空向你多请教。谢谢你。

tianyue 发表于 2009-2-16 17:33:10

原帖由 durer 于 2009-2-16 04:05 PM 发表 http://www.pkuxkx.com/forum/images/common/back.gif
都是高手!!!
Tianyue和maper从软件上讲了怎样做遍历,我的切身感受是一定要自己学会做bianli,而且要根据自己对游戏的理解来做是最爽的,既可以节约时间,又可以提高游戏快感~~~~ttk_41
1.做一个按次序走遍所有地方的 ...


今天高手都出来了,看来我的帖子起到了抛砖引玉的作用,我心甚慰呀!npc出现几率高的地点,还真是得做到一定时候才能慢慢总结出来。估计小鱼儿老大做task的时候,能第一时间出现在那里。我这样的选手不灵呀。所以还是多向高手请教,受益匪浅。

3.休息的时候,请set brief 0,看看这个世界的详细描述,文字是很美的,别老把它们略过...
这句话很有点意思。于我心有戚戚焉。记住我们的宗旨:我们玩游戏,不要让游戏玩了我们。

tomliu 发表于 2009-2-17 10:18:47

另外,#back命令在zmud7.21中并不好用,只能返回一步。传说462的能3步,没测试过不太确定。

xxxcc 发表于 2009-2-17 11:22:47

哎。。。悲剧。。。
1,用timeout来历遍是最傻的——设置的太短,比如50,那么就算你网速再好,服务器只要卡一下,必然超时;而设的太长,比如200,则历遍太慢,并且就算你设置2000,服务器如果卡的时间超过2000,还是会有超时问题。
2,用mapper的#OK方法,确实不错,历遍极快。但是找人并不方便。因为我要找店小二,但是进入一个房间是这样的:
客栈-
这里的出口是up, west.
店小二 (dian xiaoer)
根据#tri {这里*的出口是*} {#ok},这就会导致多走一步。当然,大部分情况下可以用#back来解决。但是很多地方是不能回头的。
3,用set方法触发#OK。set brief 2,这时候,房间描述是这样的。
客栈-
这里的出口是up, west.
店小二 (dian xiaoer)
然后用#tri {^%w-} {set no_tech walk},这样,当出现“客栈-”会发送一个set no_teach walk命令。房间描述是这样的:
客栈-
这里的出口是up, west.
店小二 (dian xiaoer)
设置no_tech变量"walk"(以服务器回显信息为准)
因此,我们需要另外一个触发#tri {^设置no_tech变量~"walk~"} {#ok}。这样,历遍速度上不会比出口触发#OK长多少,但是却很好的解决了多走一步的问题。
4,当然不用set,也可以用提示符触发#OK,其实房间描述是这样的。
客栈-
这里的出口是up, west.
店小二 (dian xiaoer)
>
最后有一个">"提示符,用这个触发#OK,也是可以的。同时避免了多发送一个命令,并且可以set brief 1,省去名字后面的"-"和出口描述还有小地图,从服务器接收的信息更短,历遍速度有了很好的提高:
客栈
店小二 (dian xiaoer)
>

其实上面都是废话,我只想说一句,map功能才是王道。

xxxcc 发表于 2009-2-17 11:34:28

至于什么”玩游戏,别让游戏玩我们“就更是废话了。
喜欢聊天的,看到别人天天为了EXP忙碌,于是说:你们都被游戏玩了。
喜欢EXP的,看到别人天天在那边调试机器人、学习脚本语言,于是说:你们都被游戏玩了。
喜欢做机器的,看到几个wiz吃饱了撑的,把游戏这改那改,还拿钱包服务器,于是说:你们都被游戏玩了。
喜欢当wiz的,看到玩家们都泡在自己设计的游戏里面,于是说:你们都被游戏玩了。
玩与被玩存乎一心。

[ 本帖最后由 xxxcc 于 2009-2-17 11:35 AM 编辑 ]

maper 发表于 2009-2-17 11:52:06

楼上的可能没完全理解我说的set brief 3的意思
> set brief 3

设定环境变量:brief = 3
>
e
                        客店二楼            
                           〓   
               北大街-----客店               
                                    
                                             
客店
    客店留言板(Board) [ 59 张留言,59 张未读 ]
    店小二(Xiao er)
    这里明显的出口是 up 和 west。
>
set brief 3 之后进入房间出口描述都是在最后的,所以可以用“这里*的出口是*"来触发#ok,并且找npc是在判断#ok之前的,所以只要npc不跑动,肯定不会多走一步。
set brief 3只需要设置一次。
页: 1 [2] 3 4 5 6 7
查看完整版本: 新手遍历教程