[閒聊] 20151112修改事項

作者: laechan (揮淚斬馬雲)   2015-11-12 11:53:53
今天依舊一堆測項,明天也是。後天星期六加班倒是閒閒的,
我打算星期六排一個需要長時間 coding 的項目,可能用來寫
戰役系統,是以這兩天我會先貼一篇我規劃的大致架構做為依
循,並貼幾個注意事項。
這兩天我也打算印出 instance 的相關檔案,我打算這禮拜回
老家時有空就啃一下檔案內容,看看 bug 在哪。(確定是有的)
instance 的範圍大概是:
/cmds/std/_instance.c
/std/new_ob/instance_room.c
/std/new_ob/instance/intance.h
/std/new_ob/instance/intance_ob.c
/std/new_ob/instance/intance_rooms.c
/std/new_ob/instance/laechan/001.c // 以實際區域做為副本區域
/std/new_ob/instance/laechan/005.c // 以地圖生成副本虛擬區域
/std/new_ob/instance/laechan/003.c // 以實際區域房間為底,但路線依據地圖
/std/new_ob/instance/laechan/004.c // 多層區域副本
等我複習完我寫的複本,再建 006.c 測試副本A完成後馬上接
去副本B的設定,007.c 則測試 quest 與 instance 的結合,
透過 questing 函數。
一、指令 ob 修改讀取方式
/cmds/std/_ob.c 備份為 ob.20151112
主要取消 static object vobjs_d 的宣告及使用,改為以全域函數
questing("vobjs",... 來做相關資料的讀取。
不過從這次的修改可發現兩件事
1.假設要一次讀取多筆資料時,最好的讀取方式就是 query_array,
把該虛擬物品的資料一次讀過來存成 mixed,就可以從陣列裡抽出
想要的資料(而非透過多行的 questing 去 get_xxx)
2.相同的概念在 instance 也找得到例如 instance_data("all") 讀
到的就是副本的所有資料(並存成 mapping 資料回傳)。
因此以後以 questing 試圖存取一物件資料庫時,都應考量設定一參
數(如前面的 query_array),讓它可用來回傳想要的所有資料。
二、

Links booklink

Contact Us: admin [ a t ] ucptt.com