关于zmud 7.21map的使用问题
我按照maper的教程,用zmud 7.21画了一个地图。我现在就知道#walk roomid可以走到指定房间。但是这个只能按照房间编号走动。
请问怎么实现#walk 中央广场?或者#walk 扬州,中央广场之类的?
我现在知道#find可以确定自己位置,然后要去目标位置怎么弄? 给个思路吧
可以做个对输入命令的触发#walk (.*),抓到要去的房间名称,然后检索地图,如果有唯一id,就#walk id,如果没有或重复的,就返回错误信息。 原帖由 dreamnb 于 2010-9-9 06:33 PM 发表 http://edu.pkuxkx.com: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)
主要慢速走路可以随时停下来杀怪,还可避免输入命令太多。其实慢速行走也不慢...
大方向就是这样了,剩下的就是细化处理了。 感谢,感谢 原帖由 oolong 于 2010-9-10 09:48 AM 发表 http://pkuxkx.com/forum/images/common/back.gif
主要是分为两部分:
第一部分:定位
如何确认您所在位置在地图的准确位置,比如:
look
会得到当前房间的@name,@desc,@exit
然后去地图搜索,函数为target=%mapquery(='@name' and like '% @ ...
乌龙茶是高手啊! 如果事先画地图的时候 已经划分好区域应该就省事不少了
比如 派你去 扬州(%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
} 7.21的地图功能算是很强大了
好象地图功能还自带一个数据列表? 原帖由 bxjg 于 2011-9-6 10:46 AM 发表 http://pkuxkx.com/forum/images/common/back.gif
7.21的地图功能算是很强大了
好象地图功能还自带一个数据列表?
确实很强大,自带一个数据库!
地图文件,就是在数据库里边! 原帖由 greney 于 2011-9-5 04:11 PM 发表 http://pkuxkx.com/forum/images/common/back.gif
如果事先画地图的时候 已经划分好区域应该就省事不少了
比如 派你去 扬州(%x)
事先划分好区域扬州为1
zone=1
roomname=%1
#var roomlist %mapquery( name='@roomname')
#var roomsl %numitems( @roomlist)
#i ...
greney是牛人啊,这段代码,解决了我不少疑惑,谢谢
页:
[1]