thelast 发表于 2009-6-19 00:16:43

请教几个遍历问题

导入别人的遍历怎么把遍历的方向设置导入进去 我试过导出txt文件里面没有啊 导入机器人遍历一项也没有设置 只有全部读取别人的机器人才会有有什么方法只导入遍历时也导入方向设置吗?
看了下高手的机器遍历都是一下把一个地方遍历完 那些杀看门人的地方就过不去了 请问下这种问题怎么解决
如果我想把一个遍历改成两个 一个遍历到看门人那 杀了看门人 第二个遍历里面能改吗 刚做了几个ttk_09 不想再做一次了。。。

[ 本帖最后由 thelast 于 2009-6-19 03:44 AM 编辑 ]

sghjjj 发表于 2009-6-19 02:49:12

做遍历是很累,半个小时才做好一个地区的遍历,北侠接近40个区域,做了几天才做好,还要测试,再修改,反复循环一直到做好
不知道你的遍历机器人是什么版本的?mush zmud cmud?我只习惯用zmud555,可以给你提供下我的思路
我做的遍历是找盗宝人的快速遍历,遍历过程中有2类中断,一种是坐船,一种是杀看门的,如果用一个变量保存遍历一个区域的所有行走方向,包括杀人和坐船之类(凡是有BUSY的命令都可以视同坐船,比如无量的悬崖)的命令的话,只需要指明在第几步中断即可,杀完人坐完船之后继续前面中断了的遍历,这样的话一个遍历alias和若干看门人死了的触发就可以解决一个区域。这种方法比用path功能好,快速遍历和慢速行走都可以实现。
如果你说的是其他的版本,就帮不了你了。

thelast 发表于 2009-6-19 03:29:16

原帖由 sghjjj 于 2009-6-19 02:49 AM 发表 http://pkuxkx.com/forum/images/common/back.gif
做遍历是很累,半个小时才做好一个地区的遍历,北侠接近40个区域,做了几天才做好,还要测试,再修改,反复循环一直到做好
不知道你的遍历机器人是什么版本的?mush zmud cmud?我只习惯用zmud555,可以给你提供下我 ...
中断 是不是设置个方向命令是#stop在那一步上加个一个 还是怎么弄 继续下面的命令是什么#step只是一步啊 我都是手动狂点#step 有其他命令吗 麻烦说下

sghjjj 发表于 2009-6-19 04:16:21

我没有用path的一系列命令
主要是用一个变量保存所有的方向,其中包括坐船杀人等等
举个例子shenlongdao,又有坐船又有杀人
#var shenlong out|u|s|s|sw|sw|s|enter dong|n|sw|nw|enter boat|s|w|w|w|w|w|w|w|w|sd|sd|wd|s|sd|s|s|sd|wd|s|sd|sd|sd|ed|sd|s|s|s|out|e|ed|e|e|e|ed|n|s|wu|w|w|w|wu|w|s|n|enter|killdizi|n|n|w|sw|s|w|n|s|se|ne|n|w|killdizi|ne|e|e|s|n|n|s|e|w|w|n|nu|wu|nu|nu|nu|n|eu|nu|n|n|nu|nw|s|s|s|s|n|n|n|n|w|e|e|w|se|n|eu|nu|nu|w|e|e|e|e|e|e|e|e|e|e|e|e|se|nw|n|enter boat|ask chuan fu about 出海|se|ne|s|out|n|ne|ne|n|7|d|say 天堂有路你不走啊|enter shudong
这个变量就是神龙的遍历包括返回,每个命令之间用|间隔,遍历的时候从后面的命令开始,一直执行到第一个命令
对于这种类型的变量相关的命令有%item(...) %numitems(...) %additem(..) %ismember(...) #additem #delitem #delnitem,比如%item(@shenlong,%numitems(@shenlong))的值是"enter shudong",这些变量在zmud帮助文档里有
遍历的时候用alias,alias的名称是bianli,命令是下面这一堆
#if (@step>[%numitems(@quyu)-@n]) {#if (%ismember(@step,@wait)) {#wa 30000
%item(@quyu,@step)
#add step -1
bianli} {#if (%ismember(@step,@kill)) {#wa 1500
%item(@quyu,@step)
#add step -1} {#if (%mod(@step,10)=9) {#wa 1500
%item(@quyu,@step)
#add step -1
bianli} {%item(@quyu,@step)
#add step -1
bianli}}}}

