查看单个帖子
旧 2006-04-28   #1
wolf_iori
中级会员
级别:3 | 在线时长:44小时 | 升级还需:6小时级别:3 | 在线时长:44小时 | 升级还需:6小时级别:3 | 在线时长:44小时 | 升级还需:6小时
 
wolf_iori 的头像
 
注册: 06年04月08日
帖子: 285
声望力: 21
声望: 10 wolf_iori 闻道则喜
现金:-21两梁山币
资产:-21两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
zmud函数入门

[number]
语法: #number command
这个命令向MUD重复发送number次命令,number必须是一个常数,如果要使用变量,用loop命令。
实例:
#4 fight bing %i = {fight bing 1;fight bing 2;...;fight bing 4}

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

alarm
语法: #ALA timepattern command
相关语法: #TRIGGER
实例:
#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
语法: #AL [aliasname] [string]
相关语法: #VARIABLE
实例
#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
语法: #ALL command
发送一个命令到所有角色的窗口
实例:
#ALL quit
发送 quit 命令到所有激活的角色窗口。

backup
语法: #BA
相关语法: #PATH #RETRACE
从当前正在记录的路径中删除最后一步
实例:
如果当前路径是 .nsew 那麽执行 #BA 将使其成为 .nse 。如果当前路径是 .n4s 则执行 #BA 后将成为 .n3s 。

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

capture
语法: #CAP [number] [name]
相关语法: Editor window
获取最后number行送到另一个窗口。如果省略number,则只获取最后一行。如果number是-1,所有的行将被拷贝。如果name省略,发送的目标将是command editor window。
例子
#tr {*告诉你:救命!} {#cap tell}
将tell的内容存入一个新的名为tell的窗口,避免忽略。

case
语法: #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} 随机选择问候语。

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

color
语法: #CO attribute [pattern]
相关语法: #HIGHLIGHT
实例:
#CO red 将最后一行的颜色变成红色
#CO bold,red  将最后一行变成红色粗体

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

cr
语法: #CR
送一个空行到MUD

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

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

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

FILE
语法: #FI number name
相关语法: #READ #WRITE
打开文件准备读写。打开的文件只能位于zmud.exe所在的目录且不能是EXE,HLP和MUD文件。
实例:
#FILE 1 test.txt
打开text.txt作为文件1。

GAG
语法: #GA [pattern]
相关语法: #UNGAG
如果pattern省略,命令将从屏幕上删除最后一行。如果包括pattern,将删除所有匹配行,相当于#ACTION pattern '#GAG'。
实例:
#ga 咖啡 这叫眼不见为净。

HELP
语法: #HE [command]
不带参数相当与从菜单中选择help,否则显示指定命令的参数。

HIGHLIGHT
语法: #HI [pattern]
相关语法: #COLOR
如果省略pattern,最后一行文本将以高亮显示,如果包括pattern,匹配的文本将以高亮显示。相当于命令#ACTION pattern '#HIGHLIGHT'。

HOST
语法: #HO
相关语法: #CHAR #PW
返回当前连接的主机名

IF
语法: #IF expression true-command [false-command]
执行条件分支,如果表达式为真,执行true-command,否则执行falise-command(可选)。表达式中可以包含变量和运算子。
实例:
#if (@qn>30) {learn_skills}  在战斗中如果潜能达到了30,执行别名learn_skills返回师父处学习。
#if (@hp>10) {exercise @hp} {exert recover} 如果气大于10就修炼内功,否则补气。

INPUT
语法: #IN string
将文本放入命令输入行,替换当前内容
实例:
#in get @item
扩展变量item后将命令置入命令输入行

KEY
语法: #KE key command
定义按键执行的命令,key值需注明按键的全名,例如:F1,CTRL-A 或 ALT-F2
实例:
#key F1 eat mantou
定义F1键执行eat mantou 命令
<ALT-D>={drink jiudai}
定义 ALT-D 键执行 drink jiudai 命令

LOOP
语法: #LOO range command
重复执行由range指定数量的命令,range包括最小值和最大值,中间用逗号分隔,如果range中只有一个数字,默认的最小值是1,循环的次数记录在变量%i中,可在命令中调用。
实例:
#LOO 3 north
向MUD中送入north命令3次
#LOO 3,4 {get all from corpse %i}
取出第三和第四具尸体中的所有东西
#LOO @num {eat baozi}
吃包子@num口

