[tintin++]map入门
本帖最后由 yuerr 于 2013-12-7 10:24 PM 编辑论坛里也有几篇关于tintin画地图的帖子了,但是我还是总结一下给新手看看。
由于绝大部分中国mud都有房子重复问题,所以自动化地图有点难度,如果新人有兴趣手动画图,那欢迎参考我下面的内容
建议使用下面的alias 和 mapper class
#nop mapoff命令关闭所有自动画图功能,不想自动画图就执行这个命令,你就不用担心地图被弄乱了
#ALIAS {mapoff}
{
#map {flag} {static} {on};
#class mapper kill;
#echo {Room writes disabled!}
}
#nop mapof 命令激活自动画图,而且会导入我下面提供的mapper class
#ALIAS {mapon}
{
#class mapper read mapper.tin;
#echo {Mapping enabled!};
#map {flag} {static} {off}
}
#nop mapper class 提供基本手动画图辅助和命令
#class mapper open;
#nop 自动match "金水桥 - (你目前在长安城)"触发,把名字和区域提取出来存在当前地图id下。方便实用,有的时候也把名字改错,嘿嘿,手动走几步就会纠正好了
#act {^{[^ ]*} %2目前在{[^\)]*})} {#var roomname %1;#var roomarea %3;setmap};
#alias setmap {#map set roomarea $roomarea;#MAP name $roomname};
#nop 设置当前地图为static, 方便自动创建overlap的房间,也是中文mud必须的,把一个房间设置好以后一定记得要执行这个命令!
#alias staticon {#map roomflag static on};
#nop 设置 void 房间
#alias void
{
#if {"%1" == ""}
{
#echo {please provide the void room location: void e = #map insert e void}
}
{
#map insert %1 void;
};
};
#设置新房间,避免已存在房间被错误link在一起
#alias new
{
#if {"%1" == ""}
{
#echo {please provide the new room location: new e = create new room at entry e}
}
{
#map dig {%1} {new}
};
}
#nop 方便查看当前房间的属性,防止忘了设置static和确保路径正确.
#alias info {#map info}
#class mapper close;
好吧,先把我现成的东西贴出来,下面才是正式说明
1. 看系统说明#help map
#map
2. 创建地图/倒入地图
如果你还没有地图,那第一步就是创建一个空的地图#map create如果已有地图,可以直接导入#map read xxx.map3. 定位当前位置
必须订位以后tintin才知道你在哪里,一般常用的就是去扬州中心广场坐标#nop goto 地图坐标,加入中心广场是1,那就 #map goto 14. 开始画图!
用上面的alias “mapon" 激活辅助方程,然后就是左右行走自动画图了。
一般的主街道都可以自动走一遍画,但是要小心系统自动提示的自动操作
#nop 下面三行说明自动创建了新的房间,而且自动设置了回走命令,如果你希望的是link到现存房间,请用#map undo 取消操作,回到原来房间,#map goto 重新设置目标,记得"l" 一下自动更新房间名字
#MAP CREATE ROOM 276 {}.
#MAP CREATE EXIT 276 {wd} {wd}.
#MAP CREATE EXIT 275 {eu} {eu}.
#nop 下面这句说明自动创建了和已存在房间的链接,如果你希望新房间,请undo 重新定位然后手动创建房间
#MAP CREATE LINK 206 {康府大院}.
5. 避免重复的link到别的房间
这个问题是国内mud普遍存在的,也是tintin画图比较头痛的地方
细节参考 http://pkuxkx.com/forum/viewthread.php?tid=22043&extra=&page=5
redcoat 41楼详细描述了这个问题而且提供几个解决方案,相当不错
我这里要提的就是static属性,这个可以让tintin知道有overlap的房间存在,然后会自动创建新的
钱庄 - 北大街
金店 |
某某地方 - 西大街 - 中心广场 - 东大街 - 某某地方
|
重新用redcoat的例子,我们可以先创建钱庄,只需要走到钱庄,然后直接执行static即可
因为钱庄只有一个出入口,“走进钱庄”这个动作就会自动创建全部需要的信息,设成static就会避免tintin自动加出入口
然后你再走到金店,tintin会检查到这是个重叠的房间,然后自动创建新房间
下面是例子。
#MAP: Linkable room is marked static. Creating overlapping room instead.
这个方法很方便,但是也不能100%避免所有的问题, 大家使用中慢慢体会
北大侠客行MUD,中国最好的MUD 本帖最后由 yuerr 于 2013-12-8 01:03 AM 编辑
差点忘了,要备份已经花完的地图,请用下面命令#map write mud.map
自动跑图
#map run 1#nop 自动跑到room 1
创建不在pathdir的路径,现在速成快餐mud不少, rideto 可以直接乱飞等等,所以我们需要手动创建path,也适合创建需要特殊命令的解密房间
#nop 在扬州中心广场飞北京#nop 调用new alias创建一个房间,在beijing 路径;
new beijing;
#nop 修改beijing命令的实际mud命令,加入你实际输入的命令是;r beijing
#map exit {beijing} {command} {r beijing};
#nop 输入beijing,你就会跑到北京了,然后创建回走命令, r gc(飞扬州广场)
#map link gc 1;
#map exit {gc} {command} {r gc};
这样你就把北京和扬州连在一起了,tintin会自动走到广场然后飞去对方城市,当然傻了点,实际上mud在空地就能飞 这个帖子一定要顶,顶了再看。呵呵 ttk_18 好贴Mark
页:
[1]