Re: [建議] 副本相關
看板mud_sanc (Sanctuary - 聖殿)作者laechan (小太保)時間11年前 (2014/04/11 10:48)推噓0(0推 0噓 5→)留言5則, 1人參與討論串5/26 (看更多)
※ 引述《laechan (小太保)》之銘言:
: 出差剛回來。
: ※ 引述《justinj (黑旋風)》之銘言:
: : 看看能不能擁有這些功能
: : 1.限時副本(就是副本只能存活n分鐘)
: 這個在 instance_data 裡面新增參數來判斷即可,時間一到就是
: 全員脫出不能再跑。
: 從這裡可以看出還能增加一個 instance_comm 的欄位,也就是所
: 謂的「共通設定」。
/std/new_ob/instance/instance_ob.c 不備份添加修改。
1.更動 iroom 讀取資料的方式為 mapping 做法。
2.新增 instance_comm 欄位,用來做共通設定。
3.在 instance_data 設定串裡面增加 "del-" 的做法,代表
可刪除特定欄位的資料,例如 "del-light":1(值可任意接)
它就會做 delete("light") 的動作。
instance_comm 亦支援 "del-" 的做法。
這裡要加一個備忘,就是「原始基底房間」的資料,究竟要預載到
什麼程度,目前僅 short, long, item_desc, exits/hide_exits
: : 2.任務:擊殺副本的怪幾隻之類的
一般來說,能識別新舊副本的關鍵有兩個
1.instance_player 誰呼叫的
2.instance_time 什麼時候產生的
我新增了一個 instance_time 用來紀錄副本產生的時間。那理論上
打死每一隻副本怪是可以在 instance_rooms 新增紀錄,這個紀錄
將會隨著副本的消滅而消失,這是辦得到的,但前提必須是該副本
怪物沒有自訂 die。
那於是有兩種情況
1.怪物沒有自訂 die
修改 /adm/daemons/mob_d.c 即可,我剛剛已經改了。
if(me && me->query("instance_name"))
instance_rooms->mob_record("set",({me,killer}));
2.怪物有自訂 die
則 wizs 想統計玩家在該副本打死了多少怪物,針對有自訂 die
的怪物必須額外修改,不然 instance_rooms 無法統計到這類怪
物的被殺數量。
// 正常區域下的該怪物不會有 instance_name 參數
if(mob->query("instance_name"))
if(!catch(instance_rooms=find_object_or_load(
"/std/new_ob/instance/instance_rooms")))
instance_rooms->mob_record("set",mob,this_player());
/std/new_ob/instance/instance_rooms.c 也已做了相對映修改,
新增了 mob_record 函數。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.157.53
※ 文章網址: http://www.ptt.cc/bbs/mud_sanc/M.1397184505.A.43D.html
→
04/11 15:36, , 1F
04/11 15:36, 1F
※ 編輯: laechan (125.230.96.69), 04/12/2014 08:11:41
→
04/12 08:12, , 2F
04/12 08:12, 2F
→
04/12 08:12, , 3F
04/12 08:12, 3F
→
04/12 08:13, , 4F
04/12 08:13, 4F
→
04/12 08:13, , 5F
04/12 08:13, 5F
討論串 (同標題文章)
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
-3
15
113
119