[zMUD] 主要項目13、14 、15

看板mud_sanc (Sanctuary - 聖殿)作者 (hmml)時間13年前 (2012/10/13 13:12), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
資料庫: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)
文章代碼(AID): #1GUFX97y (mud_sanc)
文章代碼(AID): #1GUFX97y (mud_sanc)