Zmud721--教程
MUD,原文为
Multi-UserDungeons——多人城堡游戏,中文简称为“泥巴”。
网友们一般戏称玩
MUD为“挖泥巴”。要挖“泥巴”,首先要把好“锄头”,
Zmud就是其中的佼佼者。本文是结合我自己的使用心得和
Zmud的帮助文档写的
教程,希望能对大家有所裨益。
1.Zmud简介
Zmud是
zuggsoft公司出品的
MUD客户端程序,提供了许多有用的工具,
例如别名(Aliases),触发(
Triggers),宏(Macros),变量(Variables),
按钮(Buttons〕,地图(Map),数据库(DB)等,将你从简单重复的机械操作
中解脱出来,更好的享受
MUD的世界。
目前常用的
Zmud版本有两个:Zmud
4.62和
Zmud
7.21。7.21比
4.62拥有更多
的功能,如:数据库(
DB),脚本支持(
JS、VB),多行触发(
Multi-state
Triggers),
设置分类(Nested
Classes),更强大的地图功能(Automatic
Mapping)等;
不过
7.21对中文的支持不是很好,如变量中“可”、“客”“盔”等字会出现
乱码,而
4.62表现相对好些。除此之外,两者在使用方面大同小异,掌握了任
一个版本都能使你在
MUD世界中如虎添翼。
Zmud
7.21窗口介绍
北大侠客行
mud
面板.jpg
(146.67
KB)
2009-2-5
11:21
AM
首先是标题栏,在标题栏的右边有六个按钮,其中三个是我们常见的最小化、
最大化、关闭按钮。剩下的三个“1”是使窗口横向扩大到和桌面同宽;“2”是
将窗口卷起到标题栏;“3”是将窗口固定在最前端显示。
标题栏的下面菜单栏。
紧接着菜单栏的是工具栏,集成了常见的一些功能。从左到右分别是:
“chars”是角数据库,点这个可以连接新的
mud和角;“settings”是设
置,点击可以打开设置编辑窗口,进行触发、别名等的修改编辑;“classes
是类;
“aliases”是别名;
“variables”是变量;
“paths”是路径;
“triggers”
是触发;“macros”是宏(快捷键);“buttons”是按钮;“prefs”是
zmud
的设置,包括字体、颜等;
“map”是打开地图;“DB”是打开数据库;“quit”
退出
Zmud。
工具栏的下方是多游戏标签,如果开了多个游戏或者#cap的信息可以在这
里点击相应的标签进行切换。
接下来就是显示窗口了,那些花花绿绿的游戏信息都在这里显示。有时候
游戏刷屏太快了不到自己需要的信息怎么办?没关系,Zmud提供了一个分割
栏,如上图所示,分割栏上部的窗口是静止不动的,下部的窗口会滚动,这样就
北大侠客行
mud
2
不怕因为刷屏而不到需要的信息了。打开分割栏的方法是点击图中“6”,再
点击一次就可以关闭分
割栏。
显示窗口下方的是状态栏,可以在
settings窗口中增加并编辑“newstatus
bar”来显示各种游戏信息,如护镖、胡一刀等任务的信息。状态栏上
“4”是本次游戏连线的时间,“5”是定时器时间。
最后的是命令栏,在这里可以输入各种命令,包括游戏命令和
zmud命令,
zmud会先将命令进行解析再决定命令该发往何方,比如输入“#al
k
kill”就
会在设置中增加一个
alias,而输入
look则发往
mud服务器。命令栏上点击
“7”
可以查看并选择最近输入的命令。“8”是命令解析按钮,关掉的话输入的命令
将不进行解析而直接发往
mud服务器。
“9”是触发开关按钮,关掉会停止触发。
“10”是系统时间。
2.进入
MUD世界
首先下载
Zmud,北大侠客行主页上提供了北大侠客行专用的
Zmud
4.62和
7.21的版本。然后运行
Zmud,选择北大侠客行即可进入游戏,这就不多说了。
3.Zmud设置
3.1.颜设置
Zmud
4.62:查看——参数设置——颜,其中“讯息颜”是指
Zmud
软件出现的一些讯息的颜,如“Connected
to
host
pkuxkx
”;“回应颜
”是输入指令的颜;“默认颜
”是从
MUD接受的文字颜,也就是游戏显
示的中文字的颜,这也是我们需要调整的颜,以符合个人喜好;“高亮颜
是显示高亮文字的颜;“状态窗口颜”是显示状态窗口的文字。
Zmud
7.21:View——Preferences——Colors,在右边的颜小框上点击
可以更改颜。
3.2.字体设置
Zmud
4.62:查看——参数设置——字体;
Zmud
7.21:View——Preferences——Fonts。
4.Zmud常用功能
4.1.类(Class)
类(Class)可以将触发分门别类的放置,使得在编写机器人时显得条理清
晰。
北大侠客行
mud
class.jpg
(75.76
KB)
2009-2-6
09:08
PM
上图是
Zmud7.21的设置编辑窗口,从图中可以看到,7.21中的类好比文
件夹,各种设置就是文件,并且文件夹可以嵌套,这使得我们在编辑机器人时可
以将不同功能的触发等放入不同的类,便于管理。
北大侠客行
mud
4
class2.jpg
(56.43
KB)
2009-2-6
09:08
PM
Zmud
4.62中同样有类,不过比较简单,并且不能支持类的嵌套。
我们可以很方便的用#T+、#T-命令来打开或关闭某一类。比如:#T+
fight
就是打开
fight这个类,#T-fight就是关闭。
Zmud
7.21中可以设置某一类连线的时候是打开还是关闭的,方法是:选
中某一类,在
properties栏下面有
Enable/Disable
class
when
connecting
to
aMUD,勾选对应的就可以了。但是
7.21没有提供对单个触发的该项选择,而
4.62恰相反,没有类的连线打开/关闭
选项,却有单个触发的连线打开/关闭选
项。
4.2.别名(Aliases)
1、什么是别名?
别名就是用一个短命令来替代一个长命令。比如我们在命令栏输入#al
kb
{kill
bing},之后我们就可以用
kb来代替
kill
bing。
2、别名的创建
别名的创建有三种方法:(1)在命令栏输入#al
shortcut
{command};(
2)
在命令栏输入一个命令后,按
ctrl+A,然后在弹出的对话框中输入别名;(3)
在工具栏中点击
Aliases图标,然后创建一个新别名。
3、别名的几种用法
最简单的就像
#al
kb
{kill
bing};
有时候我们需要对多个具有相同名字的
npc进行动作的时候,比如保卫的时
北大侠客行
mud
5
候要对多个骑兵下
kill,可以#al
kb
{#3
kill
bing
%i},这样当输入
kb的时
候相当于输入了
kill
bing
1,kill
bing
2,kill
bing
3;
对于有偷袭武功的门派,偷袭时要指定招式的使用对象,比如要偷袭
xiaoer就要输入
perform
hand.fuxue
xiao
er,我们可以设定这样的
alias:#al
fx{perform
hand.fuxue
%1},这样我们只要输入
fx
xiaoer就能达到相同的偷
袭目的;
在设定别名的时候还可以使用变量,比如#al
kk
{follow
@npc;kill@npc}。
4.3.触发(Triggers)
1、什么是触发
触发好比是一个反射弧,对接收到的特定内容做出特定的反应,触发也类似
于一般编程结构中的
IF……THEN结构。其中有三个主要的参数:Pattern、
Command、Enable/Disable。说的通俗一点,当接收到
Pattern的时候,自动输
Command.而
Enable/Disable可以令其活动或不活动。另外
Class可以为
TRIGGERS定义一个类,方便操作。
2、触发的制作
触发的制作很简单,可以直接在命令栏输入,例如输入#tr
{*连线进入这个
世界。}
{hi},这样当任意玩家在客栈连入游戏时,你都会和他们打招呼。或者
可以在
zmud的设置编辑窗口里
new--newtrigger,然后在
trigger的编辑窗口
中的
pattern栏输入要触发的内容,在
value栏输入触发后发送的命令,这样一
个触发就做好了。
3、字符串匹配(Pattern
Matching)
通过字符串匹配可以制作自己想要的触发并且可以将特定内容抓取为变量。
以胡一刀任务的盗宝人为例,盗宝人的描述如下:
盗宝人「九纹龙」韩杰(Lushele)
可以发现盗宝人的描述中不变的内容是“盗宝人「XX龙」中文名(英文
名)",根据这个我们就可以制作一个触发来攻击盗宝人。
#tri
{%s盗%s宝%s人%s「*龙」(*)~((*)~)}
{hit
%lower(%2);name_ch=%1;name_en=%2}
这个触发是只要碰到盗宝人,不管他叫什么名字都会自动进行攻击并且抓取
盗宝人的中文名和英文名到相应的变量,其中函数%l
ower()是将英文字符串转换
为小写,*、~、%s就是字符串匹配。
zmud7.21中触发的匹配模式有两种:一种是
zmud自身的匹配,另一种是正
则表达式匹配。
我们来看一下
zmud自身的字符串匹配:
*通配任何数字、字符或空白
?通配任何单个字符
%d通配任何数字(0-9)
%n通配以+或-开头的数字
字符串是什么颜
%w通配任何字母(a-z)
%a通配任何数字和字母(等于%d+%w)
%s通配任何空白(spaces,tabs)
北大侠客行
mud
%x通配任何非空白
%y通配任何非空白(和%x类似,不过匹配句子的开头或结尾)
%p通配任何标点符号
%q通配任何标点符号(和%p类似,不过匹配句子的开头或结尾)
%t通配一个方向命令
%e通配
ESC()match
ESC
character
for
ansi
patterns[range]通配任何在
range范围内的字符
^强制
PATTERN在行头时显示,TRIGGERS才有作用,这就是通常说的顶行
触发。
$强制
PATTERN在行尾时显示,TRIGGERS才有作用
(pattern)将匹配的
pattern传递给参数%1~%99
~提示系统将~后字符当作字符而不是
wildcards
~~
match
aquote
character
verbatim
{val1|val2|val3|……}通配多个特殊的字符
用法举例:
#tri
{你从*的尸体身上搜出一件{布衣|长袍|道袍|袈裟}}
{drop
cloth}
@variable通配变量
variable{^string}在
PATTRN中不核对该字符串同时你可以在
PATTERN中运用变量,
变量在
PATTERN起作用之前,会被替代。
&nn
matches
exactly
nn
characters
(fixed
width
pattern)
&VarName将匹配的字符串赋值到变量
VarName中
&varname用法举例:
#tri
{【精神】%s&jingshen%s/%s&shen_max%s~[100~%~]%s【精力】
%s&jingli%s/%s&jingli_max%s~(+
0~)}
当这个触发语句被触发后,会自动生成
jingshen、shen_max等四个变量并赋给
相应的值。
如果想要变量只匹配字母或数字,可以采用这样的格式:#TRIGGER
{You
get
&%dGold
coins}
对于正在表达式,网上有很多详细的说明,这里就不赘述了。这是
mushclient的正则表达式的说明网页:
www.gammon.au/mushclient/regexp.htm
4、zmud7.21中触发编辑选项详解
北大侠客行
mud
pattern.bmp
(787.5
KB)
2009-2-19
09:42
PM
触发的类型(Trigger
Types)
zmud7.21提供了很多的触发的类型,不过平常我们用到的只有一种。
1、pattern:这是我们常用的;
2、Expression:表达式;
3、Alarm:每隔一定时间或在某个时间点执行命令;
4、Command
Input:输入的命令;
5、Skip
Lines:
6、Wait:
7、Loop
Pattern:pattern匹配多次;
8、Loop
Lines:
9、Loop
Exp:
10、Duration:
11、Manual:
12、MXP:
13、Reparse:
14、GSL:
15、MCP:
在触发
options选项中勾
temporary,当
trigger被触发一次后就会被删
除,是临时触发。
触发测试(test):
zmud中还提供了触发测试功能,可以对触发进行测验和调试。
5、颜触发
首先在输出窗口中用鼠标选中要作为触发的语句,然后新建一个触发,在
options选项中选中
ANSI
trigger,再在
pattern输入框中按
ctrl+v,这样就
建好了一个颜触发,如:%e[31m姑苏慕容%e[1;37m少庄主%e[0m慕容复
(Murong
fu)。
4.4.变量(Variables)
变量包括两个部分:变量名和变量值。如#var
weapon
blade,weapon
=
blade,这里
weapon是变量名,blade是变量值。
变量的赋值方法有:
北大侠客行
mud
8
1、直接赋值,如#tri
{*死了}
{kill_npc
=
1}
2、从触发中获取,如#tri
{%s盗%s宝%s人%s「*龙」(*)~((*)~)}
{name_ch=%1;name_en=%2}
变量的使用:在变量名前加
@(可以在设置中修改采用其他的符号解析
变量),如
wield
@weapon。也可以用在触发的
pattern中,如#tri
{%s盗%s
宝%s人%s「*龙」(@name_ch)~(@name_en~)}
{kill
@name_en}
系统变量:
zMUD提供了一些预先定义的系统变量,与自定义变量不同的是,
这些系统变量以字符%开头。下面是一些系统变量的简单介绍:
%action最后一次触发所执行的命令。
%char你在这个
MUD中的
ID。
%cr换行。
%ctime以秒为单位表示的你的连线时间。
%def当前使用的特殊字符。
%host当前连线的
MUD的域名或
IP地址。
%i与%repeatnum相同。
%lastcom最后被执行的命令。
%lastcom2倒数第二个被执行的命令。
%lastcom3倒数第三个被执行的命令。
%lastinput
the
last
line
of
commands
executed%line从
MUD中得到的最后一行文本。
%line2从
MUD中得到的倒数第二行文本。
%line3从
MUD中得到的倒数第三行文本。
%param1从最后一次触发中获得的第一个参数。也可写成%1。
%param2..%param99从最后一次触发获得的其他参数。
北大侠客行
mud
%port当前连线的端口号。
%random产生一个
0至
99之间的随机数。
%repeatnum当前循环命令的索引。可写成%i。(参见
loop命令)
%selected当前选中的文本或命令。
%selline当前选中的行。
%selword当前选中的单词。
%title当前
MUD的标题。
%trigger引起最近一次触发的行。
%window当前窗口的标题。
4.5.路径(Paths)
关于路径以及遍历地图可以查看
tianyue同学的教程
“新手遍历教程”以及
回帖,在此不做赘述。
几个没有提到的相关命令介绍:
#mark设定路径的起点,开始录制路径
#path记录当前的路径
#retrace反向执行路径
#map增加一个反向到当前路径并执行该反向
#step行走被中断后继续行走
如:#SLOW
.n2esn
被发送到服务器,但是没有行走成功,行走被中断;
#STEP
重新发送一次
n以开始自动行走。
#pause暂停行走,可以用#step继续
#ok表示当前步行走成功
4.6.宏(Macros)
宏就是快捷键,就是按下某个按键然后
zmud会执行对应的命令。
创建宏的方法很简单,首先点击工具栏上的“macros
”,在打开的设置编辑
窗口中
new---newmacro,然后在“key”栏按一下要设置的按键,在“value
这里输入执行的命令。
在创建宏健时有三个选项可以选择打钩,分别是:Send
To
Mud,Append
To
Command,Daisy
Chain。其中
Send
To
Mud是默认选项,选中时会把
value中的
命令直接发送到
mud服务器;Append
To
Command的作用是把
value中命令发送
到命令栏;Daisy
Chain的作用是当命令栏中的命令是以“”空格结束时,将
value中的命令加到命令栏中的命令后面。
4.7.按钮(Buttons)
Zmud提供了强大的按钮功能,可以把各种指令设置成按钮,方便操作,同
北大侠客行
mud
时提供了对按钮进行颜、大小、背景图片设置等功能。
创建按钮的方法很简单,在工具栏上点击“Buttons”图标进入设置窗口,
然后
new--newbutton就可以新建一个按钮,在
Caption中输入按钮的名称;点
Caption栏右边的颜图标可以更改按钮的背景和字体颜;在
value中输
入命令;在Position/Size中可以调整按钮的大小和位置;在
Advanced的
BitmapFile这里点击“文件夹图标”可以载入自定义图片,点击“下拉箭头”可以选
择系统中默认的图片;Bitmap
Margin可以调整按钮图片和按钮名称间的距离;
这样一个富有特的按钮就创建好了。
按钮编辑窗口
1.jpg
(163.77
KB)
2009-3-7
11:45
AM
富有特的按钮
QQ截图未命名.bmp
(45.85
KB)
2009-3-7
11:12
AM
北大侠客行
mud
11
这里要讲的比较多,按钮的类型挺多的,有
Menu、Multi-State、Gauge等。
还有几个相关的命令:#yesno、#pr等。
4.8.状态栏(Statusbars)
主要是和变量的配合。
4.9.定时器(Timer)
几个相关的命令。
4.10.方向(Directions)
简单讲一下,路径(Paths)、地图(Map)中要用到。
5.Zmud高级应用
5.1.地图(Map)
如何绘制地图,以及如何应用画好的地图。
5.2.数据库(DB)
介绍几个相关的命令,可以结合
task进行讲解。
5.3.多行触发(Multi-state
Triggers)
多行触发是
Zmud
7.21具有的功能。多行触发照字面理解就是可以触发多
行,在一个触发(
trigger)中有多个状态(
state),这些状态也是触发(
trigger),
这些states按照顺序逐个的被触发,只有当上一个state被触发了,下一个
state

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。