[wizs] vobjs 虛擬物品的 use

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間13年前 (2013/01/08 00:35), 編輯推噓2(207)
留言9則, 4人參與, 最新討論串1/1
這個我已經寫了,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

01/08 08:43, , 1F
檔案路徑...全部都一樣.../d/obj/vobj....amem
01/08 08:43, 1F

01/08 08:46, , 2F
嗯?
01/08 08:46, 2F

01/08 11:20, , 3F
這方法不錯...vobj目錄其實可以產表列出中文啦..
01/08 11:20, 3F

01/08 11:37, , 4F
原則上目前的 vobjs -ext 理論上應改成顯示完整檔名
01/08 11:37, 4F

01/08 11:37, , 5F
而非去讀取該檔名指向的物件之 long 做為 desc.
01/08 11:37, 5F

01/08 11:38, , 6F
(因為 vobjs 是 wiz 內部使用的東西應顯示原始內容)
01/08 11:38, 6F

01/08 11:38, , 7F
這個最近會變更
01/08 11:38, 7F

01/09 18:15, , 8F
測試無法成功ob use 紅字部份都做了 ack
01/09 18:15, 8F

01/09 19:59, , 9F
已解決。
01/09 19:59, 9F
文章代碼(AID): #1Gwlb1NH (mud_sanc)
文章代碼(AID): #1Gwlb1NH (mud_sanc)