mud_sanc 板


LINE

睡不著。 ※ 引述《laechan (小太保)》之銘言: : 01、用 weather_d.c 定時呼叫 /adm/daemons/instance_rooms.c 目前一個大問題是,如何清掉已經無用的副本區域,例如說某副本 實際上已經結束攻略了玩家也都退出了,然後假設在退出的當下沒 有清乾淨,它就會殘留在記憶體中。 然後目前的 weather_d.c,可針對這一部份的物件做清理的動作, 前提就是「必須先知道它是可被清理的」。 那所謂可被清理與不可被清理,關鍵就在於 instance_rooms.c 是 否有登錄 ppl_instance[ppl_name][files]。 > da here instance_files :"/u/l/laechan/area/whitetile/room/083" instance_player :"laechan" 所以它的清理方式如下 foreach(ob in obs) if(ob->query("instance_player") && ob->query("instance_files")) if(!ppl_instance[ob->query("instance_player")][ob->query("instance_files")]) ob->remove(); 當然上面是簡化版的,還要判斷一些東西,不過概念大概是這樣。 那麼理論上,在做 del 時就不需先做清理的動作,因為系統會自 動清。不過 del 的清理比起系統的清理,loading 較小,所以這 部份會保留。最重要的是出口的消除,或人員的移動,後者受限於 權限問題可能較難辦到,會傾向採前者。 最後就是,這些 clean 的動作會寫成一個函數,再以底下的方式 定時呼叫 catch(clean_instance_rooms()); : 08、副本與 quest 的連結(我一直沒有想做的fu) 這個理論上一行就解決: 副本物件->create_instance("開啟者id",({他的同伴們})); 在 quest 腳本裡面大概是這樣寫的,以 001 為例 find_object_or_load("/std/new_ob/instance/laechan/001")-> create_instance(ppl->query("name"),({ppl的隊友們})); 不過實際上,還得判斷隊友是不是跟隊長在同一格,所以會採取的 做法就是修改 party_d.c,增加讀取副本隊友的函數。 那麼假設有兩種情況,隊長 a 及隊員 b c 一起進入 a 所創造的 副本了 一、a 中途脫團 則只要 a 不去接新副本,b c 可以打到副本結束。 二、b c 中途脫團 則 a 沒差還是可以打完副本,b 跟 c 則可以去創造新的副 本。 這裡就產生一種必要的判斷: if(ppl_instance[ppl->query("name")]) return notify_fail("你還不可以加入其它人的副本喔!\n"); 這是針對二的部份,假設 b 中途脫團去創新的副本,則 b 就不 應該在自己的副本還在的時候,又跑回去 a 的團。 這裡也預告會有玩家可使用的副本指令 instance 的出現,例如 說 instance join 就是加入某玩家的副本這類的,那麼前提自然 是該玩家有 instance invite 你。 然後會實現的做法就是有 invite 跟沒有 invite 的差異,以及 相關的紀錄檔、人數判斷等等,這部份則保證可以比幻想的副本 做法彈性更大。 Laechan --



※ 發信站: 批踢踢實業坊(ptt.cc)
※ 編輯: laechan 來自: 1.165.191.44 (03/20 04:57)
1F:推 eplis :寫一個副本系統真的很難orz 03/24 02:09
2F:→ eplis :當初在嘗試著做的時候,發現我實在對c 太不熟稔 03/24 02:09
3F:→ eplis :最後就放棄了.. 你加油! 03/24 02:09
4F:→ laechan :ok,3q! 03/24 07: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燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP