当前位置:梁山文学城 网络泥巴中文文字mud综合门户网站 泥潭帮助 网络泥巴中文文字mud综合门户网站 zMud帮助 网络泥巴中文文字mud综合门户网站 ZMUD5.55基础应用

ZMUD5.55基础应用

标题 作者 内容

作者:玫儿    更新时间:2004-11-03   阅读次数:  次  

相关评论:0 篇   暂时无人对本文评分! 关键字:zmud

来源:水泊梁山之天下泥潭http://www.skymud.comhttp://www.spls.org(来源有误请尽快联系本站管理员

ZMUD5.55基础应用

作者: 玫儿

    

   俗话说“欲善其事,必先利其器。”要想玩好mud,对zmud的功能一定要熟练,一个mud
中的高手,也一定是一个zmud的高手,让我们先来了解一下什么是zmud.
  zMUD是zuggsoft公司出品的mud客户端程序,功能强大,应该是玩MUD的最好的软
件。

下面先让我们对他有个大概的了解:

一、菜单说明 
  菜单中的功能大部分按下面的按钮就可以完成了,但有一些功能是下面按钮中所没有的。其中大部分
不实用的功能我们将一语带过。

   1、文件(File) 
    Open: 进入连接向导,打开一个新的连线   
    Reconnect:将“当前窗口”重新连线
    Close Window:将“当前窗口”断线 
    New log:载入一个新"记录文件"
    Append log:载入一个旧记录文件并继续记录
    Log:记录窗口中的内容
    Save buffer: 保存援冲区
    Print Setup:设置打印的
    Print:打印
    Exit:退出ZMUD 

   2、编辑(edit)
   Cut:删除命令列中你所标记的内容
   Copy:拷贝你标记的内容 
   Paste:粘贴你所拷贝的东西到命令列中
   Copy DDE link:拷贝DDE 链接
   Select All:标记命令列中的全部内容 
   Clear:清除命令列全部内容
   Find:在窗口中搜寻

   3、查看(View) 
   查看已设置好的按钮中的功能,和按下下面的图示按钮做用一样

   4、设置(Settings)New:开启一个新设定档(***.mud)
    Load:载入旧的设定档 
    Save:储存目前的设定 
    Save as:将目前的设定另存新档 
    Import: 把其他的设定中的设定导入到当前设定中
    Export: 把设置导出成所有zmud版本通用的zsc文件
    Parse: 分析
    Enable triggers:打开关闭触发器,功能和#ig,及按下屏幕右下角的手
枪图标一样。

   5、操作(Actions)
    大部分和按下下面的图标的功能一样,其中的Tick timer非常的有用。
    Tick Timer:设定在多常时间以后你去做什么,用秒为时间单位,和现实中的时间
一样。这是我们
    最常用到的一项功能了
    例1:你想每隔100秒吃一口烤鸭和喝一口酒袋
    Timer interval:100      在timer inte
rval中输入你要设定的时间
    Timeout Margin:0
    Timeout Command:eat kaoya;he jiudai   当
时间到了以后你要执行的命令。
    我们可以用#ti命令来打开和关闭tick timer。

   6、页面布局(Layout)
    没有什么大的做用。

   7、窗口(Windows)
    Command history: 历史命令记录 查看输出过的命令
    Editor:编辑
    Starus:打开或关闭状态栏,内容用Action--Define Status
 Bar编写
    Databast:数据库 
    Automapper: 自动编辑地图功能

    8、帮助(Help)
     Register:对zmud进行注册

二、主要功能说明



  上图中共有12个按钮,分别为图符,类别,别名,变量,路径,触发器,宏键,按钮,常规,颜色
,地图,声音。其中我们常用到的主要为别名(Aliases),变量(Variables),触发器(
Triggers)三项,所我们将着重讲这三项的使用。

 

    一、别名(Aliases)是我们最长用到的功能,用较短的单词来替代一组指令,可以有
变量。当我们按下aliases图标后,会出现下图:


 在这里你可以读出和存存你的设置文件, 
按下New会新建,会出现下图。 
 在name中输入你要用的别名的名字,图中的别名为gomaster 
