当前位置:   article > 正文

zMUD命令详解答_mud按钮功能

mud按钮功能

zMUD是zuggsoft公司出品的mud客户端程序,提供了许多有用的工具,例如别名

(aliases),动作(actions),宏(macros),快捷键(keys),按钮(buttons〕,

脚本(scripts),地图(maps)等,使你在mud中的生活轻松、高效。

 

这里先简单介绍一下zMUD的特性

 

一、宏(Macro keys) 定义快捷键以便快速执行一个或一系列命令。

 

二、别名(Aliases) 将一系列命令保存为一个较短的命令。

 

三、触发(Triggers)根据从mud获得的信息决定执行的命令。

 

四、变量(Variables)

 

五、函数(Functions)

 

六、按钮(Buttons)在窗口中建一排你自己定义的按钮。

 

七、路径(Paths)在mud中记录走过的路径,你可以沿着记录下的路径倒走,

也可以编辑记录的路径。

 

八、地图(Mapper)

 

九、多角色(Multiple Chars)同时登录多个角色,一个命令可以发往不同的窗口

或发往所有的窗口。

 

十、防止向mud送出太多相同的字串的 Spam protection 。

 

十一、全部的 ANSI color 支持,颜色可以被定制。

 

十三、可代替Telnet

 

十四、多媒体功能允许你播放 sounds, MIDI, movies, 等等。

 

十五、脚本(Scripts)将命令保存在文本文件中。

 

十六、角色数据库(Character Database)保存你所有的mud角色,便于快速连接。

 

十七、Tab completion 允许你键入一条长字符串的头几个字母然后用 Tab

键补全。

参见#ta命令。

 

十八、历史(History)相当于doskey。(还记得doskey吗?)

 

十九、Timer 内建的计时器用于定时向MUD中送出命令。

 

二十、Status line 可定制的状态行可以显示变量和触发。

 

二十一、颜色、字体、声音、特殊字符都能被修改并保存。

 

二十二、配置文件保存所有的配置 (aliases, macros, etc)。 一个配置文件

可以用于几个不同的角色。

 

 

 

--------------------------------------------------------------------------------

 

 

[number]

 

Syntax: #number command

 

这个命令向MUD重复发送number次命令,number必须是一个常数,如果要使用

变量,请使用loop命令。当前已经重复的计数保存在系统变量%repeatnum中。

 

实例:

 

#4 fight bing %i

 

命令将被解释成{fight bing 1;fight bing 2;...;fight bing 4}发往MUD10

 

 

--------------------------------------------------------------------------------

 

abort

 

Syntax: #AB

 

停止分析处理当前的命令行中#ab以后的部分

 

实例:

 

get all corpse;#ABORT;split

在这个例子中,split将被忽略

 

 

--------------------------------------------------------------------------------

 

action

 

Syntax: #AC pattern command [classname]

Related: #TRIGGER #T+ #T- #IGNORE

 

这是zMUD中最有用的特性之一。当从MUD中收到一条匹配的文本时,预先定义的

命令将被执行。这条命令的第一个参数是被匹配的文本,如果文本中包含空格,

你需要将它用括号{}括起来。pattern中能够包含特殊的pattern matching

symbols 和通配符。第二个参数是将要被执行的命令,超过一个单词的命令也

需要使用括号{}。第三个参数用于给不同的触发动作命名分类,便于管理。高

级的触发设置必须使用参数(Preferences)对话框,在对话框中,你可以决定

触发的动作是紧跟在匹配的文本之后还是在新的一行中执行。

 

一个简单的例子:

 

#AC {你买下一件藤甲} {wear jia}

 

这样,无论何时只要你买了藤甲,立刻可以自动穿上。

 

自动登录的例子:

 

#AC {^您的英文名字:} {river}

#AC {^请输入相应密码:} {12345}

 

然后在参数对话框中关闭 Trigger on Newline 设置并且打开 Trigger on Prompt

这样名字和密码将紧接着提示行输入而不会等待换行。注意,字符 ^ 将强制从一

行的头部开始匹配。

 

触发中的参数

 

#AC {^You get (%d) coins} {chat I get %1coin } rich

 

当你看到一行“You get [number] coins”时,其中的数值将被存放在变量%1中,

其后执行的命令可以使用这个数值。在这个例子中用到了类(class)名rich,

这样你就能够使用t+和t-命令来打开或关闭这个触发。

 

--------------------------------------------------------------------------------

 

add

 

Syntax: #AD variable amount

 

这个例子允许你做一个简单的算术计算。amount可以是数值或变量。如果要做减法,

可以使用负值。复杂一些的算术计算,请使用 #math 命令。

 

实例:

 

#AD moves 1

给变量@moves加一

 

#ACTION {You get (%d) coins} {#AD gold %1}

当捡到钱时,把捡钱的数量加到 @gold 变量中

 

 

--------------------------------------------------------------------------------

 

alarm

 

Syntax: #ALA timepattern command

Related: #TRIGGER

 

建立一个基于时间的触发,而不是根据从MUD中获得的信息触发。timepattern可以

是特定的时间或包括通配符。如果在minus前加上(-),则表示连线时间而不是实

际时间。

timepattern 的格式表示成 hours:minutes:seconds ,其中的小时和分钟是可选

项,如果不指明,则假定小时和分钟被通配符*取代。通配符*可以代替任何数值,

而*10可以匹配10、20、30等等。你也可以指定几个数值用(|)来分隔。Finally,

you can put parenthesis around the wildcards to save the values matched

to the %1..%9 parameters。(这句话我不懂,谁来帮我?)

 

实例:

 

#ALARM -30:00 {save}

这里的 hour 没有指定,所以默认为*。 因此,这个例子将在连线后每隔30分钟

执行 save 命令。

 

#ALARM 3:00:00 {gossip Why arent you sleeping?}

命令将在凌晨3点触发。

 

#ALARM -5955|56|57|58|59) {#SHOW 60-%1}

这个命令在你连线时每个小时的最后5秒在屏幕上显示 5 4 3 2 1。

 

 

--------------------------------------------------------------------------------

 

alias

 

Syntax: #AL [aliasname] [string]

Related: #VARIABLE

 

保存一个或一组命令到一个较短的别名中。当执行别名时,命令中的变量能够被扩展。

如果需要延迟变量扩展,可以使用两个变量标志(%%)。

 

如果不带参数执行命令alias,所有的别名将被列出在输出窗口。如果在命令alias

中指定别名,被指定的别名将被显示。

 

别名能够用键扩展。在命令行中键入一个别名并按下键,命令行中的别名

将被替换成别名中包含的命令。

 

如果在定义别名时使用参数(%1,%2,...),在命令行中紧随别名的文本将取代这

些参数。特殊的参数%-1到%-99表示-n之后的所有文本。(使用参数的例子)

 

实例

 

#AL fs {fill waterskin}

 

当执行fs时,fill waterskin将被送往MUD。

 

#AL fs {fill @container}

 

在别名中使用变量,变量可以在购买容器时用触发赋值。

 

#AL make {#ALIAS %1 {cast %1 %%1}}

 

在这个例子中,执行make heal将发出#ALIAS heal {cast heal

%1}命令,这样就建立了

