精華區beta mud_sanc 關於我們 聯絡資訊
這個我已經寫了,wiz 可參考,說明及使用方式如下: 一、統一指令: ob use [虛擬物品名稱] 或 [序號] > ob 你的物品欄帶著 10/99 種物品: ───────────────────────────────────── 1.藍色晶礦 ( 10) 2.黃寶石 ( 1) 3.毒蛇的牙齒 ( 4) 4.聖誕禮物箱 ( 10) 5.綠寶石 ( 1) 6.紫寶石 ( 1) > ob use 4 <= 支援用你所看到的編號方式(或"聖誕禮物箱"也可) 你開啟了禮物箱,裡面裝了一顆%力量大補丸%(Str Pill)。 二、使用 vobjs 指令去設定你想要讓玩家可 use 的物品 ,節慶物品請統一設在 f 區,其它就看你覺得該物品 可以使用哪一區。 請自行參考 vobjs 相關設定。vobjs 支援快速設定。 三、撰寫該虛擬物品的「實體支援物件」。例如聖誕禮物 箱 f802 的實體物件為 /d/event/xmas/box.c,它只 有一個關鍵函數: int ob_use_func(object ppl) { object ob; string str; switch(random(6)) { case 0: write("你開啟了禮物箱,結果箱子裡是空的。\n"+ "你: ......\n"); . . 跟以前撰寫的實體物件有底下差異: 1.inherit ROOM; 2.不需要 void init() 去 add_action,直接寫函數 3.函數名需統一為 ob_use_func(object ppl) 你可自行參看並拷貝 /d/event/xmas/box.c 去改。 四、在 ob view 4 時會看到如下 ──────────────────────────── 聖誕禮物箱 ──────────────────────────── 單位:個 型態:節慶物 攜帶:9 / 10 價格:10 一個禮物箱,你可以使用 ob use 聖誕禮物箱 指令來開啟它。 ──────────────────────────── 物品資訊:虛擬物品 該物品被識別為可 use 的條件就是該物品的敘述被 設定為"完整檔名路徑",這樣 ob use 才能依據敘述 去找實體物件。 最後虛擬物件的簡單概念,就是不再「clone」出一個一 個實體的物件給玩家下指令去使用,例如現在的大補丸就 是這樣的模式。 以後改成大家都以 ob use 指令去使用,並統一呼叫同一 個物件(房間)。這樣單一物件就可以給多位玩家同時使用 ,而且可以一直重覆用,系統永遠只載入一個物件。 Laechan -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.224.240.189
justinj :檔案路徑...全部都一樣.../d/obj/vobj....amem 01/08 08:43
laechan :嗯? 01/08 08:46
hlead :這方法不錯...vobj目錄其實可以產表列出中文啦.. 01/08 11:20
laechan :原則上目前的 vobjs -ext 理論上應改成顯示完整檔名 01/08 11:37
laechan :而非去讀取該檔名指向的物件之 long 做為 desc. 01/08 11:37
laechan :(因為 vobjs 是 wiz 內部使用的東西應顯示原始內容) 01/08 11:38
laechan :這個最近會變更 01/08 11:38