在commands中输入你要执行的命令,二个命令中间应该用 
分号隔开,或者直接按回车把命令按行分开,二者效果是 
一样的.在图的左边你可以选择你要修改的内容或文件名. 



在class(类别)中可以给你的aliases按后面的名称分类,所有在同一个class中的ali
as为一类.
右过的disable class为class的开关,可以同时打开或关闭同一类别的alias.

  当把alias的名字和内容都输入好了以后,就可以在mud中使用了,不要忘记save一下。
比如上个例子,我们只要在mud中输入gomaster一个命令,就会执行commands中的所有命
令,是不是很方便呢?赶快把你常用的命令组都做成alias吧!

  用#alias也可以做出上面的alias的,命令如下:
  #alias gomaster {#var arriver;halt;n;w;w}
  #alias后面的第一个英文为alias的名字,如果已经有了这个名字的alias,会将旧
的覆盖掉,后面跟的命令要用{}大括号括起来,命令与命令之间要用分号隔开。
  在mud中输入gomaster 其结果和用上面图中的内容所作的做的alias作用是完全一
样的,还有在一个alias中是可以镶套其它的alias的。

   二、触发器(triggers)
    触发器,也就是我们常说的机器人了,玩MUD不用triggers可以说基本上就是在
浪费时间,这也是zmud最重要的功能了。如何运用triggers,用好triggers,对于节省
时间,robot自动练功有相当大的作用。用好triggers,就可以边抽着烟边练功,边泡着妹妹边
练功,甚至边睡着觉边练功了。但是,机器人虽然有用,也同时存在一定的危险性。做robot固然可以自
动练功,但有些pker也可以利用你的triggers来pk你。(湖北站曾经有玩家因为robot一
晚被杀了几十次)所以做triggers必须相当小心,玫儿见过也做过很多机器人,其中的佼佼者象泡志
的自动压镖的机器人,天地宽的大理job的机器人,火龙的大理job的机器人,工程量的浩大是你想象不
到的。所以,当你拿到一个机器人的时候,一定要注意,不要随随便便的就给了别人,这毕竟是别人的劳动成
果,机器人如果被pk拿到的话,可以很容量的就把用机器人的玩家flood晕,不管你的机器人有多严谨
。也有一些人做好机器人以后会拿出来和大家一起分享,这种人玫儿是很钦佩的。好了,下面我们进入正题。


 先认我们区分开什么是mud命令,什么是zmud命令,mud命令是指在mud中已经设定好的命令,
如eat, drink等,而zmud命令为你对zmud所下的命令,如#ig, #ti等等,zmu
d命令前面都是需要加上#号的。

   1、认识什么是机器人
     机器人类似于一般编程结构中的IF...THEN结构。其中有三个主要的参数:Pa
ttern、Command、Enable/Disable。说的通俗一点,当接收到 Pattern
 的时候,自动输入 Command。而En/Disable可以另其活动或不活动。 另外Class
可以为triggers定义一个类名,“#t+”、“#t-”。这两个命令可以激发和取消某个特定类别
triggers的状态。另外 #IG可以关闭或打开全部triggers。




  其中的内容为:Pattern为“北面就是边陲重镇伊犁了。但见城郭之外,巍峨的天山,直插云天
,”
         Command为“#if (@destn=5) {#var route 16;
#var step 14;fn} {fse}"
        其意义为当ZMUD接收到“北面就是边陲重镇伊犁了。但见城郭之外,巍峨的天山,直
        云天,”这条信息以后,自动发出下面commands中的命令。
     我们也可以用#gi命令来做简单的机器人,如:
        #gi 天亮了 {knock grat;enter}
        其意思为当zmud接收到"天亮了"这条信息后,就会执行在括号中的