这个alias是自我嵌套类型的alias,命令里面包含了它本身
再加上这个
#alias bianlishenlong {#var quyu @shenlong;#var step %numitems(@quyu);#var n @step;#var wait 11|127;#var kill 58|71}
wait变量里保存的是第11,127步坐船需要等待,kill变量里保存的是58步71步杀看门人
如果把n改成走到盗宝人需要执行命令的次数,用bianli就可以走到盗宝人那里停下来,上面的n是总步数,意思就是走到盗宝人需要执行全部的命令,
自然就是遍历整个神龙岛了
配合trigger   神龙弟子死了继续kill dizi,没有弟子可杀了就继续bianli      这样就可以了
用这2个命令从ct遍历神龙岛{bianlishenlong;bianli}
这个是每走10步停留1.5秒的快速遍历,稍微修改下就可以做成每走1步停留1秒的慢速遍历

感觉这种方法很灵活,完全脱离了那些定义方向,zmud对于#path的支持也不是很好,很多麻烦的东西。

[ 本帖最后由 sghjjj 于 2009-6-19 04:25 AM 编辑 ]

thelast 发表于 2009-6-19 04:24:55

高手果然是高手 我好好研究一下貌似很方便 竟然能赋值遍历 那不是剩很多alias

thelast 发表于 2009-6-19 04:28:54

你的一套if 我彻底搞蒙了 我没编程底子 现在只能做点一个if的

thelast 发表于 2009-6-19 04:34:04

#var 命令没学会 哎
#VAR container waterskin                                                         
                                                                                 
这条命令将字符串waterskin赋值给变量container。这样,fill @container命令将被扩展
                                                                                 
如果在General Preferences设置中的Expand Vars可用,变量也可以直接在命令行上被扩?
不知道是什么意思
你这方法用着很方便 可是太难做了 岂不是做一步 写一下 其实有个命令能让后面的一下走完 path 的也能解决 就是点起来麻烦

sghjjj 发表于 2009-6-19 04:40:58

简单点说最外面的那个if是判断嵌套的次数,每嵌套一次执行一个命令,一直把所有的命令执行完就停止嵌套

然后判断这一步是不是在@wait里,如果在就停留30秒在执行命令表示坐船,否则判断它是否在@kill里,如果在就kill并且停止嵌套,等待弟子死光了继续嵌套,否则就看它是不是10的整数倍,如果是,表示应该停留1.5秒,防止命令输入过多死机,就是所谓的每10步停留1.5秒,都否则就直接执行命令

sghjjj 发表于 2009-6-19 04:55:57

var 很简单啊 #VAR container waterskin ,有了这个命令就表示定义了一个变量,变量名是container
变量值是waterskin,@container表示waterskin,所以fill @container意思就是fill waterskin

如果手动做就麻烦,但是可以用alias来帮助嘛
定义一个alias
#alias g {%1;#var shenlong %additem(%1,@shenlong)}
下面就可以开始制作shenlong变量了
先在命令行输入g "enter shudong"   .
shenlong的值就是enter shudong,同时你的id也进了树洞了
然后输入g "天堂有路。。。" shenlong的值就是say 天堂有路你不走啊|enter shudong
再输入g d,然后g 7;g n;g ne;........
就好像护镖一样,从ct开始把镖赶到神龙逛一遍就可以了,你的id也是跟着走的,等走完了shenlong这个变量已经完成了,输入bianli就可以bianli了
你也不用去数kill dizi在第几步,#show %ismember("kill dizi",@shenlong)显示的就是kill dizi所在的位置
想点办法,就跟path的制作方法一样简单,赫赫

thelast 发表于 2009-6-19 04:57:10

没学会。。。教程里你说的这几个命令都没看明白。。。看来玩这游戏要好好攻一下编程了
页: [1] 2 3 4
查看完整版本: 请教几个遍历问题