⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zmud命令詳解.txt

📁 zmud的详细使用手册
💻 TXT
📖 第 1 页 / 共 3 页
字号:

zmud的表达式

Member of LinkUnion - Click Here to Join 

[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 -59:(55|56|57|58|59) {#SHOW 60-%1} 
这个命令在你连线时每个小时的最后5秒在屏幕上显示 5 4 3 2 1。 

alias 
Syntax: #AL [aliasname] [string] 
Related: #VARIABLE 
保存一个或一组命令到一个较短的别名中。当执行别名时,命令中的变量能够被扩展。如果需要延迟变量扩展,可以使用两个变量标志(%%)。 
如果不带参数执行命令alias,所有的别名将被列出在输出窗口。如果在命令alias中指定别名,被指定的别名将被显示。 
别名能够用<tab>键扩展。在命令行中键入一个别名并按下<tab>键,命令行中的别名将被替换成别名中包含的命令。 
如果在定义别名时使用参数(%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中返回当前角色的名字 

colse 
Syntax: #CL filenum 
Related: #FILE 
根据给定的文件号关闭文件,文件必须是已经用#file命令打开的。 
实例: 
#CLOSE 1 
关闭一号文件 

clr 
清除屏幕。如果要清空scrollback buffer并收回内存,请使用菜单命令Empty。 
color 
Syntax: #CO attribute [pattern] 
Related: #HIGHLIGHT 
如果省略pattern参数,这个命令将改变最后一行的颜色。颜色属性见下表。如果包括pattern参数,将建立一个颜色触发,引起触发的条件除了字符对应外还需要有相同的颜色。 
Color values: 
black 0
blue 1
green 2
cyan 3
red 4
magenta 5
brown 6
gray 7
tellow 14
white 15
bold 128

要显示亮色,在基本值上加8,作为背景颜色,需要用基本值乘16。例如:使用红色背景的值是4*16或64。在前景上使用粗体字,需要再加128。这样,在蓝色背景上的粗体白字的值是:128+1*16+15=159。
实例:
#CO red 
将最后一行的颜色变成红色 
#CO bold,red 
将最后一行变成红色粗体 

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

cr 
Syntax: #CR 
送一个空行到MUD 

cw 
Syntax: #CW color 
Related: #COLOR 
在一次成功的触发之后,改变引起触发的内容的颜色 
实例: 
#TRIGGER {告诉你} {#CW red} 
当有人tell 你时,显示较为醒目的颜色 

dde 
Syntax: #DDE server topic macro 
这个命令允许你通过动态数据交换使用外部程序。zMUD也有一些内建的函数用于DDE: 
%dde(server,topic,item) 
%ddepoke(server,topic,item,value) 
%ddemacro(server,topic,macro) 
如果你使用%ddeopen(server,topic)函数打开DDE连接,在其他函数中不再需要指明server和topic,这个函数是全局性的,对于zMUD的任何窗口均有效。结束DDE连接时,使用%ddeclose()函数。 
zMUD也拥有自己的DDE服务,server名是zmud,topic也是zmud,item为data。 
实例: 
#DDE NETSCAPE WWW_OpenURL {http://www.zg169.net/~~czmud/index.html} 
使用netscape打开zMUD从入门到精通主页,因为~zMUD的特殊字符,所以需要再加一个~写成~~。 
#DDE ZMUD ZMUD {chat* bye;quit} 
使用DDE向MUD发出命令 
%dde(Excel,TEST.XLS,R1C1) 
使用excel装入test.xls并返回单元R1C1的值。 
%ddepoke(Excel,TEST.XLS,R1C1,@tank) 
向test.xls的R1C1单元写入变量@tank的值 
谁能用DDE写一个自动对诗的机器人? 

default 
Syntax: #DE [special-char-string] 
Related: #NODEF 
保存你当前使用的特殊字符并恢复系统默认的特殊字符,在使用现成的命令脚本时,这个命令可以保证脚本中的标准特殊字符被正确识别。使用#NODEF命令将恢复你自定义的特殊字符。 

zMUD中使用的特殊字符有 
1 Command Char # 将紧随的字串解释为命令
2 Separator Char ; 分隔多个命令
3 Variable Char @ 用于扩展变量的值
4 History Char ! 调用命令缓冲区中的命令
5 Parameter Char % 指出系统变量和函数
6 Movement Char . 调用路径变量或函数
7 Focus Char : 向指定窗口发命令
8 Quote Char ~ 紧随其后的特殊字符当作普通字符处理
9 Must be a space at the end *? *fool
实例:
#DEF
保存你当前使用的特殊字符并恢复系统默认的特殊字符
#DEF {xx$xxxxx } 
保存你当前使用的特殊字符并回复默认的特殊字符,然后将@改为$。 

disconnect 
Syntax: #DI 
Related: #CONNECT 
断开当前的连接 
实例: 
#TRIGGER {你已陷入半昏迷状态} {#DI} 
断线就不会被杀死吗?我没试过,hehe。 

ECHO 
Syntax: #EC string 
Related: #SAY 
在当前窗口中显示字串,类似与say命令。除了用于离线测试trigger似乎没有别的用处。 
实例: 

ERASE 
Syntax: #ERA filenum 
Related: #FILE 
从硬盘中删除用#file打开的文件 
实例: 
#FILE 1 old.log 
#ERA 1 
删除old.log文件,需要先用#file命令打开。 

EXEC 
Syntax: #EXEC command 
执行一个命令,命令中可以包括变量 
实例: 
#TRIGGER {^咖啡告诉你(*)} {#EXEC %1} 
执行咖啡的指令。(我可没那麽傻) 

FILE 
Syntax: #FI number name 
Related: #READ #WRITE 
打开文件准备读写。zMUD可以打开10个文件,文件号1~5打开文本文件,能够按顺序读或追加,文件号6~10打开记录文件用于随机读写。如果nuber已经用于打开的文件,则前一个文件将被关闭。打开的文件只能位于zmud.exe所在的目录且不能是EXE,HLP和MUD文件。 
实例: 
#FILE 1 test.txt 
打开text.txt作为文件1。 

FIND 
Syntax: #FIN 
找出在当前地图上的定位,通过look命令用当前房间的描述比较地图数据定位匹配的房间,与automapper的菜单命令find作用相同。 

FORALL 
Syntax:#FO list command 
逐条列出字串列表内容并执行命令。列表使用|分隔,逐个赋值给变量%i,并执行命令。 
实例: 
list=sys|ups|yahoo 
#froall @list {kill %i} 
我一定是疯了。 

FREEZE 
Syntax: #FR [value] 
切分屏幕查看以前的显示,value=0表示恢复屏幕。这条命令相当于Ctrl-z或单击右边的滚动条。(所以没什么用) 

GAG 
Syntax: #GA [pattern] 
Related: #UNGAG 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -