北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 5411|回复: 8

【刚发错地方了】 前辈进~关于遍历中的爬蜀山、走铁索等busy事件的处理

[复制链接]
发表于 2013-7-19 09:46:35 | 显示全部楼层 |阅读模式
我遍历是参照论坛某位前辈写的,比如最简单的
#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
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-7-19 10:40:48 | 显示全部楼层
遍历思路有很多的,你可以在论坛上搜个其他方法试试
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2013-7-19 10:57:13 | 显示全部楼层
我知道了,在路径中加入busy,遍历的时候在busy的时候#wa或者#alarm等个几秒改成步行模式就可以了。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-7-19 11:27:28 | 显示全部楼层
alias运行的过程当中,你未必能随时准确的修改变量n
有时候甚至会报非法内存访问
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-7-19 11:36:20 | 显示全部楼层



#tri {^??你小心翼翼往前挪动,遇到艰险难行处,只好放慢脚步。} {#add n -1}

我觉得问题的原因是,这条触发句在触动n-1之前,已经先令#wa结束,执行了下一步的递归bianli,所以即使后面补救性的n-1,第n步已经跨出了。
我没做实验,只是假想一个方法:你把这条触发修改一下“选项”里的设置,从“下一行”改为“提示行”,试试看,或许可以赶在#wa结束之前,提前执行n-1,从而达到目的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-7-19 12:17:49 | 显示全部楼层
求楼上的robot
lboxia@163.com
谢谢
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-7-19 12:51:37 | 显示全部楼层
熊爷的机器好高级。。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2013-7-19 14:50:12 | 显示全部楼层
我用的是721版本,这个设置在哪的,没有属性。
我还是决定在路径加busy来做了,递归里面判断busy就改成慢走过去,这样应该就保险了。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2013-7-26 01:10:20 | 显示全部楼层
改用721自带path之后,发现list真心不好用。果断放弃。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-1 01:30 PM , Processed in 0.011679 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表