mud_sanc 板


LINE

帶了印出來的程式碼回家,結果忘記帶回來... 不過初步在 instance_ob.c 有發現到一些寫法有問題,今天起就以 修改 instance 為主,有些程式碼視情況我會再印出來一次。 =========================================================== /std/new_ob/instance/instance_ob.c 總之先備份。 程式前面幾行的全域變數初始化宣告其實沒用,但還是保留,等以後 再移除。(初始化要在 create 函數裡面做才有用) instance_data() 函數 回傳種類的設定部份 instance_datas (與 instance_data 傳回一樣的值) instance_name (與 instance_names 傳回一樣的值) instance_mob_names (與 instance_mob_name 傳回一樣的值) switch 時原本 default 是傳回 all,改成 "all" 時才傳回 all, 避免產生不必要的錯誤。 case "del-ppl_instance": . . else map_delete(ppl_instance[0],str2); } 以上在當初測試的時候沒發現,測試時也沒有產生錯誤,這是因為 最初只有我一人做測試。ppl_instance 是 mapping 資料,不可能 使用 ppl_instance[0] 這樣的給值方式。 問題來了,不是給 0 的話,要給什麼? 我猜應該是 s0,也就是刪 掉 s0 這個副本的 str2(玩家name) 資料。 create_instance() 函數 某些大段落的 /* */ 移除,那些是以前的寫法,用來做為與新寫 法實裝初期的對照用,現在已用不到。 有幾個 foreach 內有 if(instance_virtual) 的判斷,裡面做的 事很多重覆了,移出 foreach 之外。 多宣告一個 vroom 物件變數,用來存 virtual_room。 以上可減少 create_instance 時的負擔。 create();//呼叫前先初始化...不然mapping的資料有變更就跑了...by justin 這一行則可能會有問題,因為副本每被一個玩家呼叫載入一次,就 會呼叫一次這個函數,而該函數會做「固定的」副本腳本資料設定 ,理論上,固定的資料不應該會被變更,這是原則,假設有固定資 料會變更,可以使用底下的做法 if(function_exists("reset_data",this_ob)) reset_data(); 這樣就可利用自訂的 reset_data 函數,針對性的只初始化部份會 被變更的固定資料。 不過這個先保留。 該 int 函數在最後一行補上 return 1; 最後測試,我以 /std/new_ob/instance/laechan/001 的白瓦鎮黑 熊副本為例,在 instance -enter 1 時會呼叫 create_instance 函數,這時會做底下 idata["xxxxx"]=instance_comm["xxxxx"]; (xxxxx=1) 接著在進去後對第一個房間做底下的設定 > call here;set;"xxxxx";10 然後再做底下 > call 001;instance_data;"all" 房間(/std/new_ob/instance/laechan/001)-> instance_data( "all" ) = ([ "instance_names" :"白瓦鎮黑熊討伐任務副本", "instance_comm" : ([ "xxxxx" : 1 ]), . . ]) 由上面可確定各副本房間的資料如果變動,不會影響到副本腳本 物件本身已設定的資料。 這裡就確定了 create_instance 時呼叫 create 是多餘的,真正 應初始化的資料,應該另訂函數來做初始化。 暫時發現的問題與待改事項 一、如何從某副本檔知道該副本的管理員被設定到哪裡? > npc instance ═════════════════════════════════════ 人物名稱            人物所在路徑                ═════════════════════════════════════ 龍潭虎穴副本管理員─綾兒('instan/d/ppl/map/n6e4tin) 獅子山副本管理員─綾兒('instance/d/ppl/map/n3e11) 天蠍洞副本管理員─綾兒('instance/d/ppl/map/n6e11) 血肉長城副本管理員─綾兒('instan/d/ppl/map/n7e9tin) 百足宮副本管理員─綾兒('instance/d/ppl/map/n5e0n) ═════════════════════════════════════ 從上面看不出與檔案的對應關係,但可以從 npc instance 來增加 顯示必要的標記。 二、 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.224.234.15
※ 文章網址: https://webptt.com/m.aspx?n=bbs/mud_sanc/M.1447573624.A.F43.html
1F:→ laechan : 剛打電話要家人幫我裝進牛皮紙袋寄來給我,再印出來 11/15 21:18
2F:→ laechan : 其實也ok只是浪費紙,要印也應該是要印修改後的 11/15 21:18
3F:→ laechan : 預計 instance_ob.c 檢查完後就查 instance_rooms.c 11/15 21:19
4F:→ laechan : 因為這個關係到副本物件佔用記憶體的清理是否正常 11/15 21:19
5F:→ laechan : 今天繼續憑印象檢查及修正 instance_ob.c 11/16 09:08
※ 編輯: laechan (210.61.157.53), 11/16/2015 09:49:00







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燈, 水草

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

TOP