Zmud 7.21 Map定位问题
我试着用maper的教程和oolong的建议来画地图,但是在定位的时候遇到了麻烦。目前可以自动抓取房间名,房间描述和房间出口。比方说星宿后山的豁然轩,room_name='豁然轩',room_desc='这里是风景极好,眺望远处的山峰,心中烦闷之气一吐而尽。',room_exit='s|w'。
按照oolong的建议,定位思路是用target=%mapquery(='@room_name' and like '% @room_desc%' and like '% @room_exit%' ),同时对比,和。但是遇到的问题是,哪怕room_desc的内容和地图里房间的描述一模一样,mapquery也找不到结果。我猜测可能有乱码因素,但是不知道应该怎么解决。试过把两个描述都重新赋值让它们都变成乱码,但是query的时候还是找不到结果。
有什么更简单的方法能实现定位吗?
北大侠客行MUD,中国最好的MUD 修改了一下,把出口信息也放到描述里,然后可以用出口信息来定位了,但是如果用mapquery查描述的话依然找不到房间。应该怎么改才行呢? 出口在画地图的时候自动画进去,我以我的房间举例:
朝天宫
这里是朝天宫,西面是城西大路,东面通向中城。 【exit】east|west【exit】
我将出口信息转换为east|west|south格式,前后加【exit】是为了查找方便。
(比如房间1234的出口,exit=%word(%roomdesc(1008),2,"【exit】"),不过目前看没啥作用除了定位)
定位:
name=朝天宫
desc=这里是朝天宫,西面是城西大路,东面通向中城。
exit=east|west
test=%mapquery(='@name' and like '%@desc%' and like '%@exit%')
#sh test = @test
结果:
test = 3879 可以运行,也可以这样写:
name=朝天宫
desc=这里是朝天宫,西面是城西大路,东面通向中城。
exit=east|west
temp=%concat( "='@name' and like '%@desc%' and like '%@exit%'")
test=%mapquery( @temp)
#sh test = @test 回复 3# oolong
多谢前辈指点,我回头去试试。
顺便问一下,之前你的“不耻上问”系列问题,最后都是怎么解决的?我已经被走路过河等busy给卡了很久了。。 这个每个人的处理方法完全不一样,我不用#slow很多年了啊,那个太慢了。
#slow 已经忘记怎么处理了,应该按照不能#slow的情况处理吧,比如迷宫出来等等。你特殊处理一下吧。 这个每个人的处理方法完全不一样,我不用#slow很多年了啊,那个太慢了。
#slow 已经忘记怎么处理了,应该按 ...
oolong 发表于 2014-9-21 02:22 AM http://www.pkuxkx.com/forum/images/common/back.gif
呃不是,我是想问像坐船这样的情况用map怎么处理,因为是坐上了船后要等一段时间,有提示了才能用out下去,如果不设置的话就会一上船然后马上又下去了。。 每个人的思路不一样啊,我不用#slow,我的模式是alias 扫街。
当知道目的地点以后会得到当前地点到目的地点的路径,再加上目标地点到周边n个房间的路径。
合成一个大的路径。
然后路径拆分
1,超过步数停顿
2,特殊路径停顿 (你说的过河就属于这一种)
我将所有特殊路径(迷宫,过河,走路busy,要特殊物品)都统一用alias命名一下,比如passxxx,做在地图里面,方便路径拆分分析。
如果你的路径是黄河南岸到北岸边,alias 为passhh1
那么你拆分路径肯定分成两个,前面是 n;passhh1 后面是n;n;n;kill npc;e;kill npc;n;kill npc这种。
当你输入passhh1以后,就是等船,用触发解决,只要做上船,出来了,根据描述立即执行后面剩余路径。
但是这种模式不适用#slow。 每个人的思路不一样啊,我不用#slow,我的模式是alias 扫街。
当知道目的地点以后会得到当前地点到目的地点 ...
oolong 发表于 2014-9-21 07:33 AM http://www.pkuxkx.com/forum/images/common/back.gif
原来如此!不过kill的busy足够让路径停下来吗?还是说用hit,perform,然后指望perform的busy足够长? 一般用hit;perform;知道id就可以用lookin id
e;lookin @id;s;lookin @id
只要成功了,就立即找到下面路径都浪费了
页:
[1]