一个新的别名heal。

 

 

--------------------------------------------------------------------------------

all

 

Syntax: #ALL command

 

发送一个命令到所有角色的窗口

 

实例:

 

#ALL quit

发送 quit 命令到所有激活的角色窗口。

 

 

--------------------------------------------------------------------------------

 

backup

 

Syntax: #BA

Related: #PATH #RETRACE

 

从当前正在记录的路径中删除最后一步

 

实例:

 

如果当前路径是 .nsew 那麽执行 #BA 将使其成为 .nse 。如果当前路径是 .n4s

则执行 #BA 后将成为 .n3s 。

 

 

--------------------------------------------------------------------------------

 

beep

 

Syntax: #BEEP [value]

Related: #PLAY

 

在pc机喇叭中发声,value 对应相应的 windows 事件。

 

实例:

 

#BEEP 16

播放windows 事件 16 的声音。

 

#BEEP;#WAIT 500;#BEEP

beep两次,中间间隔0.5秒。

 

 

--------------------------------------------------------------------------------

 

button

 

Syntax: #BU number

 

触发一个自定义按钮,编号(从1至16)决定触发的按钮。number 可以是一个变量。

 

实例:

 

#BU 1

 

触发第一个按钮,效果相当于在屏幕上按下这个按钮

 

 

--------------------------------------------------------------------------------

c+

 

Syntax: #C+ [name]

Related: #C-

 

开始获取文本到窗口name中,如果省略name,文本将送入command editor,

(如果editor中的capturing设置可用)。如果在preferences对话框中选中

Capture Commands设置,键入的命令也将被送往这个窗口。

 

例子:

 

#c+ temp

 

开始拷贝所有从MUD中获得的文本到名为temp的窗口中

 

 

--------------------------------------------------------------------------------

 

c-

 

Syntax: #C-

Related: #C+

 

停止获取文本到另一个窗口

 

 

--------------------------------------------------------------------------------

 

capture

 

Syntax: #CAP [number] [name]

Related: Editor window

 

获取最后number行送到另一个窗口。如果省略number,则只获取最后一行。

如果number是-1,所有的行将被拷贝。如果name省略,发送的目标将是command

editor window。

 

例子

 

#tr {咖啡告诉你:救命!} {#cap tell}

 

将tell的内容存入名为tell的窗口,避免忽略。

 

 

--------------------------------------------------------------------------------

 

case

 

Syntax: #CA index command1 [commandn]

 

允许从命令列表中选择一个命令执行。index参数决定执行哪一个命令。如果index

大于列表中的命令数,将从第一个开始重新选择。例如,列表中有4个命令,

而index=6,则第二个命令将被执行。你也可以用变量%random随机的选择需执行的命令。

 

实例:

 

#CASE 2 {first command} {second command} {third command}

 

执行第二个命令

 

#CASE @joincmd {join} {rescue}

 

如果变量@join是奇数,执行join,偶数执行rescue。

 

#CASE %random {Hello} {Hi there} {Hiya} {Hi}

 

随机选择问候语。

 

 

--------------------------------------------------------------------------------

 

character

 

Syntax: #CH

Related: #HOST #PW

 

从Charater atabase中返回当前角色的名字

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/718513
推荐阅读
相关标签
  

闽ICP备14008679号