From fee20281b2815e34083f438a666a0061b4ece21d Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 25 二月 2025 20:25:09 +0800
Subject: [PATCH] 10263 【越南】【英文】【BT】【GM】【砍树】后端支持NPC仿真实玩家战斗和快速战斗(镜像回收时同步清除地图中缓存的镜像被动buff效果;)

---
 ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py |  839 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 795 insertions(+), 44 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
index b400296..19aee5f 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
@@ -47,6 +47,16 @@
                         ("list", "LimitServerGroupIDList", 0),
                         ),
 
+                "PlayerFace":(
+                        ("DWORD", "FaceID", 1),
+                        ("BYTE", "UnlockDefault", 0),
+                        ),
+
+                "PlayerFacePic":(
+                        ("DWORD", "FacePicID", 1),
+                        ("BYTE", "UnlockDefault", 0),
+                        ),
+
                 "WorldLV":(
                         ("WORD", "WorldLV", 1),
                         ("DWORD", "OpenServerSecond", 0),
@@ -60,6 +70,27 @@
                         ("DWORD", "NeedMoney", 0),
                         ("DWORD", "WeekMissionMoneyMax", 0),
                         ("BYTE", "BossFBCnt", 0),
+                        ("DWORD", "ZhenbaogeWeights", 0),
+                        ),
+
+                "FamilyEmblem":(
+                        ("BYTE", "EmblemID", 1),
+                        ("BYTE", "UnlockFamilyLV", 0),
+                        ("DWORD", "ExpireMinutes", 0),
+                        ("DWORD", "CustomFamilyID", 0),
+                        ),
+
+                "FamilyZhenbaogeCut":(
+                        ("BYTE", "CutNum", 1),
+                        ("DWORD", "CutWeight", 0),
+                        ("float", "MinRatio", 0),
+                        ("float", "RandRatio", 0),
+                        ),
+
+                "FamilyZhenbaogeItem":(
+                        ("BYTE", "ItemGroupNum", 1),
+                        ("DWORD", "ItemWeight", 0),
+                        ("list", "ItemList", 0),
                         ),
 
                 "FamilyBossHurtAward":(
@@ -203,6 +234,17 @@
                         ("DWORD", "FightPowerMax", 0),
                         ("WORD", "LVLimit", 0),
                         ("list", "DayFreeHelpCount", 0),
+                        ),
+
+                "FuncTeamSet":(
+                        ("DWORD", "FuncMapID", 1),
+                        ("BYTE", "NeedName", 0),
+                        ("BYTE", "MemberMax", 0),
+                        ("BYTE", "ApplyMax", 0),
+                        ("BYTE", "ReqApplyMax", 0),
+                        ("BYTE", "SortType", 0),
+                        ("BYTE", "SortReverse", 0),
+                        ("BYTE", "OPLimitInAct", 0),
                         ),
 
                 "ChinMap":(
@@ -425,6 +467,19 @@
                         ("BYTE", "IsDayReset", 0),
                         ),
 
