Re: [wizs] 直覺化的虛擬物品系統

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間17年前 (2008/09/24 10:47), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/6 (看更多)
:::::::::::::: /u/l/laechan/vobjs.c :::::::::::::: // Laechan@Sanc in 2008/09/24 // 虛擬物品系統之各 wiz 自建資料庫 inherit ROOM; // 統一定為 vobjs_data // 所有虛擬物品必須依 key 的開頭字母做排序以避免重覆 // name 與 file 兩個子 key 必備, mark 非必要 // name 盡量等於實體物件名(無色碼與空白) // file 指向實體物件檔名(預設 .c 檔) // mark 是用來做特殊判斷用(也可當成 wiz 自行 remark 用), 可有可無 mapping vobjs_data=(["_maker":"laechan", // 誰建置這個虛擬物品系統 "tnt" : ([ "name" : "黃色炸藥TNT", "file" : "/u/l/laechan/special/obj/tnt", "mark" : "在某地 ignite 炸藥時會判斷到的東西",]), "viagra" : ([ "name" : "威而剛", "file" : "/u/l/laechan/special/obj/viagra", "mark" : "解任務用",]), ]); // 統一的函數名 set_vobjs() 一定要有 void set_vobjs() { // 避免產生 bug if(file_exists("/adm/daemons/vobjs_d.c")) "/adm/daemons/vobjs_d"->set_vobjs(vobjs_data); } // 一定要有 void create() { ::create(); seteuid(getuid(this_object())); set("light",1); set("short","虛擬物品資料房"); set_vobjs(); // 一定要有, 保證 update 房間就去 set } // 統一的函數名 vobjs_data() mapping vobjs_data() { return vobjs_data; } > call vobjs;vobjs_data 房間(/u/l/laechan/vobjs)-> vobjs_data() = ([ "viagra" : ([ "name" : "威而剛", "mark" : "解任務用", "file" : "/u/l/laechan/special/obj/viagra" ]), "_maker" : "laechan", "tnt" : ([ "name" : "黃色炸藥TNT", "mark" : "在某地 ignite 炸藥時會判斷到的東西", "file" : "/u/l/laechan/special/obj/tnt" ]) ]) 補充說明一下, key name 最好都定為英文名, 因為中文字會有 亂碼問題, 英文 key 比較不會出問題. 各 wizs 可開始實作, 並可貼出自己的 vobjs 雛形物件檔內容 Laechan -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.170.230.61

12/05 19:57, , 1F
/u/h/highelf/vobj.c
12/05 19:57, 1F
文章代碼(AID): #18sQfAZO (mud_sanc)
文章代碼(AID): #18sQfAZO (mud_sanc)