Zmud CMD
1.命令詳解
在使用命令時,需要在命令前加上命令標識符以便系統識別。默認的命令標識符為#,命令標識符可以在參數對話框(Preferences dialog)中更改。命令可以被簡寫成下面顯示成斜體的字母。
[number] 重複跟隨的文本[number]次
abort 停止分析當前的命令
action 建立或顯示一個觸發動作
add 給變量加一個值
alarm 建立一個時間觸發
alias 建立或顯示一個別名
all 發送一個命令到所有窗口
backup 從當前路徑中刪除最後一步
beep 在pc機喇叭中發聲
button 觸發一個按鈕
c+ 開始獲取文本到一個新的窗口
c- 停止獲取文本到一個新的窗口
capture 獲取一行並送到editor或窗口
case 從列表中選擇一個命令
character 返回角色的名字
close 關閉一個文件
clr 清屏
color 改變最後一行文本的顏色
connect 重新連接到當前的MUD
cr 開始新的一行
cw 改變引起觸發的內容的顏色
dde 使用DDE調用外部程序
default 保存當前使用的特殊字符並恢復系統默認的特殊字符
disconnect 斷開當前的連接
ECHO 在當前窗口中顯示字串
ERASE 從硬盤中刪除文件
EXEC 執行一個命令
FILE 打開文件
FIND 找出當前在地圖上的定位
FORALL 逐條列出字串列表內容並執行命令
FREEZE 切分屏幕查看以前的顯示
GAG 從屏幕上刪除最後一行
HELP 取得命令幫助
H+ 從命令緩衝區中取得下一條命令
H- 從命令緩衝區中取得上一條命令
HISTORY 顯示命令緩衝區
HIGHLIGHT 將最後一行文本以高亮顯示
HOST 返回當前連接的主機名
IF 執行條件分支
IGNORE 開關觸發
INPUT 將文本放入命令輸入行
KEY 定義宏
KILLALL 刪除所有的別名、宏、觸發、<tab>縮寫
LMAP 穿越指定的路徑並執行命令
LOAD 裝入設置文件
LOOK 重新寫入地圖的房間描述
LOOP 重複執行命令
LOG 開始一個記錄文件或用於開關記錄
MAP 在當前路徑上增加一個方向
MATH 執行數學運算
MARK 開始記錄當前路徑
MEDIA 向多媒體設備發送命令
MEMORY 顯示剩餘內存
MENU 執行一個菜單命令
MESSAGE 在小窗口中顯示信息
NAME 改變當前窗口的名稱
NOOP 空命令
NODEF 恢復被#def命令保存的特殊字符
NOMAP 避免匹配的行干擾地圖分析
OK 沿定義的路徑移動時放慢腳步
PATH 保存或顯示當前路徑
PICK 從列表中選擇一個命令
PLAY 播放 wave, midi, avi, cd 或其他媒體
PROMPT 查詢別名和變量的內容
PW 返回當前口令
READ 從文件中讀取記錄或執行命令腳本
RECALL 使用地圖返回teleport的起點
RECORD 記錄別名
RESET 重設文件為初始狀態
RETRACE 沿路徑倒走
SAY 在屏幕上回顯文本
SAVE 保存當前設置文件
SCROLL 在scrollback buffer顯示匹配的行
SEND 向MUD中發送一個文本文件
SESSION 打開新任務
SHOW 回顯文本
SLOW 沿路徑慢走
STATUS 定義狀態條
STEP 恢復放棄的沿路徑慢行
STOP 放棄繼續沿路徑慢行
STW 設置狀態窗口
T+ 激活觸發類
T- 關閉觸發類
T? 顯示計時器(timer)的剩餘時間
TAB 增加一個詞到<tab>鍵擴展列表
TELEPORT 使用地圖傳送到目的地
TIMER 開關計時器
TRIGGER 建立或顯示一個觸發
TS 設置計時器時間或重新計時
TYPE 在屏幕上顯示文本文件
TZ 將計時器置零
UNALIAS 刪除一個別名
UNGAG 避免某行被忽略
UNKEY 刪除一個宏鍵
UNTRIGGER 刪除一個觸發
UNVAR 刪除一個變量
UNTIL 執行命令直到表達式為真
URL 在瀏覽器中打開一個URL
VARIABLE 變量賦值
VERSION 顯示zMUD版本
VERBATIM 開關分析模式
WAIT 暫停進一步的處理直到從主機收到新的信息
WALK 快速到達地圖上指定的標記處
WHILE 當表達式為真時執行命令
WINDOW 打開一個新窗口
WIZLIST 顯示zMUD的作者
WRAP 設置文本迴繞
WRITE 寫一個記錄到文件
YESNO 顯示一個帶按鈕的確認對話框
----------------------------------------------------------------------------------
2、函數和變量
Zmud中的變量
變量與別名非常相似。不同之處在於別名只能在一條命令的開始被擴展,而變量可以在任何地方被擴展。擴展變量時你需要在變量名之前加上@字符,你可以使用#VARIABLE命令來定義一個變量,例如:
#VAR container waterskin
這條命令將字符串waterskin賦值給變量container。這樣,fill @container命令將被擴展成fill waterskin。另外,你也可以使用=來給變量賦值。
如果在General Preferences設置中的Expand Vars可用,變量也可以直接在命令行上被擴展。如果設置中的Expand Vars不可用,想在命令行上擴展變量就需要將變量用<>包起來,像下面這樣:
fill <@container>
這條命令將被強制解釋成fill waterskin。
系統變量
zMUD提供了一些預先定義的系統變量,與自定義變量不同的是,這些系統變量以字符%開頭。下面是系統變量的簡單介紹:
%action 最後一次觸發所執行的命令。
%char 你在這個MUD中的ID。
%cr 換行。
%ctime 以秒為單位表示的你的連線時間。
%def 當前使用的特殊字符。
%host 當前連線的MUD的域名或IP地址。
%i 與%repeatnum相同。
%lastcom 最後被執行的命令。
%lastcom2 倒數第二個被執行的命令。
%lastcom3 倒數第三個被執行的命令。
%lastinput 我沒試出來,誰能告訴我?:-(
%line 從MUD中得到的最後一行文本。
%line2 從MUD中得到的倒數第二行文本。
%line3 從MUD中得到的倒數第三行文本。
%param1 從最後一次觸發中獲得的第一個參數。也可寫成%1。
%param2..%param99 從最後一次觸發獲得的其他參數。
%port 當前連線的端口號。
%random 產生一個0至99之間的隨機數。
%repeatnum 當前循環命令的索引。可寫成%i。(參見loop命令)
%selected 當前選中的文本或命令。
%selline 當前選中的行。
%selword 當前選中的單詞。
%title 當前MUD的標題。
%trigger 引起最近一次觸發的行。
%window 當前窗口的標題。
----------------------------------------------------------------------------------
Zmud中的函數
下面是zMUD中定義的函數
%abs(i) 返回i的絕對值
%additem(s,list) 增加字符串s到字符串列表list中
%alias(s) 顯示別名s的內容
%ansi(fore,back) 返回給定顏色的ANSI代碼
%begins(s1,s2) 如果字符串s1在字符串s2的開頭,返回true
%btncol(button,back,fore) 改變按鈕的顏色
%btnimage(button,filename) 改變按鈕的圖案
%case(i,s1,s2,s3...) 如果i=1,返回s1,...,最多不超過8個
%char(i) 返回ASCII碼所代表的字符,可用於顯示系統定義的特殊字符
%color(fore,back) 返回顏色的屬性
%concat(s1,s2,s3..) 字符串相加,最多不超過9個
%copy(s,i,n) 返回字符串s的一部分,從第i個字符開始,共n個字符
%ddeopen(serv,topic) 打開一個DDE連接
%ddeclose 關閉一個DDE連接
%dde(serv,topic,item) 使用DDE讀取數據
%ddemacro(serv,topic,s) 使用DDE執行命令
%ddepoke(serv,topic,item,value) 使用DDE寫數據(參見#DDE命令)
%delete(s,i,n) 刪除字符串s中從第i字符開始的n個字符
%delitem(s,list) 從字符串列表list中刪除字符串s
%ends(s1,s2) 如果s1在s2的尾部,返回true
%exec(s1,s2,...) 執行s1,s2,...
%expand(s) 擴展字符串s中的變量和函數
%eval(p) 返回表達式p的結果
%format(f,a,b,c,d...) 格式化值a,b,c,...,f的形式為%w.dx,其中w表示長度,d表示小數位,x表示數據類型:s是字串,n是數字,f是浮點數,m是貨幣表示
%getglobal(name) 返回全局變量name的值,全局變量保存在.ini文件中
%grep(i,s) 搜索文件號i並返回與字串s匹配的行號
%if(expression, true-value,false-value) 如果表達式為true,返回true-value,否則返回false-value
%insert(p,s,i) 在字串s的第i個字符處插入字串p
%ismember(s,list) 如果字串s在字串列表list中,返回true
%isnumber(s) 如果字串s是數字,返回true
%left(s,n) 從字串s中截取最左邊的n個字符
%leftback(s,n) 從倒數第n個字符開始,截取字串s最左邊的部分
%len(s) 返回字串s的長度
%lower(s) 將字串s轉成小寫
%max(a,b,c,d...) 取最大值
%min(a,b,c,d...) 取最小值
%mod(a,b) 取模
%null(s) 如果字串s為空,返回true
%numwords(s,d) 返回字串s中的單詞數,d為單詞分隔符,默認值是空格
%number(s) 把字串s轉換成數字
%pick(s1,s2,s3,...) 顯示picklist,並讓用戶選擇一個或一個以上的字串,如果選擇的字串超過一個,返回的值以|分隔。參見#pick命令
%pos(p,s) 返回字串p在字串s中的位置,如果p不在s中,返回0/false
%proper(s) 將單詞中除第一個字母外的其他所以字母轉成小寫
%prompt(v,p) 提示用戶給變量v賦值,p表示口令模式,輸入將不會回顯
%random(i,j) 返回一個>=i並<=j的隨機數,如果省略j,則返回0~i間的隨機數
%read(i,rec) 從文件i中讀取記錄rec
%remove(p,s) 在字串s中刪除子串p
%repeat(s,n) 重複返回字串s共n次
%replace(s,p,r) 在字串s中搜索字串p並替換成字串r
%right(s,n) 從字串s中截取最右邊的n個字符
%rightback(s,n) 從倒數第n個字符開始,截取字串s最右邊的部分
%setglobal(name,value) 給全局變量name賦值
%time(format) 返回當前的日期時間,如果format省略,將返回詳細的日期時間信息,可以在format串中使用dd, mm, mmm, yy, hh, mm, ss,等返回所需要的信息
%trigger(class) 如果指定的trigger class 可用,返回true
%trim(s) 消除字串兩端的空格
%trimleft(s) 消除字串左端的空格
%trimright(s) 消除字串右端的空格
%upper(s) 轉換成大寫
%word(s,i,d) 返回字串s中的第i個單詞,d指出字串的分隔符,如果省略,默認是空格
%write(i,s,rec) 寫字串s到文件i的第rec個記錄。如果rec為0,字串寫入文件尾部。對於文本文件,rec將被忽略,s將追加的文件中。
%yesno(s) 顯示問題s和按鈕yes/no,根據按下的按鈕返回true/false。參見#yesno命令。如果顯示的按鈕超過兩個,返回的將是按鈕號,可與#case連用。如果只顯示兩個按鈕,可與#if命令連用以充分發揮其用途
----------------------------------------------------------------------------------
地圖函數
地圖函數用來存取地圖數據。[]中是可選項。如果省略房間(room)或區域(zone)參數,將存取當前房間或區域的值。房間號可以用代號(short name)代替。
%roomname( room, [s]) 返回房間名或用字串s命名房間
%roomdesc( room, [s]) 返回房間描述或用字串s描述房間
%roomnum( room) 返回一個房間的編號
%roomid( room, [s]) 返回房間的代號,或用字串s增加或修改房間代號(short name)
%roomcom( room, [s]) 返回或設置進入房間後的執行的命令
%roomnote( room, [s]) 返回或設置房間備註
%roomexit( room, [s]) 返回或設置房間出口字串。出口字串用|分隔。
%roomobj( room, [i]) 返回或設置房間中對象的數量
%roommob( room, [i]) 返回或設置房間中npc的數量
%roomcost( room, [i]) 返回或設置進入房間所需的代價
%roomkind( room, [i]) 返回或設置房間類型。0=普通,1=水,2=飛,3=陷阱。加128用於設置禁止入內標誌
%roomflag( room, [i]) 返回或設置禁止入內標誌,0=flase,1=true
%roomlink( room, dir, [i]) 返回或設置周圍房間的編號。i=-1用於刪除與某方向房間的連接。i=-2表示未知的連接
%roomportal( room, s, [i], [z]) 返回或設置一個非標準的出口(portal)。i表示將到達的房間號,z表示將到達的區域,s是判斷是否通過非標出口的字串。參見地圖詳解
%numrooms() 返回當前區域的房間數目
%numzones() 返回當前地圖中的區域數目
%parsemode(I) 返回或設置當前地圖的分析模式。I=0表示詳細分析,i=1表示簡要分析,I=2分析look命令
%walk( i) 返回走到房間i的speedwalk字串
%zonename( zone, [s]) 返回或設置區域名
%zonenum( zone) 返回區域編號


Sealed (May 17)
Only members can post a comment, Login first