北大侠客行MUD论坛

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

福州mush运镖的问题

[复制链接]
发表于 2018-1-15 16:03:16 | 显示全部楼层 |阅读模式
mush新手所以很多都不懂.我是直接下qq群里面福州mush机器人来用的,把.mcl里面的路径都改成机器里面的路径.

在运膘途中,不被乱入时基本一切正常,但被乱入后很大情况无法找到路(只有25%时候能够找到),我注意了一下,下面具体案例

gan che 到福州城中心,robber乱入连人带车往west踢了一次到西大街,杀完robber后机器人开始luanru和lrfind的识别.  此时var抓的didian和miaoshu都是西大街的,然而HB_didian1和HB_miaoshu1
都是城中心的(车的位置在西大街),所以luanru和lrfind识别一段时间后都是不正确,然后就放弃停在那里了.

我想知道到底是什么情况导致了会这样?

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2018-1-15 16:15:04 | 显示全部楼层
就是每个room的出口顺序随机变化,所以这个机器人抓的出口与改变后的顺序对不上就会找不到。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2018-1-15 17:16:06 | 显示全部楼层
回复 2# candyqing


那么有什么解决方法吗?  因为这种情况,基本上机器人在有乱入的情况下都无法工作,我想知道其他人是怎样处理这个问题的,还是这种情况只出现在我身上?
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2018-1-15 18:01:15 | 显示全部楼层
下面是我觉得有问题的部分,麻烦看以下

local didian=GetVariable("didian")
local miaoshu=GetVariable("miaoshu")
local chukou=GetVariable("chukou")
local HB_luanru=GetVariable("HB_luanru")
local HB_lrdidian=GetVariable("HB_lrdidian_"..HB_luanru)
local HB_lrmiaoshu=GetVariable("HB_lrmiaoshu_"..HB_luanru)
local HB_lrchukou=GetVariable("HB_lrchukou_"..HB_luanru)
local HB_lrlj=GetVariable("HB_lrlj")
local HB_lrcs=tonumber(GetVariable("HB_lrcs"))
if didian~=HB_lrdidian or miaoshu~= HB_lrmiaoshu or chukou~=HB_lrchukou then
  Note("不是这里")
  DoAfterSpecial(1,revfx(HB_lrlj),10)
  HB_lrcs=HB_lrcs+1
  SetVariable("HB_lrcs",HB_lrcs)
  DoAfterSpecial(2,"set HB_jieduan luanru",10)
else
  Note("找回原路")
  SetVariable("HB_lrcs","1")
  DoAfterSpecial(1,revfx(HB_lrlj),10)
  DoAfterSpecial(2,"set HB_jieduan fanhui",10)
end


其中didian/miaoshu/chukou为被踢后room的信息(比如从城中心踢到西大街,则是西大街的信息), lrdian/lrmiaoshu/lrchukou 则是要检查的周围房间的信息, lrlj是从出口提取的方向变量.  所以每次到这种情况机器人都会扔下镖车,在附近房间走去检查,但问题是附近房间的信息当然无法符合本身didian/miaoshu(原地不动)的信息,结果就这样走几轮后就卡在那里了.

另外我尝试过,假如把车直接gan去别的房间(比如north),然后south回来则能通过判定(因为这样目的地房间就变成了原来的房间,则判定通过.


下面是我的猜测,假如被踢的只有车而不是人(人和车不在同一房间),则上面的触发都能正常判定,问题是当人和 车同时被踢时问题就来了.
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2018-1-17 08:26:43 | 显示全部楼层
这两天我的小猫生了重病,所以我一直也没有心情上线,今天才上论坛来看看,你说的这个问题有处理方法,你找一下论坛里 nrm 发的帖子,就在技术那栏里面,标题好像是叫地图的几个处理方法来着,你看一下,那个就能解决你的问题。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2019-10-30 11:11:16 | 显示全部楼层
学习了,谢谢分享!
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 03:53 PM , Processed in 0.011198 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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