当前位置:梁山文学城 网络泥巴中文文字mud综合门户网站 泥潭帮助 网络泥巴中文文字mud综合门户网站 zMud帮助 网络泥巴中文文字mud综合门户网站

 ZMUD5.55基础应用

ZMUD5.55基础应用

精彩泥巴推荐

标题 作者 内容

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

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

来源:水泊梁山之天下泥潭http://www.aolai.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 interval中输入你要设定的时间

    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),触发器(Trigger

s)三项,所我们将着重讲这三项的使用。

 

    一、别名(Aliases)是我们最长用到的功能,用较短的单词来替代一组指令,可以有变量。

当我们按下aliases图标后,会出现下图:

 在这里你可以读出和存存你的设置文件, 

按下New会新建,会出现下图。 

 在name中输入你要用的别名的名字,图中的别名为gomaster 

在commands中输入你要执行的命令,二个命令中间应该用 

分号隔开,或者直接按回车把命令按行分开,二者效果是 

一样的.在图的左边你可以选择你要修改的内容或文件名. 

 

在class(类别)中可以给你的aliases按后面的名称分类,所有在同一个class中的alias为一类.

右过的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等等,zmud命令前面都是需要加上#号的。

   1、认识什么是机器人

     机器人类似于一般编程结构中的IF...THEN结构。其中有三个主要的参数:Pattern

、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中的put coin in ya

odai命令,注意,本句中的“*文铜钱”可以是任意多的铜钱,比如十文。一千文等等。因为 * 可以通

配任何数字、字符或空白,所以不管捡起了多少文铜钱,zmud都会认为触发机器人的条件已经满足。

  再认我们来看看下面的例子:

  #trigger {你捡起??文铜钱} {put coin in yaodai} 

  这个例子和上面的例子差不多,只是把"*"改成了"??"二个问号,其它是完全一样的。

  我们知道,在计算机中一个汉字相当于二个字节,zmud也同样是这样认为的,因为”? 通配任何

单个字符“所以上面的例子的意思就是当zmud收到你捡起一个汉字的铜钱就会触发机器人,也就是说

当你捡到十文以内的铜钱后,机器人才会触发,当捡到的铜钱数超过十文,需要用二个汉字来表示的

时候,机器人是不会被触发的。当我们把机器人改成 

     #trigger {你捡起????文铜钱} {put coin in yaodai} 

  这就表示当你捡起九十九文以内的铜钱,机器人才会被激发。如果我们把问号改为六个呢?....

...当然是以此类推了。

   下面我们来学习一下%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点的话,就会执行第二个大括号中的命令sleep,在例子中我们把%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} 将带有火龙告诉你内容存入名为sara的窗口,避

免忽略。 

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

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

#CR 送一个空行到MUD 

#DI 断开当前的连接

#EXEC command 执行一个命令,命令中可以包括变量 

实例:#TRIGGER {^火龙告诉你(*)} {#EXEC %1} 执行火龙的指令。

#GAG [pattern] 

如果pattern省略,命令将从屏幕上删除最后一行。

如果包括pattern, 将删除所有匹配行,

实例: #GAG 火龙

所有有火龙二个字的信息都被zmud删除掉.

#IF 执行条件分支,如果表达式为真,执行true-command,否则执行 falise-command(可选)。

表达式中可以包含变量和运算子。 

实例: 

#if (@qn>30) {learn_skills} 在战斗中如果潜能达到了30,执行别名learn_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 np

c about rumors 

ask npc about name 这样三个命令开始的,把他们定义成别名可以节省一些时间,像这样: 

#al askn {ask %1 about here;ask %1 about here;ask %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颜色代码,这样,引起触发不仅需要与从MUD中获

得的文本匹配,而且也需要颜色一致。这一特性在防止错误触发时非常有用。

例如:通常我们会在trigger中加入以下内容以防遭到NPC或PKer的毒手,

#tr {^(你已经陷入半昏迷状态,随时都可能摔倒晕去)} {quit}

注意:pattern中的符号(^)强制zMUD从一行的头部开始触发,不能省略,否则随便某人chat一句

你就得丢盔卸甲,狼狈退出,以后还怎么在江湖上混?

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

触发了。

按以下步骤建立颜色触发

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}

再也不用担心错误触发了。

(全文完)

【本页链接】http://www.aolai.org/article/2004-11/article-1099398237.htm

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

搜索泥巴妙文

更多泥潭帮助妙文

  西游各地方秘密 [1]
  我是一个叛徒 [295]
  我的判师 [346]
  判师隆中对 [1346]
  招聘督察 [66]
  关于取经ITEM [1950]
  关于取经NPC的问题 [1399]
  我的夜 [85]
  西游记2000总站取经13-24 [10123]
  西游记2000总站取经1-12 [11989]
  西游记各种技能的介绍 ( [8892]
  西游记 兵器大赏 [3973]
  取经小西天过关纪录 [2004]
  取经通天河过关log [1601]
  二十八关取经之第六关 [2174]
  火焰山过关秘籍 [2432]
  二十八关取经之第一关 [3053]
  痴风梦月的技能最强篇-- [6063]