dreamnb 发表于 2010-9-9 18:33:19

关于zmud 7.21map的使用问题

我按照maper的教程,用zmud 7.21画了一个地图。
我现在就知道#walk roomid可以走到指定房间。但是这个只能按照房间编号走动。
请问怎么实现#walk 中央广场?或者#walk 扬州,中央广场之类的?

我现在知道#find可以确定自己位置,然后要去目标位置怎么弄?

maper 发表于 2010-9-9 22:30:22

给个思路吧
可以做个对输入命令的触发#walk (.*),抓到要去的房间名称,然后检索地图,如果有唯一id,就#walk id,如果没有或重复的,就返回错误信息。

oolong 发表于 2010-9-10 09:48:17

原帖由 dreamnb 于 2010-9-9 06:33 PM 发表 http://edu.pkuxkx.net:8082/forum/images/common/back.gif
我按照maper的教程,用zmud 7.21画了一个地图。
我现在就知道#walk roomid可以走到指定房间。但是这个只能按照房间编号走动。
请问怎么实现#walk 中央广场?或者#walk 扬州,中央广场之类的?

我现在知道#find可 ...

主要是分为两部分:
第一部分:定位
如何确认您所在位置在地图的准确位置,比如:
look
会得到当前房间的@name,@desc,@exit
然后去地图搜索,函数为target=%mapquery(='@name' and like '% @desc%' and like '% @exit%' )
注:此处主要是用Mapper童鞋的机器人画地图的时候把exit信息录入到desc信息里面,方便定位hz6


第二部分走路
如果得到唯一target(即房间id),使用#slow %walk(@target)
主要慢速走路可以随时停下来杀怪,还可避免输入命令太多。其实慢速行走也不慢...

大方向就是这样了,剩下的就是细化处理了。

dreamnb 发表于 2010-9-10 11:19:13

感谢,感谢

jizong 发表于 2011-9-4 19:12:12

原帖由 oolong 于 2010-9-10 09:48 AM 发表 http://pkuxkx.net/forum/images/common/back.gif


主要是分为两部分:
第一部分:定位
如何确认您所在位置在地图的准确位置,比如:
look
会得到当前房间的@name,@desc,@exit
然后去地图搜索,函数为target=%mapquery(='@name' and like '% @ ...

乌龙茶是高手啊!

greney 发表于 2011-9-5 16:11:47

如果事先画地图的时候 已经划分好区域应该就省事不少了
比如 派你去 扬州(%x)
事先划分好区域扬州为1
zone=1
roomname=%1
#var roomlist %mapquery( name='@roomname')
#var roomsl %numitems( @roomlist)
#if @roomsl=1 {#var roomnum @roomlist} {
#var roomlist %mapquery( name='@roomname' and zoneid=%zonenum( @zone))
#var roomlist %sort( @roomlist, 1)
#var roomsl %numitems( @roomlist)
#var roomnum %item( @roomlist, @num)
}
#if @roomsl=0 {fq} {
#var ls %numitems( %pathexpand( %walk( @roomnum)))
#2 h
#t+ ls
gg @roomnum
}

bxjg 发表于 2011-9-6 10:46:11

7.21的地图功能算是很强大了
好象地图功能还自带一个数据列表?

jizong 发表于 2011-9-6 11:43:28

原帖由 bxjg 于 2011-9-6 10:46 AM 发表 http://pkuxkx.net/forum/images/common/back.gif
7.21的地图功能算是很强大了
好象地图功能还自带一个数据列表?

确实很强大,自带一个数据库!
地图文件,就是在数据库里边!

jizong 发表于 2011-9-6 11:44:31

原帖由 greney 于 2011-9-5 04:11 PM 发表 http://pkuxkx.net/forum/images/common/back.gif
如果事先画地图的时候 已经划分好区域应该就省事不少了
比如 派你去 扬州(%x)
事先划分好区域扬州为1
zone=1
roomname=%1
#var roomlist %mapquery( name='@roomname')
#var roomsl %numitems( @roomlist)
#i ...


greney是牛人啊,这段代码,解决了我不少疑惑,谢谢
页: [1]
查看完整版本: 关于zmud 7.21map的使用问题