mud_sanc 板


LINE

底下進行昨天的 check_instance 測試,流程是 1.進入房間後先鎖出口 2.跑第一階段的 buff_msg 3.生怪 4.跑下一階段的 buff_msg2 5.移除路障 001.c 先備份為 001.bak,084 只設定 instance_check,原本 設定一進去就生怪也先移除。 instance_data=([ "084":([ "instance_check":1, ]), ]); ==========================測試開始=============================== > call 001;create_instance;"laechan";({laechan}) 檔案不存在: /std/new_ob/instance/laechan/({laechan}) 房間(/std/new_ob/instance/laechan/001)-> create_instance( "laechan", ({ 玩家(laechan /std/user) }) ) = 0 > n [副本]山林小徑 天色開始漸漸變黑, 即使是當地人也不太敢獨自一人來到山的這 一側, 所以你一路上幾乎沒有看到什麼人煙. 往西望過去, 道路 越來越看不見了. 明顯出口有: south 和 west. > 黑熊神:大膽狂徒,竟敢闖入我的領地... <= 5 秒後 > w 你現在無法往 west 這個方向離開喔! <= 鎖出口 黑熊神:受死吧! <= 10 秒後 你發覺邪 惡 黑 熊對你展開攻擊! <= 生怪 ☆☆☆ 戰 鬥 開 始 ☆☆☆ 你發覺邪 惡 黑 熊對你展開攻擊! 你眼露兇光,殺氣重重! 你用砂鍋大的拳頭擊向邪 惡 黑 熊,形成普普的傷害。 「邪 惡 黑 熊容光煥發,精神抖擻。」 . . > cc 001.c <= 中途就算 update 001.c 也不會有影響 /std/ob/room.c: 更新及載入了. /std/new_ob/instance/instance_ob.c: 更新及載入了. /std/new_ob/instance/laechan/001: 更新及載入了. 邪 惡 黑 熊發出一聲慘叫!! <= 怪死了 邪 惡 黑 熊慢慢的倒在地上死了...你得到 12600點的經驗值。 你拿起[副本怪] 邪 惡 黑 熊(Bear)身上所有的東西。 黑熊神:還蠻有兩下子的嘛! <= 5 秒後 > w <= 解除出口 你發覺邪 惡 黑 熊對你展開攻擊! ☆☆☆ 戰 鬥 開 始 ☆☆☆ 你發覺邪 惡 黑 熊對你展開攻擊! [副本]山林小徑 眼前的景色有點朦朧, 四處散發著詭異的感覺, 你小心翼翼地注 意著身邊的情況. ========================測試結束======================== 上面最後的部份我的做法是,只要玩家看到第一句 黑熊神:還蠻有兩下子的嘛! 我就把鎖出口移除,玩家這時就可以往下一格移動,當然要鎖到 訊息全跑完也可(鎖 10 秒),但我個人不喜歡玩家等待這麼長的 時間。 底下是 switch 的判斷部份,wizs 可參考。 flags=(int)room->query("instance_flags"); t=time(); switch(flags) { // 鎖出口 case 0: room->set("cant_go/west",1); room->set("instance_flags",1); break; // 跑訊息,每 5 秒一次 case 1: room->set("instance_data/enter_msgs", ({HIB"黑熊神:"HIR"大膽狂徒,竟敢闖入我的領地..."NOR"\n", HIB"黑熊神:"HIR"受死吧!"NOR"\n", })); room->set("instance_flags",2); room->set("instance_next_times",t+10); break; // 生怪 case 2: birth_mobs(room,({"bear1","bear1"})); room->set("instance_flags",3); break; // 判斷怪全死了沒,全死就跑下一階段的 buff_msg case 3: if(!present("INSTANCE_MOB",room)) { room->delete("instance_data/buff_enter_msgs"); room->set("instance_data/enter_msgs", ({HIB"黑熊神:"HIR"還蠻有兩下子的嘛!"NOR"\n", HIB"黑熊神:"HIR"如果你能來到我的面前,我再親自考驗你的能耐吧!"NOR"\n", })); room->set("instance_flags",4); room->set("instance_next_times",t+5); } break; // 5 秒後解除出口路障 case 4: if(t>(int)room->query("instance_next_times")) { room->delete("cant_go/west"); room->set("instance_flags",5); room->set("instance_next_times",t+5); } break; // 再五秒後(訊息全跑光)設定 already_ended case 5: if(t>(int)room->query("instance_next_times")) room->set("already_ended",1); break; } 這一部份有些可函數化(例如把 already_ended 的設定函數化), 有些則不用勉強函數化(例如怪全部死光後的段落)。 LAechan --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.157.53
※ 文章網址: http://webptt.com/m.aspx?n=bbs/mud_sanc/M.1397527385.A.660.html ※ 編輯: laechan (210.61.157.53), 04/15/2014 11:36:14
1F:→ laechan :理論上完成到這裡就可以把幻想大部份的副本納進來了 04/15 11:36







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP