cloudsee 发表于 2013-7-19 09:36:36

前辈进~关于遍历中的爬蜀山、走铁索等busy事件的处理

我遍历是参照论坛某位前辈写的,比如最简单的
#alias bianli {
#if @onoff=0 {                  //onoff代表找到npc停止
#if @n<=%numitems( @area_list) {//area存放整个区域的路径
    %item(@area_list, @n)            //开始从list选出方向,行走
    #wa
    #add n 1
    bianli
    }
} {#say 找到npc,遍历暂停}
}
这样的话一般上没什么问题,但遇到蜀山这种busy,就出问题了
加了
#tri {^??你小心翼翼往前挪动,遇到艰险难行处,只好放慢脚步。} {#add n -1}
还是没有用,到蜀道上乱跑,busy的时候,n还是在往前+,比如列表是nw|ne|nw,第一个nw的时候已经busy了,这个时候应该会触发n-1,但第二个ne指令还是出来了,系统就显示此方向没有出口。
这怎么解决? 昨晚尝试了很久一直卡在这上,chat问也没人知道,想死的心都有了!!!

北大侠客行MUD,中国最好的MUD

suxxx 发表于 2013-7-22 16:37:22

目前我的遍历没包括这几个带busy的房间,凑合着用还行,楼主不用痛苦的想死吧。
来帮你想想怎么解决,你的遍历是否根据出口信息获得每一步,走路成功根据步数提取下一步步走路吧,那么你那个走路失败的trigger里为什么只有步数回退一步,没有走路呢,走路的命令在别的trigger里么,如果是那样你走路失败带来的n-1和你的走路不同步,必然就出错了。
页: [1]
查看完整版本: 前辈进~关于遍历中的爬蜀山、走铁索等busy事件的处理