?? zmud命令詳解.txt
字號:
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 + -