redcoat 发表于 2011-8-12 21:52:00

[tintin++]map进阶

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 <roomname> <exits> <roomdesc> <roomarea> <roomnote>


这个是list语法,稍加应用即可达到自己的目的。比如:

#map list {%*} {n} {} {昆明} {武士}

这句话的意思是在所有房间中搜索,并列出满足有北方向的出口,且是昆明区域,且房间中有武士的房间.

tintin支持table(一种bt的数据结构),于是可以这样,比如慕容任务:

『叛徒在无量山附近出现』

#var area[无量山] {小路,天龙山脚,无量山后山,等等}

#loop {1} {$area[无量山]} {cnt}
{
    #map run $area[$cnt];
}

这样可以遍历叛徒所有可能出现的地方。

[*]map的高级属性

map还有很多属性我没有提及,因为上面的属性对于一个基本的任务机器人来说就足够了。当然,为了高效的完成任务,其他属性也是必不可少的。

一千个人有一千个思路,所以机器人就像mud里扮演的角色一样,体验出自己的特色。

最后惯例,一句话总结:自己动手,丰衣足食!hzp

北大侠客行MUD,中国最好的MUD

zgbl 发表于 2011-8-12 22:03:25

果断精华,加油赶超小刀!

labaz 发表于 2011-8-12 22:30:21

#map exit {长江堤岸} {command} {#act {一叶扁舟缓缓地驶了过来,艄公将一块踏脚板搭上堤岸} {enter boat};#act {艄公说“到啦,上岸吧”,随即把一块踏脚板搭上堤岸} {#map goto 长江对岸;#map run 目的地};ask shao gong about jiang;yell boat}

上面的几个#act的生命周期是多长?存在会被误触发的情况吗?

randomwalk 发表于 2011-8-12 22:47:22

希望lz把全自动技术用到有用的地方


少做些诸如转账全自动,全自动自杀配药之类的全自动,很无聊

redcoat 发表于 2011-8-12 23:15:28

原帖由 labaz 于 2011-8-12 10:30 PM 发表 http://pkuxkx.net/forum/images/common/back.gif
#map exit {长江堤岸} {command} {#act {一叶扁舟缓缓地驶了过来,艄公将一块踏脚板搭上堤岸} {enter boat};#act {艄公说“到啦,上岸吧”,随即把一块踏脚板搭上堤岸} {#map goto 长江对岸;#map run 目的地};ask sh ...


全局,tintin只有全局变量,如果不需要的话,可以#unact


这个只是个例子,我没有仔细推敲其逻辑,逻辑来源是wiki的常用路径一篇。

redcoat 发表于 2011-8-12 23:19:50

原帖由 randomwalk 于 2011-8-12 10:47 PM 发表 http://pkuxkx.net/forum/images/common/back.gif
希望lz把全自动技术用到有用的地方


少做些诸如转账全自动,全自动自杀配药之类的全自动,很无聊


额。。误会误会啦。

我帖出来的技术是我感觉对大家有启发的技术。

那个配药的是暂时的经济来源,大家睁一只眼,闭一只眼好啦。

同时感谢randomwalk前辈提出这个问题,的确提示信息可能干扰了大家,大家可以gag一下,总之,还请大家见谅啦hzn

mygame 发表于 2011-8-15 13:46:20

地图好做,关键是如何定位的?例如出现了乱入如何定位的?

mygame 发表于 2011-8-15 13:48:09

还有数据是如何存储的,后期好不好修改整理

redcoat 发表于 2011-8-15 19:48:57

原帖由 mygame 于 2011-8-15 01:48 PM 发表 http://pkuxkx.net/forum/images/common/back.gif
还有数据是如何存储的,后期好不好修改整理

数据是tintin++负责存储和计算。玩家用就行了。

tintin++的特点就是简单方便人性化的。

感觉就是制作时信息量很大,难免会有疏漏。


后期修改就太简单啦,比如:

#map name 无量后山
#maparea 天龙寺
#map note 金环蛇-竹青蛇

redcoat 发表于 2011-8-15 19:55:21

在用tintin++时,好多玩家不免会用zmud和mush的思路来对待tintin++,这是正常的。

但这会局限对tintin++的使用和思考。

tintin++作为mud客户端的鼻祖,自然是方便玩mud,而把如何玩的思路设计留给玩家。

我认为tintin++是个对学习曲线要求很高的客户端,一旦精通,便游刃有余,让mud跟着你的思路跑.
页: [1] 2
查看完整版本: [tintin++]map进阶