|
tintin++的map功能相当强大,功能非常丰富,稍加应用,就会得到很多意想不到的效果。
地图制作经常会遇到特殊exit的问题。这个很简单,一般的mud客户端都支持这个功能,作为tt的特殊exit,我就在这里罗嗦一句,解释一下。
比如中心广场有个exit是enter shudong,于是就可以#map exit {中心广场} {command} {enter shudong}.
过河exit无非就是复杂一点,可以这样#map exit {长江堤岸} {command} {#act {一叶扁舟缓缓地驶了过来,艄公将一块踏脚板搭上堤岸} {enter boat};#act {艄公说“到啦,上岸吧”,随即把一块踏脚板搭上堤岸} {#map goto 长江对岸;#map run 目的地};ask shao gong about jiang;yell boat}
还有一些地区有busy,比如蜀道,这个就更容易了,加上delay的时间就行。#map run someplace 延时时间;
以上只是地图制作时需要注意的问题,这也是最基本的问题,有了这些知识,才能制作出完整的地图来。
这一部分就看你的地图信息是否完整,或者说是更有技巧性。
map有一个name属性,一般而言就是诸如中心广场,无量后山等等。但这样制作远远不够,只能属于一个基本的地图。
为了高效利用name属性,可以这样应用:区分重复性区域,如青石官道,这个简单,编号即可,青石官道1,青石官道2...
name的信息还可以包括npc,没错,就是npc的信息。这个语法随意,比如#map name 书院-朱熹(zhu xi)。甚至还可以加上物品信息。
有了这个,地图就强大无比!
下面举例应用:
#map list
这个是list语法,稍加应用即可达到自己的目的。比如:
#map list {%*} {n} {} {昆明} {武士}
这句话的意思是在所有房间中搜索,并列出满足有北方向的出口,且是昆明区域,且房间中有武士的房间.
tintin支持table(一种bt的数据结构),于是可以这样,比如慕容任务:
『叛徒在无量山附近出现』
#var area[无量山] {小路,天龙山脚,无量山后山,等等}
#loop {1} {$area[无量山]} {cnt}
{
#map run $area[$cnt];
}
这样可以遍历叛徒所有可能出现的地方。
map还有很多属性我没有提及,因为上面的属性对于一个基本的任务机器人来说就足够了。当然,为了高效的完成任务,其他属性也是必不可少的。
一千个人有一千个思路,所以机器人就像mud里扮演的角色一样,体验出自己的特色。
最后惯例,一句话总结:自己动手,丰衣足食!![](static/image/smiley/monkey/p.gif)
北大侠客行MUD,中国最好的MUD |
|