+                "ActFamilyCTGAssist":(
+                        ("DWORD", "CfgID", 1),
+                        ("list", "PlatformList", 0),
+                        ("list", "ServerGroupIDList", 0),
+                        ("BYTE", "ActNum", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("dict", "NotifyInfoStart", 0),
+                        ("dict", "NotifyInfoEnd", 0),
+                        ("list", "NotifyInfoLoop", 0),
+                        ("BYTE", "IsDayReset", 0),
+                        ),
+
                 "ActCollectWords":(
                         ("DWORD", "CfgID", 1),
                         ("list", "PlatformList", 0),
@@ -457,19 +512,130 @@
                         ("BYTE", "ActNum", 0),
                         ("char", "StartDate", 0),
                         ("char", "EndDate", 0),
+                        ("char", "JoinStartTime", 0),
+                        ("char", "JoinEndTime", 0),
                         ("dict", "NotifyInfoStart", 0),
                         ("dict", "NotifyInfoEnd", 0),
                         ("list", "NotifyInfoLoop", 0),
                         ("BYTE", "IsDayReset", 0),
                         ("BYTE", "ResetType", 0),
                         ("list", "TemplateIDList", 0),
-                        ("char", "MailKey", 0),
+                        ("list", "FamilyTemplateIDList", 0),
                         ),
 
                 "ActBossTrialTemplate":(
                         ("DWORD", "TemplateID", 1),
                         ("BYTE", "Rank", 0),
                         ("list", "AwardItemList", 0),
+                        ("list", "MemAwardItemList", 0),
+                        ("DWORD", "NeedScore", 0),
+                        ("dict", "ScoreAwardEx", 0),
+                        ("WORD", "XiangongID", 0),
+                        ),
+
+                "CrossActBossTrial":(
+                        ("DWORD", "CfgID", 1),
+                        ("char", "ActGroupName", 0),
+                        ("BYTE", "ZoneID", 0),
+                        ("list", "ServerIDRangeList", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("char", "JoinStartTime", 0),
+                        ("char", "JoinEndTime", 0),
+                        ("dict", "NotifyInfoStart", 0),
+                        ("dict", "NotifyInfoEnd", 0),
+                        ("list", "NotifyInfoLoop", 0),
+                        ("BYTE", "IsDayReset", 0),
+                        ("BYTE", "ResetType", 0),
+                        ("WORD", "PersonalTemplateID", 0),
+                        ("WORD", "FamilyTemplateID", 0),
+                        ),
+
+                "ActHorsePetTrain":(
+                        ("DWORD", "CfgID", 1),
+                        ("list", "PlatformList", 0),
+                        ("list", "ServerGroupIDList", 0),
+                        ("BYTE", "ActNum", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("char", "JoinStartTime", 0),
+                        ("char", "JoinEndTime", 0),
+                        ("WORD", "PersonalTemplateID", 0),
+                        ),
+
+                "CrossActHorsePetTrain":(
+                        ("DWORD", "CfgID", 1),
+                        ("char", "ActGroupName", 0),
+                        ("BYTE", "ZoneID", 0),
+                        ("list", "ServerIDRangeList", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("char", "JoinStartTime", 0),
+                        ("char", "JoinEndTime", 0),
+                        ("WORD", "PersonalTemplateID", 0),
+                        ),
+
+                "ActHorsePetTrainBillTemp":(
+                        ("DWORD", "TemplateID", 1),
+                        ("BYTE", "Rank", 0),
+                        ("list", "AwardItemList", 0),
+                        ("DWORD", "NeedScore", 0),
+                        ("dict", "ScoreAwardEx", 0),
+                        ("WORD", "XiangongID", 0),
+                        ),
+
+                "ActGubao":(
+                        ("DWORD", "CfgID", 1),
+                        ("list", "PlatformList", 0),
+                        ("list", "ServerGroupIDList", 0),
+                        ("BYTE", "ActNum", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("char", "JoinStartTime", 0),
+                        ("char", "JoinEndTime", 0),
+                        ("WORD", "PersonalTemplateID", 0),
+                        ),
+
+                "CrossActGubao":(
+                        ("DWORD", "CfgID", 1),
+                        ("char", "ActGroupName", 0),
+                        ("BYTE", "ZoneID", 0),
+                        ("list", "ServerIDRangeList", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("char", "JoinStartTime", 0),
+                        ("char", "JoinEndTime", 0),
+                        ("WORD", "PersonalTemplateID", 0),
+                        ),
+
+                "ActGubaoBillTemp":(
+                        ("DWORD", "TemplateID", 1),
+                        ("BYTE", "Rank", 0),
+                        ("list", "AwardItemList", 0),
+                        ("DWORD", "NeedScore", 0),
+                        ("dict", "ScoreAwardEx", 0),
+                        ("WORD", "XiangongID", 0),
+                        ),
+
+                "CrossActLianqi":(
+                        ("DWORD", "CfgID", 1),
+                        ("char", "ActGroupName", 0),
+                        ("BYTE", "ZoneID", 0),
+                        ("list", "ServerIDRangeList", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("char", "JoinStartTime", 0),
+                        ("char", "JoinEndTime", 0),
+                        ("WORD", "LVLimit", 0),
+                        ("WORD", "PersonalTemplateID", 0),
+                        ),
+
+                "ActLianqiBillTemp":(
+                        ("DWORD", "TemplateID", 1),
+                        ("BYTE", "Rank", 0),
+                        ("list", "AwardItemList", 0),
+                        ("DWORD", "NeedScore", 0),
+                        ("dict", "ScoreAwardEx", 0),
                         ),
 
                 "ActXianXiaMJ":(
@@ -479,10 +645,32 @@
                         ("BYTE", "ActNum", 0),
                         ("char", "StartDate", 0),
                         ("char", "EndDate", 0),
-                        ("dict", "NotifyInfoStart", 0),
-                        ("dict", "NotifyInfoEnd", 0),
-                        ("list", "NotifyInfoLoop", 0),
-                        ("BYTE", "ResetType", 0),
+                        ("char", "JoinStartTime", 0),
+                        ("char", "JoinEndTime", 0),
+                        ("BYTE", "IsDayReset", 0),
+                        ("WORD", "PersonalTemplateID", 0),
+                        ),
+
+                "CrossActXianXiaMJ":(
+                        ("DWORD", "CfgID", 1),
+                        ("char", "ActGroupName", 0),
+                        ("BYTE", "ZoneID", 0),
+                        ("list", "ServerIDRangeList", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("char", "JoinStartTime", 0),
+                        ("char", "JoinEndTime", 0),
+                        ("BYTE", "IsDayReset", 0),
+                        ("WORD", "PersonalTemplateID", 0),
+                        ),
+
+                "ActXianXiaMJBillTemp":(
+                        ("DWORD", "TemplateID", 1),
+                        ("BYTE", "Rank", 0),
+                        ("list", "AwardItemList", 0),
+                        ("DWORD", "NeedScore", 0),
+                        ("dict", "ScoreAwardEx", 0),
+                        ("WORD", "XiangongID", 0),
                         ),
 
                 "ActGodGift":(
@@ -574,7 +762,7 @@
                         ("list", "NotifyInfoLoop", 0),
                         ("WORD", "LVLimit", 0),
                         ("BYTE", "IsDayReset", 0),
-                        ("list", "ShopTypeList", 0),
+                        ("dict", "ShopTypeList", 0),
                         ),
 
                 "Store":(
@@ -690,6 +878,12 @@
                         ("list", "ServerGroupIDList", 0),
                         ),
 
+                "CrossZoneBattlefield":(
+                        ("char", "CrossZoneName", 1),
+                        ("BYTE", "ZoneID", 1),
+                        ("list", "ServerGroupIDList", 0),
+                        ),
+
                 "CrossZonePK":(
                         ("char", "CrossZoneName", 1),
                         ("BYTE", "ZoneID", 1),
@@ -713,6 +907,7 @@
                         ("BYTE", "Rank", 1),
                         ("list", "RankAwardItemList", 0),
                         ("WORD", "MainOfficialID", 0),
+                        ("WORD", "XiangongID", 0),
                         ),
 
                 "ChampionshipOfficial":(
@@ -774,6 +969,26 @@
                         ("WORD", "LVLimit", 0),
                         ),
 
+                "ActYunshi":(
+                        ("DWORD", "CfgID", 1),
+                        ("list", "PlatformList", 0),
+                        ("list", "ServerGroupIDList", 0),
+                        ("BYTE", "ActNum", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("BYTE", "ResetType", 0),
+                        ),
+
+                "ActLunhuidian":(
+                        ("DWORD", "CfgID", 1),
+                        ("list", "PlatformList", 0),
+                        ("list", "ServerGroupIDList", 0),
+                        ("BYTE", "ActNum", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("BYTE", "ResetType", 0),
+                        ),
+
                 "ActBuyCountGift":(
                         ("DWORD", "CfgID", 1),
                         ("list", "PlatformList", 0),
@@ -781,9 +996,6 @@
                         ("BYTE", "ActNum", 0),
                         ("char", "StartDate", 0),
                         ("char", "EndDate", 0),
-                        ("dict", "NotifyInfoStart", 0),
-                        ("dict", "NotifyInfoEnd", 0),
-                        ("list", "NotifyInfoLoop", 0),
                         ("BYTE", "IsDayReset", 0),
                         ("BYTE", "ResetType", 0),
                         ),
@@ -795,9 +1007,6 @@
                         ("BYTE", "ActNum", 0),
                         ("char", "StartDate", 0),
                         ("char", "EndDate", 0),
-                        ("dict", "NotifyInfoStart", 0),
-                        ("dict", "NotifyInfoEnd", 0),
-                        ("list", "NotifyInfoLoop", 0),
                         ("BYTE", "IsDayReset", 0),
                         ("BYTE", "ResetType", 0),
                         ),
@@ -809,9 +1018,6 @@
                         ("BYTE", "ActNum", 0),
                         ("char", "StartDate", 0),
                         ("char", "EndDate", 0),
-                        ("dict", "NotifyInfoStart", 0),
-                        ("dict", "NotifyInfoEnd", 0),
-                        ("list", "NotifyInfoLoop", 0),
                         ),
 
                 "ActLoginAward":(
@@ -995,6 +1201,24 @@
                         ("BYTE", "AssistAwardCount", 0),
                         ),
 
+                "Worship":(
+                        ("BYTE", "WorshipType", 1),
+                        ("DWORD", "WorshipValue", 1),
+                        ("BYTE", "WorshipDays", 0),
+                        ("BYTE", "MoneyType", 0),
+                        ("list", "MoneyRange", 0),
+                        ),
+
+                "Xiangong":(
+                        ("WORD", "XiangongID", 1),
+                        ("BYTE", "ShowDays", 0),
+                        ("BYTE", "MoneyType", 0),
+                        ("DWORD", "MoneyValue", 0),
+                        ("DWORD", "TitleID", 0),
+                        ("list", "AwardItemList", 0),
+                        ("char", "MailKey", 0),
+                        ),
+
                 "FairyDomain":(
                         ("WORD", "ID", 1),
                         ("DWORD", "HourCntPubLimit", 0),
@@ -1027,6 +1251,26 @@
     def GetLimitServerGroupIDRangeList(self): return self.attrTuple[0] # 限制创角的服务器组ID范围列表 list
     def GetLimitServerGroupIDList(self): return self.attrTuple[1] # 限制创角的服务器组ID列表 list
 
+# 头像表
+class IPY_PlayerFace():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetFaceID(self): return self.attrTuple[0] # 头像ID DWORD
+    def GetUnlockDefault(self): return self.attrTuple[1] # 是否默认激活 BYTE
+
+# 头像框表
+class IPY_PlayerFacePic():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetFacePicID(self): return self.attrTuple[0] # 头像框ID DWORD
+    def GetUnlockDefault(self): return self.attrTuple[1] # 是否默认激活 BYTE
+
 # 世界等级表格
 class IPY_WorldLV():
     
@@ -1050,7 +1294,43 @@
     def GetEliteCnt(self): return self.attrTuple[3] # 精英数量 BYTE
     def GetNeedMoney(self): return self.attrTuple[4] # 升级需要资金 DWORD
     def GetWeekMissionMoneyMax(self): return self.attrTuple[5] # 每周任务最大可获得仙盟资金 DWORD
-    def GetBossFBCnt(self): return self.attrTuple[6] # BOSS副本次数 BYTE
+    def GetBossFBCnt(self): return self.attrTuple[6] # BOSS副本次数 BYTE
+    def GetZhenbaogeWeights(self): return self.attrTuple[7] # 珍宝阁总权重 DWORD
+
+# 仙盟徽章表
+class IPY_FamilyEmblem():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetEmblemID(self): return self.attrTuple[0] # 徽章ID BYTE
+    def GetUnlockFamilyLV(self): return self.attrTuple[1] # 解锁仙盟等级,为0时代表其他方式解锁 BYTE
+    def GetExpireMinutes(self): return self.attrTuple[2] # 有效时长,分钟 DWORD
+    def GetCustomFamilyID(self): return self.attrTuple[3] # 定制仙盟ID DWORD
+
+# 仙盟珍宝阁砍价
+class IPY_FamilyZhenbaogeCut():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetCutNum(self): return self.attrTuple[0] # 砍价人次 BYTE
+    def GetCutWeight(self): return self.attrTuple[1] # 砍价权重 DWORD
+    def GetMinRatio(self): return self.attrTuple[2] # 保底比值 float
+    def GetRandRatio(self): return self.attrTuple[3] # 随机比值 float
+
+# 仙盟珍宝阁物品
+class IPY_FamilyZhenbaogeItem():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetItemGroupNum(self): return self.attrTuple[0] # 物品组编号 BYTE
+    def GetItemWeight(self): return self.attrTuple[1] # 随机权重 DWORD
+    def GetItemList(self): return self.attrTuple[2] # 物品列表[[物品ID,个数,是否拍品], ...] list
 
 # 仙盟试炼伤血奖励表
 class IPY_FamilyBossHurtAward():
@@ -1269,6 +1549,22 @@
     def GetFightPowerMax(self): return self.attrTuple[3] # 助战最高战力,0为不限制 DWORD
     def GetLVLimit(self): return self.attrTuple[4] # 助战等级限制, 0为不限制 WORD
     def GetDayFreeHelpCount(self): return self.attrTuple[5] # 每日免费助战次数,[每日免费助战次数, 是否所有层通用] list
+
+# 功能队伍设定表
+class IPY_FuncTeamSet():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetFuncMapID(self): return self.attrTuple[0] # 功能地图ID DWORD
+    def GetNeedName(self): return self.attrTuple[1] # 需要队伍名 BYTE
+    def GetMemberMax(self): return self.attrTuple[2] # 最大人员数 BYTE
+    def GetApplyMax(self): return self.attrTuple[3] # 最大接受申请数 BYTE
+    def GetReqApplyMax(self): return self.attrTuple[4] # 最大申请数 BYTE
+    def GetSortType(self): return self.attrTuple[5] # 队伍列表排序方案 BYTE
+    def GetSortReverse(self): return self.attrTuple[6] # 是否倒序 BYTE
+    def GetOPLimitInAct(self): return self.attrTuple[7] # 活动期间限制队伍操作 BYTE
 
 # 地图表
 class IPY_ChinMap():
@@ -1590,6 +1886,24 @@
     def GetNotifyInfoLoop(self): return self.attrTuple[8] # 全服提示信息 - 循环广播[间隔分钟, 广播key] list
     def GetIsDayReset(self): return self.attrTuple[9] # 是否每天重置 BYTE
 
+# 仙盟充值协助活动表
+class IPY_ActFamilyCTGAssist():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
+    def GetPlatformList(self): return self.attrTuple[1] # 活动平台列表["平台A", "平台A", ...],配[]代表所有 list
+    def GetServerGroupIDList(self): return self.attrTuple[2] # 服务器ID列表 list
+    def GetActNum(self): return self.attrTuple[3] # 活动分组编号, 活动类型 * 10 + 不同界面编号 BYTE
+    def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
+    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
+    def GetNotifyInfoStart(self): return self.attrTuple[6] # 全服提示信息 - 相对开始时间 dict
+    def GetNotifyInfoEnd(self): return self.attrTuple[7] # 全服提示信息 - 相对结束时间 dict
+    def GetNotifyInfoLoop(self): return self.attrTuple[8] # 全服提示信息 - 循环广播[间隔分钟, 广播key] list
+    def GetIsDayReset(self): return self.attrTuple[9] # 是否每天重置 BYTE
+
 # 集字活动时间表
 class IPY_ActCollectWords():
     
@@ -1638,13 +1952,15 @@
     def GetActNum(self): return self.attrTuple[3] # 活动分组编号, 活动类型 * 10 + 不同界面编号 BYTE
     def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
     def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
-    def GetNotifyInfoStart(self): return self.attrTuple[6] # 全服提示信息 - 相对开始时间 dict
-    def GetNotifyInfoEnd(self): return self.attrTuple[7] # 全服提示信息 - 相对结束时间 dict
-    def GetNotifyInfoLoop(self): return self.attrTuple[8] # 全服提示信息 - 循环广播[间隔分钟, 广播key] list
-    def GetIsDayReset(self): return self.attrTuple[9] # 是否每天重置 BYTE
-    def GetResetType(self): return self.attrTuple[10] # 重置类型,0-0点重置;1-5点重置 BYTE
-    def GetTemplateIDList(self): return self.attrTuple[11] # 榜单模板编号列表 list
-    def GetMailKey(self): return self.attrTuple[12] # 奖励邮件模板 char
+    def GetJoinStartTime(self): return self.attrTuple[6] # 参与开始时间点 char
+    def GetJoinEndTime(self): return self.attrTuple[7] # 参与结束时间点 char
+    def GetNotifyInfoStart(self): return self.attrTuple[8] # 全服提示信息 - 相对开始时间 dict
+    def GetNotifyInfoEnd(self): return self.attrTuple[9] # 全服提示信息 - 相对结束时间 dict
+    def GetNotifyInfoLoop(self): return self.attrTuple[10] # 全服提示信息 - 循环广播[间隔分钟, 广播key] list
+    def GetIsDayReset(self): return self.attrTuple[11] # 是否每天重置 BYTE
+    def GetResetType(self): return self.attrTuple[12] # 重置类型,0-0点重置;1-5点重置 BYTE
+    def GetTemplateIDList(self): return self.attrTuple[13] # 榜单模板编号列表 list
+    def GetFamilyTemplateIDList(self): return self.attrTuple[14] # 仙盟榜单模板编号列表 list
 
 # Boss历练榜单模版表
 class IPY_ActBossTrialTemplate():
@@ -1655,7 +1971,161 @@
         
     def GetTemplateID(self): return self.attrTuple[0] # 模板编号 DWORD
     def GetRank(self): return self.attrTuple[1] # 名次 BYTE
-    def GetAwardItemList(self): return self.attrTuple[2] # 奖励物品信息列表 [[物品ID,个数,是否拍品], ...] list
+    def GetAwardItemList(self): return self.attrTuple[2] # 奖励物品列表[[物品ID,个数,是否拍品], ...] 仙盟榜时为盟主奖励,如果没有配置,则统一取成员奖励 list
+    def GetMemAwardItemList(self): return self.attrTuple[3] # 仙盟榜成员奖励物品信息列表[[物品ID,个数,是否拍品], ...] list
+    def GetNeedScore(self): return self.attrTuple[4] # 上榜所需积分 DWORD
+    def GetScoreAwardEx(self): return self.attrTuple[5] # 达标积分额外奖励 {积分:[[物品ID,个数,是否拍品], ...], ...} dict
+    def GetXiangongID(self): return self.attrTuple[6] # 晋升仙宫ID WORD
+
+# Boss历练跨服活动表
+class IPY_CrossActBossTrial():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
+    def GetActGroupName(self): return self.attrTuple[1] # 活动组名(同组活动的名字需相同) char
+    def GetZoneID(self): return self.attrTuple[2] # 组内分组编号 BYTE
+    def GetServerIDRangeList(self): return self.attrTuple[3] # 活动的账号服务器ID范围列表 [[serverIDA, serverIDB], ...] list
+    def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
+    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
+    def GetJoinStartTime(self): return self.attrTuple[6] # 参与开始时间点 char
+    def GetJoinEndTime(self): return self.attrTuple[7] # 参与结束时间点 char
+    def GetNotifyInfoStart(self): return self.attrTuple[8] # 全服提示信息 - 相对开始时间 dict
+    def GetNotifyInfoEnd(self): return self.attrTuple[9] # 全服提示信息 - 相对结束时间 dict
+    def GetNotifyInfoLoop(self): return self.attrTuple[10] # 全服提示信息 - 循环广播[循环分钟, 广播key, [广播参数列表可选]] list
+    def GetIsDayReset(self): return self.attrTuple[11] # 是否每天重置 BYTE
+    def GetResetType(self): return self.attrTuple[12] # 重置类型,0-0点重置;1-5点重置 BYTE
+    def GetPersonalTemplateID(self): return self.attrTuple[13] # 个人排行模板编号 WORD
+    def GetFamilyTemplateID(self): return self.attrTuple[14] # 仙盟排行模板编号 WORD
+
+# 骑宠养成活动时间表
+class IPY_ActHorsePetTrain():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
+    def GetPlatformList(self): return self.attrTuple[1] # 活动平台列表["平台A", "平台A", ...],配[]代表所有 list
+    def GetServerGroupIDList(self): return self.attrTuple[2] # 服务器ID列表 list
+    def GetActNum(self): return self.attrTuple[3] # 活动分组编号, 活动类型 * 10 + 不同界面编号 BYTE
+    def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
+    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
+    def GetJoinStartTime(self): return self.attrTuple[6] # 参与开始时间点 char
+    def GetJoinEndTime(self): return self.attrTuple[7] # 参与结束时间点 char
+    def GetPersonalTemplateID(self): return self.attrTuple[8] # 个人排行模板编号 WORD
+
+# 骑宠养成活动跨服表
+class IPY_CrossActHorsePetTrain():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
+    def GetActGroupName(self): return self.attrTuple[1] # 活动组名(同组活动的名字需相同) char
+    def GetZoneID(self): return self.attrTuple[2] # 组内分组编号 BYTE
+    def GetServerIDRangeList(self): return self.attrTuple[3] # 活动的账号服务器ID范围列表 [[serverIDA, serverIDB], ...] list
+    def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
+    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
+    def GetJoinStartTime(self): return self.attrTuple[6] # 参与开始时间点 char
+    def GetJoinEndTime(self): return self.attrTuple[7] # 参与结束时间点 char
+    def GetPersonalTemplateID(self): return self.attrTuple[8] # 个人排行模板编号 WORD
+
+# 骑宠养成榜单模版表
+class IPY_ActHorsePetTrainBillTemp():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetTemplateID(self): return self.attrTuple[0] # 模板编号 DWORD
+    def GetRank(self): return self.attrTuple[1] # 名次 BYTE
+    def GetAwardItemList(self): return self.attrTuple[2] # 奖励物品列表[[物品ID,个数,是否拍品], ...] list
+    def GetNeedScore(self): return self.attrTuple[3] # 上榜所需积分 DWORD
+    def GetScoreAwardEx(self): return self.attrTuple[4] # 达标积分额外奖励 {积分:[[物品ID,个数,是否拍品], ...], ...} dict
+    def GetXiangongID(self): return self.attrTuple[5] # 晋升仙宫ID WORD
+
+# 古宝养成活动时间表
+class IPY_ActGubao():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
+    def GetPlatformList(self): return self.attrTuple[1] # 活动平台列表["平台A", "平台A", ...],配[]代表所有 list
+    def GetServerGroupIDList(self): return self.attrTuple[2] # 服务器ID列表 list
+    def GetActNum(self): return self.attrTuple[3] # 活动分组编号, 活动类型 * 10 + 不同界面编号 BYTE
+    def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
+    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
+    def GetJoinStartTime(self): return self.attrTuple[6] # 参与开始时间点 char
+    def GetJoinEndTime(self): return self.attrTuple[7] # 参与结束时间点 char
+    def GetPersonalTemplateID(self): return self.attrTuple[8] # 个人排行模板编号 WORD
+
+# 古宝养成活动跨服表
+class IPY_CrossActGubao():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
+    def GetActGroupName(self): return self.attrTuple[1] # 活动组名(同组活动的名字需相同) char
+    def GetZoneID(self): return self.attrTuple[2] # 组内分组编号 BYTE
+    def GetServerIDRangeList(self): return self.attrTuple[3] # 活动的账号服务器ID范围列表 [[serverIDA, serverIDB], ...] list
+    def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
+    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
+    def GetJoinStartTime(self): return self.attrTuple[6] # 参与开始时间点 char
+    def GetJoinEndTime(self): return self.attrTuple[7] # 参与结束时间点 char
+    def GetPersonalTemplateID(self): return self.attrTuple[8] # 个人排行模板编号 WORD
+
+# 古宝养成榜单模版表
+class IPY_ActGubaoBillTemp():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetTemplateID(self): return self.attrTuple[0] # 模板编号 DWORD
+    def GetRank(self): return self.attrTuple[1] # 名次 BYTE
+    def GetAwardItemList(self): return self.attrTuple[2] # 奖励物品列表[[物品ID,个数,是否拍品], ...] list
+    def GetNeedScore(self): return self.attrTuple[3] # 上榜所需积分 DWORD
+    def GetScoreAwardEx(self): return self.attrTuple[4] # 达标积分额外奖励 {积分:[[物品ID,个数,是否拍品], ...], ...} dict
+    def GetXiangongID(self): return self.attrTuple[5] # 晋升仙宫ID WORD
+
+# 炼器活动跨服表
+class IPY_CrossActLianqi():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
+    def GetActGroupName(self): return self.attrTuple[1] # 活动组名(同组活动的名字需相同) char
+    def GetZoneID(self): return self.attrTuple[2] # 组内分组编号 BYTE
+    def GetServerIDRangeList(self): return self.attrTuple[3] # 活动的账号服务器ID范围列表 [[serverIDA, serverIDB], ...] list
+    def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
+    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
+    def GetJoinStartTime(self): return self.attrTuple[6] # 参与开始时间点 char
+    def GetJoinEndTime(self): return self.attrTuple[7] # 参与结束时间点 char
+    def GetLVLimit(self): return self.attrTuple[8] # 限制等级 WORD
+    def GetPersonalTemplateID(self): return self.attrTuple[9] # 个人排行模板编号 WORD
+
+# 炼器榜单模版表
+class IPY_ActLianqiBillTemp():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetTemplateID(self): return self.attrTuple[0] # 模板编号 DWORD
+    def GetRank(self): return self.attrTuple[1] # 名次 BYTE
+    def GetAwardItemList(self): return self.attrTuple[2] # 奖励物品列表[[物品ID,个数,是否拍品], ...] list
+    def GetNeedScore(self): return self.attrTuple[3] # 上榜所需积分 DWORD
+    def GetScoreAwardEx(self): return self.attrTuple[4] # 达标积分额外奖励 {积分:[[物品ID,个数,是否拍品], ...], ...} dict
 
 # 仙匣秘境活动时间表
 class IPY_ActXianXiaMJ():
@@ -1670,10 +2140,42 @@
     def GetActNum(self): return self.attrTuple[3] # 活动分组编号, 活动类型 * 10 + 不同界面编号 BYTE
     def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
     def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
-    def GetNotifyInfoStart(self): return self.attrTuple[6] # 全服提示信息 - 相对开始时间 dict
-    def GetNotifyInfoEnd(self): return self.attrTuple[7] # 全服提示信息 - 相对结束时间 dict
-    def GetNotifyInfoLoop(self): return self.attrTuple[8] # 全服提示信息 - 循环广播[间隔分钟, 广播key] list
-    def GetResetType(self): return self.attrTuple[9] # 重置类型,0-0点重置;1-5点重置 BYTE
+    def GetJoinStartTime(self): return self.attrTuple[6] # 参与开始时间点 char
+    def GetJoinEndTime(self): return self.attrTuple[7] # 参与结束时间点 char
+    def GetIsDayReset(self): return self.attrTuple[8] # 是否每天重置 BYTE
+    def GetPersonalTemplateID(self): return self.attrTuple[9] # 个人排行模板编号 WORD
+
+# 仙匣秘境活动跨服表
+class IPY_CrossActXianXiaMJ():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
+    def GetActGroupName(self): return self.attrTuple[1] # 活动组名(同组活动的名字需相同) char
+    def GetZoneID(self): return self.attrTuple[2] # 组内分组编号 BYTE
+    def GetServerIDRangeList(self): return self.attrTuple[3] # 活动的账号服务器ID范围列表 [[serverIDA, serverIDB], ...] list
+    def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
+    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
+    def GetJoinStartTime(self): return self.attrTuple[6] # 参与开始时间点 char
+    def GetJoinEndTime(self): return self.attrTuple[7] # 参与结束时间点 char
+    def GetIsDayReset(self): return self.attrTuple[8] # 是否每天重置 BYTE
+    def GetPersonalTemplateID(self): return self.attrTuple[9] # 个人排行模板编号 WORD
+
+# 仙匣秘境榜单模版表
+class IPY_ActXianXiaMJBillTemp():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetTemplateID(self): return self.attrTuple[0] # 模板编号 DWORD
+    def GetRank(self): return self.attrTuple[1] # 名次 BYTE
+    def GetAwardItemList(self): return self.attrTuple[2] # 奖励物品列表[[物品ID,个数,是否拍品], ...] list
+    def GetNeedScore(self): return self.attrTuple[3] # 上榜所需积分 DWORD
+    def GetScoreAwardEx(self): return self.attrTuple[4] # 达标积分额外奖励 {积分:[[物品ID,个数,是否拍品], ...], ...} dict
+    def GetXiangongID(self): return self.attrTuple[5] # 晋升仙宫ID WORD
 
 # 天帝礼包活动时间表
 class IPY_ActGodGift():
@@ -1800,7 +2302,7 @@
     def GetNotifyInfoLoop(self): return self.attrTuple[11] # 全服提示信息 - 循环广播[间隔分钟, 广播key] list
     def GetLVLimit(self): return self.attrTuple[12] # 限制等级 WORD
     def GetIsDayReset(self): return self.attrTuple[13] # 是否每天重置 BYTE
-    def GetShopTypeList(self): return self.attrTuple[14] # 商店类型列表 list
+    def GetShopTypeList(self): return self.attrTuple[14] # 商店类型列表 dict
 
 # 商城表
 class IPY_Store():
@@ -1965,6 +2467,17 @@
     def GetZoneID(self): return self.attrTuple[1] # 赛区ID BYTE
     def GetServerGroupIDList(self): return self.attrTuple[2] # 赛区服务器组ID列表 list
 
+# 跨服分区表古神战场
+class IPY_CrossZoneBattlefield():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetCrossZoneName(self): return self.attrTuple[0] # 跨服分区名 char
+    def GetZoneID(self): return self.attrTuple[1] # 赛区ID BYTE
+    def GetServerGroupIDList(self): return self.attrTuple[2] # 赛区服务器组ID列表 list
+
 # 跨服分区表竞技场
 class IPY_CrossZonePK():
     
@@ -2003,7 +2516,8 @@
         
     def GetRank(self): return self.attrTuple[0] #  名次 BYTE
     def GetRankAwardItemList(self): return self.attrTuple[1] # 名次奖励物品列表 list
-    def GetMainOfficialID(self): return self.attrTuple[2] # 主官职ID WORD
+    def GetMainOfficialID(self): return self.attrTuple[2] # 主官职ID WORD
+    def GetXiangongID(self): return self.attrTuple[3] # 晋升仙宫ID WORD
 
 # 跨服排位官职表
 class IPY_ChampionshipOfficial():
@@ -2099,6 +2613,36 @@
     def GetNotifyInfoEnd(self): return self.attrTuple[10] # 全服提示信息 - 相对结束时间 dict
     def GetLVLimit(self): return self.attrTuple[11] # 限制等级 WORD
 
+# 运势活动时间表
+class IPY_ActYunshi():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
+    def GetPlatformList(self): return self.attrTuple[1] # 活动平台列表["平台A", "平台A", ...],配[]代表所有 list
+    def GetServerGroupIDList(self): return self.attrTuple[2] # 服务器ID列表 list
+    def GetActNum(self): return self.attrTuple[3] # 活动分组编号, 活动类型 * 10 + 不同界面编号 BYTE
+    def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
+    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
+    def GetResetType(self): return self.attrTuple[6] # 重置类型,0-0点重置;1-5点重置 BYTE
+
+# 轮回殿活动时间表
+class IPY_ActLunhuidian():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
+    def GetPlatformList(self): return self.attrTuple[1] # 活动平台列表["平台A", "平台A", ...],配[]代表所有 list
+    def GetServerGroupIDList(self): return self.attrTuple[2] # 服务器ID列表 list
+    def GetActNum(self): return self.attrTuple[3] # 活动分组编号, 活动类型 * 10 + 不同界面编号 BYTE
+    def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
+    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
+    def GetResetType(self): return self.attrTuple[6] # 重置类型,0-0点重置;1-5点重置 BYTE
+
 # 购买次数礼包活动时间表
 class IPY_ActBuyCountGift():
     
@@ -2112,11 +2656,8 @@
     def GetActNum(self): return self.attrTuple[3] # 活动分组编号, 活动类型 * 10 + 不同界面编号 BYTE
     def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
     def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
-    def GetNotifyInfoStart(self): return self.attrTuple[6] # 全服提示信息 - 相对开始时间 dict
-    def GetNotifyInfoEnd(self): return self.attrTuple[7] # 全服提示信息 - 相对结束时间 dict
-    def GetNotifyInfoLoop(self): return self.attrTuple[8] # 全服提示信息 - 循环广播[间隔分钟, 广播key] list
-    def GetIsDayReset(self): return self.attrTuple[9] # 是否每天重置 BYTE
-    def GetResetType(self): return self.attrTuple[10] # 重置类型,0-0点重置;1-5点重置 BYTE
+    def GetIsDayReset(self): return self.attrTuple[6] # 是否每天重置 BYTE
+    def GetResetType(self): return self.attrTuple[7] # 重置类型,0-0点重置;1-5点重置 BYTE
 
 # 任务活动时间表
 class IPY_ActTask():
@@ -2131,11 +2672,8 @@
     def GetActNum(self): return self.attrTuple[3] # 活动分组编号, 活动类型 * 10 + 不同界面编号 BYTE
     def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
     def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
-    def GetNotifyInfoStart(self): return self.attrTuple[6] # 全服提示信息 - 相对开始时间 dict
-    def GetNotifyInfoEnd(self): return self.attrTuple[7] # 全服提示信息 - 相对结束时间 dict
-    def GetNotifyInfoLoop(self): return self.attrTuple[8] # 全服提示信息 - 循环广播[间隔分钟, 广播key] list
-    def GetIsDayReset(self): return self.attrTuple[9] # 是否每天重置 BYTE
-    def GetResetType(self): return self.attrTuple[10] # 重置类型,0-0点重置;1-5点重置 BYTE
+    def GetIsDayReset(self): return self.attrTuple[6] # 是否每天重置 BYTE
+    def GetResetType(self): return self.attrTuple[7] # 重置类型,0-0点重置;1-5点重置 BYTE
 
 # 登录活动奖励时间表新
 class IPY_ActLoginNew():
@@ -2149,10 +2687,7 @@
     def GetServerGroupIDList(self): return self.attrTuple[2] # 服务器ID列表 list
     def GetActNum(self): return self.attrTuple[3] # 活动分组编号, 活动类型 * 10 + 不同界面编号 BYTE
     def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
-    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
-    def GetNotifyInfoStart(self): return self.attrTuple[6] # 全服提示信息 - 相对开始时间 dict
-    def GetNotifyInfoEnd(self): return self.attrTuple[7] # 全服提示信息 - 相对结束时间 dict
-    def GetNotifyInfoLoop(self): return self.attrTuple[8] # 全服提示信息 - 循环广播[间隔分钟, 广播key] list
+    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
 
 # 登录奖励时间表
 class IPY_ActLoginAward():
@@ -2420,6 +2955,34 @@
     def GetGiftID(self): return self.attrTuple[0] # 礼盒物品ID DWORD
     def GetAssistAwardCount(self): return self.attrTuple[1] #  协助奖励每日次数 BYTE
 
+# 膜拜表
+class IPY_Worship():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetWorshipType(self): return self.attrTuple[0] # 膜拜类型 BYTE
+    def GetWorshipValue(self): return self.attrTuple[1] # 膜拜值 DWORD
+    def GetWorshipDays(self): return self.attrTuple[2] # 膜拜天数 BYTE
+    def GetMoneyType(self): return self.attrTuple[3] # 膜拜货币类型 BYTE
+    def GetMoneyRange(self): return self.attrTuple[4] # 货币值范围 list
+
+# 仙宫表
+class IPY_Xiangong():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetXiangongID(self): return self.attrTuple[0] # 仙宫ID WORD
+    def GetShowDays(self): return self.attrTuple[1] # 展示天数 BYTE
+    def GetMoneyType(self): return self.attrTuple[2] # 点赞货币类型 BYTE
+    def GetMoneyValue(self): return self.attrTuple[3] # 货币值 DWORD
+    def GetTitleID(self): return self.attrTuple[4] # 称号ID DWORD
+    def GetAwardItemList(self): return self.attrTuple[5] # 晋级仙宫奖励物品列表 list
+    def GetMailKey(self): return self.attrTuple[6] # 仙官通知邮件 char
+
 # 缥缈仙域表
 class IPY_FairyDomain():
     
@@ -2488,8 +3051,13 @@
             self.ipyConfigEx = {}
         self.__LoadFileData("FuncConfig", onlyCheck)
         self.__LoadFileData("CreateRoleLimitServer", onlyCheck)
+        self.__LoadFileData("PlayerFace", onlyCheck)
+        self.__LoadFileData("PlayerFacePic", onlyCheck)
         self.__LoadFileData("WorldLV", onlyCheck)
         self.__LoadFileData("Family", onlyCheck)
+        self.__LoadFileData("FamilyEmblem", onlyCheck)
+        self.__LoadFileData("FamilyZhenbaogeCut", onlyCheck)
+        self.__LoadFileData("FamilyZhenbaogeItem", onlyCheck)
         self.__LoadFileData("FamilyBossHurtAward", onlyCheck)
         self.__LoadFileData("FamilyZhenfa", onlyCheck)
         self.__LoadFileData("MarketQuery", onlyCheck)
@@ -2505,6 +3073,7 @@
         self.__LoadFileData("FBFunc", onlyCheck)
         self.__LoadFileData("FBLine", onlyCheck)
         self.__LoadFileData("FBHelpBattle", onlyCheck)
+        self.__LoadFileData("FuncTeamSet", onlyCheck)
         self.__LoadFileData("ChinMap", onlyCheck)
         self.__LoadFileData("BOSSInfo", onlyCheck)
         self.__LoadFileData("BOSSFirstKill", onlyCheck)
@@ -2525,11 +3094,23 @@
         self.__LoadFileData("ActExpRate", onlyCheck)
         self.__LoadFileData("ActCostRebate", onlyCheck)
         self.__LoadFileData("ActBuyOne", onlyCheck)
+        self.__LoadFileData("ActFamilyCTGAssist", onlyCheck)
         self.__LoadFileData("ActCollectWords", onlyCheck)
         self.__LoadFileData("ActGarbageSorting", onlyCheck)
         self.__LoadFileData("ActBossTrial", onlyCheck)
         self.__LoadFileData("ActBossTrialTemplate", onlyCheck)
+        self.__LoadFileData("CrossActBossTrial", onlyCheck)
+        self.__LoadFileData("ActHorsePetTrain", onlyCheck)
+        self.__LoadFileData("CrossActHorsePetTrain", onlyCheck)
+        self.__LoadFileData("ActHorsePetTrainBillTemp", onlyCheck)
+        self.__LoadFileData("ActGubao", onlyCheck)
+        self.__LoadFileData("CrossActGubao", onlyCheck)
+        self.__LoadFileData("ActGubaoBillTemp", onlyCheck)
+        self.__LoadFileData("CrossActLianqi", onlyCheck)
+        self.__LoadFileData("ActLianqiBillTemp", onlyCheck)
         self.__LoadFileData("ActXianXiaMJ", onlyCheck)
+        self.__LoadFileData("CrossActXianXiaMJ", onlyCheck)
+        self.__LoadFileData("ActXianXiaMJBillTemp", onlyCheck)
         self.__LoadFileData("ActGodGift", onlyCheck)
         self.__LoadFileData("ActHorsePetFeast", onlyCheck)
         self.__LoadFileData("ActBossReborn", onlyCheck)
@@ -2547,6 +3128,7 @@
         self.__LoadFileData("ActManyDayRecharge", onlyCheck)
         self.__LoadFileData("ActTotalRecharge", onlyCheck)
         self.__LoadFileData("CrossZoneComm", onlyCheck)
+        self.__LoadFileData("CrossZoneBattlefield", onlyCheck)
         self.__LoadFileData("CrossZonePK", onlyCheck)
         self.__LoadFileData("ChampionshipTime", onlyCheck)
         self.__LoadFileData("ChampionshipRank", onlyCheck)
@@ -2557,6 +3139,8 @@
         self.__LoadFileData("CrossDemonLandZoneMap", onlyCheck)
         self.__LoadFileData("CrossFamilyFlagwarZoneMap", onlyCheck)
         self.__LoadFileData("ActWeekParty", onlyCheck)
+        self.__LoadFileData("ActYunshi", onlyCheck)
+        self.__LoadFileData("ActLunhuidian", onlyCheck)
         self.__LoadFileData("ActBuyCountGift", onlyCheck)
         self.__LoadFileData("ActTask", onlyCheck)
         self.__LoadFileData("ActLoginNew", onlyCheck)
@@ -2577,6 +3161,8 @@
         self.__LoadFileData("MineAreaItem", onlyCheck)
         self.__LoadFileData("FamilyWarRankAward", onlyCheck)
         self.__LoadFileData("AssistThanksGift", onlyCheck)
+        self.__LoadFileData("Worship", onlyCheck)
+        self.__LoadFileData("Xiangong", onlyCheck)
         self.__LoadFileData("FairyDomain", onlyCheck)
         Log("IPY_DataMgr ReloadOK! onlyCheck=%s" % onlyCheck)
         return
@@ -2657,8 +3243,12 @@
                         attrValue = value
                     elif fieldType == "dict":
                         attrValue = self.__StrToDict(value)
+                        if type(attrValue) != dict:
+                            raise
                     elif fieldType == "list":
                         attrValue = self.__StrToList(value)
+                        if type(attrValue) not in [list, tuple]:
+                            raise
                     elif fieldType == "eval":
                         attrValue = self.__StrToEval(value)
                     elif fieldType == "float":
@@ -2797,6 +3387,20 @@
         self.CheckLoadData("CreateRoleLimitServer")
         return self.ipyCreateRoleLimitServerCache[index]
 
+    def GetPlayerFaceCount(self):
+        self.CheckLoadData("PlayerFace")
+        return self.ipyPlayerFaceLen
+    def GetPlayerFaceByIndex(self, index):
+        self.CheckLoadData("PlayerFace")
+        return self.ipyPlayerFaceCache[index]
+
+    def GetPlayerFacePicCount(self):
+        self.CheckLoadData("PlayerFacePic")
+        return self.ipyPlayerFacePicLen
+    def GetPlayerFacePicByIndex(self, index):
+        self.CheckLoadData("PlayerFacePic")
+        return self.ipyPlayerFacePicCache[index]
+
     def GetWorldLVCount(self):
         self.CheckLoadData("WorldLV")
         return self.ipyWorldLVLen
@@ -2810,6 +3414,27 @@
     def GetFamilyByIndex(self, index):
         self.CheckLoadData("Family")
         return self.ipyFamilyCache[index]
+
+    def GetFamilyEmblemCount(self):
+        self.CheckLoadData("FamilyEmblem")
+        return self.ipyFamilyEmblemLen
+    def GetFamilyEmblemByIndex(self, index):
+        self.CheckLoadData("FamilyEmblem")
+        return self.ipyFamilyEmblemCache[index]
+
+    def GetFamilyZhenbaogeCutCount(self):
+        self.CheckLoadData("FamilyZhenbaogeCut")
+        return self.ipyFamilyZhenbaogeCutLen
+    def GetFamilyZhenbaogeCutByIndex(self, index):
+        self.CheckLoadData("FamilyZhenbaogeCut")
+        return self.ipyFamilyZhenbaogeCutCache[index]
+
+    def GetFamilyZhenbaogeItemCount(self):
+        self.CheckLoadData("FamilyZhenbaogeItem")
+        return self.ipyFamilyZhenbaogeItemLen
+    def GetFamilyZhenbaogeItemByIndex(self, index):
+        self.CheckLoadData("FamilyZhenbaogeItem")
+        return self.ipyFamilyZhenbaogeItemCache[index]
 
     def GetFamilyBossHurtAwardCount(self):
         self.CheckLoadData("FamilyBossHurtAward")
@@ -2915,6 +3540,13 @@
     def GetFBHelpBattleByIndex(self, index):
         self.CheckLoadData("FBHelpBattle")
         return self.ipyFBHelpBattleCache[index]
+
+    def GetFuncTeamSetCount(self):
+        self.CheckLoadData("FuncTeamSet")
+        return self.ipyFuncTeamSetLen
+    def GetFuncTeamSetByIndex(self, index):
+        self.CheckLoadData("FuncTeamSet")
+        return self.ipyFuncTeamSetCache[index]
 
     def GetChinMapCount(self):
         self.CheckLoadData("ChinMap")
@@ -3056,6 +3688,13 @@
         self.CheckLoadData("ActBuyOne")
         return self.ipyActBuyOneCache[index]
 
+    def GetActFamilyCTGAssistCount(self):
+        self.CheckLoadData("ActFamilyCTGAssist")
+        return self.ipyActFamilyCTGAssistLen
+    def GetActFamilyCTGAssistByIndex(self, index):
+        self.CheckLoadData("ActFamilyCTGAssist")
+        return self.ipyActFamilyCTGAssistCache[index]
+
     def GetActCollectWordsCount(self):
         self.CheckLoadData("ActCollectWords")
         return self.ipyActCollectWordsLen
@@ -3084,12 +3723,89 @@
         self.CheckLoadData("ActBossTrialTemplate")
         return self.ipyActBossTrialTemplateCache[index]
 
+    def GetCrossActBossTrialCount(self):
+        self.CheckLoadData("CrossActBossTrial")
+        return self.ipyCrossActBossTrialLen
+    def GetCrossActBossTrialByIndex(self, index):
+        self.CheckLoadData("CrossActBossTrial")
+        return self.ipyCrossActBossTrialCache[index]
+
+    def GetActHorsePetTrainCount(self):
+        self.CheckLoadData("ActHorsePetTrain")
+        return self.ipyActHorsePetTrainLen
+    def GetActHorsePetTrainByIndex(self, index):
+        self.CheckLoadData("ActHorsePetTrain")
+        return self.ipyActHorsePetTrainCache[index]
+
+    def GetCrossActHorsePetTrainCount(self):
+        self.CheckLoadData("CrossActHorsePetTrain")
+        return self.ipyCrossActHorsePetTrainLen
+    def GetCrossActHorsePetTrainByIndex(self, index):
+        self.CheckLoadData("CrossActHorsePetTrain")
+        return self.ipyCrossActHorsePetTrainCache[index]
+
+    def GetActHorsePetTrainBillTempCount(self):
+        self.CheckLoadData("ActHorsePetTrainBillTemp")
+        return self.ipyActHorsePetTrainBillTempLen
+    def GetActHorsePetTrainBillTempByIndex(self, index):
+        self.CheckLoadData("ActHorsePetTrainBillTemp")
+        return self.ipyActHorsePetTrainBillTempCache[index]
+
+    def GetActGubaoCount(self):
+        self.CheckLoadData("ActGubao")
+        return self.ipyActGubaoLen
+    def GetActGubaoByIndex(self, index):
+        self.CheckLoadData("ActGubao")
+        return self.ipyActGubaoCache[index]
+
+    def GetCrossActGubaoCount(self):
+        self.CheckLoadData("CrossActGubao")
+        return self.ipyCrossActGubaoLen
+    def GetCrossActGubaoByIndex(self, index):
+        self.CheckLoadData("CrossActGubao")
+        return self.ipyCrossActGubaoCache[index]
+
+    def GetActGubaoBillTempCount(self):
+        self.CheckLoadData("ActGubaoBillTemp")
+        return self.ipyActGubaoBillTempLen
+    def GetActGubaoBillTempByIndex(self, index):
+        self.CheckLoadData("ActGubaoBillTemp")
+        return self.ipyActGubaoBillTempCache[index]
+
+    def GetCrossActLianqiCount(self):
+        self.CheckLoadData("CrossActLianqi")
+        return self.ipyCrossActLianqiLen
+    def GetCrossActLianqiByIndex(self, index):
+        self.CheckLoadData("CrossActLianqi")
+        return self.ipyCrossActLianqiCache[index]
+
+    def GetActLianqiBillTempCount(self):
+        self.CheckLoadData("ActLianqiBillTemp")
+        return self.ipyActLianqiBillTempLen
+    def GetActLianqiBillTempByIndex(self, index):
+        self.CheckLoadData("ActLianqiBillTemp")
+        return self.ipyActLianqiBillTempCache[index]
+
     def GetActXianXiaMJCount(self):
         self.CheckLoadData("ActXianXiaMJ")
         return self.ipyActXianXiaMJLen
     def GetActXianXiaMJByIndex(self, index):
         self.CheckLoadData("ActXianXiaMJ")
         return self.ipyActXianXiaMJCache[index]
+
+    def GetCrossActXianXiaMJCount(self):
+        self.CheckLoadData("CrossActXianXiaMJ")
+        return self.ipyCrossActXianXiaMJLen
+    def GetCrossActXianXiaMJByIndex(self, index):
+        self.CheckLoadData("CrossActXianXiaMJ")
+        return self.ipyCrossActXianXiaMJCache[index]
+
+    def GetActXianXiaMJBillTempCount(self):
+        self.CheckLoadData("ActXianXiaMJBillTemp")
+        return self.ipyActXianXiaMJBillTempLen
+    def GetActXianXiaMJBillTempByIndex(self, index):
+        self.CheckLoadData("ActXianXiaMJBillTemp")
+        return self.ipyActXianXiaMJBillTempCache[index]
 
     def GetActGodGiftCount(self):
         self.CheckLoadData("ActGodGift")
@@ -3210,6 +3926,13 @@
         self.CheckLoadData("CrossZoneComm")
         return self.ipyCrossZoneCommCache[index]
 
+    def GetCrossZoneBattlefieldCount(self):
+        self.CheckLoadData("CrossZoneBattlefield")
+        return self.ipyCrossZoneBattlefieldLen
+    def GetCrossZoneBattlefieldByIndex(self, index):
+        self.CheckLoadData("CrossZoneBattlefield")
+        return self.ipyCrossZoneBattlefieldCache[index]
+
     def GetCrossZonePKCount(self):
         self.CheckLoadData("CrossZonePK")
         return self.ipyCrossZonePKLen
@@ -3279,6 +4002,20 @@
     def GetActWeekPartyByIndex(self, index):
         self.CheckLoadData("ActWeekParty")
         return self.ipyActWeekPartyCache[index]
+
+    def GetActYunshiCount(self):
+        self.CheckLoadData("ActYunshi")
+        return self.ipyActYunshiLen
+    def GetActYunshiByIndex(self, index):
+        self.CheckLoadData("ActYunshi")
+        return self.ipyActYunshiCache[index]
+
+    def GetActLunhuidianCount(self):
+        self.CheckLoadData("ActLunhuidian")
+        return self.ipyActLunhuidianLen
+    def GetActLunhuidianByIndex(self, index):
+        self.CheckLoadData("ActLunhuidian")
+        return self.ipyActLunhuidianCache[index]
 
     def GetActBuyCountGiftCount(self):
         self.CheckLoadData("ActBuyCountGift")
@@ -3420,6 +4157,20 @@
         self.CheckLoadData("AssistThanksGift")
         return self.ipyAssistThanksGiftCache[index]
 
+    def GetWorshipCount(self):
+        self.CheckLoadData("Worship")
+        return self.ipyWorshipLen
+    def GetWorshipByIndex(self, index):
+        self.CheckLoadData("Worship")
+        return self.ipyWorshipCache[index]
+
+    def GetXiangongCount(self):
+        self.CheckLoadData("Xiangong")
+        return self.ipyXiangongLen
+    def GetXiangongByIndex(self, index):
+        self.CheckLoadData("Xiangong")
+        return self.ipyXiangongCache[index]
+
     def GetFairyDomainCount(self):
         self.CheckLoadData("FairyDomain")
         return self.ipyFairyDomainLen

--
Gitblit v1.8.0