背景:
阅读文章

zmud使用从入门到精通

[日期:2008-06-06] 来源:  作者:雨天的爱 [字体: ]
  如果你想让zmud做的更多,第一步是:定义命令行为你键盘上的一个键。
  要定义一个快捷键首先你要按下ctrl-k,或在action 菜单上选择define key的选项。你将被提示按下你要定义为命令行的组合键。
 
  几乎键盘上所有的键都可以被定义,但是你不能与zmud 内定义的热键重复,如ctrl-k ,如果你定义的快捷键与window的快捷键重复,那么window的快捷键将被屏蔽掉。同时zmud 会自动激活numlock模式,以便于你可以使用小键盘来定义快捷键。当你按下快捷键后,你就需要定义一个命令行来执行。
 
  比如,你按下数字8,然后在 text栏键入north,那么现在每当你按下数字8,指令north(向北走)将会被发送到mud 里。一个常用的做法是:当有一个敌人在你的北方,而你必须在他出手之前杀死他,你可以先键入kill 指令在你的命令输入栏内,然后按下数字8紧接着按下回车键。而这样的命令在 lpmud,dikumud 里通常要输入2个命令行。如果你只是想在按下快捷键时,其所代表的命令行只是出现在屏幕下方的命令输入栏里而不是直接发往mud ,你可以在text的末尾使用 ~的符号,比如你定义alt+4为get all from~ ,那么当你发现尸体上有东西可拿时,按下 alt+4,然后补全命令行为get all from corpse;而如果你看到寺庙里的功德箱里有东西可拿时:按下alt+4,然后补全为get all from box。 定义别名(aliases)是另一个使你的mud 人生更简单的方法。实际上,定义别名使你可以定义任何一个命令行为一个短小的缩写。最简单的定义一个别名的方法是在先输入你想定义的命令行或单词,然后按下ctrl-a或在action 菜单选择alias。你将被提示输入一个缩写给你要定义的命令行或单词,这就是你定义的别名。比如你输入 fill jiudai(给酒袋灌满请水) 然后按下ctrl-a,然后输入fj 选择ok!,现在你在命令行里输入fj,命令行fill jiudai 就会被发送到mud 里了。这里要说明的是:别名仅仅是一种翻译,因此你必须保证它在命令行首输入,比如你输入say fj ,程序发到mud 里的不会是say fill jiu dai ,而是say fj 另一个定义别名的方式是在屏幕的命令输入栏里输入#ALIAS 别名 '要定义的内容' 你也可以用输入#ALIAS 的方法查看当前所有的别名。别名的定义可以带参数,参数可以从%1--%9 ,比如你可以定义pt 这个别名为put %1 in %2 ;那么当你输入pt jitui bag 时, put jitui in bag 就会被发送到mud 里。另外一个常用的用法是比如我们#ALIAS kk 'kick %1;kill %1' ,那么如果我们输入kk kid,那么kick kid和kill kid 会被发送到mud 里去。最后要说明的一点是几个特殊的别名:atconnect : 当你连接到mud 里时,别名代表的命令行将会自动执行。atexit: 当你退出mud 时,将会自动执行。atdis connect:当你断线时,将会自动执行。
 
                                    变 量 
 
   变量是一个和别名十分类似的东西,但他们最大的不同是,别名必须放在输入栏最前,而变量可以放在任何地方。你只需要在定义的变量前面加个@就可以了。要注意的是在某些系统里如:TINTIN,变量是以$开始的,当然你可以在参数对话栏里改变它。定义一个变量你仍然可以用#VARIABLE 变量名 要定义内容,这种命令行格式如:#VAR jian sword ,那么以后你输入wield @jian时,wield sword 将被发往mud。定义了一个变量后,你随时可以在输入栏里用变量名=赋值内容来改变他。另外一个重要的语法要被注意。在大多数程序语言里,变量可以互相赋值;所有的变量作为80个字符长的字符串储存在系统里。这点和别名一样,你可以定义的最长度为80字符长。所以,在zmud 里,变量1=变量2+1 是容许的。比如#VAR contain jiudai;然后#ALIAS fs 'fill @contain' ,这样你输入fs时,fill jiudai 就会发送到mud 里。这里仍然有一些系统内定的变量不能被使用:所有用%开头的变量!而你在输入栏里临时改变的变量并不能改变你的配置文件,因此在退出时,你不会被提醒储存这些变动。这些系统内定的变量都是很规则的,除了用%代替 @;完成一个延时的命令行时你可以用%%代替@@。
 
关于别名和变量的补充:
 
  你可以使用#AL 别名 {命令行} 的格式定义别名。如:#AL fs {fill jiudai}再如:#AL make {#ALIAS %1 {buy %1 from %%1}}这个一个略现复杂的定义,他的作用是定义另外一个别名,当我们键入make leg时,#ALIAS leg {buy leg from %1} 将会被执行。同样你可以用#VA 变量名 变量 来定义一个变量。如:#VA coins 1000 就是将1000赋值给coins 这个变量,当然你也可以写成:coins=1000 或 coins:=1000 。
 
用别名来简化一段命令,而变量则可以在其中起到扩充的作用。如果想延缓变量的扩充,使用两个变量字符就是了@@。如果ALIAS 后面没有跟任何参数,所有的别名将会被列出。如果ALIAS后面仅仅跟了一个字母,那么用这个字母开头的别名将会被列出。跟随在别名后的文本将会被当作参数处理,一共有%1-%99可以用于别名的限定。但同时一些特殊的别名%-1 到%-99也被定义了。比如%-1 包括在别名后所键入的所有文本,%-2则是别名所有的参数中的最后一个,如此类推。例如:pt leg bag(pt我们已经定义好是:put %1 in %2 ) 那么leg 就是%1,bag就是%2, leg bag 就是%-1,bag 就是%-2
收藏 推荐 打印 | 录入:sbso | 阅读:
相关内容       zmud 
本文评论   [发表评论]   全部评论 (0)
内容推送
52mud提供
收听52mud微信公众平台
52mud官方微信公众平台
热门评论