Re: [wizs] 讀取資料

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間14年前 (2011/07/01 12:08), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串2/4 (看更多)
※ 引述《justinj (黑旋風)》之銘言: : 問一個問題 某檔案裡面的資料有沒有法子讀到 : 例如 我要看某玩家的sword值及其熟練度...[要看熟練度的值] : 你技能中的基本劍法(Sword)值是 5367/222.[指222] : 或者是 : inherit MONSTER; : . : . : static int kk=0; : . : . : 我要看kk現在的值..... 物件的設計概念之一,就是為了隱匿所含的資料。 你要讀取物件內的資料,就要為這個物件建立「方法」,例如.. static int kk=5; int query_kk() <= 這個就叫做方法的建立 { return kk; } 上面的意思就是說,如果這個物件你不為它寫讀取 kk 值的函數 ,你就讀不到 kk 這個值。 物件的設計概念之二,就是即使你能 more 到物件檔案,你也不 見得知道它隱含的數值。例如.. // /open/xxx.c inherit ROOM; mapping ob_data=([]); void save_room() { save_object("/adm/special/xxx"); } void restore_room() { restore_object("/adm/special/xxx"); } 上面的意思就是說,你 more /open/xxx.c 看到的就是上面的內 容,但是如果我鎖住你讀取 /adm/special/xxx.o 這個檔案的內 容,你就不會知道 xxx.c 究竟儲存了什麼資料在 data 裡頭。 (因為 xxx.c 並沒有建立讀取 ob_data 這個資料的方法) 換言之,你可以想像玩家資料檔裡頭有個參數儲存熟練度,它的 儲存格式大致就是.. mapping improve=(["sword":215, "barefist":4978, ...]); 玩家下 skill 之所以看的到熟練度,就在於玩家物件檔有為熟練 度的讀取建立方法,沒記錯的話好像叫 query_isk() 吧。 講個題外話,如果你建立一個房間,然後把資料都存在名為 mapping data 的資料變數裡頭,那麼即使你不建立讀取data 的方法,data 裡頭的資料仍然可以被讀取。 因為幾乎所有的物件都有建立 "data" 這個資料錄的預設讀 取方法,叫做 query_ob_data()。 Belldandy. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 115.81.16.93

07/01 12:45, , 1F
了解.....
07/01 12:45, 1F

07/01 13:47, , 2F
另一個問題要怎麼解決....?
07/01 13:47, 2F

07/01 15:07, , 3F
哪個問題
07/01 15:07, 3F
文章代碼(AID): #1E3KWtSF (mud_sanc)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 4 篇):
1
1
2
3
文章代碼(AID): #1E3KWtSF (mud_sanc)