你这样作出的只是一个aliases,执行的结果就是走到最后一个地方,中间遇到怪也不可能停下来,#stop只对path起作用,对aliases无用。
所以首先你需要学会使用zmud的路径功能,也就是paths,在trigger的左边你就能找到这个按钮。
点开后共有三个分页分别叫做actions,settings和directions,现在选择directions进行设置。系统应该已经有了一些默认设置的directions,最好删除他们,当然你也可以看看已经有了哪些然后选择添加没有的,只要你能保证不搞错。添加的方法如下:比如我们来设置north,那么先选择new,然后在右边填写这个new directions的内容,Directions code为这个方向的代码,我们用a,Reverse code表示这个方向相反的方向(对于north来说就是south了),我们填写b,command则是这个directions代码所代表的方向,我们填上缩写和全称n|north,最后的map directions可以不用管它,通常我们是用不到的。这样一个directions就设置好了,重复上边的过程,我们刚才反方向代码填写的是b,所以设置b代表south,当然,它的反方向代码就是a了。依此类推,把mud里能遇到的各种方向,什么su,nw,ed包括up、down还有enter和out都成对的设置进去,26个字母基本够用了。
现在你应该设置好directions了,回到第一页actions,点start recording,然后开始行走你需要记录的路径,走完之后点开paths点stop就结束记录,zmud会弹出一个对话框让你给这个路径起个名字,起好后一个路径就生成了,这个路径会用一串你刚才设置好的代码来表示。比如你设置的a代表north,b代表south,c代表west,d代表east。那么你走过的路径为n;w;s;w;n;e,则path记录下来的就是acbcad。
你也可以选择在zmud命令行输入#mark开始path的记录,用#path xxx来结束并且把记录好的path命名为xxx。这些都可以在脱机情况下进行。比如你刚才的高老庄的路径,#mark;#13 s;#6w;w;s;n;w;n;s;s;n;w;w;n;s;s;s;s;e;w;sw;ne;n;n;n;e;e;e;e;n;w;e;e;w;n;w;e;e;w;n;w;u;d;e;e;w;n;#path gao
把这串运行后,就会生成一个叫做gao的path,里边记录着整个高老庄的路径。
这个路径应该是从+开始的,那么当你下次接到高老庄的怪时,站在+然后输入#sl .gao则zmud就会调运记录好的高老庄的路径开始行走了,找到怪的时候触发#stop就会停下。
那么path里每一步之间的时间间隔是多少呢,这个你可以自己设定,在path第二页的settings里timeout value,1000=1秒,如果你设置500,则你调用path的时候zmud会每0.5秒走一步直到当前path结束或者由#stop停止。
如果网络状态很好,这样找怪准确度是非常高的,不过有的时候我们的网络不是很好,卡的厉害,有可能好几秒无法接收到信息,但是zmud不管这些,它只会按照你设置的timeout value不断的输出路径,可能你看到自己的怪的时候都多走出好多步了。所以我一直选择不用timeout value来输出path,也就是设置timeout value为0。但是这样path就不能自己输出下一步路径,需要#ok来触发行走下一步。你可以设置两个触发,分别是{这里唯一的出口是*}和{这里明显的出口是*}触发的命令就是#ok,这样的效果就是每走出一步后,只有出现走到的房间的出口描述时才会触发走下一步,针对网络状态不好的情况可以比较准确的找到怪。
不论你使用上述两种方法的哪种,当走过的时候可以使用#ba来按照经过的path远路后退,如果你想全自动的准确找到怪,就需要利用好#ba,至于怎么用,自己动动脑子,算我最后给你留下一道思考题。