命令。

  在上面我们已经学会怎么去做机器人了,下面我们来更进一步的来了解机器人。
  引用内部命令用 #
  引用内部变量和函数用 %
  引用自定义变量和函数用 @,命令行引用加 < >
  引用数学运算用 [ ]

  要想用好机器人,我们还要先来了解一下通配符(WILDCARDS)
  我们只举出最常用的通配符
   *    通配任何数字、字符或空白
   ?    通配任何单个字符
   %s    通配任何空白(spaces, tabs)
   %d    通配任何数字(0-9)
   ^    强制pattern在行头时显示,triggers才有作用
   $    强制pattern在行尾时显示,triggers才有作用
   ~    提示系统将~后字符当作字符而不是通配符
    看了上面的通配符你可能更乱了,不要着急,让我们一步步的来,我们先来看下面的例子:

  #trigger {你捡起*文铜钱} {put coin in yaodai}
  上面的这个例子为,当zmud接收到"你捡起*文铜钱"以后就会执行后面command中的pu
t coin in yaodai命令,注意,本句中的“*文铜钱”可以是任意多的铜钱,比如十文。一
千文等等。因为 * 可以通配任何数字、字符或空白,所以不管捡起了多少文铜钱,zmud都会认为触发
机器人的条件已经满足。

  再认我们来看看下面的例子:
  #trigger {你捡起??文铜钱} {put coin in yaodai} 
  这个例子和上面的例子差不多,只是把"*"改成了"??"二个问号,其它是完全一样的。
  我们知道,在计算机中一个汉字相当于二个字节,zmud也同样是这样认为的,因为”? 通配任
何单个字符“所以上面的例子的意思就是当zmud收到你捡起一个汉字的铜钱就会触发机器人,也就是说当
你捡到十文以内的铜钱后,机器人才会触发,当捡到的铜钱数超过十文,需要用二个汉字来表示的时候,机器
人是不会被触发的。当我们把机器人改成
     #trigger {你捡起????文铜钱} {put coin in yaod
ai}
  这就表示当你捡起九十九文以内的铜钱,机器人才会被激发。如果我们把问号改为六个呢?....
...当然是以此类推了。

   下面我们来学习一下%s和%d的用法。
   %s    通配任何空白
   %d    通配任意位的数字
   我们来看下面的例子
   #trigger {精:%s(%d)/%s(%d)} {#if (%1>200) {#
10 du book} {sleep}}
   在上面的例子中我们不光用了%s和%d二个新手通配符,还用到了#if语句,上面的例子的意
思为如果如果你的精大于200点,那么#10 du book(#10 du book的意思为同时执
行10次du book的命令),如果你的精不大于200点的话,就会执行第二个大括号中的命令sle
ep,在例子中我们把%d的值赋于给了%1,在侠客行中对精的表于为 "精: 1350/ 1500"
这种形式,也可以说是 "精:空格(当前精的数值)/空格(最大精的数值)" 我们已经知道"%s
 通配任何位的空格, %d 通配任意位的数字"所以我们要把精表示为"精:%s(%d)/%s(%d
)"
在例子中我们需要当前精的数值来做判断,因为空格不需要赋值,所以zmud会认为%1的值就是第一个%
d的值,同样%2就是第二个%d的值。

   ^ 强制pattern在行头时显示,triggers才有作用
   ^ 的作用为只有被用来做激发的语句顶在一行的最头,才会被激发。
   让我们来看看下面的这二个例子
   #trigger {^你捡起十文铜钱} {put coin in yaodai}
   只有当"你捡起十文铜钱"顶在一行的最头,才会被激发,如果出现xx说道“你捡起十文铜钱”
是不会被激发的.

   $ 强制pattern在行尾时显示,triggers才有作用,$的作用和^刚好相反.

知道了上面几个常用的通配符后,我们就可以做出一些复杂的机器人来了.


下面我们来了解一下常用的zmud命令.

#number command 
这个命令向mud重复发送number次命令,number必须是一个常数。
实例:#10 du book
重复10次du book命令
如果在后面跟上%i,就会出现下面的结果:
实例: #4 fight bing %i 
命令将被解释成fight bing 1;fight bing 2;...;fight bing 
4并发往MUD

#AC pattern command [classname]
这是zMUD中最有用的特性之一。当从MUD中收到一条匹配的文本时,预先定义的命令将被执行。这条命
令的第一个参数是被匹配的文本,如果文本中包含空格,你需要将它用括号{}括起来。
#AC {你买下一件藤甲} {wear jia} 这样,无论何时只要你买了藤甲,立刻可以自动穿上

