使用[range]时,你可以在其(🤸)中列出需要的(➗)字符例(🦍)如 [abc] 或使用范围 [a-c] 。
为(🐎)了匹配特殊字(🔞)符(🐹)本身,可以使(🌺)用~将特殊字符括住,例如:~[test~] 将(🛺)匹配字符串
[test] 而不是作为 [range] 来匹配。
只使用(🈺)$可以匹配一个空行。
别名中使(⛩)用参数的例子
我们(🐼)在解(🐆)谜(🚘)过程中向npc提出的问题(🎰)通常是以:
ask npc about here
ask npc 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}的结果,一切都清(🔐)楚了吧?
表达式
当执行运算时,如果所有参数均为数(🙃)字,则执行数学运(🏖)算,否则执行字符串操作。以
下是一些常用(🏸)的表达式(v1和v2代表(👩)变量或另外的表达式(🤹)):
v1 v2
如果v1或v2不是数字(🌅),则执行字(👲)符(😉)串(⛱)相(📡)加
v1-v2
从v1中减去(🗑)v2
v1*v2
相乘
v1/v2
v1除v2,结果不(💽)含小数
v1\v2
取(🦇)模
v1&v2
逻辑(🛣)运算and
v1 and v2
同(🐥)上
v1 | v2
逻辑运算or
v1 or v2
同上
v1 xor v2
逻辑运算xor
v1 = v2
如果v1等于v2返回真
v1 > v2
如果v1大于v2返回真(🔛)
v1 < v2
如果(🥎)v1小于(💈)v2返回真
v1 >= v2
如果v1大(⏬)于等于v2返(🧝)回真
v1 <= v2
如果(🚔)v1小(🌒)于等于v2返回真
v1 <> v2
如果v1不等于v2返回真(📔)
v1 != v2
同上
v1 =~ v2
如果表达式v1中(🏢)的pattern包含v2,返回真
v1 ~= v2
同上
-v1
返(🚿)回v1的(🍌)负值
!v1
逻辑运算非
命令:
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 oin } 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: