[zMUD] 主要項目13、14 、15
資料庫:Database Commands
13-01 DBLOAD
中文:開啟資料庫。
原文:opens a database
格式:#dbload 資料庫名稱
範例:#dbload barefist
開啟一個名為barefist的資料庫,資料庫必須先建立好。
13-02 DBCLOSE
中文:關閉資料庫
原文:closes a database
格式:#dbclose 資料庫名稱
範例:#dbclose barefist
關閉一個名為barefist的已開啟資料庫,資料庫必須先建立好。
13-03 DBSAVE
中文:儲存資料庫
原文:saves a database
格式:#dbclose 資料庫名稱
範例:#dbsave test
將目前開啟的資料庫儲存為test.db。
13-04 VIEW
中文:設定要看的欄位(view)。
原文:sets or defines a database view
格式:#view 專案名稱 {優先欄位1|優先欄位2..} {顯示欄位}
範例:#view barefist+ {barefist|lv}
建立一個排序專案barefist+,barefist欄位為第一排序條件,
lv欄位是第二排序要件。預設排列是升幂排列,在欄位名稱前
方加上"-",可以改為降幂排列。
#view barefist+ {barefist} {nick|lv|barefist}
建立一個排序專案barefist+,barefist欄是排序條件,依照
專案內容僅依序顯示nick、lv、barefist三項。
#view
在畫面中顯示正在檢閱的view專案。
#view all
將正到檢閱的專案切換到all。
13-05 FIND
中文:尋找項目。
原文:filters the database view to find items
格式:#find {字串} {view名稱} {欄位}
範例:#find 庫夫林 barefist+ chtname
從專案barefist+的欄位chtname中尋找帶有字串"庫夫林"的資
料。
13-06 QUERY
中文:尋找項目。
原文:filters the database view to find items
格式:#query (條件) view名稱
範例:#query (&nick=~庫) barefist+
從專案barefist+的nick欄中尋找字串中包含"庫"的資料,所以
,用這個就好。做好後,可以用#view再檢視剛剛做的query。
不過,5.55裡,似乎無法指定搜尋哪個專案。
13-07 DBRESET
中文:重設要看的欄位(view)。
原文:resets the view filters
格式:#dbreset
範例:#dbreset
將之前對view專案所做的find和query清除回復原狀。
13-08 DBGET
中文:將現在的行設為某行。
原文:sets the current database record to a given record
格式:#dbget [number][資料庫名稱]
範例:#dbget 7
將目前選中的行位切換到第七筆。
#dbget 8direct
將目前選中的行位切換到資料庫direct中的第八筆。
這有什麼用呢?切換後,請用#showdb,可以調閱目前選中的
資料,而#say &欄位名稱,可以顯示目前選中的該筆資料,
這個欄位的數值,如果用#send &欄位名稱,可以把數值送到
遊戲伺服器。理論上,看到這裡,可以試著用資料庫做自動
重EN技能的觸發看看。
13-09 DBPUT
中文:在一行儲存新值。
原文:stores new values in a database record
格式:#dbput [行位][資料庫名稱] 資料數據
範例:#dbput 14test {nick=雨歌|id=hmml7|lv=87|barefist=7054}
在test的第14行建立或修改資料。格式亦可用:
#dbput 14test nick 雨歌 id hmml7 lv 87 barefist 7054
不過,用第一行的寫法比較清楚。如果第14行以前的行位尚未
建立的話,會往前遞補。
#dbput 15test %rec
在test的第15行建立或修改資料,資料內容來自目前選中的當筆
資料。
#dbput 16test %dbget(10test)
在test的第16行建立或修改資料,資料內容來自即將指定的該筆
資料。
總之,這是用機器人中,自動將資料寫入資料庫的指令。
13-10 DBFIRST
中文:設定現在的行為,view中的第一行。
原文:sets the current record to the first in the view
格式:#dbfirst
範例:#dbfirst
將目前的反白,改成反白第一筆。也就是將游標移到最前面
那筆去。如果要切換到其它view專案的首筆,先用#view切
換,再用#dbfirst;要切換到其它資料庫的首筆,先用#dbget
,再用#dbfirst。
13-11 DBNEXT
中文:設定現在的行,為view中的下一行。
原文:sets the current record to the next in the view
格式:#dbnext
範例:#dbnext
將目前的反白,改到下一筆。
13-12 DBPREV
中文:設定現在的行,為view中的前一行。
原文:sets the current record to the previous in the view
格式:#dbprev
範例:#dbprev
將目前的反白,改到前一筆。
13-13 DBDELETE
中文:刪除一行。
原文:deletes a record in the database
格式:#DBDELETE [行位][資料庫名稱]
範例:#DBDEL 20
刪除目前正調用的資料庫,第20行資料。
#DBDEL 8eq
刪除資料庫eq中,第8行資料。
5.55版沒有這個指令,所以不能用觸發刪除資料庫內容。
令人意外。
13-14 LOOPVIEW
中文:對view裡的每行繞迴圈。
原文:loop through records in a view
格式:#loopview 專案名稱 {指令}
範例:#loopview all {#SHOW &id &nick &lv}
秀出view專案all中,每筆資料的id、nick、lv欄位。
13-15 NEW
中文:建立新的一行。
原文:create a new database record
格式:#new 資料庫名稱 {資料內容}
範例:#new test {nick=黎瑞兒|id=hmml9|lv=67|barefist=8854}
功能和dbput近似,但new會寫入新行位,所以不會有誤輸覆
蓋之虞。
13-16 DBOFFLINE
中文:資料庫離線工作。
原文:work in editor without effecting user interface
格式:#dboffline
範例:#dboffline
下指令後,所有的動作,包括移動,新增等,都不會改寫資料
庫內容,只會在記憶體動作。
13-17 DBONLINE
中文:資料庫線上工作。
原文:work in editor and effect user interface
格式:#dbonline
範例:#dbonline
下指令後,離線時所做的修改,會加入資料庫中。
資料庫變數:Database Variable Commands
14-01 ADDKEY
中文:增加鍵值。
原文:adds a keyword and property to a database record
格式:#addkey 資料庫變數名 項目名稱 值
範例:#addkey 3p kpp 100
在資料庫型變數@3p中,新增一個項目kpp,值為100。
用#show @3p.kpp,可以看到值為100。
很少用到這個,因為可以這麼寫:
#var 3p.kpp 100
這道指令和資料庫沒什麼關係,它用來編輯variables。
14-02 DELKEY
中文:刪除鍵值。
原文:deletes a keyword from a database record
格式:#delkey 資料庫變數名 項目名稱
範例:#delkey 3p ksp
在資料庫型變數@3p中,將項目kpp刪除,之後,@3p.kpp
就會消失,不過@3p還是會存在,因為只是刪除其內一個
項目而已。
14-03 SHOWDB
中文:顯示一行。
原文:displays a database record
格式:#showdb 資料庫變數名稱
範例:#showdb @3p
將@3p的所有內容全部顯示在畫面。這是用在資料庫變數上。
#dbget test
#view all
#showdb
#dbget:切換到資料庫test。
#view all:檢視view專案all。
#showdb:檢視目前選中的當筆資料。
對,這道指令可以顯示指定的record型變數內容;當你打開
資料庫的時候,它也能顯示目前選到的資料內容。用法只差
在有無指定變數。有指定變數,就是顯示record variables
;沒指定變數,則顯示資料庫其中一筆數據。
14-04 LOOPDB
中文:以鍵值繞迴圈。
原文:loops through key values in a database record
格式:#loopdb 資料庫變數名稱 {指令}
範例:#loopdb @3p {#show %key "=" %val}
將@3p全部的項目循序讀取一遍,用#show顯示出來。
%key是@3p裡的鍵值,如hp、sp、khp...等。
%val是@3p裡每個鍵值的數值。
本例可用#showdb @3p辦到。不過,loopdb可以自訂顯示格
式,也不是只有顯示內容這個用法。
除錯:Debugger Commands
◆ 全系列5.55版不支援 ◆
15-01 BREAK
中文:中斷點。
原文:causes a breakpoint, which stops execution of script
and loads the debugge
格式:#BR
範例:#br
知道寫錯while和until會死得很難看吧!這個是救贖之道,可
是我不會用,別問我!
15-02 WATCH
中文:將變數加入觀察表。
原文:adds an expression to the debugger Watch List
格式:#WAT expression
範例:#WATCH @testvar
觀察@testvar的值。
#WATCH @testvar+2
觀察@testvar+2的結果。
用來即時測試式子的指令,詳細不明,我只用5.55的。
15-03 UNWATCH
中文:從觀察表中移除變數。
原文:removes an expression from the debugger Watch List
格式:#UNW expression
範例:#UNWATCH @testvar
從觀察表中移除@testvar。
用來即時測試式子的指令,詳細不明,我只用5.55的。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.196.45
※ 編輯: hmml 來自: 220.132.196.45 (10/27 13:55)
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章