#AD variable amount 这个例子允许你做一个简单的算术计算。amount可以是数
值或变量。如果要做减法,
可以使用负值。复杂一些的算术计算,请使用 #math 命令。 
实例: #AD gold 1 
给变量@gold加1 

#AL为最常用的做别名的方法
实例:#AL fs {fill jiudai} 
当执行fs时,fill jiudai将被送往MUD

#ALL command 发送一个命令到所有角色的窗口 
实例: #ALL quit 
发送 quit 命令到所有激活的角色窗口。 和:quit做用相同.

#BEEP 在pc机喇叭中发声
实例: #BEEP 16 播放windows 事件 16 的声音。 
#BEEP;#WAIT 500;#BEEP beep两次,中间间隔0.5秒。 

#BU number 触发一个自定义按钮,编号(从1至16)决定触发的按钮。number 可以是
一个变量。
实例: #BU 1 触发第一个按钮,效果相当于在屏幕上按下这个按钮 


#CAP 获取最后number行送到另一个窗口。
如果省略number,则只获取最后一行。 如果number是-1,所有的行将被拷贝。如果name
省略,发送的目标将是commandeditor window。
实例:#tr {火龙告诉你:大可你好吗} {#cap sara} 将带有火龙告诉你内容存入名为s
ara的窗口,避免忽略。

clr 清除屏幕。如果要清空scrollback buffer并收回内存,请使用菜单命令Empt
y。

#CON 断开并重新连接到当前的MUD,与菜单命令File/Reconnect 相同 

#CR 送一个空行到MUD 

#DI 断开当前的连接

#EXEC command 执行一个命令,命令中可以包括变量 
实例:#TRIGGER {^火龙告诉你(*)} {#EXEC %1} 执行火龙的指令。


#GAG [pattern] 
如果pattern省略,命令将从屏幕上删除最后一行。
如果包括pattern, 将删除所有匹配行,
实例: #GAG 火龙
所有有火龙二个字的信息都被zmud删除掉.

#IF 执行条件分支,如果表达式为真,执行true-command,否则执行 falise-co
mmand(可选)。
表达式中可以包含变量和运算子。 
实例: 
#if (@qn>30) {learn_skills} 在战斗中如果潜能达到了30,执行别名le
arn_skills
#if (@hp>10) {dazuo 10} {yun recover} 如果气大于10就修炼
内功10,否则补气。

#IG 打开或关闭所有触发,第一次执行#ig 关闭所有触发,第二次执行恢复正常。

#KILLALL 删除所有的别名、宏、触发、缩写 (用了以后后悔可别找我)

#REC [aliasname] 
开始或停止记录别名。第一次键入#record时,zMUD开始记录送往 MUD的所有命令,你可以再
次键入#record查看已记录的命令,结束记录时,键入#rec加指定的别名保存。#rec off
 将放弃记录别名。

#T+ classname 激活触发类 
#T- classname 关闭触发类,适当的运用以上两个命令可以避免机器人误动! 

#T? 显示计时器(tick timer)的剩余时间 

#TI 开关计时器(tick timer),对剩余时间没有影响。 

#TS 设置计时器时间或重新计时, 指明以秒为单位的时间间隔, 如果省略,则重新计时
如 #ts 60 则是把tick timer中的时间改为60秒

#TZ 将计时器置零 

#UNGAG 避免某行被忽略,通常用在触发中undo #gag命令。 
实例: #tr {火龙告诉你} {#gag} #tr {大哥来救救我吧} {#ungag} 

#VAR 删除一个变量 

#URL 打开浏览器并在浏览器中打开一个网址。
实例: #URL http://www.zg169.net/~~czmud 
注意需要两个~!参见通配符。 

#VERSION 显示你正在使用的ZMUD版本 

#WA [time] 暂停的处理直到从主机收到新的信息,如果指定time, 
则暂停指定的时间,time以毫秒为单位。1秒=1000毫秒

