Package tools.wztosql
package tools.wztosql
WZ 至 SQL 的資料匯出工具:把遊戲定義資料從
wz/ 預先轉存進 wz_* 資料表,並於開服時自動補齊。
道具/任務/怪物技能/OX問答的「定義資料」並非由 sql/twms149.sql 帶入,而是由本 package 的
dump 工具從 wz/ 目錄(透過 MapleDataProviderFactory 讀取)解析後寫入:
DumpItems 處理 Item.wz/Character.wz/String.wz → wz_itemdata;
DumpQuests 處理 Quest.wz → wz_questdata;
DumpMobSkills 處理 Skill.wz → wz_mobskilldata;
DumpOxQuizData 處理 Etc.wz → wz_oxdata。所有寫入皆走 DatabaseConnection(ThreadLocal)。
WzDataInitializer 是開服流程的入口:Start.run() 在載入內容資料前呼叫
WzDataInitializer.ensureDumped(),以各來源檔的 mtime+size 算出確定性指紋做變更偵測,
只在資料表為空或來源變動時才重跑對應 dump(道具另以 manifest 做增量更新);!reloadwz GM 指令
則呼叫 WzDataInitializer.refresh() 達成免重啟刷新。轉存後的 wz_* 表即是
MapleItemInformationProvider 等載入器的查詢來源(亦即比 WZ-XML 更快的預算快取)。
-
ClassesClassDescription將 WZ 道具資料傾印至 MySQL
wz_itemdata系列資料表的工具類別。將 WZ 怪物技能資料傾印至 MySQLwz_mobskilldata資料表的工具類別。將 WZ OX 問答資料傾印至 MySQLwz_oxdata資料表的工具類別。將 WZ 任務資料傾印至 MySQLwz_quest*系列資料表的工具類別。開服前的 WZ 資料自動補齊 + 變更偵測快取刷新。累計各分類的處理結果,供 GM 指令回報摘要使用。