|
  

|
zMUD中地图模式的运用
2002-9-28 作者不详
zMUD中有一个内建的地图模式(automapper)允许你交互式建立MUD的地图。
建立地图后,你可以利用房间名高速通行(参见#tel),并避免进入危险的房间。
automapper可以帮助新手迅速的象大侠一样了解MUD的鸟瞰图。
一、地图编辑器的基本特性
地图中可以包括区域,每个区域中都可以有自己的区域
能够通过双击目的地迅速到达
自动从MUD中获得房间名和房间描述
能够在走过的地区自动生成地图
手工修改
记录8个方向(n.s,e,w,ne,nw,se,sw)和层次(up/down)
适应收费房间不受阻碍
标记房间类型:water, fly, and traps
加上禁入标志以避免进入危险地区
多种分析模式处理不同的MUD数据
读入地图模板并与你的地图连接
处理单出口的迷宫
二、配置地图
由于MUD游戏各不相同,因此需要根据不同的MUD对automapper进行配置,
必须向automapper提供规则使其能够计算出屏幕上的显示哪些属于房间描述,
MUD如何显示房间出口。
automapper使用speedwalking模式中定义的方向代码,必须保证MUD显示出口的单词与方向
代码中的定义一致,未被定义的出口单词将被忽略。
配置地图时,确信你连接在当前MUD上,用菜单命令windows / automapper打开地图编辑器,
然后从地图窗口单击edit菜单中的Perferences。
你将看到几张选项表,内容如下:
General:设置一些automapper的全局选项,例如是否在地图窗口显示工具条
Colors:改变地图使用的颜色
Strings:包括三项设置
cant go that direction:设置当你不能进入某个方向时,MUD显示的信息。例如,
在西游记中不能入内的房间常有卫兵看守,你需要在dtrings中记录各个禁入区显示的不同信息
Room is dark:填入进入黑屋时MUD的提示
look command:获得房间描述的命令,通常是look
Full Parsing:指定如何分析全部房间描述
Brief Parsing:指定如何分析摘要描述
Look Parsing:指定如何分析look命令所返回的信息
下面说明如何填写这些选项表
1、在strings表look command中填入当前MUD使用的查看环境的命令,通常是look。
2、room is dark中填入黑屋的提示。
3、在cant go that direction填入不能进入的房间的提示,通常有几种不同的情况:
举例:
4、设定MUD如何描述出口
选择 Full Parsing 表。
房间出口通常显示为完整的单词,象 north, south, east, 等等或缩写为 NSEW.
在exit type中选择当前MUD的显示方式,以西游记为例,出口通常显示为
“这里明显的出口是 north、west、south 和 east。”因此选择whole words。
如果摘要显示或look命令显示的出口类型与full模式不同,则在相应的选项卡中选择
相应的exit type。
然后在exit pattern中填入相应的提示语句使mapper检测房间出口,在MUD游戏西游记中,
通常可以填入:“的出口是”或者“^这里*的出口是”(因为有“这里明显的出口是”和“
这里唯一的出口是”两种不同的情况),不同的MUD会有所不同。如果出口信息显示在提示行
(即前面没有出口提示),选中Prompt option。
5、分析房间描述
现在需要告诉mapper从MUD返回的信息结构以确定房间名和房间描述。
有三张选项表需要进行类似的填写,通常full parse和look parse表的内容相同。
brief parse选项表的设置依你的MUD在设置set brief时显示的内容而定。
当你点中选项表将看到左边文本框中的地图数据结构,
在其右边是一排按钮指出从MUD中获得数据的类型。要改变地图数据结构,
可以把需要的数据结构按钮拖放到左边文本框中适当的位置上,
你也可以选中左边文本框中的数据项,然后用下面的三个按钮上下移动或删除。
下面是数据类型按钮说明
Room name 获取房间名,如果Room pattern被定义,获得的第一个参数是房间名,
可选的第二个参数获取房间出口,否则整行都作为房间名处理。
Room description 获取多行的房间描述文本,直到遇到空行或下一个定义(如房间名或房间出口)。
Room exits
利用已定义exit pattern的获取房间出口。出口提示之后的所有其他标点符号和字符将被忽略。
表示出口的单词east、west等需要在speedwalk对话框中的direction settings中被定义,
未被定义的单词将被忽略。
Blank line 等待直到出现空行然后进行进一步的分析
Skip line 忽略一行
另外,room pattern 用于极罕见的状况:房间名和出口描述位于同一行,
你可以在pattern中用参数1(%1)表示房间名,参数2(%2)表示开始获取出口。
以MUD游戏西游记为例,set brief 0时,look命令和行走时显示的情景是一样的。
set brief 0
设定环境变数:brief = 0
west
朱雀大街 -
朱雀大街上商家众多,大大小小的店铺比邻而立,看起来是相当的豪华富足。
宽阔的石板路直通南北,向北通到皇宫的朝阳门,向南可遥望到青青的终南山。
路东是家大的客栈,来往旅人不绝,西边是家当铺,出出入入的人有喜有忧。
夜幕笼罩着大地。
这里明显的出口是 north、west、south 和 east。
方寸山三星洞第四代弟子 泰光(Taik)
这时,我们在full parse和look parse选项表中可以用以下三行定义房间结构:
Room name
Room description
Room exits
如果set brief 1时,场景如下显示
set brief 1
设定环境变数:brief = 1
west
朱雀大街 -
这里明显的出口是 north、west、south 和 east。
方寸山三星洞第四代弟子 泰光(Taik)
所以,在brief parse选项表中定义房间结构为:
Room name
Room exits
三、基本应用
地图编辑器配置完成后,就可以使用它来建立一个简单的地图。
1、用户界面
使用zMUD的菜单window/autompper打开地图编辑器,
顶部的一排按钮用于控制地图编辑器的工作模式。按下左上角的红色图钉使其不被其他窗口遮挡;
第二个按钮Off 暂时停止使用地图,不再追踪定位;
第四个按钮进入Track 模式,当你在MUD中移动时,你在地图上的定位也相应跟随移动;
第三个按钮Follow 模式与Track 模式类似,只是Follow模式将不显示地图,
只在状态条中显示经过的房间名称;第五个按钮Explore 用于在MUD中探索以建立地图;
第六个按钮Edit 可以显示所有的地图数据并进行编辑修改。
右边竖排的按钮用于调整地图的显示方式。
底部状态条的左边将显示房间名(当前为空),右边是两个下拉式的文本框,
第一个用于显示当前所在的区域(当前为untitled)并允许你选择或新建一个行动区域;
第二个下拉列表显示当前区域中所有做过特殊标记的房间和区域的出口。
文件菜单允许你新建、打开或保存一个主地图文件,(扩展名为.zzz)
主地图文件由独立的区域地图组成(.map文件)。当第一次打开地图时,
一个空白的主地图文件和无标题的区域地图将自动建立,窗口中央显示的方框表示当前的房间。
2、四处走走以建立地图
按下地图上方的Explore按钮,如果方框是黑色的,在地图中间的方框上按下左键,
方框将成为红色,表示方框成为当前接受数据的的房间。如果方框中没有表示角色定位的蓝点,
在方框上按下右键。以上操作使地图中间唯一的房间显示为中间有一个蓝点的红框。
现在,在顶端按钮中按下look按钮,如果配置没错的话,我们已在地图编辑器中建立了第一个房间。
然后,按照MUD提示的出口方向移动,经过的房间将依次记录在地图编辑器中。
如果MUD中的闲聊或其他信息干扰了地图数据,可以再次按下look按钮直到地图数据正确为止。
tune all off 或在触发中使用#gag、#nomap命令有助于避免干扰。
注意:zmud的automapper不能表示su,nd等方向的room,但用户可以将通过su、nd等方向连接的区域
(zone)用automapper提供的teleport功能连接起来。
4、使用地图在MUD中移动
使用地图在MUD中快速的移动,首先需要在地图上确定当前的位置,
可以使用顶端的find按钮快速定位(参见#find命令),
也可以用右键单击当前所在的房间使其显示为红框蓝点。然后双击目的房间移动。
可以通过给房间命名的方法代替双击达到快速移动的目的,用左键选中你想要命名的房间,
按下Edit按钮,地图编辑器的下方将扩展显示所有的地图数据,在short name (for speedwalking)
中键入想要的名字,例如将客栈命名为kz。现在,按下Track按钮,无论何时需要会客栈时,
按下地图右下角的speed walk to room 列表框,选择kz,或用#walk kz命令都能迅速实现。
(前提是你在地图上的定位与在MUD中的位置正确对应)。
四、区域
地图的区域可以对应与MUD的区域。区域之间通过特殊的房间相互连接,称作出口(portals)。
当你进入出口房间时,当前的区域被保存,与出口相连的新区域的地图将打开。
连接到新区域时,首先需要选定通向新区域的出口房间,然后选择菜单命令Edit/Create Portal...,
当前地图中所拥有的区域将显示在列表中,选择需要相连的区域,最后,在选中的区域地图中选定与
本区域相连的出口房间。
你也可以在区域列表中选择creat new zone,这将建立一个与当前区域相连的空的区域地图。
在区域列表中,还有两个按钮分别是:link to map file 和link to Template。link to map file
允许你将一个不在zone list 中的map 文件作为新的区域与当前区域相连。
而link to template 可以连接其他MUD中与当前MUD相类似的区域地图,在第一次进入作为template
的区域时,所有的地图数据将被reload。在许多以es2为基础的中文MUD中存在许多类似的区域,
如果你有其中一个MUD的地图,在开始新的MUD游戏时,使用link to template 可以节省不少力气。
五、编辑地图
自动记录的地图数据有时不能完全满足我们的需要,在记录过程中偶尔也会出现干扰引起混乱,
这时就需要对地图进行手工编辑。按下automapper的edit按钮进入编辑模式,
此时aotomapper将扩展显示所有地图信息并在顶行出现一排按钮用于编辑当前的地图,
你可以在这里增加、删除或移动房间,修改房间描述,以及编辑一个房间与周围房间的连接。
编辑模式中还有另外一些有用的功能:
1、在特定房间中执行命令
当通过地图移向目的地时,有时需要在中间的某个房间输入 open door 命令,
这样的命令automapper能帮我们自动输入。
在编辑模式中选择advanced选项卡,选中需要输入open door 的房间,
在选项卡的command to execute when room is entered:中输入open door。
这样,无论何时我们使用地图通过这个房间时将自动开门,无需停顿。
2、连接不能直接相连的区域。
MUD中的有些区域不能直接走到。例如在MUD游戏西游记中,
从长安城与敖来国隔海相望,需要zuo mufa 才能到达,我们可以使用automapper中的teleport 功能,
自动转换这两个区域的地图。
首先,分别建立长安城和敖来国的地图。选中编辑模式,在长安城的地图中选择前往敖来国的起点
“东海之滨”,单击Portals选项卡,在Teleport string: 中输入zuo mufa ,
单击set teleport to location 按钮,在下拉框中找到敖来国的地图,
点中木筏的登陆地点“傲来国西海岸”,一个从长安到敖来国的teleportal 就建立了。
在“傲来国西海岸”重复上述步骤,建立返回长安的teleportal。
这样,当你每次乘坐木筏往返于两地之间时,相应的区域地图也会随之改变,
无需手工选择。
[ 本帖最后由 zeppe 于 2008-2-22 16:52 编辑 ]
|
|