别名中使用参数的例子 我们在解谜过程中向npc提出的问题通常是以: ask npc about 
here ask npc about rumors
ask npc about name 这样三个命令开始的,把他们定义成别名可以节省一些时间,像这
样:
#al askn {ask %1 about here;ask %1 about here;as
k %1 about name}
可如果npc的名字有两个单词,或一堆同名的npc中你要问其中第二个, 
就需要把别名中的参数改为%-1,此时执行askn bing 2或askn tian bing 就
不会出错了。 为了更好的理解参数的作用,试试执行下面的命令:
#al tt test1 %1 test2 %2 test3 %-1 test4 %-2 
看看执行{tt a1 a2 a3 a4 a5}的结果,一切都清楚了吧? 

颜色触发

zMUD的trigger允许在pattern中加入ANSI颜色代码,这样,引起触发不仅需要与从M
UD中获得的文本匹配,而且也需要颜色一致。这一特性在防止错误触发时非常有用。

例如:通常我们会在trigger中加入以下内容以防遭到NPC或PKer的毒手,
#tr {^(你已经陷入半昏迷状态,随时都可能摔倒晕去)} {quit}

注意:pattern中的符号(^)强制zMUD从一行的头部开始触发,不能省略,否则随便某人cha
t一句你就得丢盔卸甲,狼狈退出,以后还怎么在江湖上混?

但是,由于某些我也不知道的原因,在一些机器上,符号(^)不能正常发挥作用,这时就要用到颜色触发了

按以下步骤建立颜色触发

1、在MUD输出窗口中选择需要引起触发的行;
2、在建立trigger窗口中单击new建立一个新的触发;
3、在options选项卡中的other options中选中color trigger;
4、返回trigger选项卡,在pattern字段中用用Ctrl-v粘贴在步骤一选择的行,然后在
command字段填入需要的命令,一个需要颜色匹配的触发就完成了。


注意:一定要用Ctrl-v粘贴,而不能使用鼠标右键的粘贴命令。
你也可以使用#color命令来建立一个颜色触发。
另外,ANSI颜色序列由字串“%e[xxm”定义,其中xx是ANSI颜色值,定义如下:

0 无属性 1 高亮 2 低亮 3斜体 4下划线 5闪烁 6快速闪烁 7反向显示 8 不可见;

前景颜色:
0黑 1兰blue 2绿 3蓝绿色 4红 5紫红 6棕 7灰 14黄 15白 128粗;
前景高亮加 8 背景加深为*16 粗体加128;
前景颜色:
30 黑 31红 32绿 33黄 34 兰 35深红 36深兰 37 白 ;
背景颜色:
40 黑 41红 42绿 43黄 44 兰 35深红 36深兰 37 白

因此,本文开头提到的逃命触发的例子现在可以写成:
#tr {你%e[31m已经陷入半昏迷状态,随时都可能摔倒晕去} {quit}
再也不用担心错误触发了。

(全文完)
返回水泊梁山首页    返回本目录    上一篇: 如何连线进入mud    下一篇: 如何使用proxy上MUD
   我要评论 姓名:
  内容:  请控制字数少过128个中文字
  天书: 
   我要评分 分数:  介于0.00~5.00之间,满分5分!   
   相关文章:
   1 ZMUD使用入门篇[2004-10-22]
   2 ZMUD的终极讲座[2004-10-22]
   3 ZMUD中的函数和变量[2004-10-22]
   4 机器人的基本制作[2004-10-22]
   5 ZMUD里的颜色触发[2004-10-23]
   6 怎样玩“泥巴”?[2004-10-29]
   7 使用zMUD防范PK:[2004-10-31]
   8 如何用好TRIGGERS[2004-11-01]
   9 zMUD中函数和变量的应用二(中级玩家适用)[2004-11-01]
   10 zMUD中函数和变量的应用一(中级玩家适用)[2004-11-01]
   相关评论( 本文暂无相关评论)
 
Google
 
Web www.spls.org

 
    水泊梁山版权所有,未经许可,不得将本站任何内容复制、转载!
网站总策划:Fengyue; 技术总监:Fengyue;站长:Fengyue 
Copyright © 2002-2008 for SPLS Studio
皖ICP备05012024号