LOG
语法: #LO [filename]
开始在给定的文件中记录从MUD中获得的文本,如果文件不存在,则建立文件并开始记录,如果文件已存在,则打开存在的文件并追加记录。省略参数用于开关记录
实例:
#LO test.txt
开始将MUD的所有输出记入test.txt
#LO
开关记录,如果正在记录,该命令将停止记录,否则开始记录

MAP
语法: #MAP direction
相关语法: #PATH
在当前路径上增加一个方向
#MAP north
如果当前路径是.s,则更新为.sn,同时向北移动一步

MATH
语法: #MAT variable expression
相关语法: #ADD
将表达式的结果赋值给变量。表达式中可以包括数字、逻辑运算和字符串函数,表达式中包含的变量将被扩展。
实例:
#MATH test (1+3)*4&nbsp; 将计算结果16赋值给变量test
#MATH test2 @test-4&nbsp; 如果@test的值是16,则变量test2将被赋值12

MENU
语法: #MEN command
执行一个菜单命令
实例:
#MENU {File|Exit}
执行退出命令
#MENU {Actions|Make Button}
弹出make button对话框

MESSAGE
语法: #MES string
在小窗口中显示指定的信息,十秒钟后自动关闭
#TRIGGER {^??你丢下一个红丝囊。} {#mess {红丝囊丢了。}} 这个是一个很好的trigger。

NAME
语法: #NA string
改变当前窗口的名称,默认的窗口名由角色数据库定义。
实例:
#name tank
将当前窗口名改为tank。你可以用tank:command 将命令发往这个窗口。

OK
语法: #OK
相关语法: #SLOW #STOP
沿定义的路径移动时放慢脚步。
实例:
#TRIGGER {的出口是} {#OK} 当前一步被确认时,允许下一步的行动

PATH
语法: #PA [pathname]
相关语法: #MARK #RETRACE #MAP
省略参数时,显示当前记录的路径。如果包括参数pathname,当前的路径被存入指定的pathname。方向字符(.)将自动添加在路径的开头。
实例:
#pa 显示当前记录的路径。
#pa magic 将当前路径存入变量 .magic。

PICK
语法: #PI val1 [val2 [val3 ...]]
列表中最多可以指定99个值,用户可以选择一个或多个选项作为命令执行,按<Esc>键放弃。
命令中可以使用p:string 定义string为对话框提示,或用o:1指定只能选择一个选项,加上*号的val将作为默认选项。可以使用caption:command方式在对话框中显示命令提示caption。
实例:
#pi {get all from corpse} {get gold from corpse} {get silver from corpse}
在对话框中显示三条命令供用户选择
#pi {p:选择命令} {o:1} {*get all from corpse} {get gold from corpse} {get silver from corpse}
用“选择命令”作为对话框提示,{o:1}指定只能选择一条命令,*表示get all from corpse 作为默认命令。
#pi {p:选择命令} {o:1} {ALL:get all from corpse} {GOLD:get gold from corpse} {SILVER:get silver from corpse}
用ALL GOLD SILVER作为命令提示

PW
语法: #PW
相关语法: #CHAR
向MUD发送当前的口令,口令不会在输出屏幕上回显

READ
语法: #REA filename
#REA n [rec]
1、逐行读入给定的文件并执行每一行。
2、读入第n个文件的第rec个记录。文件由file命令读入。如果n是1~5,则给定的文件是文本文件,rec表示行号,省略rec时,读入下一行。如果n是6~10,表示是一个结构文件,指定的记录将被读入,省略rec时,读入下一个记录。
实例:
#rea mud.txt
逐行读入并执行mud.txt。
#file 1 mudlist.txt
#read 1 10
读入mudlist.txt的第十行

RETRACE
语法: #RE [pathname]
相关语法: #PATH
沿指定路径倒走,如果pathname省略,则沿当前正在记录的路径返回。

SAY
语法: #SA text
在屏幕上回显文本,类似#sh 命令。

