%mapquery(%concat("Name LIKE '", 荆西镖局, "'"))
这样,就会返回荆西镖局的房间ID,当然,如果你搜索土路、青石大道,会返回很多的房间ID
用list的形式返回来的 原帖由 buffet 于 2011-9-5 01:17 PM 发表 http://pkuxkx.net/forum/images/common/back.gif
第一段是关于这个指令怎么用于数据库的查询。我还没接触过数据库,没有上下文,我不敢乱翻译。(不过,这个很有趣,有空我会研究研究)
第二段是说如果执行#FIND指令的时候没有加上任何参数(就是只有#FIND,而不 ...
感谢了,你的第二段解释,让我很清楚了这个命令了!谢谢你,希望你继续帮助我! 原帖由 mygame 于 2011-9-5 01:18 PM 发表 http://pkuxkx.net/forum/images/common/back.gif
好像很多人,都自己写定位方式,用#find好像很少
zmud很多时候没有能自动正确捕捉到room的信息,需要额外的tiger来捕捉
额,如果是这样,就比较麻烦了
如果在单一的房间,还比较好说,但是,如果在几个类似迷宫的房间,就很老火了
比如:中原的青石大道、嘉兴的驿道 房间名+房间描述+房间出口
这些在画地图的时候就要每个房间做好了 用来定位的
房间名相同就比对描述
描述相同就比对出口数量
出口数量相同 就随机走一步 在定位
就能定位成功了。 请教,如何对出口数量,进行比较? Cmud/Zmud地图定位方法
不讲废话,直入正题:
唯一地名:
pattern:^> (*) - $
coder:
复制内容到剪贴板
代码:
room=%1
room=@room
#teleport %mapquery(='@Room')
#teleport %mapquery("= '"%replace(@room, "'", "~'~'")"' AND ="%roomzone())
roomvum=%mapquery("= '"%replace(@room, "'", "~'~'")"' AND ="%roomzone())
#if %numitems(@roomvum)=1 {roomflags=1;#teleport @roomvum}
重名地名:
如果像推车路线周围的地点,可以用小地图或地名描述把他写出来,如汉水下面的一个"大驿道"
pattern:
复制内容到剪贴板
代码:
大驿道%s$%s|%s $%s大驿道%s$ %s|%s$%s青石大道
coder:
复制内容到剪贴板
代码:
teleport 2287
roomflags=1
如果你很懒,写个函数随机走几步,找到唯一点的时候再走,可以用如下写法:
Pattern:
复制内容到剪贴板
代码:
这里*的出口是(*)。
coder:
复制内容到剪贴板
代码:
chukou=%replace(%replace(%1,"和","、"),"、","|");
chukou2=""
#if (%numitems(@chukou)>1) {
#loop 1,%numitems(@chukou)
{
#additem chukou2 %trimleft(%trimright(%item(@chukou,%i)))
}
#delitem chukou2 @fanxiang(@nextstep)
} { chukou2=@chukou }
roomvum=%mapquery("= '"%replace(@room, "'", "~'~'")"' AND ="%roomzone())
#if (%numitems(@roomvum)=1) {#teleport @roomvum;#wa 500;set action walk} {set action relocation}
需要注明的是fanxiang这个function是把走过的方向删除,这样一直走到底,不会来回重复走。
用在推车这里的话,如果迷路了,就是沿着一个路径推到底,但这样效率较低,如果磨时间倒不错,看个人取舍。
[ 本帖最后由 killunix 于 2010-6-24 10:20 AM 编辑 ] 在ZMUD里要少用%replace 会出现过多乱码。 chukou=%replace(%replace(%1,"和","、"),"、","|");
chukou2=""
#if (%numitems(@chukou)>1)
{
#loop 1,%numitems(@chukou)
{
#additem chukou2 %trimleft(%trimright(%item(@chukou,%i)))
}
#delitem chukou2 @fanxiang(@nextstep)
} { chukou2=@chukou }
roomvum=%mapquery("= '"%replace(@room, "'", "~'~'")"' AND ="%roomzone())
#if (%numitems(@roomvum)=1) {#teleport @roomvum;#wa 500;set action walk} {set action relocation} 经过研究,要用到
#show %replace(%replace(%replace("north、west、south、east 和 southeast","和","、"),"、","|")," ")
这样,是列表 #show %numitems(%replace(%replace(%replace("north、west、south、east 和 southeast","和","、"),"、","|")," "))
返回,共有多少个出口
页:
1
[2]