[wizs] 虛擬物品系統&怪物掉落物系統實測
以 ~laechan/area/newsnake (新毒蛇地穴) 為實驗區。
> more snake.h
:::::::::::::: /u/l/laechan/area/newsnake/snake.h ::::::::::::::
#define MOBS_DATA ({\
({"snake1",105,({"pialapiala snake","snake"}),"一群啪啦啪啦蛇",\
-200,1500,10,({"arm"})}),\
({"snake2",110,({"sisusisu snake","snake"}),"一群唏咻唏咻蛇",\
-250,1500,10,({"arm"})}),\
({"snake3",110,({"bomibomi snake","snake"}),"一群波米波米蛇",\
-220,1500,10,({"arm"})}),\
({"snake4",125,({"spirit of snake","snake"}),"一隊蛇精族",\
-500,1500,5,({"arm"})}),\
怪物掉落物部份的設定目錄是 ~laechan/area/newsnake/mob,
設定目標分別是 snake1、snake2、snake3 及 snake4。
另外,怪物會掉的新版防具「跟怪物掉落物系統」的設定是可
以分開的,也就是說新版防具由 snake.h 支援即可,其它的實
體物品就由怪物掉落物系統來支援。
再根據底下這篇
┌─────────────────────────────────────┐
│ 文章代碼(AID): #1GdF86eY (mud_sanc) [ptt.cc] [物品] 怪物掉落物種類一覽 │
│ 文章網址: http://www.ptt.cc/bbs/mud_sanc/M.1352462854.A.A22.html │
└─────────────────────────────────────┘
我們可以設定底下的掉落物品:
vobjs -quick 毒蛇的鱗片;m;;;100;99
vobjs -quick 毒蛇的牙齒;m;;;300;99
vobjs -quick 毒蛇的眼珠;m;;;500;99
> vobjs -list
編號 名稱 設定者 性 質 攜帶 價錢
============================================================================
m003 毒蛇的鱗片 laechan 怪掉落 99 100
一個毒蛇的鱗片,可以向收集品商人購買。
m004 毒蛇的牙齒 laechan 怪掉落 99 300
一個毒蛇的牙齒,可以向收集品商人購買。
m005 毒蛇的眼珠 laechan 怪掉落 99 500
一個毒蛇的眼珠,可以向收集品商人購買。
上面的意思就是「眼珠最值錢」的意思。
接著就可以設定怪物掉落物:
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake1 set m003 = 500
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake1 set m004 = 200
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake1 set m005 = 100
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake2 set m003 = 500
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake2 set m004 = 200
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake2 set m005 = 100
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake3 set m003 = 500
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake3 set m004 = 200
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake3 set m005 = 100
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake4 set m003 = 500
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake4 set m004 = 200
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake4 set m005 = 100
> vobjs -mob_drop
怪物掉落物設定選單:
================================
1.創建新目錄
2.刪除某目錄(laechan 限定)
3.列出所有目錄
4.列出某一目錄下的所有設定
5.列出所有目錄下的所有設定
6.進入某一目錄做細部設定
7.離開
================================
請選擇: 6
請輸入目錄(如 /d/crazy/1/mob): /u/l/laechan/area/newsnake/mob
格式: 怪物檔 set xx = 機率/怪物檔 del xx/怪物檔 remove/怪物檔 list/list
/u/l/laechan/area/newsnake/mob: list
([ "snake2" : ([ "m003" : 500, "m004" : 200, "m005" : 100 ]),
"snake4" : ([ "m003" : 500, "m004" : 200, "m005" : 100 ]),
"snake3" : ([ "m003" : 500, "m004" : 200, "m005" : 100 ]),
"snake1" : ([ "m003" : 500, "m004" : 200, "m005" : 100 ]) ])
確定了資料有正確設進去。
接著在 /adm/daemons/vobjs_d.c 裡面補入 exec_mob_drop
函數,然後就可以馬上呼叫它來測試,測試結果如下..
> call vobjs_d;exec_mob_drop;laechan;/u/l/laechan/area/newsnake/mob/snake1
你取得了一個毒蛇的牙齒。
房間(/adm/daemons/vobjs_d)-> exec_mob_drop(
玩家(laechan /std/user), 怪物(snake
/u/l/laechan/area/newsnake/mob/snake1) ) = 1
> call vobjs_d;exec_mob_drop;laechan;/u/l/laechan/area/newsnake/mob/snake1
你取得了一個毒蛇的鱗片。
你取得了一個毒蛇的牙齒。
房間(/adm/daemons/vobjs_d)-> exec_mob_drop(
玩家(laechan /std/user), 怪物(snake
/u/l/laechan/area/newsnake/mob/snake1) ) = 1
> call vobjs_d;exec_mob_drop;laechan;/u/l/laechan/area/newsnake/mob/snake1
房間(/adm/daemons/vobjs_d)-> exec_mob_drop(
玩家(laechan /std/user), 怪物(snake
/u/l/laechan/area/newsnake/mob/snake1) ) = 1
.
.
接著就馬上驗證虛擬物品是否有存入玩家的資料裡頭..
> call me;vobjs;"query";"all"
玩家(laechan /std/user)-> vobjs( "query", "all" ) =
([ "m003" : 3, "a001" : 100, "m004" : 1 ])
> ob
你的物品欄帶著 3/99 件物品:
─────────────────────────────────────
1.毒蛇的鱗片 ( 3) 2.測試物品 (100) 3.毒蛇的牙齒 ( 1)
以上測試完畢。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.61.157.53
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
29
45