SAVE
语法: #SAV [filename]
相关语法: #LOAD
保存当前设置文件

SEND
语法: #SE filename [prefix] [postfix]
向MUD中发送一个文本文件,并可在每一行中加上前缀或后缀
#SEND notes.txt {tell coffee}
把notes.txt的内容告诉coffee,如果同时使用kill命令,效果更好。*grin

SESSION
语法: #SES [character-name|hostname port]
使用指定的角色或主机打开新任务
实例:
#SES river
#SES 168.160.244.39 6666

SHOW
语法: #SH text
在屏幕上回显文本,不发往MUD,类似于#say,通常用于测试触发。

SLOW
语法: #SL path
相关语法: #STEP #STOP #OK
沿路径慢走,前一步得到确认后再执行下一步。#ok命令用于确认行动完成,#stop用于放弃继续前进,#step继续被#stop放弃的行程。
实例:
#SL .n2es
north 命令首先被发往MUD,然后等待确认以执行下一个命令east,如果不能确认,余下的行程将被放弃。

STATUS
语法: #ST text
定义状态条,text 中可以显示变量,每当变量改变,状态条也随之改变。
例:
#st {气血: @kee 内力: @force 潜能:@pot&nbsp; 法力: @mana}
在状态条中显示有关数据

STEP
语法: #STE
相关语法: #SLOW #STOP #OK
恢复被放弃的沿路径慢行

STW
语法: #STW string
相关语法: #STATUS
设置状态窗口,状态窗口类似与状态行,但能包括更多内容,设置%ansi颜色并用%cr换行。可以使用菜单命令window/status 打开,在其上单击右键编辑。
实例:
#stw {当前道行:@dx %cr 初始道行:@dx0 %cr 战斗时间:@time1}
显示获取道行的速度

TIMER
语法: #TI
相关语法: #T? #TS
开关计时器,对剩余时间没有影响。

TRIGGER
语法: #TR pattern command [classname]
建立或显示一个触发,与#action功能相同

TS
语法: #TS [value]
相关语法: #TIMER #T?
设置计时器时间或重新计时,value 指明以秒为单位的时间间隔,如果省略,则重新计时。

TZ
语法: #TZ
相关语法: #TS
将计时器置零

UNALIAS
语法: #UNA alias
相关语法: #ALIAS
删除一个别名

UNGAG
语法: #UNG
相关语法: #GAG
避免某行被忽略,通常用在触发中undo #gag命令。
实例:
#tr {*告诉你} {#gag}
#tr {来杀boss} {#ungag}

UNKEY
语法: #UNK key
相关语法: #KEY
删除一个宏键

UNTRIGGER
语法: #UNT pattern
相关语法: #TRIGGER
删除一个指定pattern的触发

UNVAR
语法: #UNV variable
相关语法: #VAR
删除一个变量

UNTIL
语法: #UN expression commands
执行命令直到表达式为真(true or non-zero)
实例:
#until (#hp>50) {quit}

VARIABLE
语法: #VA variable value
变量赋值,变量前不需要@。也可以使用variable = value or variable := value.

VERSION
显示zMUD版本

VERBATIM
语法: #VERB [value]
开关分析模式,value用于指定分析模式,效果与使用菜单命令相同。

WAIT
语法: #WA [time]
暂停进一步的处理直到从主机收到新的信息,如果指定time,则暂停指定的时间,time以毫秒为单位。

WHILE
语法: #WH expression commands
当表达式为真(true or non-zero)时执行命令

WINDOW
语法: #WIN name [string]
打开一个新窗口
实例:
#FORALL @eqlist {#WIN status %i}
打开窗口status并在其中显示装备列表。

WRAP
语法: #WR [column]
设置文本回绕,如果指定column,则在指定的列处换行。

WRITE
语法: #WR n value [rec]
相关语法: #READ
写一个value到文件,如果n在1~5间,表示文本文件,value将被追加在文件尾部,rec被忽略;如果n在6~10间,则value写入记录rec,省略rec时,value加在文件最后。

#tr {离开游戏} {#wr 1 {%ctime}}
记录在MUD中浪费的时间!
wolf_iori 当前离线  
回复时引用此帖