看板 mud_sanc 關於我們 聯絡資訊
※ 引述《laechan (小太保)》之銘言: : ※ 引述《justinj (黑旋風)》之銘言: : : 4.只有在某副本才會掉的物品(ob)(如果可以,增加連接了某任務才會開始掉ob) : 這個只要改 mob_drop 即可,怪物可以設定其它資料,因此只要 : 讓 mob_drop 讀取這個所謂的「其它資料」,則副本怪就可以比 : 一般怪(即使檔案一樣)多掉一些東西。 : 比方怪物都會設定 instance 相關的東西 : if(mob->query(instance相關設定)) : 才會執行副本額外掉落資料; 副本裡面關於怪物的設定如下 instance_mob_datas=([ "bear1":([ "files":"/u/l/laechan/area/whitetile/mob/bear1", "level":150, ]), 所以直覺的做法就是 "mob_drop":(["物品1":掉落機率1,"物品2":掉落機率2,..]), 而 mob_d.c 裡面已經有這一段 "/open/cmds/vobjs_d"->exec_mob_drop(killer,me); 然後 vobjs_d.c 的 exec_mob_drop 裡面則有這一段 if(!mob_drop[paths]) return 1; if(function_exists("mob_drop_rate",mob)) rates=(mapping)mob->mob_drop_rate(ppl); 所以額外掉落部份寫在這一段之前,然後利用 rates 參數做前期判斷 即可。 已加在 /open/cmds/vobjs_d.c 段落內。 ===========================測試開始========================== instance_mob_datas=([ "bear1":(["files":"/u/l/laechan/area/whitetile/mob/bear1", "level":150, "mob_drop":(["/d/ppl/norr/special_obj/lodoos_map":500, "m024":500]), > da bear mob_drop :([ "m024" : 500, "/d/ppl/norr/special_obj/lodoos_map" : 500 ]) 邪 惡 黑 熊發出一聲慘叫!! 邪 惡 黑 熊慢慢的倒在地上死了...你得到 12600點的經驗值。 你取得了一個獸掌。 邪 惡 黑 熊發出一聲慘叫!! 邪 惡 黑 熊慢慢的倒在地上死了...你得到 12600點的經驗值。 你取得了一張羅德斯地圖(Lodoos Map)。 > con bear 物品掉落資訊: [副本額外設定] 獸掌 50.0% 羅德斯地圖(Lodoos Map) 50.0% [一般怪物設定] 無。 ===========================測試結束========================== 這樣子設定的缺點,是副本怪物的掉落資訊無法透過 ob view 獸掌去得到相關資訊。換言之,如果要讓 ob view 顯示副本怪 的掉落資訊,就必須要有一個 instance_drop 設定,而且它要 有識別用的字串當做主 key,然後 wizs 們要設定副本怪掉落 物時就得透過 vobjs -instance 指令去設定.. 1.每一個副本需有它獨特的識別字串(這可以透過預設值辦到) 2.vobjs_d.c 需建立 mapping instance_drop 資料 3.vobjs 指令需寫 -instance 設定語法 4.副 key 用的是 instance_mark 而不是 base_name 5.如何讓 ob view 可讀到是哪一隻副本怪物掉這東西 這個我再評估看看..不太好做。 Laechan -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.157.53 ※ 文章網址: http://www.ptt.cc/bbs/mud_sanc/M.1397542734.A.49A.html