From 6cc90041d8b5ecbda9bcde0754ecb7a735a12950 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 19 三月 2024 19:24:32 +0800
Subject: [PATCH] 10138 内存分析(优化py自定配置表数据内存占用及加载方式)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 7875 ++++++++++++++++++++++++++++-------------------------------
 1 files changed, 3,776 insertions(+), 4,099 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index ea5020b..818f854 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -2289,4731 +2289,3392 @@
 class IPY_Dienstgrad():
     
     def __init__(self):
-        self.ID = 0
-        self.Type = 0
-        self.ExpireTime = 0
-        self.LightType = []
-        self.LightAttribute = []
-        self.Skills = []
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # 头衔id
-    def GetType(self): return self.Type # 头衔类型
-    def GetExpireTime(self): return self.ExpireTime # 有效时间
-    def GetLightType(self): return self.LightType # 点亮属性类型
-    def GetLightAttribute(self): return self.LightAttribute # 点亮属性值
-    def GetSkills(self): return self.Skills # 被动技能
+    def GetID(self): return self.attrTuple[0] # 头衔id
+    def GetType(self): return self.attrTuple[1] # 头衔类型
+    def GetExpireTime(self): return self.attrTuple[2] # 有效时间
+    def GetLightType(self): return self.attrTuple[3] # 点亮属性类型
+    def GetLightAttribute(self): return self.attrTuple[4] # 点亮属性值
+    def GetSkills(self): return self.attrTuple[5] # 被动技能
 
 # 称号升星表
 class IPY_TitleStarUp():
     
     def __init__(self):
-        self.TitleID = 0
-        self.TitleStar = 0
-        self.StarUpNeedItemList = []
-        self.StarAttrType = []
-        self.StarAttrValue = []
+        self.attrTuple = None
         return
         
-    def GetTitleID(self): return self.TitleID # 称号NPCID
-    def GetTitleStar(self): return self.TitleStar # 称号星级
-    def GetStarUpNeedItemList(self): return self.StarUpNeedItemList # 升下一星所需道具 [[物品ID,个数], ...]
-    def GetStarAttrType(self): return self.StarAttrType # 累计总属性类型
-    def GetStarAttrValue(self): return self.StarAttrValue # 累计总属性值
+    def GetTitleID(self): return self.attrTuple[0] # 称号NPCID
+    def GetTitleStar(self): return self.attrTuple[1] # 称号星级
+    def GetStarUpNeedItemList(self): return self.attrTuple[2] # 升下一星所需道具 [[物品ID,个数], ...]
+    def GetStarAttrType(self): return self.attrTuple[3] # 累计总属性类型
+    def GetStarAttrValue(self): return self.attrTuple[4] # 累计总属性值
 
 # 创角表
 class IPY_CreateRole():
     
     def __init__(self):
-        self.RoleType = 0
-        self.BaseAttrIDList = []
-        self.BaseAttrValueList = []
-        self.CreateRoleMap = []
+        self.attrTuple = None
         return
         
-    def GetRoleType(self): return self.RoleType #  角色
-    def GetBaseAttrIDList(self): return self.BaseAttrIDList #  角色基础属性ID
-    def GetBaseAttrValueList(self): return self.BaseAttrValueList #  角色基础属性值
-    def GetCreateRoleMap(self): return self.CreateRoleMap #  创角地图坐标信息 [dataMapID,posX,posY]
+    def GetRoleType(self): return self.attrTuple[0] #  角色
+    def GetBaseAttrIDList(self): return self.attrTuple[1] #  角色基础属性ID
+    def GetBaseAttrValueList(self): return self.attrTuple[2] #  角色基础属性值
+    def GetCreateRoleMap(self): return self.attrTuple[3] #  创角地图坐标信息 [dataMapID,posX,posY]
 
 # 灵根表
 class IPY_RolePoint():
     
     def __init__(self):
-        self.AttrID = 0
-        self.AddAttrInfoPerPoint = {}
-        self.FightPowerPerPoint = 0
-        self.PointQualityAttrDict = {}
-        self.PointQualityIntervalList = []
+        self.attrTuple = None
         return
         
-    def GetAttrID(self): return self.AttrID # 属性ID
-    def GetAddAttrInfoPerPoint(self): return self.AddAttrInfoPerPoint # 每点增加属性信息 {"职业":[[每X点,属性ID,值], ...], ..}
-    def GetFightPowerPerPoint(self): return self.FightPowerPerPoint # 每点附加战斗力
-    def GetPointQualityAttrDict(self): return self.PointQualityAttrDict # 点数品质进阶增加属性,  {职业:{属性ID:[阶段属性,..],..},..}
-    def GetPointQualityIntervalList(self): return self.PointQualityIntervalList # 点数品质进阶属性点区间列表
+    def GetAttrID(self): return self.attrTuple[0] # 属性ID
+    def GetAddAttrInfoPerPoint(self): return self.attrTuple[1] # 每点增加属性信息 {"职业":[[每X点,属性ID,值], ...], ..}
+    def GetFightPowerPerPoint(self): return self.attrTuple[2] # 每点附加战斗力
+    def GetPointQualityAttrDict(self): return self.attrTuple[3] # 点数品质进阶增加属性,  {职业:{属性ID:[阶段属性,..],..},..}
+    def GetPointQualityIntervalList(self): return self.attrTuple[4] # 点数品质进阶属性点区间列表
 
 # 灵器属性表
 class IPY_LingQiAttr():
     
     def __init__(self):
-        self.ItemID = 0
-        self.LingQiAttrID = []
-        self.LingQiAttrValue = []
-        self.LingQiAttrScore = 0
-        self.UpCostItem = {}
-        self.NextItemID = 0
+        self.attrTuple = None
         return
         
-    def GetItemID(self): return self.ItemID # 属性ID
-    def GetLingQiAttrID(self): return self.LingQiAttrID # 灵器属性ID
-    def GetLingQiAttrValue(self): return self.LingQiAttrValue # 灵器属性数值
-    def GetLingQiAttrScore(self): return self.LingQiAttrScore # 灵器属性评分
-    def GetUpCostItem(self): return self.UpCostItem # 突破需要材料
-    def GetNextItemID(self): return self.NextItemID # 突破后物品ID
+    def GetItemID(self): return self.attrTuple[0] # 属性ID
+    def GetLingQiAttrID(self): return self.attrTuple[1] # 灵器属性ID
+    def GetLingQiAttrValue(self): return self.attrTuple[2] # 灵器属性数值
+    def GetLingQiAttrScore(self): return self.attrTuple[3] # 灵器属性评分
+    def GetUpCostItem(self): return self.attrTuple[4] # 突破需要材料
+    def GetNextItemID(self): return self.attrTuple[5] # 突破后物品ID
 
 # 灵器培养表
 class IPY_LingQiTrain():
     
     def __init__(self):
-        self.EquipPlace = 0
-        self.TrainType = 0
-        self.TrainLV = 0
-        self.NeedRealmLV = 0
-        self.EatCntTotal = 0
-        self.EatCntEverytime = 0
-        self.EatItemAttrTypeList = []
-        self.EatItemAttrValueList = []
-        self.LVAttrTypeList = []
-        self.LVAttrValueList = []
+        self.attrTuple = None
         return
         
-    def GetEquipPlace(self): return self.EquipPlace # 灵器装备位
-    def GetTrainType(self): return self.TrainType # 培养类型
-    def GetTrainLV(self): return self.TrainLV # 培养等阶
-    def GetNeedRealmLV(self): return self.NeedRealmLV # 培养所需境界
-    def GetEatCntTotal(self): return self.EatCntTotal # 升阶所需个数(非累计)
-    def GetEatCntEverytime(self): return self.EatCntEverytime # 每次培养消耗x个
-    def GetEatItemAttrTypeList(self): return self.EatItemAttrTypeList # 每X个培养丹增加属性类型=EatCntEverytime
-    def GetEatItemAttrValueList(self): return self.EatItemAttrValueList # 每X个培养丹增加属性值=EatCntEverytime
-    def GetLVAttrTypeList(self): return self.LVAttrTypeList # 每级额外属性类(非累积)
-    def GetLVAttrValueList(self): return self.LVAttrValueList # 每级额外属性值(非累积)
+    def GetEquipPlace(self): return self.attrTuple[0] # 灵器装备位
+    def GetTrainType(self): return self.attrTuple[1] # 培养类型
+    def GetTrainLV(self): return self.attrTuple[2] # 培养等阶
+    def GetNeedRealmLV(self): return self.attrTuple[3] # 培养所需境界
+    def GetEatCntTotal(self): return self.attrTuple[4] # 升阶所需个数(非累计)
+    def GetEatCntEverytime(self): return self.attrTuple[5] # 每次培养消耗x个
+    def GetEatItemAttrTypeList(self): return self.attrTuple[6] # 每X个培养丹增加属性类型=EatCntEverytime
+    def GetEatItemAttrValueList(self): return self.attrTuple[7] # 每X个培养丹增加属性值=EatCntEverytime
+    def GetLVAttrTypeList(self): return self.attrTuple[8] # 每级额外属性类(非累积)
+    def GetLVAttrValueList(self): return self.attrTuple[9] # 每级额外属性值(非累积)
 
 # 任务表
 class IPY_Task():
     
     def __init__(self):
-        self.TaskID = 0
-        self.TaskType = 0
-        self.TaskConds = []
-        self.NeedValue = 0
-        self.AwardItemList = []
+        self.attrTuple = None
         return
         
-    def GetTaskID(self): return self.TaskID # 任务ID
-    def GetTaskType(self): return self.TaskType # 任务类型
-    def GetTaskConds(self): return self.TaskConds # 任务条件[...]
-    def GetNeedValue(self): return self.NeedValue # 所需任务值
-    def GetAwardItemList(self): return self.AwardItemList # 奖励物品列表 [[物品ID,个数,是否拍品], ...]
+    def GetTaskID(self): return self.attrTuple[0] # 任务ID
+    def GetTaskType(self): return self.attrTuple[1] # 任务类型
+    def GetTaskConds(self): return self.attrTuple[2] # 任务条件[...]
+    def GetNeedValue(self): return self.attrTuple[3] # 所需任务值
+    def GetAwardItemList(self): return self.attrTuple[4] # 奖励物品列表 [[物品ID,个数,是否拍品], ...]
 
 # 境界修仙之路
 class IPY_RealmXXZL():
     
     def __init__(self):
-        self.TaskID = 0
-        self.TaskType = 0
-        self.NeedValue = 0
-        self.AwardItemList = []
+        self.attrTuple = None
         return
         
-    def GetTaskID(self): return self.TaskID # 任务ID
-    def GetTaskType(self): return self.TaskType # 任务类型
-    def GetNeedValue(self): return self.NeedValue # 所需任务值
-    def GetAwardItemList(self): return self.AwardItemList # 奖励物品列表 [[物品ID,个数,是否拍品], ...]
+    def GetTaskID(self): return self.attrTuple[0] # 任务ID
+    def GetTaskType(self): return self.attrTuple[1] # 任务类型
+    def GetNeedValue(self): return self.attrTuple[2] # 所需任务值
+    def GetAwardItemList(self): return self.attrTuple[3] # 奖励物品列表 [[物品ID,个数,是否拍品], ...]
 
 # 境界表
 class IPY_Realm():
     
     def __init__(self):
-        self.Lv = 0
-        self.LvLarge = 0
-        self.NeedLV = 0
-        self.LVAwardItem = []
-        self.NeedPassMap = []
-        self.PassMapAwardItem = []
-        self.NeedTreeLV = 0
-        self.TreeLVAwardItem = []
-        self.NeedCutTreeCnt = 0
-        self.CutTreeAwardItem = []
-        self.AddAttrType = []
-        self.AddAttrNum = []
-        self.BossID = 0
-        self.BuffID = 0
-        self.ExpRate = 0
-        self.ExpLimit = 0
-        self.LearnSkillIDInfo = {}
-        self.AddFreePoint = 0
+        self.attrTuple = None
         return
         
-    def GetLv(self): return self.Lv # 境界等级
-    def GetLvLarge(self): return self.LvLarge # 大境界
-    def GetNeedLV(self): return self.NeedLV # 需要等级
-    def GetLVAwardItem(self): return self.LVAwardItem # 等级奖励物品|个数
-    def GetNeedPassMap(self): return self.NeedPassMap # 所需过关地图|关卡线路
-    def GetPassMapAwardItem(self): return self.PassMapAwardItem # 过关地图奖励物品|个数
-    def GetNeedTreeLV(self): return self.NeedTreeLV # 需要仙树等级
-    def GetTreeLVAwardItem(self): return self.TreeLVAwardItem # 仙树等级奖励物品|个数
-    def GetNeedCutTreeCnt(self): return self.NeedCutTreeCnt # 所需砍树次数
-    def GetCutTreeAwardItem(self): return self.CutTreeAwardItem # 砍树次数奖励物品|个数
-    def GetAddAttrType(self): return self.AddAttrType # 境界加成属性类型
-    def GetAddAttrNum(self): return self.AddAttrNum # 境界加成属性值
-    def GetBossID(self): return self.BossID # 渡劫bossid
-    def GetBuffID(self): return self.BuffID # 给全服在线玩家增加buff
-    def GetExpRate(self): return self.ExpRate # 修为池经验速率
-    def GetExpLimit(self): return self.ExpLimit # 修为池经验上限
-    def GetLearnSkillIDInfo(self): return self.LearnSkillIDInfo # 学习技能ID信息 {"职业":[技能ID, ...], ...}
-    def GetAddFreePoint(self): return self.AddFreePoint # 增加自由属性点
+    def GetLv(self): return self.attrTuple[0] # 境界等级
+    def GetLvLarge(self): return self.attrTuple[1] # 大境界
+    def GetNeedLV(self): return self.attrTuple[2] # 需要等级
+    def GetLVAwardItem(self): return self.attrTuple[3] # 等级奖励物品|个数
+    def GetNeedPassMap(self): return self.attrTuple[4] # 所需过关地图|关卡线路
+    def GetPassMapAwardItem(self): return self.attrTuple[5] # 过关地图奖励物品|个数
+    def GetNeedTreeLV(self): return self.attrTuple[6] # 需要仙树等级
+    def GetTreeLVAwardItem(self): return self.attrTuple[7] # 仙树等级奖励物品|个数
+    def GetNeedCutTreeCnt(self): return self.attrTuple[8] # 所需砍树次数
+    def GetCutTreeAwardItem(self): return self.attrTuple[9] # 砍树次数奖励物品|个数
+    def GetAddAttrType(self): return self.attrTuple[10] # 境界加成属性类型
+    def GetAddAttrNum(self): return self.attrTuple[11] # 境界加成属性值
+    def GetBossID(self): return self.attrTuple[12] # 渡劫bossid
+    def GetBuffID(self): return self.attrTuple[13] # 给全服在线玩家增加buff
+    def GetExpRate(self): return self.attrTuple[14] # 修为池经验速率
+    def GetExpLimit(self): return self.attrTuple[15] # 修为池经验上限
+    def GetLearnSkillIDInfo(self): return self.attrTuple[16] # 学习技能ID信息 {"职业":[技能ID, ...], ...}
+    def GetAddFreePoint(self): return self.attrTuple[17] # 增加自由属性点
 
 # 境界塔表
 class IPY_RealmTower():
     
     def __init__(self):
-        self.FloorID = 0
-        self.NeedRealmLV = 0
-        self.BossID = 0
-        self.RewardItemList = []
+        self.attrTuple = None
         return
         
-    def GetFloorID(self): return self.FloorID # 层
-    def GetNeedRealmLV(self): return self.NeedRealmLV # 所需境界
-    def GetBossID(self): return self.BossID # BossID
-    def GetRewardItemList(self): return self.RewardItemList # 奖励物品列表
+    def GetFloorID(self): return self.attrTuple[0] # 层
+    def GetNeedRealmLV(self): return self.attrTuple[1] # 所需境界
+    def GetBossID(self): return self.attrTuple[2] # BossID
+    def GetRewardItemList(self): return self.attrTuple[3] # 奖励物品列表
 
 # 境界炼体属性表
 class IPY_LianTi():
     
     def __init__(self):
-        self.LianTiLV = 0
-        self.FixedAttrType = []
-        self.FixedAttrValue = []
-        self.PlusAttrType = []
-        self.PlusAttrRate = []
-        self.EatItemAttrType = []
-        self.EatItemAttrValue = []
-        self.NeedEatCount = 0
-        self.EatPerCount = 0
-        self.LVUpCostItemInfo = []
-        self.ActivateSkillID = 0
+        self.attrTuple = None
         return
         
-    def GetLianTiLV(self): return self.LianTiLV # 炼体等级
-    def GetFixedAttrType(self): return self.FixedAttrType # 固定属性类型(非累积)
-    def GetFixedAttrValue(self): return self.FixedAttrValue # 固定属性值(非累积)
-    def GetPlusAttrType(self): return self.PlusAttrType # 增强属性类型(非累积)
-    def GetPlusAttrRate(self): return self.PlusAttrRate # 增强属性万分率(非累积)
-    def GetEatItemAttrType(self): return self.EatItemAttrType # 每x个培养丹增加属性类型,x=UpEatItemPerCount
-    def GetEatItemAttrValue(self): return self.EatItemAttrValue # 每x个培养丹增加属性值,x=UpEatItemPerCount
-    def GetNeedEatCount(self): return self.NeedEatCount # 升级所需个数(非累计)
-    def GetEatPerCount(self): return self.EatPerCount # 每次培养消耗x个
-    def GetLVUpCostItemInfo(self): return self.LVUpCostItemInfo # 突破等级道具ID|个数
-    def GetActivateSkillID(self): return self.ActivateSkillID # 激活技能ID
+    def GetLianTiLV(self): return self.attrTuple[0] # 炼体等级
+    def GetFixedAttrType(self): return self.attrTuple[1] # 固定属性类型(非累积)
+    def GetFixedAttrValue(self): return self.attrTuple[2] # 固定属性值(非累积)
+    def GetPlusAttrType(self): return self.attrTuple[3] # 增强属性类型(非累积)
+    def GetPlusAttrRate(self): return self.attrTuple[4] # 增强属性万分率(非累积)
+    def GetEatItemAttrType(self): return self.attrTuple[5] # 每x个培养丹增加属性类型,x=UpEatItemPerCount
+    def GetEatItemAttrValue(self): return self.attrTuple[6] # 每x个培养丹增加属性值,x=UpEatItemPerCount
+    def GetNeedEatCount(self): return self.attrTuple[7] # 升级所需个数(非累计)
+    def GetEatPerCount(self): return self.attrTuple[8] # 每次培养消耗x个
+    def GetLVUpCostItemInfo(self): return self.attrTuple[9] # 突破等级道具ID|个数
+    def GetActivateSkillID(self): return self.attrTuple[10] # 激活技能ID
 
 # 神兵表
 class IPY_GodWeapon():
     
     def __init__(self):
-        self.Type = 0
-        self.LV = 0
-        self.Exp = 0
-        self.AttrType = []
-        self.AttrNum = []
-        self.SkillID = 0
-        self.SysMark = ""
+        self.attrTuple = None
         return
         
-    def GetType(self): return self.Type # 神兵类型
-    def GetLV(self): return self.LV # 等级
-    def GetExp(self): return self.Exp
-    def GetAttrType(self): return self.AttrType # 属性类型
-    def GetAttrNum(self): return self.AttrNum # 属性值
-    def GetSkillID(self): return self.SkillID # 激活技能ID
-    def GetSysMark(self): return self.SysMark # 系统提示
+    def GetType(self): return self.attrTuple[0] # 神兵类型
+    def GetLV(self): return self.attrTuple[1] # 等级
+    def GetExp(self): return self.attrTuple[2]
+    def GetAttrType(self): return self.attrTuple[3] # 属性类型
+    def GetAttrNum(self): return self.attrTuple[4] # 属性值
+    def GetSkillID(self): return self.attrTuple[5] # 激活技能ID
+    def GetSysMark(self): return self.attrTuple[6] # 系统提示
 
 # 功能配置表格
 class IPY_FuncConfig():
     
     def __init__(self):
-        self.Key = ""
-        self.Numerical1 = ""
-        self.Numerical2 = ""
-        self.Numerical3 = ""
-        self.Numerical4 = ""
-        self.Numerical5 = ""
+        self.attrTuple = None
         return
         
-    def GetKey(self): return self.Key # 标识
-    def GetNumerical1(self): return self.Numerical1 # 数据1
-    def GetNumerical2(self): return self.Numerical2 # 数据2
-    def GetNumerical3(self): return self.Numerical3 # 数据3
-    def GetNumerical4(self): return self.Numerical4 # 数据4
-    def GetNumerical5(self): return self.Numerical5 # 数据5
+    def GetKey(self): return self.attrTuple[0] # 标识
+    def GetNumerical1(self): return self.attrTuple[1] # 数据1
+    def GetNumerical2(self): return self.attrTuple[2] # 数据2
+    def GetNumerical3(self): return self.attrTuple[3] # 数据3
+    def GetNumerical4(self): return self.attrTuple[4] # 数据4
+    def GetNumerical5(self): return self.attrTuple[5] # 数据5
 
 # 等级开启功能
 class IPY_FuncOpenLV():
     
     def __init__(self):
-        self.FuncId = 0
-        self.LimitLV = 0
-        self.LimitMagicWeapon = 0
-        self.LimiRealmLV = 0
-        self.LimitMissionID = 0
-        self.LimitVIPLV = 0
-        self.MailKey = ""
+        self.attrTuple = None
         return
         
-    def GetFuncId(self): return self.FuncId # 功能标识
-    def GetLimitLV(self): return self.LimitLV # 开启等级
-    def GetLimitMagicWeapon(self): return self.LimitMagicWeapon # 需要解锁法宝ID
-    def GetLimiRealmLV(self): return self.LimiRealmLV # 需要境界等级
-    def GetLimitMissionID(self): return self.LimitMissionID # 需要完成的任务ID
-    def GetLimitVIPLV(self): return self.LimitVIPLV # 需要VIP等级
-    def GetMailKey(self): return self.MailKey # 邮件
+    def GetFuncId(self): return self.attrTuple[0] # 功能标识
+    def GetLimitLV(self): return self.attrTuple[1] # 开启等级
+    def GetLimitMagicWeapon(self): return self.attrTuple[2] # 需要解锁法宝ID
+    def GetLimiRealmLV(self): return self.attrTuple[3] # 需要境界等级
+    def GetLimitMissionID(self): return self.attrTuple[4] # 需要完成的任务ID
+    def GetLimitVIPLV(self): return self.attrTuple[5] # 需要VIP等级
+    def GetMailKey(self): return self.attrTuple[6] # 邮件
 
 # 合成表
 class IPY_ItemCompound():
     
     def __init__(self):
-        self.ID = 0
-        self.ComposeGroup = 0
-        self.MakeID = []
-        self.IsFirstSuccMakeJobItem = 0
-        self.UnfixedItemID = []
-        self.UnfixedItemCount = 0
-        self.FixedItemID = []
-        self.FixedItemCount = []
-        self.NeedMoney = 0
-        self.SuccessRate = 0
-        self.SuccessRateMax = 0
-        self.SuccessRateIncrease = []
-        self.AddonsCountMax = 0
-        self.SysMark = ""
-        self.SysMarkParamType = 0
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # 合成配置编号ID
-    def GetComposeGroup(self): return self.ComposeGroup # 合成归组类型
-    def GetMakeID(self): return self.MakeID # 可合成的道具ID,多个则随机一个
-    def GetIsFirstSuccMakeJobItem(self): return self.IsFirstSuccMakeJobItem # 首次成功是否必出本职业
-    def GetUnfixedItemID(self): return self.UnfixedItemID # 不固定道具ID, 多个ID时则任意一种均可
-    def GetUnfixedItemCount(self): return self.UnfixedItemCount # 不固定道具消耗数量
-    def GetFixedItemID(self): return self.FixedItemID # 消耗固定道具ID, 多个ID时代表每个ID均需消耗
-    def GetFixedItemCount(self): return self.FixedItemCount # 消耗固定道具数量,每个ID对应数量
-    def GetNeedMoney(self): return self.NeedMoney #  消耗铜钱
-    def GetSuccessRate(self): return self.SuccessRate #  成功率万分率
-    def GetSuccessRateMax(self): return self.SuccessRateMax #  最大成功率万分率
-    def GetSuccessRateIncrease(self): return self.SuccessRateIncrease # 提高成功率道具, 道具ID|个数|提高的概率
-    def GetAddonsCountMax(self): return self.AddonsCountMax # 最大可附加材料数, 增加概率用, 非必须, 0代表不可附加材料
-    def GetSysMark(self): return self.SysMark # 提示mark
-    def GetSysMarkParamType(self): return self.SysMarkParamType # 系统提示参数组合类型
+    def GetID(self): return self.attrTuple[0] # 合成配置编号ID
+    def GetComposeGroup(self): return self.attrTuple[1] # 合成归组类型
+    def GetMakeID(self): return self.attrTuple[2] # 可合成的道具ID,多个则随机一个
+    def GetIsFirstSuccMakeJobItem(self): return self.attrTuple[3] # 首次成功是否必出本职业
+    def GetUnfixedItemID(self): return self.attrTuple[4] # 不固定道具ID, 多个ID时则任意一种均可
+    def GetUnfixedItemCount(self): return self.attrTuple[5] # 不固定道具消耗数量
+    def GetFixedItemID(self): return self.attrTuple[6] # 消耗固定道具ID, 多个ID时代表每个ID均需消耗
+    def GetFixedItemCount(self): return self.attrTuple[7] # 消耗固定道具数量,每个ID对应数量
+    def GetNeedMoney(self): return self.attrTuple[8] #  消耗铜钱
+    def GetSuccessRate(self): return self.attrTuple[9] #  成功率万分率
+    def GetSuccessRateMax(self): return self.attrTuple[10] #  最大成功率万分率
+    def GetSuccessRateIncrease(self): return self.attrTuple[11] # 提高成功率道具, 道具ID|个数|提高的概率
+    def GetAddonsCountMax(self): return self.attrTuple[12] # 最大可附加材料数, 增加概率用, 非必须, 0代表不可附加材料
+    def GetSysMark(self): return self.attrTuple[13] # 提示mark
+    def GetSysMarkParamType(self): return self.attrTuple[14] # 系统提示参数组合类型
 
 # 物品强化效果表
 class IPY_ItemPlus():
     
     def __init__(self):
-        self.Type = 0
-        self.LV = 0
-        self.AttrType = []
-        self.AttrValue = []
-        self.CostCount = 0
-        self.CostItemInfo = []
-        self.AddExp = 0
-        self.TotalExp = 0
+        self.attrTuple = None
         return
         
-    def GetType(self): return self.Type # 强化类型
-    def GetLV(self): return self.LV # 强化等级
-    def GetAttrType(self): return self.AttrType # 属性类型
-    def GetAttrValue(self): return self.AttrValue # 属性值
-    def GetCostCount(self): return self.CostCount # 消耗铜钱
-    def GetCostItemInfo(self): return self.CostItemInfo # 消耗物品材料及个数 [itemID, itemCount]
-    def GetAddExp(self): return self.AddExp # 提升熟练度值
-    def GetTotalExp(self): return self.TotalExp # 升级所需熟练度总值
+    def GetType(self): return self.attrTuple[0] # 强化类型
+    def GetLV(self): return self.attrTuple[1] # 强化等级
+    def GetAttrType(self): return self.attrTuple[2] # 属性类型
+    def GetAttrValue(self): return self.attrTuple[3] # 属性值
+    def GetCostCount(self): return self.attrTuple[4] # 消耗铜钱
+    def GetCostItemInfo(self): return self.attrTuple[5] # 消耗物品材料及个数 [itemID, itemCount]
+    def GetAddExp(self): return self.attrTuple[6] # 提升熟练度值
+    def GetTotalExp(self): return self.attrTuple[7] # 升级所需熟练度总值
 
 # 装备总表
 class IPY_EquipControl():
     
     def __init__(self):
-        self.ClassLV = 0
-        self.NeedRealmLV = 0
+        self.attrTuple = None
         return
         
-    def GetClassLV(self): return self.ClassLV # 阶
-    def GetNeedRealmLV(self): return self.NeedRealmLV # 需要的境界
+    def GetClassLV(self): return self.attrTuple[0] # 阶
+    def GetNeedRealmLV(self): return self.attrTuple[1] # 需要的境界
 
 # 装备强化大师表
 class IPY_ItemPlusMaster():
     
     def __init__(self):
-        self.ClassLV = 0
-        self.MasterPlusLV = 0
-        self.MasterPlusAttrIDList = []
-        self.MasterPlusAttrValueList = []
+        self.attrTuple = None
         return
         
-    def GetClassLV(self): return self.ClassLV # 阶
-    def GetMasterPlusLV(self): return self.MasterPlusLV # 大师强化等级
-    def GetMasterPlusAttrIDList(self): return self.MasterPlusAttrIDList # 激活属性类型列表
-    def GetMasterPlusAttrValueList(self): return self.MasterPlusAttrValueList # 激活属性值列表
+    def GetClassLV(self): return self.attrTuple[0] # 阶
+    def GetMasterPlusLV(self): return self.attrTuple[1] # 大师强化等级
+    def GetMasterPlusAttrIDList(self): return self.attrTuple[2] # 激活属性类型列表
+    def GetMasterPlusAttrValueList(self): return self.attrTuple[3] # 激活属性值列表
 
 # 装备强化等级上限
 class IPY_ItemPlusMax():
     
     def __init__(self):
-        self.Type = 0
-        self.ClassLV = 0
-        self.PlusLVMax = 0
+        self.attrTuple = None
         return
         
-    def GetType(self): return self.Type # 强化类型
-    def GetClassLV(self): return self.ClassLV # 阶
-    def GetPlusLVMax(self): return self.PlusLVMax # 最大强化等级
+    def GetType(self): return self.attrTuple[0] # 强化类型
+    def GetClassLV(self): return self.attrTuple[1] # 阶
+    def GetPlusLVMax(self): return self.attrTuple[2] # 最大强化等级
 
 # 装备全身星数属性
 class IPY_RoleEquipStars():
     
     def __init__(self):
-        self.StarsNeed = 0
-        self.AttrType = []
-        self.AttrValue = []
+        self.attrTuple = None
         return
         
-    def GetStarsNeed(self): return self.StarsNeed # 全身星数
-    def GetAttrType(self): return self.AttrType # 属性类型
-    def GetAttrValue(self): return self.AttrValue # 属性值
+    def GetStarsNeed(self): return self.attrTuple[0] # 全身星数
+    def GetAttrType(self): return self.attrTuple[1] # 属性类型
+    def GetAttrValue(self): return self.attrTuple[2] # 属性值
 
 # 神兽表
 class IPY_Dogz():
     
     def __init__(self):
-        self.DogzID = 0
-        self.BaseAttrTypes = []
-        self.BaseAttrValues = []
-        self.HelpBattleSkills = []
-        self.FightPowerEx = 0
-        self.EquipPlaceColorList = []
-        self.HelpBattleNotify = []
+        self.attrTuple = None
         return
         
-    def GetDogzID(self): return self.DogzID # 神兽ID
-    def GetBaseAttrTypes(self): return self.BaseAttrTypes # 基础属性类型列表
-    def GetBaseAttrValues(self): return self.BaseAttrValues # 基础属性值列表
-    def GetHelpBattleSkills(self): return self.HelpBattleSkills # 助战技能ID列表
-    def GetFightPowerEx(self): return self.FightPowerEx # 助战附加战力
-    def GetEquipPlaceColorList(self): return self.EquipPlaceColorList # 穿戴装备颜色限制
-    def GetHelpBattleNotify(self): return self.HelpBattleNotify # 助战广播 ["广播key",[参数1,参数2,...],广播CD分钟]
+    def GetDogzID(self): return self.attrTuple[0] # 神兽ID
+    def GetBaseAttrTypes(self): return self.attrTuple[1] # 基础属性类型列表
+    def GetBaseAttrValues(self): return self.attrTuple[2] # 基础属性值列表
+    def GetHelpBattleSkills(self): return self.attrTuple[3] # 助战技能ID列表
+    def GetFightPowerEx(self): return self.attrTuple[4] # 助战附加战力
+    def GetEquipPlaceColorList(self): return self.attrTuple[5] # 穿戴装备颜色限制
+    def GetHelpBattleNotify(self): return self.attrTuple[6] # 助战广播 ["广播key",[参数1,参数2,...],广播CD分钟]
 
 # 神兽强化表
 class IPY_DogzEquipPlus():
     
     def __init__(self):
-        self.EquipPlace = 0
-        self.PlusLV = 0
-        self.PlusAttrTypes = []
-        self.PlusAttrValues = []
-        self.PlusLVUPTotalExp = 0
+        self.attrTuple = None
         return
         
-    def GetEquipPlace(self): return self.EquipPlace # 装备位
-    def GetPlusLV(self): return self.PlusLV # 强化等级
-    def GetPlusAttrTypes(self): return self.PlusAttrTypes # 强化属性类型列表
-    def GetPlusAttrValues(self): return self.PlusAttrValues # 强化属性值列表
-    def GetPlusLVUPTotalExp(self): return self.PlusLVUPTotalExp # 升级所需累计熟练度总值
+    def GetEquipPlace(self): return self.attrTuple[0] # 装备位
+    def GetPlusLV(self): return self.attrTuple[1] # 强化等级
+    def GetPlusAttrTypes(self): return self.attrTuple[2] # 强化属性类型列表
+    def GetPlusAttrValues(self): return self.attrTuple[3] # 强化属性值列表
+    def GetPlusLVUPTotalExp(self): return self.attrTuple[4] # 升级所需累计熟练度总值
 
 # 符印表
 class IPY_Rune():
     
     def __init__(self):
-        self.ID = 0
-        self.AttrType = []
-        self.TowerID = 0
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # 编号ID
-    def GetAttrType(self): return self.AttrType # 属性类型
-    def GetTowerID(self): return self.TowerID # 解锁符印塔编号
+    def GetID(self): return self.attrTuple[0] # 编号ID
+    def GetAttrType(self): return self.attrTuple[1] # 属性类型
+    def GetTowerID(self): return self.attrTuple[2] # 解锁符印塔编号
 
 # 洗练表
 class IPY_EquipWash():
     
     def __init__(self):
-        self.WashType = 0
-        self.WashLV = 0
-        self.AttrType1 = 0
-        self.AttrMax1 = 0
-        self.AttrRandDict1 = {}
-        self.AttrCostGoldMin1 = 0
-        self.AttrCostGoldMax1 = 0
-        self.AttrType2 = 0
-        self.AttrMax2 = 0
-        self.AttrRandDict2 = {}
-        self.AttrCostGoldMin2 = 0
-        self.AttrCostGoldMax2 = 0
-        self.AttrType3 = 0
-        self.AttrMax3 = 0
-        self.AttrRandDict3 = {}
-        self.AttrCostGoldMin3 = 0
-        self.AttrCostGoldMax3 = 0
-        self.CostItemID = 0
-        self.CostItemCount = 0
-        self.GoldWashCostList = []
+        self.attrTuple = None
         return
         
-    def GetWashType(self): return self.WashType #  装备归组类型
-    def GetWashLV(self): return self.WashLV #  洗练等级
-    def GetAttrType1(self): return self.AttrType1 #  属性1类型
-    def GetAttrMax1(self): return self.AttrMax1 #  属性1当前等级洗练上限
-    def GetAttrRandDict1(self): return self.AttrRandDict1 #  属性1随机范围
-    def GetAttrCostGoldMin1(self): return self.AttrCostGoldMin1 #  属性1仙玉洗练下限值
-    def GetAttrCostGoldMax1(self): return self.AttrCostGoldMax1 #  属性1仙玉洗练上限值
-    def GetAttrType2(self): return self.AttrType2 #  属性2类型
-    def GetAttrMax2(self): return self.AttrMax2 #  属性2当前等级洗练上限
-    def GetAttrRandDict2(self): return self.AttrRandDict2 #  属性2随机范围
-    def GetAttrCostGoldMin2(self): return self.AttrCostGoldMin2 #  属性2仙玉洗练下限值
-    def GetAttrCostGoldMax2(self): return self.AttrCostGoldMax2 #  属性2仙玉洗练上限值
-    def GetAttrType3(self): return self.AttrType3 #  属性3类型
-    def GetAttrMax3(self): return self.AttrMax3 #  属性3当前等级洗练上限
-    def GetAttrRandDict3(self): return self.AttrRandDict3 #  属性3随机范围
-    def GetAttrCostGoldMin3(self): return self.AttrCostGoldMin3 #  属性3仙玉洗练下限值
-    def GetAttrCostGoldMax3(self): return self.AttrCostGoldMax3 #  属性3仙玉洗练上限值
-    def GetCostItemID(self): return self.CostItemID #  固定消耗物品ID
-    def GetCostItemCount(self): return self.CostItemCount #  固定消耗物品个数
-    def GetGoldWashCostList(self): return self.GoldWashCostList #  仙玉洗练条数对应消耗
+    def GetWashType(self): return self.attrTuple[0] #  装备归组类型
+    def GetWashLV(self): return self.attrTuple[1] #  洗练等级
+    def GetAttrType1(self): return self.attrTuple[2] #  属性1类型
+    def GetAttrMax1(self): return self.attrTuple[3] #  属性1当前等级洗练上限
+    def GetAttrRandDict1(self): return self.attrTuple[4] #  属性1随机范围
+    def GetAttrCostGoldMin1(self): return self.attrTuple[5] #  属性1仙玉洗练下限值
+    def GetAttrCostGoldMax1(self): return self.attrTuple[6] #  属性1仙玉洗练上限值
+    def GetAttrType2(self): return self.attrTuple[7] #  属性2类型
+    def GetAttrMax2(self): return self.attrTuple[8] #  属性2当前等级洗练上限
+    def GetAttrRandDict2(self): return self.attrTuple[9] #  属性2随机范围
+    def GetAttrCostGoldMin2(self): return self.attrTuple[10] #  属性2仙玉洗练下限值
+    def GetAttrCostGoldMax2(self): return self.attrTuple[11] #  属性2仙玉洗练上限值
+    def GetAttrType3(self): return self.attrTuple[12] #  属性3类型
+    def GetAttrMax3(self): return self.attrTuple[13] #  属性3当前等级洗练上限
+    def GetAttrRandDict3(self): return self.attrTuple[14] #  属性3随机范围
+    def GetAttrCostGoldMin3(self): return self.attrTuple[15] #  属性3仙玉洗练下限值
+    def GetAttrCostGoldMax3(self): return self.attrTuple[16] #  属性3仙玉洗练上限值
+    def GetCostItemID(self): return self.attrTuple[17] #  固定消耗物品ID
+    def GetCostItemCount(self): return self.attrTuple[18] #  固定消耗物品个数
+    def GetGoldWashCostList(self): return self.attrTuple[19] #  仙玉洗练条数对应消耗
 
 # 属性果实表
 class IPY_AttrFruit():
     
     def __init__(self):
-        self.ID = 0
-        self.FuncID = 0
-        self.MaxUseCnt = {}
-        self.AddItemInfo = []
-        self.RecycleMoney = 0
-        self.FightPowerEx = 0
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # 物品ID
-    def GetFuncID(self): return self.FuncID # 所属功能ID
-    def GetMaxUseCnt(self): return self.MaxUseCnt # 境界对应最大可使用数量
-    def GetAddItemInfo(self): return self.AddItemInfo # [增幅丹ID,单次物品数量,单次增加上限]
-    def GetRecycleMoney(self): return self.RecycleMoney # 回收货币值
-    def GetFightPowerEx(self): return self.FightPowerEx # 附加战斗力
+    def GetID(self): return self.attrTuple[0] # 物品ID
+    def GetFuncID(self): return self.attrTuple[1] # 所属功能ID
+    def GetMaxUseCnt(self): return self.attrTuple[2] # 境界对应最大可使用数量
+    def GetAddItemInfo(self): return self.attrTuple[3] # [增幅丹ID,单次物品数量,单次增加上限]
+    def GetRecycleMoney(self): return self.attrTuple[4] # 回收货币值
+    def GetFightPowerEx(self): return self.attrTuple[5] # 附加战斗力
 
 # 灵兽表
 class IPY_PetInfo():
     
     def __init__(self):
-        self.ID = 0
-        self.Quality = 0
-        self.UnlockSys = ""
-        self.UnLockNeedItemID = 0
-        self.UnLockNeedItemCnt = 0
-        self.DecomposeExp = 0
-        self.InitRank = 0
-        self.MaxRank = 0
-        self.UseNeedRank = 0
-        self.SkillID = []
-        self.SkillUnLock = []
-        self.SkillUnLockSys = []
-        self.InitFightPower = 0
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # 灵兽NPCID
-    def GetQuality(self): return self.Quality # 品质
-    def GetUnlockSys(self): return self.UnlockSys # 解锁广播提示
-    def GetUnLockNeedItemID(self): return self.UnLockNeedItemID # 解锁灵兽物品ID
-    def GetUnLockNeedItemCnt(self): return self.UnLockNeedItemCnt # 解锁所需物品数量
-    def GetDecomposeExp(self): return self.DecomposeExp # 分解单个解锁物品可获得升阶经验
-    def GetInitRank(self): return self.InitRank # 灵兽初始阶数
-    def GetMaxRank(self): return self.MaxRank # 灵兽最高阶数
-    def GetUseNeedRank(self): return self.UseNeedRank # 多少阶可切换外观
-    def GetSkillID(self): return self.SkillID # 灵兽技能ID
-    def GetSkillUnLock(self): return self.SkillUnLock # 灵兽技能解锁需要阶数
-    def GetSkillUnLockSys(self): return self.SkillUnLockSys # 灵兽技能解锁提示
-    def GetInitFightPower(self): return self.InitFightPower # 初始战力
+    def GetID(self): return self.attrTuple[0] # 灵兽NPCID
+    def GetQuality(self): return self.attrTuple[1] # 品质
+    def GetUnlockSys(self): return self.attrTuple[2] # 解锁广播提示
+    def GetUnLockNeedItemID(self): return self.attrTuple[3] # 解锁灵兽物品ID
+    def GetUnLockNeedItemCnt(self): return self.attrTuple[4] # 解锁所需物品数量
+    def GetDecomposeExp(self): return self.attrTuple[5] # 分解单个解锁物品可获得升阶经验
+    def GetInitRank(self): return self.attrTuple[6] # 灵兽初始阶数
+    def GetMaxRank(self): return self.attrTuple[7] # 灵兽最高阶数
+    def GetUseNeedRank(self): return self.attrTuple[8] # 多少阶可切换外观
+    def GetSkillID(self): return self.attrTuple[9] # 灵兽技能ID
+    def GetSkillUnLock(self): return self.attrTuple[10] # 灵兽技能解锁需要阶数
+    def GetSkillUnLockSys(self): return self.attrTuple[11] # 灵兽技能解锁提示
+    def GetInitFightPower(self): return self.attrTuple[12] # 初始战力
 
 # 灵宠升星表
 class IPY_PetStarUp():
     
     def __init__(self):
-        self.PetNPCID = 0
-        self.PetStar = 0
-        self.StarUpNeedItemList = []
-        self.StarAttrType = []
-        self.StarAttrValue = []
+        self.attrTuple = None
         return
         
-    def GetPetNPCID(self): return self.PetNPCID # 灵兽NPCID
-    def GetPetStar(self): return self.PetStar # 灵兽星级
-    def GetStarUpNeedItemList(self): return self.StarUpNeedItemList # 升下一星所需道具 [[物品ID,个数], ...]
-    def GetStarAttrType(self): return self.StarAttrType # 累计总属性类型
-    def GetStarAttrValue(self): return self.StarAttrValue # 累计总属性值
+    def GetPetNPCID(self): return self.attrTuple[0] # 灵兽NPCID
+    def GetPetStar(self): return self.attrTuple[1] # 灵兽星级
+    def GetStarUpNeedItemList(self): return self.attrTuple[2] # 升下一星所需道具 [[物品ID,个数], ...]
+    def GetStarAttrType(self): return self.attrTuple[3] # 累计总属性类型
+    def GetStarAttrValue(self): return self.attrTuple[4] # 累计总属性值
 
 # 灵宠培养表
 class IPY_PetTrain():
     
     def __init__(self):
-        self.TrainType = 0
-        self.TrainLV = 0
-        self.NeedRealmLV = 0
-        self.EatCntTotal = 0
-        self.EatCntEverytime = 0
-        self.EatItemAttrTypeList = []
-        self.EatItemAttrValueList = []
-        self.LVAttrTypeList = []
-        self.LVAttrValueList = []
+        self.attrTuple = None
         return
         
-    def GetTrainType(self): return self.TrainType # 培养类型
-    def GetTrainLV(self): return self.TrainLV # 培养等阶
-    def GetNeedRealmLV(self): return self.NeedRealmLV # 培养所需境界
-    def GetEatCntTotal(self): return self.EatCntTotal # 升阶所需个数(非累计)
-    def GetEatCntEverytime(self): return self.EatCntEverytime # 每次培养消耗x个
-    def GetEatItemAttrTypeList(self): return self.EatItemAttrTypeList # 每X个培养丹增加属性类型=EatCntEverytime
-    def GetEatItemAttrValueList(self): return self.EatItemAttrValueList # 每X个培养丹增加属性值=EatCntEverytime
-    def GetLVAttrTypeList(self): return self.LVAttrTypeList # 每级额外属性类(非累积)
-    def GetLVAttrValueList(self): return self.LVAttrValueList # 每级额外属性值(非累积)
+    def GetTrainType(self): return self.attrTuple[0] # 培养类型
+    def GetTrainLV(self): return self.attrTuple[1] # 培养等阶
+    def GetNeedRealmLV(self): return self.attrTuple[2] # 培养所需境界
+    def GetEatCntTotal(self): return self.attrTuple[3] # 升阶所需个数(非累计)
+    def GetEatCntEverytime(self): return self.attrTuple[4] # 每次培养消耗x个
+    def GetEatItemAttrTypeList(self): return self.attrTuple[5] # 每X个培养丹增加属性类型=EatCntEverytime
+    def GetEatItemAttrValueList(self): return self.attrTuple[6] # 每X个培养丹增加属性值=EatCntEverytime
+    def GetLVAttrTypeList(self): return self.attrTuple[7] # 每级额外属性类(非累积)
+    def GetLVAttrValueList(self): return self.attrTuple[8] # 每级额外属性值(非累积)
 
 # 装备分解属性表
 class IPY_EquipDecompose():
     
     def __init__(self):
-        self.LV = 0
-        self.UpNeedExp = 0
-        self.Attr = {}
+        self.attrTuple = None
         return
         
-    def GetLV(self): return self.LV # 等级
-    def GetUpNeedExp(self): return self.UpNeedExp # 升级所需经验数
-    def GetAttr(self): return self.Attr # 属性加成
+    def GetLV(self): return self.attrTuple[0] # 等级
+    def GetUpNeedExp(self): return self.attrTuple[1] # 升级所需经验数
+    def GetAttr(self): return self.attrTuple[2] # 属性加成
 
 # 灵兽升阶消耗表
 class IPY_PetClassCost():
     
     def __init__(self):
-        self.PetID = 0
-        self.Class = 0
-        self.UpNeedExp = 0
-        self.AtkAdd = 0
+        self.attrTuple = None
         return
         
-    def GetPetID(self): return self.PetID # 灵兽NPCID
-    def GetClass(self): return self.Class # 灵兽阶数
-    def GetUpNeedExp(self): return self.UpNeedExp # 灵兽升阶所需经验数
-    def GetAtkAdd(self): return self.AtkAdd # 每阶攻击力加成
+    def GetPetID(self): return self.attrTuple[0] # 灵兽NPCID
+    def GetClass(self): return self.attrTuple[1] # 灵兽阶数
+    def GetUpNeedExp(self): return self.attrTuple[2] # 灵兽升阶所需经验数
+    def GetAtkAdd(self): return self.attrTuple[3] # 每阶攻击力加成
 
 # 灵兽吸收装备表
 class IPY_PetEatEquip():
     
     def __init__(self):
-        self.EquipColor = 0
-        self.EquipClass = 0
-        self.Exp = 0
-        self.FamilyStoreItemScore = 0
+        self.attrTuple = None
         return
         
-    def GetEquipColor(self): return self.EquipColor # 装备品质
-    def GetEquipClass(self): return self.EquipClass # 装备阶数
-    def GetExp(self): return self.Exp # 获得灵兽升级经验
-    def GetFamilyStoreItemScore(self): return self.FamilyStoreItemScore # 仙盟宝库积分
+    def GetEquipColor(self): return self.attrTuple[0] # 装备品质
+    def GetEquipClass(self): return self.attrTuple[1] # 装备阶数
+    def GetExp(self): return self.attrTuple[2] # 获得灵兽升级经验
+    def GetFamilyStoreItemScore(self): return self.attrTuple[3] # 仙盟宝库积分
 
 # 法器升级表
 class IPY_FaQiLVUp():
     
     def __init__(self):
-        self.FaQiLV = 0
-        self.NeedEatCount = 0
-        self.LVAttrType = []
-        self.LVAttrValue = []
-        self.UpItemAttrType = []
-        self.UpItemAttrValue = []
-        self.UpEatItemPerCount = 0
+        self.attrTuple = None
         return
         
-    def GetFaQiLV(self): return self.FaQiLV # 法器等级
-    def GetNeedEatCount(self): return self.NeedEatCount # 升级所需个数(非累计)
-    def GetLVAttrType(self): return self.LVAttrType # 每级额外属性类型(非累积)
-    def GetLVAttrValue(self): return self.LVAttrValue # 每级额外属性值(非累积)
-    def GetUpItemAttrType(self): return self.UpItemAttrType # 每x个培养丹增加属性类型,x=UpEatItemPerCount
-    def GetUpItemAttrValue(self): return self.UpItemAttrValue # 每x个培养丹增加属性值,x=UpEatItemPerCount
-    def GetUpEatItemPerCount(self): return self.UpEatItemPerCount # 每次培养消耗x个
+    def GetFaQiLV(self): return self.attrTuple[0] # 法器等级
+    def GetNeedEatCount(self): return self.attrTuple[1] # 升级所需个数(非累计)
+    def GetLVAttrType(self): return self.attrTuple[2] # 每级额外属性类型(非累积)
+    def GetLVAttrValue(self): return self.attrTuple[3] # 每级额外属性值(非累积)
+    def GetUpItemAttrType(self): return self.attrTuple[4] # 每x个培养丹增加属性类型,x=UpEatItemPerCount
+    def GetUpItemAttrValue(self): return self.attrTuple[5] # 每x个培养丹增加属性值,x=UpEatItemPerCount
+    def GetUpEatItemPerCount(self): return self.attrTuple[6] # 每次培养消耗x个
 
 # 坐骑升级表
 class IPY_HorseLVUp():
     
     def __init__(self):
-        self.HorseLV = 0
-        self.HorseSkinID = 0
-        self.NeedEatCount = 0
-        self.LVAttrType = []
-        self.LVAttrValue = []
-        self.UpItemAttrType = []
-        self.UpItemAttrValue = []
-        self.UpEatItemPerCount = 0
+        self.attrTuple = None
         return
         
-    def GetHorseLV(self): return self.HorseLV # 坐骑等级
-    def GetHorseSkinID(self): return self.HorseSkinID # 外观物品ID
-    def GetNeedEatCount(self): return self.NeedEatCount # 升级所需个数(非累计)
-    def GetLVAttrType(self): return self.LVAttrType # 每级额外属性类型(非累积)
-    def GetLVAttrValue(self): return self.LVAttrValue # 每级额外属性值(非累积)
-    def GetUpItemAttrType(self): return self.UpItemAttrType # 每x个培养丹增加属性类型,x=UpEatItemPerCount
-    def GetUpItemAttrValue(self): return self.UpItemAttrValue # 每x个培养丹增加属性值,x=UpEatItemPerCount
-    def GetUpEatItemPerCount(self): return self.UpEatItemPerCount # 每次培养消耗x个
+    def GetHorseLV(self): return self.attrTuple[0] # 坐骑等级
+    def GetHorseSkinID(self): return self.attrTuple[1] # 外观物品ID
+    def GetNeedEatCount(self): return self.attrTuple[2] # 升级所需个数(非累计)
+    def GetLVAttrType(self): return self.attrTuple[3] # 每级额外属性类型(非累积)
+    def GetLVAttrValue(self): return self.attrTuple[4] # 每级额外属性值(非累积)
+    def GetUpItemAttrType(self): return self.attrTuple[5] # 每x个培养丹增加属性类型,x=UpEatItemPerCount
+    def GetUpItemAttrValue(self): return self.attrTuple[6] # 每x个培养丹增加属性值,x=UpEatItemPerCount
+    def GetUpEatItemPerCount(self): return self.attrTuple[7] # 每次培养消耗x个
 
 # 坐骑培养表
 class IPY_HorseTrain():
     
     def __init__(self):
-        self.TrainType = 0
-        self.TrainLV = 0
-        self.NeedRealmLV = 0
-        self.EatCntTotal = 0
-        self.EatCntEverytime = 0
-        self.EatItemAttrTypeList = []
-        self.EatItemAttrValueList = []
-        self.LVAttrTypeList = []
-        self.LVAttrValueList = []
+        self.attrTuple = None
         return
         
-    def GetTrainType(self): return self.TrainType # 培养类型
-    def GetTrainLV(self): return self.TrainLV # 培养等阶
-    def GetNeedRealmLV(self): return self.NeedRealmLV # 培养所需境界
-    def GetEatCntTotal(self): return self.EatCntTotal # 升阶所需个数(非累计)
-    def GetEatCntEverytime(self): return self.EatCntEverytime # 每次培养消耗x个
-    def GetEatItemAttrTypeList(self): return self.EatItemAttrTypeList # 每X个培养丹增加属性类型=EatCntEverytime
-    def GetEatItemAttrValueList(self): return self.EatItemAttrValueList # 每X个培养丹增加属性值=EatCntEverytime
-    def GetLVAttrTypeList(self): return self.LVAttrTypeList # 每级额外属性类(非累积)
-    def GetLVAttrValueList(self): return self.LVAttrValueList # 每级额外属性值(非累积)
+    def GetTrainType(self): return self.attrTuple[0] # 培养类型
+    def GetTrainLV(self): return self.attrTuple[1] # 培养等阶
+    def GetNeedRealmLV(self): return self.attrTuple[2] # 培养所需境界
+    def GetEatCntTotal(self): return self.attrTuple[3] # 升阶所需个数(非累计)
+    def GetEatCntEverytime(self): return self.attrTuple[4] # 每次培养消耗x个
+    def GetEatItemAttrTypeList(self): return self.attrTuple[5] # 每X个培养丹增加属性类型=EatCntEverytime
+    def GetEatItemAttrValueList(self): return self.attrTuple[6] # 每X个培养丹增加属性值=EatCntEverytime
+    def GetLVAttrTypeList(self): return self.attrTuple[7] # 每级额外属性类(非累积)
+    def GetLVAttrValueList(self): return self.attrTuple[8] # 每级额外属性值(非累积)
 
 # 坐骑幻化表
 class IPY_HorseSkinPlus():
     
     def __init__(self):
-        self.ID = 0
-        self.HorseSkinPlusID = 0
-        self.UnlockItemID = 0
-        self.UnlockItemCnt = 0
-        self.AttrType = []
-        self.AttrValue = []
-        self.InitFightPower = 0
-        self.HorseID = 0
-        self.SkinValidTime = 0
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # 幻化编号ID
-    def GetHorseSkinPlusID(self): return self.HorseSkinPlusID # 外观物品ID
-    def GetUnlockItemID(self): return self.UnlockItemID # 解锁坐骑物品编号
-    def GetUnlockItemCnt(self): return self.UnlockItemCnt # 解锁所需物品数量
-    def GetAttrType(self): return self.AttrType # 激活加成属性类型
-    def GetAttrValue(self): return self.AttrValue # 激活加成属性值
-    def GetInitFightPower(self): return self.InitFightPower # 皮肤额外战力
-    def GetHorseID(self): return self.HorseID # 对应坐骑ID
-    def GetSkinValidTime(self): return self.SkinValidTime # 有效时长秒
+    def GetID(self): return self.attrTuple[0] # 幻化编号ID
+    def GetHorseSkinPlusID(self): return self.attrTuple[1] # 外观物品ID
+    def GetUnlockItemID(self): return self.attrTuple[2] # 解锁坐骑物品编号
+    def GetUnlockItemCnt(self): return self.attrTuple[3] # 解锁所需物品数量
+    def GetAttrType(self): return self.attrTuple[4] # 激活加成属性类型
+    def GetAttrValue(self): return self.attrTuple[5] # 激活加成属性值
+    def GetInitFightPower(self): return self.attrTuple[6] # 皮肤额外战力
+    def GetHorseID(self): return self.attrTuple[7] # 对应坐骑ID
+    def GetSkinValidTime(self): return self.attrTuple[8] # 有效时长秒
 
 # 坐骑表
 class IPY_Horse():
     
     def __init__(self):
-        self.HorseID = 0
-        self.HorseSkinID = 0
-        self.Quality = 0
+        self.attrTuple = None
         return
         
-    def GetHorseID(self): return self.HorseID # 坐骑ID
-    def GetHorseSkinID(self): return self.HorseSkinID # 外观物品ID
-    def GetQuality(self): return self.Quality # 坐骑品质
+    def GetHorseID(self): return self.attrTuple[0] # 坐骑ID
+    def GetHorseSkinID(self): return self.attrTuple[1] # 外观物品ID
+    def GetQuality(self): return self.attrTuple[2] # 坐骑品质
 
 # 坐骑升星表
 class IPY_HorseStarUp():
     
     def __init__(self):
-        self.HorseID = 0
-        self.HorseStar = 0
-        self.StarUpNeedItemList = []
-        self.StarAttrType = []
-        self.StarAttrValue = []
+        self.attrTuple = None
         return
         
-    def GetHorseID(self): return self.HorseID # 坐骑ID
-    def GetHorseStar(self): return self.HorseStar # 坐骑星级
-    def GetStarUpNeedItemList(self): return self.StarUpNeedItemList # 升下一星所需道具 [[物品ID,个数], ...]
-    def GetStarAttrType(self): return self.StarAttrType # 累计总属性类型
-    def GetStarAttrValue(self): return self.StarAttrValue # 累计总属性值
+    def GetHorseID(self): return self.attrTuple[0] # 坐骑ID
+    def GetHorseStar(self): return self.attrTuple[1] # 坐骑星级
+    def GetStarUpNeedItemList(self): return self.attrTuple[2] # 升下一星所需道具 [[物品ID,个数], ...]
+    def GetStarAttrType(self): return self.attrTuple[3] # 累计总属性类型
+    def GetStarAttrValue(self): return self.attrTuple[4] # 累计总属性值
 
 # 古宝表
 class IPY_Gubao():
     
     def __init__(self):
-        self.GubaoID = 0
-        self.GubaoType = 0
-        self.GubaoQuality = 0
-        self.UnlockItemID = 0
-        self.UnlockItemCnt = 0
+        self.attrTuple = None
         return
         
-    def GetGubaoID(self): return self.GubaoID # 古宝ID
-    def GetGubaoType(self): return self.GubaoType # 古宝分类
-    def GetGubaoQuality(self): return self.GubaoQuality # 古宝品质
-    def GetUnlockItemID(self): return self.UnlockItemID # 解锁所需物品ID
-    def GetUnlockItemCnt(self): return self.UnlockItemCnt # 解锁所需物品数量
+    def GetGubaoID(self): return self.attrTuple[0] # 古宝ID
+    def GetGubaoType(self): return self.attrTuple[1] # 古宝分类
+    def GetGubaoQuality(self): return self.attrTuple[2] # 古宝品质
+    def GetUnlockItemID(self): return self.attrTuple[3] # 解锁所需物品ID
+    def GetUnlockItemCnt(self): return self.attrTuple[4] # 解锁所需物品数量
 
 # 古宝升星表
 class IPY_GubaoStar():
     
     def __init__(self):
-        self.GubaoID = 0
-        self.GubaoStar = 0
-        self.StarUPNeedItemInfo = []
-        self.StarEffIDList = []
+        self.attrTuple = None
         return
         
-    def GetGubaoID(self): return self.GubaoID # 古宝ID
-    def GetGubaoStar(self): return self.GubaoStar # 古宝星级
-    def GetStarUPNeedItemInfo(self): return self.StarUPNeedItemInfo # 升星所需物品 [[物品ID,个数], ...]
-    def GetStarEffIDList(self): return self.StarEffIDList # 星级特殊效果ID列表
+    def GetGubaoID(self): return self.attrTuple[0] # 古宝ID
+    def GetGubaoStar(self): return self.attrTuple[1] # 古宝星级
+    def GetStarUPNeedItemInfo(self): return self.attrTuple[2] # 升星所需物品 [[物品ID,个数], ...]
+    def GetStarEffIDList(self): return self.attrTuple[3] # 星级特殊效果ID列表
 
 # 古宝特殊效果表
 class IPY_GubaoEffAttr():
     
     def __init__(self):
-        self.GubaoEffID = 0
-        self.GubaoEffType = 0
-        self.EffCond = 0
-        self.EffCond2 = 0
-        self.EffCond3 = 0
-        self.IsPer = 0
-        self.EffFuncAttrIDList = []
-        self.EffAttrID = 0
-        self.EffAttrValue = 0
-        self.EffItemAwardList = []
+        self.attrTuple = None
         return
         
-    def GetGubaoEffID(self): return self.GubaoEffID # 古宝特殊效果ID
-    def GetGubaoEffType(self): return self.GubaoEffType # 效果类型
-    def GetEffCond(self): return self.EffCond # 条件
-    def GetEffCond2(self): return self.EffCond2 # 条件2
-    def GetEffCond3(self): return self.EffCond3 # 条件3
-    def GetIsPer(self): return self.IsPer # 是否百分比提升
-    def GetEffFuncAttrIDList(self): return self.EffFuncAttrIDList # 提升指定功能属性ID列表
-    def GetEffAttrID(self): return self.EffAttrID # 直接增加属性类型
-    def GetEffAttrValue(self): return self.EffAttrValue # 提升属性值
-    def GetEffItemAwardList(self): return self.EffItemAwardList # 领取物品列表
+    def GetGubaoEffID(self): return self.attrTuple[0] # 古宝特殊效果ID
+    def GetGubaoEffType(self): return self.attrTuple[1] # 效果类型
+    def GetEffCond(self): return self.attrTuple[2] # 条件
+    def GetEffCond2(self): return self.attrTuple[3] # 条件2
+    def GetEffCond3(self): return self.attrTuple[4] # 条件3
+    def GetIsPer(self): return self.attrTuple[5] # 是否百分比提升
+    def GetEffFuncAttrIDList(self): return self.attrTuple[6] # 提升指定功能属性ID列表
+    def GetEffAttrID(self): return self.attrTuple[7] # 直接增加属性类型
+    def GetEffAttrValue(self): return self.attrTuple[8] # 提升属性值
+    def GetEffItemAwardList(self): return self.attrTuple[9] # 领取物品列表
 
 # 古宝品质升级表
 class IPY_GubaoLV():
     
     def __init__(self):
-        self.GubaoType = 0
-        self.GubaoQuality = 0
-        self.GubaoLV = 0
-        self.LVUPNeedItemInfo = []
-        self.LVAttrTypeList = []
-        self.LVAttrValueList = []
+        self.attrTuple = None
         return
         
-    def GetGubaoType(self): return self.GubaoType # 古宝分类
-    def GetGubaoQuality(self): return self.GubaoQuality # 古宝品质
-    def GetGubaoLV(self): return self.GubaoLV # 古宝等级
-    def GetLVUPNeedItemInfo(self): return self.LVUPNeedItemInfo # 升级所需物品 [[物品ID,个数], ...]
-    def GetLVAttrTypeList(self): return self.LVAttrTypeList # 等级属性类型列表
-    def GetLVAttrValueList(self): return self.LVAttrValueList # 等级属性值列表
+    def GetGubaoType(self): return self.attrTuple[0] # 古宝分类
+    def GetGubaoQuality(self): return self.attrTuple[1] # 古宝品质
+    def GetGubaoLV(self): return self.attrTuple[2] # 古宝等级
+    def GetLVUPNeedItemInfo(self): return self.attrTuple[3] # 升级所需物品 [[物品ID,个数], ...]
+    def GetLVAttrTypeList(self): return self.attrTuple[4] # 等级属性类型列表
+    def GetLVAttrValueList(self): return self.attrTuple[5] # 等级属性值列表
 
 # 神通表
 class IPY_Shentong():
     
     def __init__(self):
-        self.ShentongID = 0
-        self.NeedGubaoID = 0
+        self.attrTuple = None
         return
         
-    def GetShentongID(self): return self.ShentongID # 神通ID
-    def GetNeedGubaoID(self): return self.NeedGubaoID # 解锁所需古宝ID
+    def GetShentongID(self): return self.attrTuple[0] # 神通ID
+    def GetNeedGubaoID(self): return self.attrTuple[1] # 解锁所需古宝ID
 
 # 神通升级表
 class IPY_ShentongLV():
     
     def __init__(self):
-        self.ShentongID = 0
-        self.ShentongClassLV = 0
-        self.ShentongLV = 0
-        self.LVLightNeedItem = []
-        self.LVAttrTypeList = []
-        self.LVAttrValueList = []
-        self.LVSkillID = 0
-        self.FightPowerEx = 0
+        self.attrTuple = None
         return
         
-    def GetShentongID(self): return self.ShentongID # 神通ID
-    def GetShentongClassLV(self): return self.ShentongClassLV # 神通阶级
-    def GetShentongLV(self): return self.ShentongLV # 神通等级
-    def GetLVLightNeedItem(self): return self.LVLightNeedItem # 点亮该级所需物品 [[物品ID,个数], ...]
-    def GetLVAttrTypeList(self): return self.LVAttrTypeList # 该级属性类型列表
-    def GetLVAttrValueList(self): return self.LVAttrValueList # 该级属性值列表
-    def GetLVSkillID(self): return self.LVSkillID # 该级职业通用技能ID
-    def GetFightPowerEx(self): return self.FightPowerEx # 附加战力
+    def GetShentongID(self): return self.attrTuple[0] # 神通ID
+    def GetShentongClassLV(self): return self.attrTuple[1] # 神通阶级
+    def GetShentongLV(self): return self.attrTuple[2] # 神通等级
+    def GetLVLightNeedItem(self): return self.attrTuple[3] # 点亮该级所需物品 [[物品ID,个数], ...]
+    def GetLVAttrTypeList(self): return self.attrTuple[4] # 该级属性类型列表
+    def GetLVAttrValueList(self): return self.attrTuple[5] # 该级属性值列表
+    def GetLVSkillID(self): return self.attrTuple[6] # 该级职业通用技能ID
+    def GetFightPowerEx(self): return self.attrTuple[7] # 附加战力
 
 # 玩家等级表
 class IPY_PlayerLV():
     
     def __init__(self):
-        self.LV = 0
-        self.ExpPoint = 0
-        self.Exp = 0
-        self.TalentPoint = 0
-        self.ReExp = 0
-        self.ReMaxHP = 0
-        self.ReAtk = 0
-        self.ReDef = 0
-        self.ReHit = 0
-        self.ReMiss = 0
-        self.ReAtkSpeed = 0
-        self.ReSkillAtkRate = 0
-        self.ReDamagePer = 0
-        self.ReDamReduce = 0
-        self.ReIgnoreDefRate = 0
-        self.ReLuckyHitRate = 0
-        self.ReLuckyHit = 0
-        self.ReBleedDamage = 0
-        self.ReIceAtk = 0
-        self.ReIceDef = 0
-        self.RePetAtk = 0
-        self.RePetSkillAtkRate = 0
-        self.RePetDamPer = 0
-        self.ReFinalHurt = 0
-        self.ReFinalHurtReduce = 0
-        self.RePotionReply = 0
-        self.RePotionCD = 0
-        self.AttackEff = 0
-        self.ReFightPower = 0
-        self.IceLodeFightPower = 0
+        self.attrTuple = None
         return
         
-    def GetLV(self): return self.LV # 玩家等级
-    def GetExpPoint(self): return self.ExpPoint # 升级所需经验点,每个经验点代表的经验由项目决定
-    def GetExp(self): return self.Exp # 除经验点总经验外升级还需的经验
-    def GetTalentPoint(self): return self.TalentPoint # 等级获得的天赋点
-    def GetReExp(self): return self.ReExp # 等级经验效率(second)
-    def GetReMaxHP(self): return self.ReMaxHP # 生命
-    def GetReAtk(self): return self.ReAtk # 攻击
-    def GetReDef(self): return self.ReDef # 防御
-    def GetReHit(self): return self.ReHit # 命中
-    def GetReMiss(self): return self.ReMiss # 闪避
-    def GetReAtkSpeed(self): return self.ReAtkSpeed # 攻速
-    def GetReSkillAtkRate(self): return self.ReSkillAtkRate # 技能伤害比例
-    def GetReDamagePer(self): return self.ReDamagePer # 增加伤害
-    def GetReDamReduce(self): return self.ReDamReduce # 减少伤害
-    def GetReIgnoreDefRate(self): return self.ReIgnoreDefRate # 无视防御比例
-    def GetReLuckyHitRate(self): return self.ReLuckyHitRate # 会心一击率
-    def GetReLuckyHit(self): return self.ReLuckyHit # 会心一击伤害
-    def GetReBleedDamage(self): return self.ReBleedDamage # 流血伤害增加
-    def GetReIceAtk(self): return self.ReIceAtk # 真实伤害
-    def GetReIceDef(self): return self.ReIceDef # 真实抵御
-    def GetRePetAtk(self): return self.RePetAtk # 灵宠攻击
-    def GetRePetSkillAtkRate(self): return self.RePetSkillAtkRate # 灵宠技能
-    def GetRePetDamPer(self): return self.RePetDamPer # 灵宠伤害增加
-    def GetReFinalHurt(self): return self.ReFinalHurt # 固定伤害增加
-    def GetReFinalHurtReduce(self): return self.ReFinalHurtReduce # 固定伤害减少
-    def GetRePotionReply(self): return self.RePotionReply # 血瓶恢复量
-    def GetRePotionCD(self): return self.RePotionCD # 血瓶CD
-    def GetAttackEff(self): return self.AttackEff # 挂机效率
-    def GetReFightPower(self): return self.ReFightPower # 战斗力
-    def GetIceLodeFightPower(self): return self.IceLodeFightPower # 冰晶矿脉扫荡战斗力
+    def GetLV(self): return self.attrTuple[0] # 玩家等级
+    def GetExpPoint(self): return self.attrTuple[1] # 升级所需经验点,每个经验点代表的经验由项目决定
+    def GetExp(self): return self.attrTuple[2] # 除经验点总经验外升级还需的经验
+    def GetTalentPoint(self): return self.attrTuple[3] # 等级获得的天赋点
+    def GetReExp(self): return self.attrTuple[4] # 等级经验效率(second)
+    def GetReMaxHP(self): return self.attrTuple[5] # 生命
+    def GetReAtk(self): return self.attrTuple[6] # 攻击
+    def GetReDef(self): return self.attrTuple[7] # 防御
+    def GetReHit(self): return self.attrTuple[8] # 命中
+    def GetReMiss(self): return self.attrTuple[9] # 闪避
+    def GetReAtkSpeed(self): return self.attrTuple[10] # 攻速
+    def GetReSkillAtkRate(self): return self.attrTuple[11] # 技能伤害比例
+    def GetReDamagePer(self): return self.attrTuple[12] # 增加伤害
+    def GetReDamReduce(self): return self.attrTuple[13] # 减少伤害
+    def GetReIgnoreDefRate(self): return self.attrTuple[14] # 无视防御比例
+    def GetReLuckyHitRate(self): return self.attrTuple[15] # 会心一击率
+    def GetReLuckyHit(self): return self.attrTuple[16] # 会心一击伤害
+    def GetReBleedDamage(self): return self.attrTuple[17] # 流血伤害增加
+    def GetReIceAtk(self): return self.attrTuple[18] # 真实伤害
+    def GetReIceDef(self): return self.attrTuple[19] # 真实抵御
+    def GetRePetAtk(self): return self.attrTuple[20] # 灵宠攻击
+    def GetRePetSkillAtkRate(self): return self.attrTuple[21] # 灵宠技能
+    def GetRePetDamPer(self): return self.attrTuple[22] # 灵宠伤害增加
+    def GetReFinalHurt(self): return self.attrTuple[23] # 固定伤害增加
+    def GetReFinalHurtReduce(self): return self.attrTuple[24] # 固定伤害减少
+    def GetRePotionReply(self): return self.attrTuple[25] # 血瓶恢复量
+    def GetRePotionCD(self): return self.attrTuple[26] # 血瓶CD
+    def GetAttackEff(self): return self.attrTuple[27] # 挂机效率
+    def GetReFightPower(self): return self.attrTuple[28] # 战斗力
+    def GetIceLodeFightPower(self): return self.attrTuple[29] # 冰晶矿脉扫荡战斗力
 
 # 特殊地图玩家属性公式表
 class IPY_SpecMapPlayerAttrFormat():
     
     def __init__(self):
-        self.DataMapID = 0
-        self.AttrName = ""
-        self.AttrValueFormat = ""
+        self.attrTuple = None
         return
         
-    def GetDataMapID(self): return self.DataMapID # 数据地图ID
-    def GetAttrName(self): return self.AttrName # 属性名
-    def GetAttrValueFormat(self): return self.AttrValueFormat # 最终属性值公式(可用参数属性名)
+    def GetDataMapID(self): return self.attrTuple[0] # 数据地图ID
+    def GetAttrName(self): return self.attrTuple[1] # 属性名
+    def GetAttrValueFormat(self): return self.attrTuple[2] # 最终属性值公式(可用参数属性名)
 
 # GM测试属性表
 class IPY_GMAttr():
     
     def __init__(self):
-        self.GMAttrID = 0
-        self.IsValid = 0
-        self.GMAccID = ""
-        self.GMMaxLV = 0
-        self.AttrLV = 0
-        self.AttrPer = 0.0
-        self.AttrSpecDict = {}
-        self.AttrExDict = {}
+        self.attrTuple = None
         return
         
-    def GetGMAttrID(self): return self.GMAttrID # 数据ID
-    def GetIsValid(self): return self.IsValid # 是否有效的
-    def GetGMAccID(self): return self.GMAccID # GM玩家账号
-    def GetGMMaxLV(self): return self.GMMaxLV # 有效的最大等级
-    def GetAttrLV(self): return self.AttrLV # 对应等级表中的属性
-    def GetAttrPer(self): return self.AttrPer # 对应等级表中的比例
-    def GetAttrSpecDict(self): return self.AttrSpecDict # 特殊属性值字典 {attrKey:value, ...}
-    def GetAttrExDict(self): return self.AttrExDict # 特殊属性值字典 {attrKey:value, ...}
+    def GetGMAttrID(self): return self.attrTuple[0] # 数据ID
+    def GetIsValid(self): return self.attrTuple[1] # 是否有效的
+    def GetGMAccID(self): return self.attrTuple[2] # GM玩家账号
+    def GetGMMaxLV(self): return self.attrTuple[3] # 有效的最大等级
+    def GetAttrLV(self): return self.attrTuple[4] # 对应等级表中的属性
+    def GetAttrPer(self): return self.attrTuple[5] # 对应等级表中的比例
+    def GetAttrSpecDict(self): return self.attrTuple[6] # 特殊属性值字典 {attrKey:value, ...}
+    def GetAttrExDict(self): return self.attrTuple[7] # 特殊属性值字典 {attrKey:value, ...}
 
 # NPC表扩展
 class IPY_NPCEx():
     
     def __init__(self):
-        self.NPCID = 0
-        self.FightPowerLackAtkLimit = 0
-        self.SuppressFightPower = 0
-        self.MinAtk = 0
-        self.MaxAtk = 0
-        self.Def = 0
-        self.MaxHP = 0
-        self.AtkSpeed = 0
-        self.MissRate = 0
-        self.MissDefRate = 0
-        self.SuperHitRate = 0
-        self.SuperHitRateReduce = 0
-        self.FaintRate = 0
-        self.FaintDefRate = 0
-        self.ComboRate = 0
-        self.ComboDefRate = 0
-        self.AtkBackRate = 0
-        self.AtkBackDefRate = 0
-        self.SuckHPPer = 0
-        self.SuckHPDefPer = 0
+        self.attrTuple = None
         return
         
-    def GetNPCID(self): return self.NPCID # NPCID
-    def GetFightPowerLackAtkLimit(self): return self.FightPowerLackAtkLimit # 战力不足限制攻击
-    def GetSuppressFightPower(self): return self.SuppressFightPower # 推荐/压制战力
-    def GetMinAtk(self): return self.MinAtk # 最小攻击力
-    def GetMaxAtk(self): return self.MaxAtk # 最大攻击力
-    def GetDef(self): return self.Def # 防御值
-    def GetMaxHP(self): return self.MaxHP # 最大生命值,可超过20E
-    def GetAtkSpeed(self): return self.AtkSpeed # 攻击速度
-    def GetMissRate(self): return self.MissRate # 闪避概率
-    def GetMissDefRate(self): return self.MissDefRate # 抗闪避概率
-    def GetSuperHitRate(self): return self.SuperHitRate # 暴击概率
-    def GetSuperHitRateReduce(self): return self.SuperHitRateReduce # 抗暴击概率
-    def GetFaintRate(self): return self.FaintRate # 击晕概率
-    def GetFaintDefRate(self): return self.FaintDefRate # 抗击晕概率
-    def GetComboRate(self): return self.ComboRate # 连击概率
-    def GetComboDefRate(self): return self.ComboDefRate # 抗连击概率
-    def GetAtkBackRate(self): return self.AtkBackRate # 反击概率
-    def GetAtkBackDefRate(self): return self.AtkBackDefRate # 抗反击概率
-    def GetSuckHPPer(self): return self.SuckHPPer # 吸血比率
-    def GetSuckHPDefPer(self): return self.SuckHPDefPer # 抗吸血比率
+    def GetNPCID(self): return self.attrTuple[0] # NPCID
+    def GetFightPowerLackAtkLimit(self): return self.attrTuple[1] # 战力不足限制攻击
+    def GetSuppressFightPower(self): return self.attrTuple[2] # 推荐/压制战力
+    def GetMinAtk(self): return self.attrTuple[3] # 最小攻击力
+    def GetMaxAtk(self): return self.attrTuple[4] # 最大攻击力
+    def GetDef(self): return self.attrTuple[5] # 防御值
+    def GetMaxHP(self): return self.attrTuple[6] # 最大生命值,可超过20E
+    def GetAtkSpeed(self): return self.attrTuple[7] # 攻击速度
+    def GetMissRate(self): return self.attrTuple[8] # 闪避概率
+    def GetMissDefRate(self): return self.attrTuple[9] # 抗闪避概率
+    def GetSuperHitRate(self): return self.attrTuple[10] # 暴击概率
+    def GetSuperHitRateReduce(self): return self.attrTuple[11] # 抗暴击概率
+    def GetFaintRate(self): return self.attrTuple[12] # 击晕概率
+    def GetFaintDefRate(self): return self.attrTuple[13] # 抗击晕概率
+    def GetComboRate(self): return self.attrTuple[14] # 连击概率
+    def GetComboDefRate(self): return self.attrTuple[15] # 抗连击概率
+    def GetAtkBackRate(self): return self.attrTuple[16] # 反击概率
+    def GetAtkBackDefRate(self): return self.attrTuple[17] # 抗反击概率
+    def GetSuckHPPer(self): return self.attrTuple[18] # 吸血比率
+    def GetSuckHPDefPer(self): return self.attrTuple[19] # 抗吸血比率
 
 # 成长型境界怪物表
 class IPY_NPCRealmStrengthen():
     
     def __init__(self):
-        self.NPCID = 0
-        self.RealmDifficulty = 0
-        self.MapID = 0
-        self.LV = 0
-        self.Exp = 0
-        self.MaxDrapLV = 0
-        self.EquipClassLV = 0
-        self.DropMoneyMin = 0
-        self.DropMoneyMax = 0
-        self.LowLV = 0
-        self.HighestLV = 0
-        self.Defense = 0
-        self.MDef = 0
-        self.FireDef = 0
-        self.SP = 0
+        self.attrTuple = None
         return
         
-    def GetNPCID(self): return self.NPCID # NPCID
-    def GetRealmDifficulty(self): return self.RealmDifficulty # 境界难度
-    def GetMapID(self): return self.MapID
-    def GetLV(self): return self.LV # NPC等级
-    def GetExp(self): return self.Exp # 基础经验
-    def GetMaxDrapLV(self): return self.MaxDrapLV # 玩家最大可掉落等级
-    def GetEquipClassLV(self): return self.EquipClassLV # 掉落装备阶
-    def GetDropMoneyMin(self): return self.DropMoneyMin # 最小金币
-    def GetDropMoneyMax(self): return self.DropMoneyMax # 最大金币
-    def GetLowLV(self): return self.LowLV #  推荐最低等级
-    def GetHighestLV(self): return self.HighestLV #  推荐最高等级
-    def GetDefense(self): return self.Defense #  推荐防御
-    def GetMDef(self): return self.MDef #  标准击杀时间/毫秒
-    def GetFireDef(self): return self.FireDef #  脱机挂经验计算战力
-    def GetSP(self): return self.SP #  SP
+    def GetNPCID(self): return self.attrTuple[0] # NPCID
+    def GetRealmDifficulty(self): return self.attrTuple[1] # 境界难度
+    def GetMapID(self): return self.attrTuple[2]
+    def GetLV(self): return self.attrTuple[3] # NPC等级
+    def GetExp(self): return self.attrTuple[4] # 基础经验
+    def GetMaxDrapLV(self): return self.attrTuple[5] # 玩家最大可掉落等级
+    def GetEquipClassLV(self): return self.attrTuple[6] # 掉落装备阶
+    def GetDropMoneyMin(self): return self.attrTuple[7] # 最小金币
+    def GetDropMoneyMax(self): return self.attrTuple[8] # 最大金币
+    def GetLowLV(self): return self.attrTuple[9] #  推荐最低等级
+    def GetHighestLV(self): return self.attrTuple[10] #  推荐最高等级
+    def GetDefense(self): return self.attrTuple[11] #  推荐防御
+    def GetMDef(self): return self.attrTuple[12] #  标准击杀时间/毫秒
+    def GetFireDef(self): return self.attrTuple[13] #  脱机挂经验计算战力
+    def GetSP(self): return self.attrTuple[14] #  SP
 
 # 成长型怪物参数公式表
 class IPY_NPCStrengthen():
     
     def __init__(self):
-        self.NPCID = 0
-        self.IsStrengthenByPlayerCount = 0
-        self.LVStrengthenMark = 0
-        self.LVStrengthenType = 0
-        self.CmpNPCBaseLV = 0
-        self.HitTime = 0
-        self.DefCoefficient = 0
-        self.AtkCoefficient = 0
-        self.AdjustCoefficient = 0
-        self.AtkInterval = 0
-        self.HitRate = 0
-        self.MissRate = 0
-        self.MonterNum = 0
-        self.IceAtkCoefficient = 0
-        self.IceDefCoefficient = 0
-        self.MaxEnduranceTime = 0
-        self.FightPowerCoefficient = 0
+        self.attrTuple = None
         return
         
-    def GetNPCID(self): return self.NPCID # NPCID
-    def GetIsStrengthenByPlayerCount(self): return self.IsStrengthenByPlayerCount # 是否根据人数成长
-    def GetLVStrengthenMark(self): return self.LVStrengthenMark # 等级成长属性公式标记
-    def GetLVStrengthenType(self): return self.LVStrengthenType # 等级成长类型, 0-不按等级成长;1-按玩家平均等级;2-按玩家最大等级;3-按世界等级;
-    def GetCmpNPCBaseLV(self): return self.CmpNPCBaseLV # 是否比较NPC表等级, 是的话取NPC表配置等级与成长等级中较大等级
-    def GetHitTime(self): return self.HitTime # 受击次数
-    def GetDefCoefficient(self): return self.DefCoefficient # 人物防御系数
-    def GetAtkCoefficient(self): return self.AtkCoefficient # 人物攻击系数
-    def GetAdjustCoefficient(self): return self.AdjustCoefficient # 调整系数比例
-    def GetAtkInterval(self): return self.AtkInterval # 怪物攻击间隔
-    def GetHitRate(self): return self.HitRate # 对人物的命中率
-    def GetMissRate(self): return self.MissRate # 对人物的闪避率
-    def GetMonterNum(self): return self.MonterNum # 怪物数
-    def GetIceAtkCoefficient(self): return self.IceAtkCoefficient # 元素攻击比例
-    def GetIceDefCoefficient(self): return self.IceDefCoefficient # 元素抗性比例
-    def GetMaxEnduranceTime(self): return self.MaxEnduranceTime # 玩家最大承受伤害时间
-    def GetFightPowerCoefficient(self): return self.FightPowerCoefficient # 压制战斗力系数
+    def GetNPCID(self): return self.attrTuple[0] # NPCID
+    def GetIsStrengthenByPlayerCount(self): return self.attrTuple[1] # 是否根据人数成长
+    def GetLVStrengthenMark(self): return self.attrTuple[2] # 等级成长属性公式标记
+    def GetLVStrengthenType(self): return self.attrTuple[3] # 等级成长类型, 0-不按等级成长;1-按玩家平均等级;2-按玩家最大等级;3-按世界等级;
+    def GetCmpNPCBaseLV(self): return self.attrTuple[4] # 是否比较NPC表等级, 是的话取NPC表配置等级与成长等级中较大等级
+    def GetHitTime(self): return self.attrTuple[5] # 受击次数
+    def GetDefCoefficient(self): return self.attrTuple[6] # 人物防御系数
+    def GetAtkCoefficient(self): return self.attrTuple[7] # 人物攻击系数
+    def GetAdjustCoefficient(self): return self.attrTuple[8] # 调整系数比例
+    def GetAtkInterval(self): return self.attrTuple[9] # 怪物攻击间隔
+    def GetHitRate(self): return self.attrTuple[10] # 对人物的命中率
+    def GetMissRate(self): return self.attrTuple[11] # 对人物的闪避率
+    def GetMonterNum(self): return self.attrTuple[12] # 怪物数
+    def GetIceAtkCoefficient(self): return self.attrTuple[13] # 元素攻击比例
+    def GetIceDefCoefficient(self): return self.attrTuple[14] # 元素抗性比例
+    def GetMaxEnduranceTime(self): return self.attrTuple[15] # 玩家最大承受伤害时间
+    def GetFightPowerCoefficient(self): return self.attrTuple[16] # 压制战斗力系数
 
 # NPC时间掉血表
 class IPY_NPCTimeLostHP():
     
     def __init__(self):
-        self.NPCID = 0
-        self.LostHPPerSecond = 0
-        self.MaxPlayerCount = 0
-        self.LostHPPerSecondEx = 0
-        self.FightPowerMinByLV = 0
-        self.FightPowerMin = 0
-        self.FightPowerMax = 0
-        self.EveryFightPower = 0
-        self.EveryFightPowerLostHPEx = 0
+        self.attrTuple = None
         return
         
-    def GetNPCID(self): return self.NPCID # NPCID
-    def GetLostHPPerSecond(self): return self.LostHPPerSecond # 单人每秒掉血量
-    def GetMaxPlayerCount(self): return self.MaxPlayerCount # 最大人数
-    def GetLostHPPerSecondEx(self): return self.LostHPPerSecondEx # 每增加一人附加掉血量
-    def GetFightPowerMinByLV(self): return self.FightPowerMinByLV # 标准战力是否取等级表
-    def GetFightPowerMin(self): return self.FightPowerMin # 标准战力
-    def GetFightPowerMax(self): return self.FightPowerMax # 上限战力
-    def GetEveryFightPower(self): return self.EveryFightPower # 每x点战力
-    def GetEveryFightPowerLostHPEx(self): return self.EveryFightPowerLostHPEx # 每x点战力附加伤害
+    def GetNPCID(self): return self.attrTuple[0] # NPCID
+    def GetLostHPPerSecond(self): return self.attrTuple[1] # 单人每秒掉血量
+    def GetMaxPlayerCount(self): return self.attrTuple[2] # 最大人数
+    def GetLostHPPerSecondEx(self): return self.attrTuple[3] # 每增加一人附加掉血量
+    def GetFightPowerMinByLV(self): return self.attrTuple[4] # 标准战力是否取等级表
+    def GetFightPowerMin(self): return self.attrTuple[5] # 标准战力
+    def GetFightPowerMax(self): return self.attrTuple[6] # 上限战力
+    def GetEveryFightPower(self): return self.attrTuple[7] # 每x点战力
+    def GetEveryFightPowerLostHPEx(self): return self.attrTuple[8] # 每x点战力附加伤害
 
 # 装备套装属性表
 class IPY_EquipSuitAttr():
     
     def __init__(self):
-        self.SuiteID = 0
-        self.SuiteCnt = 0
-        self.Star = 0
-        self.AttrInfo = {}
-        self.SkillID = 0
-        self.IsNotify = 0
-        self.ActivateIndex = 0
+        self.attrTuple = None
         return
         
-    def GetSuiteID(self): return self.SuiteID # 套装ID
-    def GetSuiteCnt(self): return self.SuiteCnt # 套装件数
-    def GetStar(self): return self.Star # 星数
-    def GetAttrInfo(self): return self.AttrInfo # 属性
-    def GetSkillID(self): return self.SkillID # 技能ID
-    def GetIsNotify(self): return self.IsNotify # 是否广播
-    def GetActivateIndex(self): return self.ActivateIndex # 激活索引
+    def GetSuiteID(self): return self.attrTuple[0] # 套装ID
+    def GetSuiteCnt(self): return self.attrTuple[1] # 套装件数
+    def GetStar(self): return self.attrTuple[2] # 星数
+    def GetAttrInfo(self): return self.attrTuple[3] # 属性
+    def GetSkillID(self): return self.attrTuple[4] # 技能ID
+    def GetIsNotify(self): return self.attrTuple[5] # 是否广播
+    def GetActivateIndex(self): return self.attrTuple[6] # 激活索引
 
 # 羽翼精炼属性表
 class IPY_WingRefineAttr():
     
     def __init__(self):
-        self.WingClassLV = 0
-        self.AttrInfo = {}
-        self.ItemColorInfo = {}
-        self.MaxRefineExp = 0
+        self.attrTuple = None
         return
         
-    def GetWingClassLV(self): return self.WingClassLV # 翅膀阶级
-    def GetAttrInfo(self): return self.AttrInfo # 精炼属性信息
-    def GetItemColorInfo(self): return self.ItemColorInfo # 精炼经验对应颜色信息
-    def GetMaxRefineExp(self): return self.MaxRefineExp # 本阶最大精炼值
+    def GetWingClassLV(self): return self.attrTuple[0] # 翅膀阶级
+    def GetAttrInfo(self): return self.attrTuple[1] # 精炼属性信息
+    def GetItemColorInfo(self): return self.attrTuple[2] # 精炼经验对应颜色信息
+    def GetMaxRefineExp(self): return self.attrTuple[3] # 本阶最大精炼值
 
 # 羽翼精炼经验表
 class IPY_WingRefineExp():
     
     def __init__(self):
-        self.ItemID = 0
-        self.RandExpMin = 0
-        self.RandExpMax = 0
-        self.ExpMaterial = {}
+        self.attrTuple = None
         return
         
-    def GetItemID(self): return self.ItemID # 精炼物品ID
-    def GetRandExpMin(self): return self.RandExpMin # 最小随机精炼值
-    def GetRandExpMax(self): return self.RandExpMax # 最大随机精炼值
-    def GetExpMaterial(self): return self.ExpMaterial # 翅膀代数对应精炼值
+    def GetItemID(self): return self.attrTuple[0] # 精炼物品ID
+    def GetRandExpMin(self): return self.attrTuple[1] # 最小随机精炼值
+    def GetRandExpMax(self): return self.attrTuple[2] # 最大随机精炼值
+    def GetExpMaterial(self): return self.attrTuple[3] # 翅膀代数对应精炼值
 
 # 仙盟科技表
 class IPY_FamilyTech():
     
     def __init__(self):
-        self.TechID = 0
-        self.AttrType = 0
-        self.AttrValue = 0
-        self.Contribution = 0
-        self.PowerEx = 0
+        self.attrTuple = None
         return
         
-    def GetTechID(self): return self.TechID # 科技ID*1000+等级
-    def GetAttrType(self): return self.AttrType # 属性类型
-    def GetAttrValue(self): return self.AttrValue # 属性值
-    def GetContribution(self): return self.Contribution # 需要贡献度
-    def GetPowerEx(self): return self.PowerEx # 额外战力
+    def GetTechID(self): return self.attrTuple[0] # 科技ID*1000+等级
+    def GetAttrType(self): return self.attrTuple[1] # 属性类型
+    def GetAttrValue(self): return self.attrTuple[2] # 属性值
+    def GetContribution(self): return self.attrTuple[3] # 需要贡献度
+    def GetPowerEx(self): return self.attrTuple[4] # 额外战力
 
 # 战斗力参数等级系数表
 class IPY_FightPowerParam():
     
     def __init__(self):
-        self.LV = 0
-        self.CftHit = 0
-        self.CftMiss = 0
-        self.CftIgnoreDefRate = 0
-        self.CftDamChanceDef = 0
-        self.CftFaintRate = 0
-        self.CftSuperHitRateReduce = 0
-        self.CftSuperHitRate = 0
-        self.CftLuckyHitRate = 0
-        self.CftLuckyHitRateReduce = 0
-        self.CftSkillAtkRate = 0
-        self.CftSkillAtkRateReduce = 0
-        self.CftFinalHurtPer = 0
-        self.CftFinalHurtReducePer = 0
-        self.CftDamagePerPVP = 0
-        self.CftDamagePerPVPReduce = 0
-        self.CftNPCHurtAddPer = 0
-        self.CftNormalHurtPer = 0
-        self.CftFabaoHurtPer = 0
-        self.CftDamBackPer = 0
-        self.CftIgnoreDefRateReduce = 0
-        self.CftFaintDefRate = 0
-        self.CftAtkSpeed = 0
-        self.CftJobAHurtAddPer = 0
-        self.CftJobBHurtAddPer = 0
-        self.CftJobCHurtAddPer = 0
-        self.CftJobAAtkReducePer = 0
-        self.CftJobBAtkReducePer = 0
-        self.CftJobCAtkReducePer = 0
-        self.CftAffairSpeedPer = 0
-        self.CftFamilyBossHurtPer = 0
-        self.CftFamilyWarHPPer = 0
-        self.CftFamilyWarAtkPer = 0
-        self.CftFamilySitExpPer = 0
+        self.attrTuple = None
         return
         
-    def GetLV(self): return self.LV # 等级
-    def GetCftHit(self): return self.CftHit # 命中系数
-    def GetCftMiss(self): return self.CftMiss # 闪避系数
-    def GetCftIgnoreDefRate(self): return self.CftIgnoreDefRate # 无视防御系数
-    def GetCftDamChanceDef(self): return self.CftDamChanceDef # 抵御系数
-    def GetCftFaintRate(self): return self.CftFaintRate # 击晕系数
-    def GetCftSuperHitRateReduce(self): return self.CftSuperHitRateReduce # 暴击率抗性系数
-    def GetCftSuperHitRate(self): return self.CftSuperHitRate # 暴击率系数
-    def GetCftLuckyHitRate(self): return self.CftLuckyHitRate # 会心一击率系数
-    def GetCftLuckyHitRateReduce(self): return self.CftLuckyHitRateReduce # 会心一击抗性系数
-    def GetCftSkillAtkRate(self): return self.CftSkillAtkRate # 技能伤害系数
-    def GetCftSkillAtkRateReduce(self): return self.CftSkillAtkRateReduce # 技能减伤系数
-    def GetCftFinalHurtPer(self): return self.CftFinalHurtPer # 最终伤害加成系数
-    def GetCftFinalHurtReducePer(self): return self.CftFinalHurtReducePer # 最终伤害减免系数
-    def GetCftDamagePerPVP(self): return self.CftDamagePerPVP # PVP伤害增加系数
-    def GetCftDamagePerPVPReduce(self): return self.CftDamagePerPVPReduce # PVP伤害减少系数
-    def GetCftNPCHurtAddPer(self): return self.CftNPCHurtAddPer # PVE技能加成系数
-    def GetCftNormalHurtPer(self): return self.CftNormalHurtPer # 普通附加伤害加成系数
-    def GetCftFabaoHurtPer(self): return self.CftFabaoHurtPer # 法宝附加伤害加成系数
-    def GetCftDamBackPer(self): return self.CftDamBackPer # 伤害反射系数
-    def GetCftIgnoreDefRateReduce(self): return self.CftIgnoreDefRateReduce # 无视防御抗性系数
-    def GetCftFaintDefRate(self): return self.CftFaintDefRate # 控制抵抗系数
-    def GetCftAtkSpeed(self): return self.CftAtkSpeed # 攻速系数
-    def GetCftJobAHurtAddPer(self): return self.CftJobAHurtAddPer # 对目标战士伤害加成
-    def GetCftJobBHurtAddPer(self): return self.CftJobBHurtAddPer # 对目标法师伤害加成
-    def GetCftJobCHurtAddPer(self): return self.CftJobCHurtAddPer # 对目标弓箭伤害加成
-    def GetCftJobAAtkReducePer(self): return self.CftJobAAtkReducePer # 战士攻击伤害减免
-    def GetCftJobBAtkReducePer(self): return self.CftJobBAtkReducePer # 法师攻击伤害减免
-    def GetCftJobCAtkReducePer(self): return self.CftJobCAtkReducePer # 弓箭攻击伤害减免
-    def GetCftAffairSpeedPer(self): return self.CftAffairSpeedPer # 仙盟事务速度加成
-    def GetCftFamilyBossHurtPer(self): return self.CftFamilyBossHurtPer # 仙盟BOSS伤害加成
-    def GetCftFamilyWarHPPer(self): return self.CftFamilyWarHPPer # 仙盟联赛生命加成
-    def GetCftFamilyWarAtkPer(self): return self.CftFamilyWarAtkPer # 仙盟联赛攻击加成
-    def GetCftFamilySitExpPer(self): return self.CftFamilySitExpPer # 仙盟打坐经验加成
+    def GetLV(self): return self.attrTuple[0] # 等级
+    def GetCftHit(self): return self.attrTuple[1] # 命中系数
+    def GetCftMiss(self): return self.attrTuple[2] # 闪避系数
+    def GetCftIgnoreDefRate(self): return self.attrTuple[3] # 无视防御系数
+    def GetCftDamChanceDef(self): return self.attrTuple[4] # 抵御系数
+    def GetCftFaintRate(self): return self.attrTuple[5] # 击晕系数
+    def GetCftSuperHitRateReduce(self): return self.attrTuple[6] # 暴击率抗性系数
+    def GetCftSuperHitRate(self): return self.attrTuple[7] # 暴击率系数
+    def GetCftLuckyHitRate(self): return self.attrTuple[8] # 会心一击率系数
+    def GetCftLuckyHitRateReduce(self): return self.attrTuple[9] # 会心一击抗性系数
+    def GetCftSkillAtkRate(self): return self.attrTuple[10] # 技能伤害系数
+    def GetCftSkillAtkRateReduce(self): return self.attrTuple[11] # 技能减伤系数
+    def GetCftFinalHurtPer(self): return self.attrTuple[12] # 最终伤害加成系数
+    def GetCftFinalHurtReducePer(self): return self.attrTuple[13] # 最终伤害减免系数
+    def GetCftDamagePerPVP(self): return self.attrTuple[14] # PVP伤害增加系数
+    def GetCftDamagePerPVPReduce(self): return self.attrTuple[15] # PVP伤害减少系数
+    def GetCftNPCHurtAddPer(self): return self.attrTuple[16] # PVE技能加成系数
+    def GetCftNormalHurtPer(self): return self.attrTuple[17] # 普通附加伤害加成系数
+    def GetCftFabaoHurtPer(self): return self.attrTuple[18] # 法宝附加伤害加成系数
+    def GetCftDamBackPer(self): return self.attrTuple[19] # 伤害反射系数
+    def GetCftIgnoreDefRateReduce(self): return self.attrTuple[20] # 无视防御抗性系数
+    def GetCftFaintDefRate(self): return self.attrTuple[21] # 控制抵抗系数
+    def GetCftAtkSpeed(self): return self.attrTuple[22] # 攻速系数
+    def GetCftJobAHurtAddPer(self): return self.attrTuple[23] # 对目标战士伤害加成
+    def GetCftJobBHurtAddPer(self): return self.attrTuple[24] # 对目标法师伤害加成
+    def GetCftJobCHurtAddPer(self): return self.attrTuple[25] # 对目标弓箭伤害加成
+    def GetCftJobAAtkReducePer(self): return self.attrTuple[26] # 战士攻击伤害减免
+    def GetCftJobBAtkReducePer(self): return self.attrTuple[27] # 法师攻击伤害减免
+    def GetCftJobCAtkReducePer(self): return self.attrTuple[28] # 弓箭攻击伤害减免
+    def GetCftAffairSpeedPer(self): return self.attrTuple[29] # 仙盟事务速度加成
+    def GetCftFamilyBossHurtPer(self): return self.attrTuple[30] # 仙盟BOSS伤害加成
+    def GetCftFamilyWarHPPer(self): return self.attrTuple[31] # 仙盟联赛生命加成
+    def GetCftFamilyWarAtkPer(self): return self.attrTuple[32] # 仙盟联赛攻击加成
+    def GetCftFamilySitExpPer(self): return self.attrTuple[33] # 仙盟打坐经验加成
 
 # NPC掉落表
 class IPY_NPCDropItem():
     
     def __init__(self):
-        self.NPCID = 0
-        self.MaxWorldLV = 0
-        self.MaxDropLV = 0
-        self.CanDropRatePlus = 0
-        self.IsDropJobSelf = 0
-        self.PieRateDrop = []
-        self.PieRateDoCnt = 0
-        self.IndepRateDrop = {}
-        self.IndepRateDoCnt = 0
-        self.EquipColorMaxDropCount = {}
-        self.TianxuanEquipRateList = []
-        self.EquipColorSuitInfo = {}
-        self.EquipPartKeyRateInfo = {}
-        self.ColorSuitPartOptimization = 0
-        self.KillCountDropEquipPub = {}
-        self.ItemIDDropRate = {}
-        self.TianxuanItemIDRate = {}
-        self.ItemIDMaxDropCount = {}
-        self.ItemKeyDropRate = {}
-        self.ItemKeyDropRateJob = {}
-        self.TianxuanItemKeyRate = {}
-        self.ItemKeyMaxDropCount = {}
-        self.DropMoneyDoCnt = 0
-        self.DropMoneyRate = 0
-        self.DropMoneyMin = 0
-        self.DropMoneyMax = 0
-        self.KillCountDropPub = {}
-        self.KillCountDropPri = []
-        self.PriItemIDDrop = []
-        self.AucionItemCanSell = 0
+        self.attrTuple = None
         return
         
-    def GetNPCID(self): return self.NPCID # NPCID
-    def GetMaxWorldLV(self): return self.MaxWorldLV # 最大世界等级,0为不限制,不受最大掉落等级影响
-    def GetMaxDropLV(self): return self.MaxDropLV # 最大可掉落的玩家等级, 不影响世界等级
-    def GetCanDropRatePlus(self): return self.CanDropRatePlus # 额外提升掉率的是否有效
-    def GetIsDropJobSelf(self): return self.IsDropJobSelf # 是否只掉落本职业
-    def GetPieRateDrop(self): return self.PieRateDrop # 饼图概率掉落信息 [(概率,0),(概率,(阶,颜色)),...]
-    def GetPieRateDoCnt(self): return self.PieRateDoCnt # 饼图概率执行次数
-    def GetIndepRateDrop(self): return self.IndepRateDrop # 独立概率掉落信息 {(阶,颜色):概率,...}
-    def GetIndepRateDoCnt(self): return self.IndepRateDoCnt # 独立概率执行次数
-    def GetEquipColorMaxDropCount(self): return self.EquipColorMaxDropCount # 装备颜色最大掉落物品数 {颜色:上限数量,...}
-    def GetTianxuanEquipRateList(self): return self.TianxuanEquipRateList # 天玄丹装备掉落饼图 [[概率,(阶,品质)], ...]
-    def GetEquipColorSuitInfo(self): return self.EquipColorSuitInfo # 装备颜色对应套装概率 {颜色:套装概率, ...}
-    def GetEquipPartKeyRateInfo(self): return self.EquipPartKeyRateInfo # 装备部位集合信息 {(颜色,是否套装):部位集合key, ...}
-    def GetColorSuitPartOptimization(self): return self.ColorSuitPartOptimization # 部位颜色套评分优选掉落,十位代表颜色,个位代表套装
-    def GetKillCountDropEquipPub(self): return self.KillCountDropEquipPub # 第x次击杀附加必掉装备 {次数:[阶,颜色,是否套装,部位集合key], ...}
-    def GetItemIDDropRate(self): return self.ItemIDDropRate # 指定物品ID掉率信息 {物品ID:概率, ...}
-    def GetTianxuanItemIDRate(self): return self.TianxuanItemIDRate # 天玄丹指定ID概率 {物品ID:概率, ...}
-    def GetItemIDMaxDropCount(self): return self.ItemIDMaxDropCount # 指定物品ID最大掉落个数,没配默认1次 {物品ID:随机次数,...}
-    def GetItemKeyDropRate(self): return self.ItemKeyDropRate # 物品ID集合Key概率, 随机一个, 优先级低 {物品ID集合key:概率, ...}
-    def GetItemKeyDropRateJob(self): return self.ItemKeyDropRateJob # 物品ID集合Key概率, 自身职业, 优先级高 {物品ID集合key:概率, ...}
-    def GetTianxuanItemKeyRate(self): return self.TianxuanItemKeyRate # 天玄丹指定ID集合Key概率{物品ID集合key:概率, ...}
-    def GetItemKeyMaxDropCount(self): return self.ItemKeyMaxDropCount # 物品ID集合Key随机次数,没配默认1次 {物品ID集合key:随机次数,...}
-    def GetDropMoneyDoCnt(self): return self.DropMoneyDoCnt # 掉落金币执行次数
-    def GetDropMoneyRate(self): return self.DropMoneyRate # 掉落金币概率
-    def GetDropMoneyMin(self): return self.DropMoneyMin # 掉落金币最小值
-    def GetDropMoneyMax(self): return self.DropMoneyMax # 掉落金币最大值
-    def GetKillCountDropPub(self): return self.KillCountDropPub # 击杀次数必掉(公共){击杀次数:[[物品ID, ...], [随机物品ID, ...]], ...}
-    def GetKillCountDropPri(self): return self.KillCountDropPri # 击杀次数必掉(私有)[击杀次数,[物品ID,...],是否直接放入背包]
-    def GetPriItemIDDrop(self): return self.PriItemIDDrop # 所有归属者私有掉落物品ID列表,每人一份,默认绑定,没有职业区分[物品ID, ...]
-    def GetAucionItemCanSell(self): return self.AucionItemCanSell # 掉落拍品可否上架集市
+    def GetNPCID(self): return self.attrTuple[0] # NPCID
+    def GetMaxWorldLV(self): return self.attrTuple[1] # 最大世界等级,0为不限制,不受最大掉落等级影响
+    def GetMaxDropLV(self): return self.attrTuple[2] # 最大可掉落的玩家等级, 不影响世界等级
+    def GetCanDropRatePlus(self): return self.attrTuple[3] # 额外提升掉率的是否有效
+    def GetIsDropJobSelf(self): return self.attrTuple[4] # 是否只掉落本职业
+    def GetPieRateDrop(self): return self.attrTuple[5] # 饼图概率掉落信息 [(概率,0),(概率,(阶,颜色)),...]
+    def GetPieRateDoCnt(self): return self.attrTuple[6] # 饼图概率执行次数
+    def GetIndepRateDrop(self): return self.attrTuple[7] # 独立概率掉落信息 {(阶,颜色):概率,...}
+    def GetIndepRateDoCnt(self): return self.attrTuple[8] # 独立概率执行次数
+    def GetEquipColorMaxDropCount(self): return self.attrTuple[9] # 装备颜色最大掉落物品数 {颜色:上限数量,...}
+    def GetTianxuanEquipRateList(self): return self.attrTuple[10] # 天玄丹装备掉落饼图 [[概率,(阶,品质)], ...]
+    def GetEquipColorSuitInfo(self): return self.attrTuple[11] # 装备颜色对应套装概率 {颜色:套装概率, ...}
+    def GetEquipPartKeyRateInfo(self): return self.attrTuple[12] # 装备部位集合信息 {(颜色,是否套装):部位集合key, ...}
+    def GetColorSuitPartOptimization(self): return self.attrTuple[13] # 部位颜色套评分优选掉落,十位代表颜色,个位代表套装
+    def GetKillCountDropEquipPub(self): return self.attrTuple[14] # 第x次击杀附加必掉装备 {次数:[阶,颜色,是否套装,部位集合key], ...}
+    def GetItemIDDropRate(self): return self.attrTuple[15] # 指定物品ID掉率信息 {物品ID:概率, ...}
+    def GetTianxuanItemIDRate(self): return self.attrTuple[16] # 天玄丹指定ID概率 {物品ID:概率, ...}
+    def GetItemIDMaxDropCount(self): return self.attrTuple[17] # 指定物品ID最大掉落个数,没配默认1次 {物品ID:随机次数,...}
+    def GetItemKeyDropRate(self): return self.attrTuple[18] # 物品ID集合Key概率, 随机一个, 优先级低 {物品ID集合key:概率, ...}
+    def GetItemKeyDropRateJob(self): return self.attrTuple[19] # 物品ID集合Key概率, 自身职业, 优先级高 {物品ID集合key:概率, ...}
+    def GetTianxuanItemKeyRate(self): return self.attrTuple[20] # 天玄丹指定ID集合Key概率{物品ID集合key:概率, ...}
+    def GetItemKeyMaxDropCount(self): return self.attrTuple[21] # 物品ID集合Key随机次数,没配默认1次 {物品ID集合key:随机次数,...}
+    def GetDropMoneyDoCnt(self): return self.attrTuple[22] # 掉落金币执行次数
+    def GetDropMoneyRate(self): return self.attrTuple[23] # 掉落金币概率
+    def GetDropMoneyMin(self): return self.attrTuple[24] # 掉落金币最小值
+    def GetDropMoneyMax(self): return self.attrTuple[25] # 掉落金币最大值
+    def GetKillCountDropPub(self): return self.attrTuple[26] # 击杀次数必掉(公共){击杀次数:[[物品ID, ...], [随机物品ID, ...]], ...}
+    def GetKillCountDropPri(self): return self.attrTuple[27] # 击杀次数必掉(私有)[击杀次数,[物品ID,...],是否直接放入背包]
+    def GetPriItemIDDrop(self): return self.attrTuple[28] # 所有归属者私有掉落物品ID列表,每人一份,默认绑定,没有职业区分[物品ID, ...]
+    def GetAucionItemCanSell(self): return self.attrTuple[29] # 掉落拍品可否上架集市
 
 # 符印塔表
 class IPY_RuneTower():
     
     def __init__(self):
-        self.ID = 0
-        self.RunePoint = 0
-        self.Ysog = 0
-        self.NPCID = 0
-        self.IsNotify = 0
-        self.FixEndAward = []
-        self.GoodDrop = {}
-        self.SweepRunePoint = 0
-        self.SweepYsog = 0
-        self.SweepGoodDrop = {}
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # 塔编号
-    def GetRunePoint(self): return self.RunePoint # 过关给符印精华
-    def GetYsog(self): return self.Ysog # 过关给魔精
-    def GetNPCID(self): return self.NPCID # npcid
-    def GetIsNotify(self): return self.IsNotify # 是否广播
-    def GetFixEndAward(self): return self.FixEndAward # 固定结算奖励
-    def GetGoodDrop(self): return self.GoodDrop # 珍稀符印通关掉落概率
-    def GetSweepRunePoint(self): return self.SweepRunePoint # 扫荡符印精华
-    def GetSweepYsog(self): return self.SweepYsog # 扫荡魔精
-    def GetSweepGoodDrop(self): return self.SweepGoodDrop # 扫荡珍稀符印
+    def GetID(self): return self.attrTuple[0] # 塔编号
+    def GetRunePoint(self): return self.attrTuple[1] # 过关给符印精华
+    def GetYsog(self): return self.attrTuple[2] # 过关给魔精
+    def GetNPCID(self): return self.attrTuple[3] # npcid
+    def GetIsNotify(self): return self.attrTuple[4] # 是否广播
+    def GetFixEndAward(self): return self.attrTuple[5] # 固定结算奖励
+    def GetGoodDrop(self): return self.attrTuple[6] # 珍稀符印通关掉落概率
+    def GetSweepRunePoint(self): return self.attrTuple[7] # 扫荡符印精华
+    def GetSweepYsog(self): return self.attrTuple[8] # 扫荡魔精
+    def GetSweepGoodDrop(self): return self.attrTuple[9] # 扫荡珍稀符印
 
 # 地图表格
 class IPY_ChinMap():
     
     def __init__(self):
-        self.MapID = 0
-        self.CanRide = 0
-        self.CanOutPet = 0
-        self.SightType = 0
+        self.attrTuple = None
         return
         
-    def GetMapID(self): return self.MapID # 地图ID
-    def GetCanRide(self): return self.CanRide # 可否骑乘
-    def GetCanOutPet(self): return self.CanOutPet # 可否召唤宠物
-    def GetSightType(self): return self.SightType # 视野类型
+    def GetMapID(self): return self.attrTuple[0] # 地图ID
+    def GetCanRide(self): return self.attrTuple[1] # 可否骑乘
+    def GetCanOutPet(self): return self.attrTuple[2] # 可否召唤宠物
+    def GetSightType(self): return self.attrTuple[3] # 视野类型
 
 # 副本总表
 class IPY_FBFunc():
     
     def __init__(self):
-        self.DataMapID = 0
-        self.DayTimes = 0
-        self.DayResetType = 0
-        self.WeekTimes = 0
-        self.WeekResetType = 0
-        self.RewardRate = []
-        self.BuyTimesVIPPriID = 0
-        self.ExtraTimesVIPPriID = 0
-        self.ExtraTimesMWPriID = 0
-        self.GuardPick = 0
-        self.OfflineTime = 0
-        self.FBPoint = 0
-        self.HelpPoint = 0
-        self.DayHelpCountMax = 0
+        self.attrTuple = None
         return
         
-    def GetDataMapID(self): return self.DataMapID # 数据地图ID
-    def GetDayTimes(self): return self.DayTimes # 每日可挑战次数, 0为不限制
-    def GetDayResetType(self): return self.DayResetType # 每日次数重置类型; 0-不重置,1-0点,2-5点
-    def GetWeekTimes(self): return self.WeekTimes # 每周可挑战次数, 0为不限制
-    def GetWeekResetType(self): return self.WeekResetType # 每周次数重置类型; 0-不重置,1-0点,2-5点
-    def GetRewardRate(self): return self.RewardRate # 评级奖励比例
-    def GetBuyTimesVIPPriID(self): return self.BuyTimesVIPPriID # 购买次数VIP权限ID
-    def GetExtraTimesVIPPriID(self): return self.ExtraTimesVIPPriID # 额外次数VIP权限ID
-    def GetExtraTimesMWPriID(self): return self.ExtraTimesMWPriID # 额外次数法宝权限ID
-    def GetGuardPick(self): return self.GuardPick # 该地图守护是否能拾取
-    def GetOfflineTime(self): return self.OfflineTime # 离线多久退出副本(秒)
-    def GetFBPoint(self): return self.FBPoint # 副本过关仙缘币
-    def GetHelpPoint(self): return self.HelpPoint # 助战仙缘币(0代表不可助战)
-    def GetDayHelpCountMax(self): return self.DayHelpCountMax # 每日手动助战获得仙缘币次数(非镜像)
+    def GetDataMapID(self): return self.attrTuple[0] # 数据地图ID
+    def GetDayTimes(self): return self.attrTuple[1] # 每日可挑战次数, 0为不限制
+    def GetDayResetType(self): return self.attrTuple[2] # 每日次数重置类型; 0-不重置,1-0点,2-5点
+    def GetWeekTimes(self): return self.attrTuple[3] # 每周可挑战次数, 0为不限制
+    def GetWeekResetType(self): return self.attrTuple[4] # 每周次数重置类型; 0-不重置,1-0点,2-5点
+    def GetRewardRate(self): return self.attrTuple[5] # 评级奖励比例
+    def GetBuyTimesVIPPriID(self): return self.attrTuple[6] # 购买次数VIP权限ID
+    def GetExtraTimesVIPPriID(self): return self.attrTuple[7] # 额外次数VIP权限ID
+    def GetExtraTimesMWPriID(self): return self.attrTuple[8] # 额外次数法宝权限ID
+    def GetGuardPick(self): return self.attrTuple[9] # 该地图守护是否能拾取
+    def GetOfflineTime(self): return self.attrTuple[10] # 离线多久退出副本(秒)
+    def GetFBPoint(self): return self.attrTuple[11] # 副本过关仙缘币
+    def GetHelpPoint(self): return self.attrTuple[12] # 助战仙缘币(0代表不可助战)
+    def GetDayHelpCountMax(self): return self.attrTuple[13] # 每日手动助战获得仙缘币次数(非镜像)
 
 # 副本功能线路表
 class IPY_FBLine():
     
     def __init__(self):
-        self.DataMapID = 0
-        self.LineID = 0
-        self.MapID = 0
-        self.LVLimitMin = 0
-        self.LVLimitMax = 0
-        self.TicketID = 0
-        self.TicketCostCnt = []
-        self.TicketPrice = 0
-        self.SweepLVLimit = 0
-        self.SweepItemID = 0
-        self.SweepCostCnt = 0
-        self.EnterPosInfo = 0
-        self.StepTime = 0
-        self.RefreshNPC = 0
-        self.GradeInfo = 0
-        self.RewardInfo = 0
+        self.attrTuple = None
         return
         
-    def GetDataMapID(self): return self.DataMapID # 数据地图ID
-    def GetLineID(self): return self.LineID # 功能线路ID
-    def GetMapID(self): return self.MapID # 场景地图ID
-    def GetLVLimitMin(self): return self.LVLimitMin # 最低等级限制, 0为不限制
-    def GetLVLimitMax(self): return self.LVLimitMax # 最高等级限制, 0为不限制
-    def GetTicketID(self): return self.TicketID # 门票ID
-    def GetTicketCostCnt(self): return self.TicketCostCnt # 门票消耗数信息
-    def GetTicketPrice(self): return self.TicketPrice # 门票单价(不能用钱抵的配0)
-    def GetSweepLVLimit(self): return self.SweepLVLimit # 扫荡等级限制, 0为不限制
-    def GetSweepItemID(self): return self.SweepItemID # 扫荡所需道具ID
-    def GetSweepCostCnt(self): return self.SweepCostCnt # 扫荡所需道具个数
-    def GetEnterPosInfo(self): return self.EnterPosInfo # 进入坐标信息
-    def GetStepTime(self): return self.StepTime # 阶段时间
-    def GetRefreshNPC(self): return self.RefreshNPC # 标试点刷怪配置
-    def GetGradeInfo(self): return self.GradeInfo # 评级规则
-    def GetRewardInfo(self): return self.RewardInfo # 奖励信息
+    def GetDataMapID(self): return self.attrTuple[0] # 数据地图ID
+    def GetLineID(self): return self.attrTuple[1] # 功能线路ID
+    def GetMapID(self): return self.attrTuple[2] # 场景地图ID
+    def GetLVLimitMin(self): return self.attrTuple[3] # 最低等级限制, 0为不限制
+    def GetLVLimitMax(self): return self.attrTuple[4] # 最高等级限制, 0为不限制
+    def GetTicketID(self): return self.attrTuple[5] # 门票ID
+    def GetTicketCostCnt(self): return self.attrTuple[6] # 门票消耗数信息
+    def GetTicketPrice(self): return self.attrTuple[7] # 门票单价(不能用钱抵的配0)
+    def GetSweepLVLimit(self): return self.attrTuple[8] # 扫荡等级限制, 0为不限制
+    def GetSweepItemID(self): return self.attrTuple[9] # 扫荡所需道具ID
+    def GetSweepCostCnt(self): return self.attrTuple[10] # 扫荡所需道具个数
+    def GetEnterPosInfo(self): return self.attrTuple[11] # 进入坐标信息
+    def GetStepTime(self): return self.attrTuple[12] # 阶段时间
+    def GetRefreshNPC(self): return self.attrTuple[13] # 标试点刷怪配置
+    def GetGradeInfo(self): return self.attrTuple[14] # 评级规则
+    def GetRewardInfo(self): return self.attrTuple[15] # 奖励信息
 
 # 副本回合制表
 class IPY_FBTurn():
     
     def __init__(self):
-        self.DataMapID = 0
-        self.LineID = 0
-        self.NPCID = 0
-        self.PetNPCIDList = []
-        self.ElfSkillIDList = []
-        self.STSkillIDList = []
-        self.AwardItemListFirst = []
-        self.AwardItemList = []
+        self.attrTuple = None
         return
         
-    def GetDataMapID(self): return self.DataMapID # 数据地图ID
-    def GetLineID(self): return self.LineID # 功能线路ID
-    def GetNPCID(self): return self.NPCID # NPCID
-    def GetPetNPCIDList(self): return self.PetNPCIDList # 灵宠NPCID列表
-    def GetElfSkillIDList(self): return self.ElfSkillIDList # 精怪技能ID列表
-    def GetSTSkillIDList(self): return self.STSkillIDList # 神通技能ID列表
-    def GetAwardItemListFirst(self): return self.AwardItemListFirst # 首次过关奖励列表[[物品ID,个数,是否拍品], ...]
-    def GetAwardItemList(self): return self.AwardItemList # 再次过关奖励列表[[物品ID,个数,是否拍品], ...]
+    def GetDataMapID(self): return self.attrTuple[0] # 数据地图ID
+    def GetLineID(self): return self.attrTuple[1] # 功能线路ID
+    def GetNPCID(self): return self.attrTuple[2] # NPCID
+    def GetPetNPCIDList(self): return self.attrTuple[3] # 灵宠NPCID列表
+    def GetElfSkillIDList(self): return self.attrTuple[4] # 精怪技能ID列表
+    def GetSTSkillIDList(self): return self.attrTuple[5] # 神通技能ID列表
+    def GetAwardItemListFirst(self): return self.attrTuple[6] # 首次过关奖励列表[[物品ID,个数,是否拍品], ...]
+    def GetAwardItemList(self): return self.attrTuple[7] # 再次过关奖励列表[[物品ID,个数,是否拍品], ...]
 
 # 副本助战表
 class IPY_FBHelpBattle():
     
     def __init__(self):
-        self.DataMapID = 0
-        self.LineID = 0
-        self.FightPowerMin = 0
-        self.RobotFightPower = 0
-        self.RobotLV = 0
-        self.RobotBaseHurt = 0
-        self.RobotHPCoefficient = 0
-        self.RobotSkillsDict = {}
+        self.attrTuple = None
         return
         
-    def GetDataMapID(self): return self.DataMapID # 数据地图ID
-    def GetLineID(self): return self.LineID # 功能线路ID
-    def GetFightPowerMin(self): return self.FightPowerMin # 助战最低战力,也是副本保底战力
-    def GetRobotFightPower(self): return self.RobotFightPower # 助战NPC战力
-    def GetRobotLV(self): return self.RobotLV # 助战NPC等级
-    def GetRobotBaseHurt(self): return self.RobotBaseHurt # 助战NPC保底伤害
-    def GetRobotHPCoefficient(self): return self.RobotHPCoefficient # 助战NPC生命系数
-    def GetRobotSkillsDict(self): return self.RobotSkillsDict # 助战NPC技能, {"职业":[技能列表], ...}
+    def GetDataMapID(self): return self.attrTuple[0] # 数据地图ID
+    def GetLineID(self): return self.attrTuple[1] # 功能线路ID
+    def GetFightPowerMin(self): return self.attrTuple[2] # 助战最低战力,也是副本保底战力
+    def GetRobotFightPower(self): return self.attrTuple[3] # 助战NPC战力
+    def GetRobotLV(self): return self.attrTuple[4] # 助战NPC等级
+    def GetRobotBaseHurt(self): return self.attrTuple[5] # 助战NPC保底伤害
+    def GetRobotHPCoefficient(self): return self.attrTuple[6] # 助战NPC生命系数
+    def GetRobotSkillsDict(self): return self.attrTuple[7] # 助战NPC技能, {"职业":[技能列表], ...}
 
 # 副本刷怪标识点表
 class IPY_NPCCustomRefresh():
     
     def __init__(self):
-        self.ID = 0
-        self.RefreshMarkInfo = []
-        self.RefreshNPCID = 0
-        self.RandNPCIDList = []
-        self.NPCIDCountList = []
-        self.MaxCount = 0
-        self.TotalMaxCount = 0
-        self.IsLineOneOnly = 0
-        self.RefreshTick = 0
-        self.IsRepeat = 0
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # 刷怪规则ID
-    def GetRefreshMarkInfo(self): return self.RefreshMarkInfo # 标试点, 当配置多个时为随机标试点, 不重复
-    def GetRefreshNPCID(self): return self.RefreshNPCID # 指定NPCID
-    def GetRandNPCIDList(self): return self.RandNPCIDList # 单次随机刷怪NPCID
-    def GetNPCIDCountList(self): return self.NPCIDCountList # 单次指定刷怪NPC
-    def GetMaxCount(self): return self.MaxCount # 单个点最大存在怪物数
-    def GetTotalMaxCount(self): return self.TotalMaxCount # 相同标试点总刷怪物数
-    def GetIsLineOneOnly(self): return self.IsLineOneOnly # 是否仅在1线刷怪
-    def GetRefreshTick(self): return self.RefreshTick # 刷怪间隔秒
-    def GetIsRepeat(self): return self.IsRepeat # 是否循环刷怪
+    def GetID(self): return self.attrTuple[0] # 刷怪规则ID
+    def GetRefreshMarkInfo(self): return self.attrTuple[1] # 标试点, 当配置多个时为随机标试点, 不重复
+    def GetRefreshNPCID(self): return self.attrTuple[2] # 指定NPCID
+    def GetRandNPCIDList(self): return self.attrTuple[3] # 单次随机刷怪NPCID
+    def GetNPCIDCountList(self): return self.attrTuple[4] # 单次指定刷怪NPC
+    def GetMaxCount(self): return self.attrTuple[5] # 单个点最大存在怪物数
+    def GetTotalMaxCount(self): return self.attrTuple[6] # 相同标试点总刷怪物数
+    def GetIsLineOneOnly(self): return self.attrTuple[7] # 是否仅在1线刷怪
+    def GetRefreshTick(self): return self.attrTuple[8] # 刷怪间隔秒
+    def GetIsRepeat(self): return self.attrTuple[9] # 是否循环刷怪
 
 # 日常活动表
 class IPY_DailyAction():
     
     def __init__(self):
-        self.DailyID = 0
-        self.OpenTimeDict = {}
-        self.Duration = 0
-        self.DayTimes = 0
-        self.DayBuyTimes = 0
-        self.BuyTimesPrivilegeID = 0
-        self.MoneyType = 0
-        self.BuyNeedMoney = []
-        self.DayItemAddTimes = 0
-        self.DayItemID = 0
-        self.DayResetType = 0
-        self.WeekTimes = 0
-        self.WeekResetType = 0
+        self.attrTuple = None
         return
         
-    def GetDailyID(self): return self.DailyID # 活动ID
-    def GetOpenTimeDict(self): return self.OpenTimeDict # 开启时间
-    def GetDuration(self): return self.Duration # 持续时间, 0为不限制
-    def GetDayTimes(self): return self.DayTimes # 每日次数, 0为不限制
-    def GetDayBuyTimes(self): return self.DayBuyTimes # 每日可购买次数
-    def GetBuyTimesPrivilegeID(self): return self.BuyTimesPrivilegeID # 购买次数VIP权限ID
-    def GetMoneyType(self): return self.MoneyType # 货币类型
-    def GetBuyNeedMoney(self): return self.BuyNeedMoney # 购买次数需要仙玉
-    def GetDayItemAddTimes(self): return self.DayItemAddTimes # 每日可用物品增加次数
-    def GetDayItemID(self): return self.DayItemID # 增加次数的物品ID
-    def GetDayResetType(self): return self.DayResetType # 每日次数重置类型; 0-不重置,1-0点,2-5点
-    def GetWeekTimes(self): return self.WeekTimes # 每周次数, 0为不限制
-    def GetWeekResetType(self): return self.WeekResetType # 每周次数重置类型; 0-不重置,1-0点,2-5点
+    def GetDailyID(self): return self.attrTuple[0] # 活动ID
+    def GetOpenTimeDict(self): return self.attrTuple[1] # 开启时间
+    def GetDuration(self): return self.attrTuple[2] # 持续时间, 0为不限制
+    def GetDayTimes(self): return self.attrTuple[3] # 每日次数, 0为不限制
+    def GetDayBuyTimes(self): return self.attrTuple[4] # 每日可购买次数
+    def GetBuyTimesPrivilegeID(self): return self.attrTuple[5] # 购买次数VIP权限ID
+    def GetMoneyType(self): return self.attrTuple[6] # 货币类型
+    def GetBuyNeedMoney(self): return self.attrTuple[7] # 购买次数需要仙玉
+    def GetDayItemAddTimes(self): return self.attrTuple[8] # 每日可用物品增加次数
+    def GetDayItemID(self): return self.attrTuple[9] # 增加次数的物品ID
+    def GetDayResetType(self): return self.attrTuple[10] # 每日次数重置类型; 0-不重置,1-0点,2-5点
+    def GetWeekTimes(self): return self.attrTuple[11] # 每周次数, 0为不限制
+    def GetWeekResetType(self): return self.attrTuple[12] # 每周次数重置类型; 0-不重置,1-0点,2-5点
 
 # 装备品质表
 class IPY_EquipColor():
     
     def __init__(self):
-        self.EquipColor = 0
-        self.RangeLV = []
-        self.RangeRand = []
-        self.BattleAttrCount = 0
-        self.BattleDefAttrCount = 0
-        self.RangeFaintRate = []
-        self.RangeFaintDefRate = []
-        self.RangeSuperHitRate = []
-        self.RangeSuperHitRateReduce = []
-        self.RangeComboRate = []
-        self.RangeComboDefRate = []
-        self.RangeMissRate = []
-        self.RangeMissDefRate = []
-        self.RangeAtkBackRate = []
-        self.RangeAtkBackDefRate = []
-        self.RangeSuckHPPer = []
-        self.RangeSuckHPDefPer = []
-        self.MoneyBase = 0
+        self.attrTuple = None
         return
         
-    def GetEquipColor(self): return self.EquipColor #  装备颜色
-    def GetRangeLV(self): return self.RangeLV #  等级范围
-    def GetRangeRand(self): return self.RangeRand #  随机上下限范围
-    def GetBattleAttrCount(self): return self.BattleAttrCount #  战斗属性条数
-    def GetBattleDefAttrCount(self): return self.BattleDefAttrCount #  战斗抗性条数
-    def GetRangeFaintRate(self): return self.RangeFaintRate #  击晕范围
-    def GetRangeFaintDefRate(self): return self.RangeFaintDefRate #  抗击晕范围
-    def GetRangeSuperHitRate(self): return self.RangeSuperHitRate #  暴击范围
-    def GetRangeSuperHitRateReduce(self): return self.RangeSuperHitRateReduce #  抗暴击范围
-    def GetRangeComboRate(self): return self.RangeComboRate #  连击范围
-    def GetRangeComboDefRate(self): return self.RangeComboDefRate #  抗连击范围
-    def GetRangeMissRate(self): return self.RangeMissRate #  闪避范围
-    def GetRangeMissDefRate(self): return self.RangeMissDefRate #  抗闪避范围
-    def GetRangeAtkBackRate(self): return self.RangeAtkBackRate #  反击范围
-    def GetRangeAtkBackDefRate(self): return self.RangeAtkBackDefRate #  抗反击范围
-    def GetRangeSuckHPPer(self): return self.RangeSuckHPPer #  吸血范围
-    def GetRangeSuckHPDefPer(self): return self.RangeSuckHPDefPer #  抗吸血范围
-    def GetMoneyBase(self): return self.MoneyBase #  分解基础货币值
+    def GetEquipColor(self): return self.attrTuple[0] #  装备颜色
+    def GetRangeLV(self): return self.attrTuple[1] #  等级范围
+    def GetRangeRand(self): return self.attrTuple[2] #  随机上下限范围
+    def GetBattleAttrCount(self): return self.attrTuple[3] #  战斗属性条数
+    def GetBattleDefAttrCount(self): return self.attrTuple[4] #  战斗抗性条数
+    def GetRangeFaintRate(self): return self.attrTuple[5] #  击晕范围
+    def GetRangeFaintDefRate(self): return self.attrTuple[6] #  抗击晕范围
+    def GetRangeSuperHitRate(self): return self.attrTuple[7] #  暴击范围
+    def GetRangeSuperHitRateReduce(self): return self.attrTuple[8] #  抗暴击范围
+    def GetRangeComboRate(self): return self.attrTuple[9] #  连击范围
+    def GetRangeComboDefRate(self): return self.attrTuple[10] #  抗连击范围
+    def GetRangeMissRate(self): return self.attrTuple[11] #  闪避范围
+    def GetRangeMissDefRate(self): return self.attrTuple[12] #  抗闪避范围
+    def GetRangeAtkBackRate(self): return self.attrTuple[13] #  反击范围
+    def GetRangeAtkBackDefRate(self): return self.attrTuple[14] #  抗反击范围
+    def GetRangeSuckHPPer(self): return self.attrTuple[15] #  吸血范围
+    def GetRangeSuckHPDefPer(self): return self.attrTuple[16] #  抗吸血范围
+    def GetMoneyBase(self): return self.attrTuple[17] #  分解基础货币值
 
 # 装备品质部位表
 class IPY_EquipColorPlace():
     
     def __init__(self):
-        self.EquipColor = 0
-        self.EquipPlace = 0
-        self.RangeAtk = []
-        self.RangeHP = []
-        self.RangeDef = []
-        self.RangeAtkSpeed = []
+        self.attrTuple = None
         return
         
-    def GetEquipColor(self): return self.EquipColor #  装备颜色
-    def GetEquipPlace(self): return self.EquipPlace #  装备部位
-    def GetRangeAtk(self): return self.RangeAtk #  攻击范围
-    def GetRangeHP(self): return self.RangeHP #  生命范围
-    def GetRangeDef(self): return self.RangeDef #  防御范围
-    def GetRangeAtkSpeed(self): return self.RangeAtkSpeed #  攻速范围
+    def GetEquipColor(self): return self.attrTuple[0] #  装备颜色
+    def GetEquipPlace(self): return self.attrTuple[1] #  装备部位
+    def GetRangeAtk(self): return self.attrTuple[2] #  攻击范围
+    def GetRangeHP(self): return self.attrTuple[3] #  生命范围
+    def GetRangeDef(self): return self.attrTuple[4] #  防御范围
+    def GetRangeAtkSpeed(self): return self.attrTuple[5] #  攻速范围
 
 # 装备评分属性系数表
 class IPY_EquipGSParam():
     
     def __init__(self):
-        self.ClassLV = 0
-        self.EquipColor = 0
-        self.IsSuit = 0
-        self.ItemQuality = 0
-        self.BaseEquipMaxHPAddPerC = 0
-        self.BaseEquipAtkAddPerC = 0
-        self.SuperHitC = 0
-        self.SuperHitPerC = 0
-        self.LuckyHitRateC = 0
-        self.LuckyHitRateReduceC = 0
-        self.LuckPerC = 0
-        self.PerLVAtkC = 0
-        self.PerLVMaxHPC = 0
-        self.DropMoneyPerC = 0
-        self.SuperHitReduceC = 0
-        self.SuperHitRateReduceC = 0
-        self.HitC = 0
-        self.MissC = 0
-        self.PetDamPerC = 0
-        self.MaxHPPerC = 0
-        self.AtkPerC = 0
-        self.SkillAtkRateC = 0
-        self.SkillAtkRateReduceC = 0
-        self.SkillAddPer1C = 0
-        self.SkillAddPer2C = 0
-        self.SkillAddPer3C = 0
-        self.SkillAddPer4C = 0
-        self.SkillAddPer5C = 0
-        self.SkillAddPer6C = 0
-        self.SkillAddPer7C = 0
-        self.SkillReducePer1C = 0
-        self.SkillReducePer2C = 0
-        self.SkillReducePer3C = 0
-        self.SkillReducePer4C = 0
-        self.SkillReducePer5C = 0
-        self.SkillReducePer6C = 0
-        self.SkillReducePer7C = 0
-        self.ReduceSkillCDPerC = 0
-        self.LuckyHitPerC = 0
-        self.FaintDefRateC = 0
-        self.SuperHitRateC = 0
-        self.IgnoreDefRateC = 0
-        self.IgnoreDefRateReduceC = 0
-        self.ProDefPerC = 0
-        self.FinalHurtPerC = 0
-        self.FinalHurtReducePerC = 0
-        self.AtkSpeedC = 0
-        self.FaintRateC = 0
-        self.ComboRateC = 0
-        self.ComboDefRateC = 0
-        self.AtkBackRateC = 0
-        self.AtkBackDefRateC = 0
-        self.SuckHPPerC = 0
-        self.SuckHPDefPerC = 0
+        self.attrTuple = None
         return
         
-    def GetClassLV(self): return self.ClassLV #  装备阶级
-    def GetEquipColor(self): return self.EquipColor #  装备颜色
-    def GetIsSuit(self): return self.IsSuit #  是否套装
-    def GetItemQuality(self): return self.ItemQuality # 物品星级
-    def GetBaseEquipMaxHPAddPerC(self): return self.BaseEquipMaxHPAddPerC #  基础防具生命百分比系数
-    def GetBaseEquipAtkAddPerC(self): return self.BaseEquipAtkAddPerC #  基础武器攻击百分比系数
-    def GetSuperHitC(self): return self.SuperHitC #  暴击值系数
-    def GetSuperHitPerC(self): return self.SuperHitPerC #  暴击值百分比系数
-    def GetLuckyHitRateC(self): return self.LuckyHitRateC #  会心一击率系数
-    def GetLuckyHitRateReduceC(self): return self.LuckyHitRateReduceC #  会心一击抗性系数
-    def GetLuckPerC(self): return self.LuckPerC #  气运百分比系数
-    def GetPerLVAtkC(self): return self.PerLVAtkC #  每级增加攻击力系数
-    def GetPerLVMaxHPC(self): return self.PerLVMaxHPC #  每级增加生命值系数
-    def GetDropMoneyPerC(self): return self.DropMoneyPerC #  增加掉落金币量百分比系数
-    def GetSuperHitReduceC(self): return self.SuperHitReduceC #  暴击减伤百分比系数
-    def GetSuperHitRateReduceC(self): return self.SuperHitRateReduceC #  暴击抗性系数
-    def GetHitC(self): return self.HitC #  命中系数
-    def GetMissC(self): return self.MissC #  闪避系数
-    def GetPetDamPerC(self): return self.PetDamPerC #  灵宠增伤百分比系数
-    def GetMaxHPPerC(self): return self.MaxHPPerC #  生命加成系数
-    def GetAtkPerC(self): return self.AtkPerC #  攻击加成系数
-    def GetSkillAtkRateC(self): return self.SkillAtkRateC #  技能加成系数
-    def GetSkillAtkRateReduceC(self): return self.SkillAtkRateReduceC #  技能减免系数
-    def GetSkillAddPer1C(self): return self.SkillAddPer1C #  技能伤害增强1系数
-    def GetSkillAddPer2C(self): return self.SkillAddPer2C #  技能伤害增强2系数
-    def GetSkillAddPer3C(self): return self.SkillAddPer3C #  技能伤害增强3系数
-    def GetSkillAddPer4C(self): return self.SkillAddPer4C #  技能伤害增强4系数
-    def GetSkillAddPer5C(self): return self.SkillAddPer5C #  技能伤害增强5系数
-    def GetSkillAddPer6C(self): return self.SkillAddPer6C #  技能伤害增强6系数
-    def GetSkillAddPer7C(self): return self.SkillAddPer7C #  技能伤害增强7系数
-    def GetSkillReducePer1C(self): return self.SkillReducePer1C #  受到技能伤害减少1系数
-    def GetSkillReducePer2C(self): return self.SkillReducePer2C #  受到技能伤害减少2系数
-    def GetSkillReducePer3C(self): return self.SkillReducePer3C #  受到技能伤害减少3系数
-    def GetSkillReducePer4C(self): return self.SkillReducePer4C #  受到技能伤害减少4系数
-    def GetSkillReducePer5C(self): return self.SkillReducePer5C #  受到技能伤害减少5系数
-    def GetSkillReducePer6C(self): return self.SkillReducePer6C #  受到技能伤害减少6系数
-    def GetSkillReducePer7C(self): return self.SkillReducePer7C #  受到技能伤害减少7系数
-    def GetReduceSkillCDPerC(self): return self.ReduceSkillCDPerC #  减少所有技能CD系数
-    def GetLuckyHitPerC(self): return self.LuckyHitPerC #  会心伤害加成系数
-    def GetFaintDefRateC(self): return self.FaintDefRateC #  控制抵抗系数
-    def GetSuperHitRateC(self): return self.SuperHitRateC #  暴击率加成系数
-    def GetIgnoreDefRateC(self): return self.IgnoreDefRateC #  无视防御系数
-    def GetIgnoreDefRateReduceC(self): return self.IgnoreDefRateReduceC #  无视防御减免系数
-    def GetProDefPerC(self): return self.ProDefPerC #  防护百分比系数
-    def GetFinalHurtPerC(self): return self.FinalHurtPerC #  最终伤害加成系数
-    def GetFinalHurtReducePerC(self): return self.FinalHurtReducePerC #  最终伤害减免系数
-    def GetAtkSpeedC(self): return self.AtkSpeedC #  攻速系数
-    def GetFaintRateC(self): return self.FaintRateC #  击晕率系数
-    def GetComboRateC(self): return self.ComboRateC #  连击率系数
-    def GetComboDefRateC(self): return self.ComboDefRateC #  抗连击系数
-    def GetAtkBackRateC(self): return self.AtkBackRateC #  反击率系数
-    def GetAtkBackDefRateC(self): return self.AtkBackDefRateC #  抗反击系数
-    def GetSuckHPPerC(self): return self.SuckHPPerC #  吸血率系数
-    def GetSuckHPDefPerC(self): return self.SuckHPDefPerC #  抗吸血系数
+    def GetClassLV(self): return self.attrTuple[0] #  装备阶级
+    def GetEquipColor(self): return self.attrTuple[1] #  装备颜色
+    def GetIsSuit(self): return self.attrTuple[2] #  是否套装
+    def GetItemQuality(self): return self.attrTuple[3] # 物品星级
+    def GetBaseEquipMaxHPAddPerC(self): return self.attrTuple[4] #  基础防具生命百分比系数
+    def GetBaseEquipAtkAddPerC(self): return self.attrTuple[5] #  基础武器攻击百分比系数
+    def GetSuperHitC(self): return self.attrTuple[6] #  暴击值系数
+    def GetSuperHitPerC(self): return self.attrTuple[7] #  暴击值百分比系数
+    def GetLuckyHitRateC(self): return self.attrTuple[8] #  会心一击率系数
+    def GetLuckyHitRateReduceC(self): return self.attrTuple[9] #  会心一击抗性系数
+    def GetLuckPerC(self): return self.attrTuple[10] #  气运百分比系数
+    def GetPerLVAtkC(self): return self.attrTuple[11] #  每级增加攻击力系数
+    def GetPerLVMaxHPC(self): return self.attrTuple[12] #  每级增加生命值系数
+    def GetDropMoneyPerC(self): return self.attrTuple[13] #  增加掉落金币量百分比系数
+    def GetSuperHitReduceC(self): return self.attrTuple[14] #  暴击减伤百分比系数
+    def GetSuperHitRateReduceC(self): return self.attrTuple[15] #  暴击抗性系数
+    def GetHitC(self): return self.attrTuple[16] #  命中系数
+    def GetMissC(self): return self.attrTuple[17] #  闪避系数
+    def GetPetDamPerC(self): return self.attrTuple[18] #  灵宠增伤百分比系数
+    def GetMaxHPPerC(self): return self.attrTuple[19] #  生命加成系数
+    def GetAtkPerC(self): return self.attrTuple[20] #  攻击加成系数
+    def GetSkillAtkRateC(self): return self.attrTuple[21] #  技能加成系数
+    def GetSkillAtkRateReduceC(self): return self.attrTuple[22] #  技能减免系数
+    def GetSkillAddPer1C(self): return self.attrTuple[23] #  技能伤害增强1系数
+    def GetSkillAddPer2C(self): return self.attrTuple[24] #  技能伤害增强2系数
+    def GetSkillAddPer3C(self): return self.attrTuple[25] #  技能伤害增强3系数
+    def GetSkillAddPer4C(self): return self.attrTuple[26] #  技能伤害增强4系数
+    def GetSkillAddPer5C(self): return self.attrTuple[27] #  技能伤害增强5系数
+    def GetSkillAddPer6C(self): return self.attrTuple[28] #  技能伤害增强6系数
+    def GetSkillAddPer7C(self): return self.attrTuple[29] #  技能伤害增强7系数
+    def GetSkillReducePer1C(self): return self.attrTuple[30] #  受到技能伤害减少1系数
+    def GetSkillReducePer2C(self): return self.attrTuple[31] #  受到技能伤害减少2系数
+    def GetSkillReducePer3C(self): return self.attrTuple[32] #  受到技能伤害减少3系数
+    def GetSkillReducePer4C(self): return self.attrTuple[33] #  受到技能伤害减少4系数
+    def GetSkillReducePer5C(self): return self.attrTuple[34] #  受到技能伤害减少5系数
+    def GetSkillReducePer6C(self): return self.attrTuple[35] #  受到技能伤害减少6系数
+    def GetSkillReducePer7C(self): return self.attrTuple[36] #  受到技能伤害减少7系数
+    def GetReduceSkillCDPerC(self): return self.attrTuple[37] #  减少所有技能CD系数
+    def GetLuckyHitPerC(self): return self.attrTuple[38] #  会心伤害加成系数
+    def GetFaintDefRateC(self): return self.attrTuple[39] #  控制抵抗系数
+    def GetSuperHitRateC(self): return self.attrTuple[40] #  暴击率加成系数
+    def GetIgnoreDefRateC(self): return self.attrTuple[41] #  无视防御系数
+    def GetIgnoreDefRateReduceC(self): return self.attrTuple[42] #  无视防御减免系数
+    def GetProDefPerC(self): return self.attrTuple[43] #  防护百分比系数
+    def GetFinalHurtPerC(self): return self.attrTuple[44] #  最终伤害加成系数
+    def GetFinalHurtReducePerC(self): return self.attrTuple[45] #  最终伤害减免系数
+    def GetAtkSpeedC(self): return self.attrTuple[46] #  攻速系数
+    def GetFaintRateC(self): return self.attrTuple[47] #  击晕率系数
+    def GetComboRateC(self): return self.attrTuple[48] #  连击率系数
+    def GetComboDefRateC(self): return self.attrTuple[49] #  抗连击系数
+    def GetAtkBackRateC(self): return self.attrTuple[50] #  反击率系数
+    def GetAtkBackDefRateC(self): return self.attrTuple[51] #  抗反击系数
+    def GetSuckHPPerC(self): return self.attrTuple[52] #  吸血率系数
+    def GetSuckHPDefPerC(self): return self.attrTuple[53] #  抗吸血系数
 
 # 成就表
 class IPY_Success():
     
     def __init__(self):
-        self.ID = 0
-        self.Type = 0
-        self.NeedCnt = 0
-        self.Condition = []
-        self.PreSuccess = []
-        self.AwardItem = {}
-        self.AwardItem2 = {}
-        self.Money = {}
-        self.Exp = 0
-        self.AwardAttr = {}
-        self.RedPacketID = 0
-        self.MagicWeaponID = 0
-        self.MagicWeaponExp = 0
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # 成就ID
-    def GetType(self): return self.Type # 成就类型
-    def GetNeedCnt(self): return self.NeedCnt # 需要数量
-    def GetCondition(self): return self.Condition # 辅助条件
-    def GetPreSuccess(self): return self.PreSuccess # 需要达成前置成就
-    def GetAwardItem(self): return self.AwardItem # 奖励物品列表
-    def GetAwardItem2(self): return self.AwardItem2 # 通行证奖励物品列表
-    def GetMoney(self): return self.Money # 金钱
-    def GetExp(self): return self.Exp # 经验
-    def GetAwardAttr(self): return self.AwardAttr # 奖励属性
-    def GetRedPacketID(self): return self.RedPacketID # 红包ID
-    def GetMagicWeaponID(self): return self.MagicWeaponID # 法宝ID
-    def GetMagicWeaponExp(self): return self.MagicWeaponExp # 法宝升级经验
+    def GetID(self): return self.attrTuple[0] # 成就ID
+    def GetType(self): return self.attrTuple[1] # 成就类型
+    def GetNeedCnt(self): return self.attrTuple[2] # 需要数量
+    def GetCondition(self): return self.attrTuple[3] # 辅助条件
+    def GetPreSuccess(self): return self.attrTuple[4] # 需要达成前置成就
+    def GetAwardItem(self): return self.attrTuple[5] # 奖励物品列表
+    def GetAwardItem2(self): return self.attrTuple[6] # 通行证奖励物品列表
+    def GetMoney(self): return self.attrTuple[7] # 金钱
+    def GetExp(self): return self.attrTuple[8] # 经验
+    def GetAwardAttr(self): return self.attrTuple[9] # 奖励属性
+    def GetRedPacketID(self): return self.attrTuple[10] # 红包ID
+    def GetMagicWeaponID(self): return self.attrTuple[11] # 法宝ID
+    def GetMagicWeaponExp(self): return self.attrTuple[12] # 法宝升级经验
 
 # 通天令等级表
 class IPY_TongTianLV():
     
     def __init__(self):
-        self.TTLV = 0
-        self.LVUPPoint = 0
-        self.CommAwardItemList = []
-        self.XianAwardItemList = []
-        self.NotifyItemIDList = []
+        self.attrTuple = None
         return
         
-    def GetTTLV(self): return self.TTLV # 通天令等级
-    def GetLVUPPoint(self): return self.LVUPPoint # 升级所需积分(0不可升级)
-    def GetCommAwardItemList(self): return self.CommAwardItemList # 常规奖励物品列表 [[物品ID,个数,是否拍品], ...]
-    def GetXianAwardItemList(self): return self.XianAwardItemList # 仙品奖励物品列表 [[物品ID,个数,是否拍品], ...]
-    def GetNotifyItemIDList(self): return self.NotifyItemIDList # 需要广播的物品ID列表
+    def GetTTLV(self): return self.attrTuple[0] # 通天令等级
+    def GetLVUPPoint(self): return self.attrTuple[1] # 升级所需积分(0不可升级)
+    def GetCommAwardItemList(self): return self.attrTuple[2] # 常规奖励物品列表 [[物品ID,个数,是否拍品], ...]
+    def GetXianAwardItemList(self): return self.attrTuple[3] # 仙品奖励物品列表 [[物品ID,个数,是否拍品], ...]
+    def GetNotifyItemIDList(self): return self.attrTuple[4] # 需要广播的物品ID列表
 
 # 通天令任务表
 class IPY_TongTianTask():
     
     def __init__(self):
-        self.TTTaskID = 0
-        self.TTTaskType = 0
-        self.IsDailyTask = 0
-        self.FinishNeedValue = 0
-        self.TaskPoint = 0
+        self.attrTuple = None
         return
         
-    def GetTTTaskID(self): return self.TTTaskID # 通天任务ID(确定后不可修改)
-    def GetTTTaskType(self): return self.TTTaskType # 通天任务类型
-    def GetIsDailyTask(self): return self.IsDailyTask # 是否每日任务
-    def GetFinishNeedValue(self): return self.FinishNeedValue # 任务完成所需值
-    def GetTaskPoint(self): return self.TaskPoint # 任务积分点奖励
+    def GetTTTaskID(self): return self.attrTuple[0] # 通天任务ID(确定后不可修改)
+    def GetTTTaskType(self): return self.attrTuple[1] # 通天任务类型
+    def GetIsDailyTask(self): return self.attrTuple[2] # 是否每日任务
+    def GetFinishNeedValue(self): return self.attrTuple[3] # 任务完成所需值
+    def GetTaskPoint(self): return self.attrTuple[4] # 任务积分点奖励
 
 # 法宝表
 class IPY_Treasure():
     
     def __init__(self):
-        self.ID = 0
-        self.TreasureType = 0
-        self.PreTreasure = 0
-        self.FBMapID = 0
-        self.FBLineID = 0
-        self.NeedLV = 0
-        self.NeedItem = {}
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # ID
-    def GetTreasureType(self): return self.TreasureType # 法宝类型
-    def GetPreTreasure(self): return self.PreTreasure # 前置法宝
-    def GetFBMapID(self): return self.FBMapID # 副本ID
-    def GetFBLineID(self): return self.FBLineID # 副本线路ID
-    def GetNeedLV(self): return self.NeedLV # 需要等级
-    def GetNeedItem(self): return self.NeedItem # 需要消耗物品
+    def GetID(self): return self.attrTuple[0] # ID
+    def GetTreasureType(self): return self.attrTuple[1] # 法宝类型
+    def GetPreTreasure(self): return self.attrTuple[2] # 前置法宝
+    def GetFBMapID(self): return self.attrTuple[3] # 副本ID
+    def GetFBLineID(self): return self.attrTuple[4] # 副本线路ID
+    def GetNeedLV(self): return self.attrTuple[5] # 需要等级
+    def GetNeedItem(self): return self.attrTuple[6] # 需要消耗物品
 
 # 法宝升级表
 class IPY_TreasureUp():
     
     def __init__(self):
-        self.MWID = 0
-        self.LV = 0
-        self.NeedExp = 0
-        self.AddAttr = {}
-        self.UnLockSkill = []
-        self.PowerEx = 0
+        self.attrTuple = None
         return
         
-    def GetMWID(self): return self.MWID # 法宝ID
-    def GetLV(self): return self.LV # 法宝等级
-    def GetNeedExp(self): return self.NeedExp # 需要经验
-    def GetAddAttr(self): return self.AddAttr # 属性
-    def GetUnLockSkill(self): return self.UnLockSkill # 解锁的技能
-    def GetPowerEx(self): return self.PowerEx # 额外固定战力
+    def GetMWID(self): return self.attrTuple[0] # 法宝ID
+    def GetLV(self): return self.attrTuple[1] # 法宝等级
+    def GetNeedExp(self): return self.attrTuple[2] # 需要经验
+    def GetAddAttr(self): return self.attrTuple[3] # 属性
+    def GetUnLockSkill(self): return self.attrTuple[4] # 解锁的技能
+    def GetPowerEx(self): return self.attrTuple[5] # 额外固定战力
 
 # 连续签到奖励表
 class IPY_ContineSignAward():
     
     def __init__(self):
-        self.ContineDay = 0
-        self.ItemID = []
-        self.IsBind = 0
-        self.ItemNum = []
-        self.JobItemList = []
+        self.attrTuple = None
         return
         
-    def GetContineDay(self): return self.ContineDay # 连续签到天数
-    def GetItemID(self): return self.ItemID # 奖励物品ID
-    def GetIsBind(self): return self.IsBind # 物品是否绑定
-    def GetItemNum(self): return self.ItemNum # 物品奖励最小值
-    def GetJobItemList(self): return self.JobItemList # 职业物品列表
+    def GetContineDay(self): return self.attrTuple[0] # 连续签到天数
+    def GetItemID(self): return self.attrTuple[1] # 奖励物品ID
+    def GetIsBind(self): return self.attrTuple[2] # 物品是否绑定
+    def GetItemNum(self): return self.attrTuple[3] # 物品奖励最小值
+    def GetJobItemList(self): return self.attrTuple[4] # 职业物品列表
 
 # 签到奖励表
 class IPY_SignAward():
     
     def __init__(self):
-        self.RewardID = 0
-        self.ItemID = []
-        self.IsBind = 0
-        self.VipLv = 0
-        self.OrdinaryNum = []
-        self.VipMultiple = 0
+        self.attrTuple = None
         return
         
-    def GetRewardID(self): return self.RewardID # 奖励ID
-    def GetItemID(self): return self.ItemID # 奖励物品ID
-    def GetIsBind(self): return self.IsBind # 物品是否绑定
-    def GetVipLv(self): return self.VipLv # vip等级
-    def GetOrdinaryNum(self): return self.OrdinaryNum # 奖励物品数量
-    def GetVipMultiple(self): return self.VipMultiple # 奖励倍率
+    def GetRewardID(self): return self.attrTuple[0] # 奖励ID
+    def GetItemID(self): return self.attrTuple[1] # 奖励物品ID
+    def GetIsBind(self): return self.attrTuple[2] # 物品是否绑定
+    def GetVipLv(self): return self.attrTuple[3] # vip等级
+    def GetOrdinaryNum(self): return self.attrTuple[4] # 奖励物品数量
+    def GetVipMultiple(self): return self.attrTuple[5] # 奖励倍率
 
 # VIP礼包表
 class IPY_VIPAward():
     
     def __init__(self):
-        self.VIPLV = 0
-        self.ItemID = {}
-        self.Price = 0
-        self.OldPrice = 0
+        self.attrTuple = None
         return
         
-    def GetVIPLV(self): return self.VIPLV # VIP等级
-    def GetItemID(self): return self.ItemID # 奖励物品信息
-    def GetPrice(self): return self.Price # 礼包现价
-    def GetOldPrice(self): return self.OldPrice # 礼包原价
+    def GetVIPLV(self): return self.attrTuple[0] # VIP等级
+    def GetItemID(self): return self.attrTuple[1] # 奖励物品信息
+    def GetPrice(self): return self.attrTuple[2] # 礼包现价
+    def GetOldPrice(self): return self.attrTuple[3] # 礼包原价
 
 # 定制物品表
 class IPY_AppointItem():
     
     def __init__(self):
-        self.ID = 0
-        self.CancelUseLimit = 0
-        self.ItemLV = 0
-        self.BaseAttrID = []
-        self.BaseAttrValue = []
-        self.LegendAttrID = []
-        self.LegendAttrValue = []
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # 定制ID
-    def GetCancelUseLimit(self): return self.CancelUseLimit # 穿戴限制(除职业)
-    def GetItemLV(self): return self.ItemLV # 物品等级
-    def GetBaseAttrID(self): return self.BaseAttrID # 基础属性ID
-    def GetBaseAttrValue(self): return self.BaseAttrValue # 基础属性值
-    def GetLegendAttrID(self): return self.LegendAttrID # 传奇属性ID
-    def GetLegendAttrValue(self): return self.LegendAttrValue # 传奇属性值
+    def GetID(self): return self.attrTuple[0] # 定制ID
+    def GetCancelUseLimit(self): return self.attrTuple[1] # 穿戴限制(除职业)
+    def GetItemLV(self): return self.attrTuple[2] # 物品等级
+    def GetBaseAttrID(self): return self.attrTuple[3] # 基础属性ID
+    def GetBaseAttrValue(self): return self.attrTuple[4] # 基础属性值
+    def GetLegendAttrID(self): return self.attrTuple[5] # 传奇属性ID
+    def GetLegendAttrValue(self): return self.attrTuple[6] # 传奇属性值
 
 # 拍卖物品表
 class IPY_AuctionItem():
     
     def __init__(self):
-        self.AuctionItemID = 0
+        self.attrTuple = None
         return
         
-    def GetAuctionItemID(self): return self.AuctionItemID
+    def GetAuctionItemID(self): return self.attrTuple[0]
 
 # VIP特权表
 class IPY_VipPrivilege():
     
     def __init__(self):
-        self.VIPPriID = 0
-        self.VIP0 = 0
-        self.VIP1 = 0
-        self.VIP2 = 0
-        self.VIP3 = 0
-        self.VIP4 = 0
-        self.VIP5 = 0
-        self.VIP6 = 0
-        self.VIP7 = 0
-        self.VIP8 = 0
-        self.VIP9 = 0
-        self.VIP10 = 0
-        self.VIP11 = 0
-        self.VIP12 = 0
-        self.VIP13 = 0
-        self.VIP14 = 0
-        self.VIP15 = 0
+        self.attrTuple = None
         return
         
-    def GetVIPPriID(self): return self.VIPPriID # 特权ID
-    def GetVIP0(self): return self.VIP0 # VIP0对应的特权值
-    def GetVIP1(self): return self.VIP1 # VIP1对应的特权值
-    def GetVIP2(self): return self.VIP2 # VIP2对应的特权值
-    def GetVIP3(self): return self.VIP3 # VIP3对应的特权值
-    def GetVIP4(self): return self.VIP4 # VIP4对应的特权值
-    def GetVIP5(self): return self.VIP5 # VIP5对应的特权值
-    def GetVIP6(self): return self.VIP6 # VIP6对应的特权值
-    def GetVIP7(self): return self.VIP7 # VIP7对应的特权值
-    def GetVIP8(self): return self.VIP8 # VIP8对应的特权值
-    def GetVIP9(self): return self.VIP9 # VIP9对应的特权值
-    def GetVIP10(self): return self.VIP10 # VIP10对应的特权值
-    def GetVIP11(self): return self.VIP11 # VIP11对应的特权值
-    def GetVIP12(self): return self.VIP12 # VIP12对应的特权值
-    def GetVIP13(self): return self.VIP13 # VIP13对应的特权值
-    def GetVIP14(self): return self.VIP14 # VIP14对应的特权值
-    def GetVIP15(self): return self.VIP15 # VIP15对应的特权值
+    def GetVIPPriID(self): return self.attrTuple[0] # 特权ID
+    def GetVIP0(self): return self.attrTuple[1] # VIP0对应的特权值
+    def GetVIP1(self): return self.attrTuple[2] # VIP1对应的特权值
+    def GetVIP2(self): return self.attrTuple[3] # VIP2对应的特权值
+    def GetVIP3(self): return self.attrTuple[4] # VIP3对应的特权值
+    def GetVIP4(self): return self.attrTuple[5] # VIP4对应的特权值
+    def GetVIP5(self): return self.attrTuple[6] # VIP5对应的特权值
+    def GetVIP6(self): return self.attrTuple[7] # VIP6对应的特权值
+    def GetVIP7(self): return self.attrTuple[8] # VIP7对应的特权值
+    def GetVIP8(self): return self.attrTuple[9] # VIP8对应的特权值
+    def GetVIP9(self): return self.attrTuple[10] # VIP9对应的特权值
+    def GetVIP10(self): return self.attrTuple[11] # VIP10对应的特权值
+    def GetVIP11(self): return self.attrTuple[12] # VIP11对应的特权值
+    def GetVIP12(self): return self.attrTuple[13] # VIP12对应的特权值
+    def GetVIP13(self): return self.attrTuple[14] # VIP13对应的特权值
+    def GetVIP14(self): return self.attrTuple[15] # VIP14对应的特权值
+    def GetVIP15(self): return self.attrTuple[16] # VIP15对应的特权值
 
 # 商城表
 class IPY_Store():
     
     def __init__(self):
-        self.ID = 0
-        self.ShopType = 0
-        self.OperationActionShop = 0
-        self.ItemID = 0
-        self.ItemCnt = 0
-        self.IsBind = 0
-        self.ItemListEx = []
-        self.MainItemID = 0
-        self.JobItem = []
-        self.RefreshType = 0
-        self.LimitVIPLV = []
-        self.LimitLV = 0
-        self.LimitCnt = []
-        self.ServerLimitCnt = 0
-        self.MoneyType = 0
-        self.MoneyNum = 0
-        self.MoneyOriginal = 0
-        self.LimitValue = 0
-        self.NotifyMark = ""
-        self.MailKey = ""
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # ID
-    def GetShopType(self): return self.ShopType # 商店类型
-    def GetOperationActionShop(self): return self.OperationActionShop # 是否运营活动商店
-    def GetItemID(self): return self.ItemID # 物品ID
-    def GetItemCnt(self): return self.ItemCnt # 物品数量
-    def GetIsBind(self): return self.IsBind # 是否绑定
-    def GetItemListEx(self): return self.ItemListEx # 扩展物品列表[[物品ID,个数,是否绑定],...]
-    def GetMainItemID(self): return self.MainItemID # 标的物品ID
-    def GetJobItem(self): return self.JobItem # 职业替换物品
-    def GetRefreshType(self): return self.RefreshType # 刷新类型 0-不重置,1-onWeek0点,2-onWeek5点,3-OnDay0点,4-OnDay5点
-    def GetLimitVIPLV(self): return self.LimitVIPLV # VIP限制
-    def GetLimitLV(self): return self.LimitLV # 等级限制
-    def GetLimitCnt(self): return self.LimitCnt # 个人限制数量
-    def GetServerLimitCnt(self): return self.ServerLimitCnt # 全服限制数量
-    def GetMoneyType(self): return self.MoneyType # 金钱类型
-    def GetMoneyNum(self): return self.MoneyNum # 金钱数量
-    def GetMoneyOriginal(self): return self.MoneyOriginal # 原价
-    def GetLimitValue(self): return self.LimitValue # 限制条件
-    def GetNotifyMark(self): return self.NotifyMark # 广播提示
-    def GetMailKey(self): return self.MailKey # 背包不足时邮件KEY
+    def GetID(self): return self.attrTuple[0] # ID
+    def GetShopType(self): return self.attrTuple[1] # 商店类型
+    def GetOperationActionShop(self): return self.attrTuple[2] # 是否运营活动商店
+    def GetItemID(self): return self.attrTuple[3] # 物品ID
+    def GetItemCnt(self): return self.attrTuple[4] # 物品数量
+    def GetIsBind(self): return self.attrTuple[5] # 是否绑定
+    def GetItemListEx(self): return self.attrTuple[6] # 扩展物品列表[[物品ID,个数,是否绑定],...]
+    def GetMainItemID(self): return self.attrTuple[7] # 标的物品ID
+    def GetJobItem(self): return self.attrTuple[8] # 职业替换物品
+    def GetRefreshType(self): return self.attrTuple[9] # 刷新类型 0-不重置,1-onWeek0点,2-onWeek5点,3-OnDay0点,4-OnDay5点
+    def GetLimitVIPLV(self): return self.attrTuple[10] # VIP限制
+    def GetLimitLV(self): return self.attrTuple[11] # 等级限制
+    def GetLimitCnt(self): return self.attrTuple[12] # 个人限制数量
+    def GetServerLimitCnt(self): return self.attrTuple[13] # 全服限制数量
+    def GetMoneyType(self): return self.attrTuple[14] # 金钱类型
+    def GetMoneyNum(self): return self.attrTuple[15] # 金钱数量
+    def GetMoneyOriginal(self): return self.attrTuple[16] # 原价
+    def GetLimitValue(self): return self.attrTuple[17] # 限制条件
+    def GetNotifyMark(self): return self.attrTuple[18] # 广播提示
+    def GetMailKey(self): return self.attrTuple[19] # 背包不足时邮件KEY
 
 # 限时特惠表
 class IPY_ActSpringSale():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.StartTimeList = []
-        self.EndTimeList = []
-        self.AdvanceMinutes = 0
-        self.LVLimit = 0
-        self.IsDayReset = 0
-        self.ShopTypeList = {}
-        self.MailKey = ""
-        self.MailItemPrize = []
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetStartTimeList(self): return self.StartTimeList # 开启时间列表, 支持多个时段
-    def GetEndTimeList(self): return self.EndTimeList # 结束时间列表, 支持多个时段
-    def GetAdvanceMinutes(self): return self.AdvanceMinutes # 前端提前X分钟展示活动
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
-    def GetShopTypeList(self): return self.ShopTypeList # 商店类型列表
-    def GetMailKey(self): return self.MailKey # 活动更新时发送邮件key
-    def GetMailItemPrize(self): return self.MailItemPrize # 活动更新时发送邮件奖励物品
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetStartTimeList(self): return self.attrTuple[3] # 开启时间列表, 支持多个时段
+    def GetEndTimeList(self): return self.attrTuple[4] # 结束时间列表, 支持多个时段
+    def GetAdvanceMinutes(self): return self.attrTuple[5] # 前端提前X分钟展示活动
+    def GetLVLimit(self): return self.attrTuple[6] # 限制等级
+    def GetIsDayReset(self): return self.attrTuple[7] # 是否每天重置
+    def GetShopTypeList(self): return self.attrTuple[8] # 商店类型列表
+    def GetMailKey(self): return self.attrTuple[9] # 活动更新时发送邮件key
+    def GetMailItemPrize(self): return self.attrTuple[10] # 活动更新时发送邮件奖励物品
 
 # 日常任务表
 class IPY_DailyQuest():
     
     def __init__(self):
-        self.ID = 0
-        self.RelatedType = 0
-        self.RelatedID = 0
-        self.UnLockFuncID = 0
-        self.OnceActivityTime = 0
-        self.OnceActivity = 0
-        self.TotalActiveValue = 0
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # ID
-    def GetRelatedType(self): return self.RelatedType # 关联类型
-    def GetRelatedID(self): return self.RelatedID # 关联ID
-    def GetUnLockFuncID(self): return self.UnLockFuncID # 解锁功能ID
-    def GetOnceActivityTime(self): return self.OnceActivityTime # 增加活跃所需次数
-    def GetOnceActivity(self): return self.OnceActivity # 单次活跃值
-    def GetTotalActiveValue(self): return self.TotalActiveValue # 总活跃
+    def GetID(self): return self.attrTuple[0] # ID
+    def GetRelatedType(self): return self.attrTuple[1] # 关联类型
+    def GetRelatedID(self): return self.attrTuple[2] # 关联ID
+    def GetUnLockFuncID(self): return self.attrTuple[3] # 解锁功能ID
+    def GetOnceActivityTime(self): return self.attrTuple[4] # 增加活跃所需次数
+    def GetOnceActivity(self): return self.attrTuple[5] # 单次活跃值
+    def GetTotalActiveValue(self): return self.attrTuple[6] # 总活跃
 
 # 日常活跃奖励表
 class IPY_DailyLivenessReward():
     
     def __init__(self):
-        self.ID = 0
-        self.Liveness = 0
-        self.StageLV = []
-        self.ItemID = []
-        self.ItemCount = []
-        self.ItemBind = []
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # ID
-    def GetLiveness(self): return self.Liveness # 所需活跃度
-    def GetStageLV(self): return self.StageLV # 阶段等级
-    def GetItemID(self): return self.ItemID # 物品ID
-    def GetItemCount(self): return self.ItemCount # 物品数量
-    def GetItemBind(self): return self.ItemBind # 是否绑定
+    def GetID(self): return self.attrTuple[0] # ID
+    def GetLiveness(self): return self.attrTuple[1] # 所需活跃度
+    def GetStageLV(self): return self.attrTuple[2] # 阶段等级
+    def GetItemID(self): return self.attrTuple[3] # 物品ID
+    def GetItemCount(self): return self.attrTuple[4] # 物品数量
+    def GetItemBind(self): return self.attrTuple[5] # 是否绑定
 
 # 日常活跃放置表
 class IPY_ActivityPlaceReward():
     
     def __init__(self):
-        self.ID = 0
-        self.PlaceCount = 0
-        self.PlaceMaxLV = 0
-        self.FixedItemRewardList = []
-        self.RandItemCountA = 0
-        self.RandItemRewardListA = []
-        self.RandItemCountB = 0
-        self.RandItemRewardListB = []
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # ID
-    def GetPlaceCount(self): return self.PlaceCount # 放置定制次数
-    def GetPlaceMaxLV(self): return self.PlaceMaxLV # 最大等级
-    def GetFixedItemRewardList(self): return self.FixedItemRewardList # 固定奖励 [[物品ID, 个数], ...]
-    def GetRandItemCountA(self): return self.RandItemCountA # 饼图奖励次数A
-    def GetRandItemRewardListA(self): return self.RandItemRewardListA # 饼图奖励库A [[饼图概率,物品ID], ...]  物品ID支持0
-    def GetRandItemCountB(self): return self.RandItemCountB # 饼图奖励次数B
-    def GetRandItemRewardListB(self): return self.RandItemRewardListB # 饼图奖励库B [[饼图概率,物品ID], ...]  物品ID支持0
+    def GetID(self): return self.attrTuple[0] # ID
+    def GetPlaceCount(self): return self.attrTuple[1] # 放置定制次数
+    def GetPlaceMaxLV(self): return self.attrTuple[2] # 最大等级
+    def GetFixedItemRewardList(self): return self.attrTuple[3] # 固定奖励 [[物品ID, 个数], ...]
+    def GetRandItemCountA(self): return self.attrTuple[4] # 饼图奖励次数A
+    def GetRandItemRewardListA(self): return self.attrTuple[5] # 饼图奖励库A [[饼图概率,物品ID], ...]  物品ID支持0
+    def GetRandItemCountB(self): return self.attrTuple[6] # 饼图奖励次数B
+    def GetRandItemRewardListB(self): return self.attrTuple[7] # 饼图奖励库B [[饼图概率,物品ID], ...]  物品ID支持0
 
 # 炼丹炉等级表
 class IPY_RefineStove():
     
     def __init__(self):
-        self.StoveLV = 0
-        self.UpNeedExp = 0
+        self.attrTuple = None
         return
         
-    def GetStoveLV(self): return self.StoveLV # 炼丹炉等级
-    def GetUpNeedExp(self): return self.UpNeedExp # 升下一级所需经验
+    def GetStoveLV(self): return self.attrTuple[0] # 炼丹炉等级
+    def GetUpNeedExp(self): return self.attrTuple[1] # 升下一级所需经验
 
 # 炼丹表
 class IPY_Alchemy():
     
     def __init__(self):
-        self.ID = 0
-        self.AlchemItemID = 0
-        self.AlchemType = 0
-        self.AlchemyQuality = 0
-        self.LearnNeedItemID = 0
-        self.LearnNeedAlchemLV = 0
-        self.LearnNeedLingGenPoint = 0
-        self.NeedTime = 0
-        self.AlchemyExp = 0
-        self.Material = {}
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # 秘方唯一ID不可变更
-    def GetAlchemItemID(self): return self.AlchemItemID # 丹药物品ID
-    def GetAlchemType(self): return self.AlchemType # 秘方类型1-灵丹 2-仙丹
-    def GetAlchemyQuality(self): return self.AlchemyQuality # 秘方品级
-    def GetLearnNeedItemID(self): return self.LearnNeedItemID # 丹方物品ID
-    def GetLearnNeedAlchemLV(self): return self.LearnNeedAlchemLV # 丹方需要炼丹等级
-    def GetLearnNeedLingGenPoint(self): return self.LearnNeedLingGenPoint # 丹方需要总灵根点数
-    def GetNeedTime(self): return self.NeedTime # 炼丹时间(秒)
-    def GetAlchemyExp(self): return self.AlchemyExp # 炼丹获得经验值
-    def GetMaterial(self): return self.Material # 炼丹材料
+    def GetID(self): return self.attrTuple[0] # 秘方唯一ID不可变更
+    def GetAlchemItemID(self): return self.attrTuple[1] # 丹药物品ID
+    def GetAlchemType(self): return self.attrTuple[2] # 秘方类型1-灵丹 2-仙丹
+    def GetAlchemyQuality(self): return self.attrTuple[3] # 秘方品级
+    def GetLearnNeedItemID(self): return self.attrTuple[4] # 丹方物品ID
+    def GetLearnNeedAlchemLV(self): return self.attrTuple[5] # 丹方需要炼丹等级
+    def GetLearnNeedLingGenPoint(self): return self.attrTuple[6] # 丹方需要总灵根点数
+    def GetNeedTime(self): return self.attrTuple[7] # 炼丹时间(秒)
+    def GetAlchemyExp(self): return self.attrTuple[8] # 炼丹获得经验值
+    def GetMaterial(self): return self.attrTuple[9] # 炼丹材料
 
 # 炼丹数量表
 class IPY_AlchemyResult():
     
     def __init__(self):
-        self.AlchemyQuality = 0
-        self.LuckValue = 0
-        self.CntRateList = []
+        self.attrTuple = None
         return
         
-    def GetAlchemyQuality(self): return self.AlchemyQuality # 丹方等级
-    def GetLuckValue(self): return self.LuckValue # 慧根
-    def GetCntRateList(self): return self.CntRateList # 数量饼图
+    def GetAlchemyQuality(self): return self.attrTuple[0] # 丹方等级
+    def GetLuckValue(self): return self.attrTuple[1] # 慧根
+    def GetCntRateList(self): return self.attrTuple[2] # 数量饼图
 
 # BOSS信息表
 class IPY_BOSSInfo():
     
     def __init__(self):
-        self.NPCID = 0
-        self.MapID = 0
-        self.RefreshLine = 0
-        self.RefreshMark = 0
-        self.IsNeedShunt = 0
-        self.RelatedType = 0
-        self.RelatedID = ""
-        self.StoneNPCID = 0
-        self.CanAssist = 0
-        self.SkillResist = 0
+        self.attrTuple = None
         return
         
-    def GetNPCID(self): return self.NPCID # ID
-    def GetMapID(self): return self.MapID # 地图ID
-    def GetRefreshLine(self): return self.RefreshLine # 刷新线路
-    def GetRefreshMark(self): return self.RefreshMark # 刷新标识点
-    def GetIsNeedShunt(self): return self.IsNeedShunt # 是否需要分流
-    def GetRelatedType(self): return self.RelatedType # 刷怪关联类型
-    def GetRelatedID(self): return self.RelatedID # 关联ID 日常活动ID 或 运营活动名
-    def GetStoneNPCID(self): return self.StoneNPCID # 墓碑NPCID
-    def GetCanAssist(self): return self.CanAssist # 是否可协助
-    def GetSkillResist(self): return self.SkillResist # 是否技能抵抗
+    def GetNPCID(self): return self.attrTuple[0] # ID
+    def GetMapID(self): return self.attrTuple[1] # 地图ID
+    def GetRefreshLine(self): return self.attrTuple[2] # 刷新线路
+    def GetRefreshMark(self): return self.attrTuple[3] # 刷新标识点
+    def GetIsNeedShunt(self): return self.attrTuple[4] # 是否需要分流
+    def GetRelatedType(self): return self.attrTuple[5] # 刷怪关联类型
+    def GetRelatedID(self): return self.attrTuple[6] # 关联ID 日常活动ID 或 运营活动名
+    def GetStoneNPCID(self): return self.attrTuple[7] # 墓碑NPCID
+    def GetCanAssist(self): return self.attrTuple[8] # 是否可协助
+    def GetSkillResist(self): return self.attrTuple[9] # 是否技能抵抗
 
 # Boss首杀
 class IPY_BOSSFirstKill():
     
     def __init__(self):
-        self.NPCID = 0
-        self.PerPlayerMoneyAward = 0
-        self.PersonFirstKillAward = []
+        self.attrTuple = None
         return
         
-    def GetNPCID(self): return self.NPCID # ID
-    def GetPerPlayerMoneyAward(self): return self.PerPlayerMoneyAward #  首杀全服玩家奖励灵石额度/人
-    def GetPersonFirstKillAward(self): return self.PersonFirstKillAward #  个人首次击杀奖励 [[物品ID,个数,是否拍品], ...]
+    def GetNPCID(self): return self.attrTuple[0] # ID
+    def GetPerPlayerMoneyAward(self): return self.attrTuple[1] #  首杀全服玩家奖励灵石额度/人
+    def GetPersonFirstKillAward(self): return self.attrTuple[2] #  个人首次击杀奖励 [[物品ID,个数,是否拍品], ...]
 
 # 古神禁地表
 class IPY_ElderGodArea():
     
     def __init__(self):
-        self.NPCID = 0
-        self.MonsterAnger = 0
+        self.attrTuple = None
         return
         
-    def GetNPCID(self): return self.NPCID # ID
-    def GetMonsterAnger(self): return self.MonsterAnger # 怪物怒气值
+    def GetNPCID(self): return self.attrTuple[0] # ID
+    def GetMonsterAnger(self): return self.attrTuple[1] # 怪物怒气值
 
 # 个人BOSS表
 class IPY_PersonalBoss():
     
     def __init__(self):
-        self.NPCID = 0
-        self.FuncLineID = 0
+        self.attrTuple = None
         return
         
-    def GetNPCID(self): return self.NPCID # ID
-    def GetFuncLineID(self): return self.FuncLineID # 可挑战等级
+    def GetNPCID(self): return self.attrTuple[0] # ID
+    def GetFuncLineID(self): return self.attrTuple[1] # 可挑战等级
 
 # 仙盟活跃表
 class IPY_FamilyActivity():
     
     def __init__(self):
-        self.ID = 0
-        self.UnLockFuncID = 0
-        self.TotalActivityTime = 0
-        self.SingleTimes = 0
-        self.SingleActiveValue = 0
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # ID
-    def GetUnLockFuncID(self): return self.UnLockFuncID # 解锁功能ID
-    def GetTotalActivityTime(self): return self.TotalActivityTime # 总次数
-    def GetSingleTimes(self): return self.SingleTimes # 增加活跃需要次数
-    def GetSingleActiveValue(self): return self.SingleActiveValue # 每轮增加活跃积分
+    def GetID(self): return self.attrTuple[0] # ID
+    def GetUnLockFuncID(self): return self.attrTuple[1] # 解锁功能ID
+    def GetTotalActivityTime(self): return self.attrTuple[2] # 总次数
+    def GetSingleTimes(self): return self.attrTuple[3] # 增加活跃需要次数
+    def GetSingleActiveValue(self): return self.attrTuple[4] # 每轮增加活跃积分
 
 # 仙盟红包表
 class IPY_FamilyRedPack():
     
     def __init__(self):
-        self.ID = 0
-        self.GetType = 0
-        self.MoneyNum = 0
-        self.MoneyType = 0
-        self.PacketCnt = 0
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # ID
-    def GetGetType(self): return self.GetType # 获得途径
-    def GetMoneyNum(self): return self.MoneyNum # 红包额度
-    def GetMoneyType(self): return self.MoneyType # 金钱类型
-    def GetPacketCnt(self): return self.PacketCnt # 红包个数
+    def GetID(self): return self.attrTuple[0] # ID
+    def GetGetType(self): return self.attrTuple[1] # 获得途径
+    def GetMoneyNum(self): return self.attrTuple[2] # 红包额度
+    def GetMoneyType(self): return self.attrTuple[3] # 金钱类型
+    def GetPacketCnt(self): return self.attrTuple[4] # 红包个数
 
 # 节日红包每日成就表
 class IPY_ActFeastRedPacketSucc():
     
     def __init__(self):
-        self.FeastDay = 0
-        self.FeastSuccIDList = []
+        self.attrTuple = None
         return
         
-    def GetFeastDay(self): return self.FeastDay # 节日第几天
-    def GetFeastSuccIDList(self): return self.FeastSuccIDList # 节日成就ID列表
+    def GetFeastDay(self): return self.attrTuple[0] # 节日第几天
+    def GetFeastSuccIDList(self): return self.attrTuple[1] # 节日成就ID列表
 
 # NPC秀表
 class IPY_NPCShow():
     
     def __init__(self):
-        self.NPCID = 0
-        self.MapID = 0
-        self.LineID = 0
-        self.ProtectTime = 0
-        self.BindMissionID = 0
-        self.ShowType = 0
+        self.attrTuple = None
         return
         
-    def GetNPCID(self): return self.NPCID
-    def GetMapID(self): return self.MapID
-    def GetLineID(self): return self.LineID
-    def GetProtectTime(self): return self.ProtectTime # 保护时间, 毫秒
-    def GetBindMissionID(self): return self.BindMissionID # 绑定的任务ID
-    def GetShowType(self): return self.ShowType # 0-服务端通知,>0前端处理
+    def GetNPCID(self): return self.attrTuple[0]
+    def GetMapID(self): return self.attrTuple[1]
+    def GetLineID(self): return self.attrTuple[2]
+    def GetProtectTime(self): return self.attrTuple[3] # 保护时间, 毫秒
+    def GetBindMissionID(self): return self.attrTuple[4] # 绑定的任务ID
+    def GetShowType(self): return self.attrTuple[5] # 0-服务端通知,>0前端处理
 
 # 封魔坛BOSS表
 class IPY_SealDemon():
     
     def __init__(self):
-        self.NPCID = 0
-        self.LineID = 0
-        self.OwnerAwardItemEx = []
+        self.attrTuple = None
         return
         
-    def GetNPCID(self): return self.NPCID # ID
-    def GetLineID(self): return self.LineID
-    def GetOwnerAwardItemEx(self): return self.OwnerAwardItemEx # 第一名额外奖励物品[[itemID,个数,是否拍品], ...]
+    def GetNPCID(self): return self.attrTuple[0] # ID
+    def GetLineID(self): return self.attrTuple[1]
+    def GetOwnerAwardItemEx(self): return self.attrTuple[2] # 第一名额外奖励物品[[itemID,个数,是否拍品], ...]
 
 # 副本鼓舞表
 class IPY_FbEncourage():
     
     def __init__(self):
-        self.DataMapID = 0
-        self.InspireType = 0
-        self.InspireMaxLV = 0
-        self.MoneyCount = ""
+        self.attrTuple = None
         return
         
-    def GetDataMapID(self): return self.DataMapID # 地图ID
-    def GetInspireType(self): return self.InspireType # 鼓舞类型
-    def GetInspireMaxLV(self): return self.InspireMaxLV # 鼓舞等级限制
-    def GetMoneyCount(self): return self.MoneyCount # 单次消耗金钱数量
+    def GetDataMapID(self): return self.attrTuple[0] # 地图ID
+    def GetInspireType(self): return self.attrTuple[1] # 鼓舞类型
+    def GetInspireMaxLV(self): return self.attrTuple[2] # 鼓舞等级限制
+    def GetMoneyCount(self): return self.attrTuple[3] # 单次消耗金钱数量
 
 # 地图标试点NPC刷新
 class IPY_MapRefreshNPC():
     
     def __init__(self):
-        self.MapID = 0
-        self.RefreshNum = 0
-        self.NPCIDList = []
-        self.RefreshMarkList = []
-        self.PointMaxCount = 0
-        self.TotalMaxCount = 0
-        self.RefreshSeconds = 0
-        self.RefreshPerMinutes = 0
+        self.attrTuple = None
         return
         
-    def GetMapID(self): return self.MapID # 地图ID
-    def GetRefreshNum(self): return self.RefreshNum # 刷怪规则编号
-    def GetNPCIDList(self): return self.NPCIDList # NPCID列表
-    def GetRefreshMarkList(self): return self.RefreshMarkList # 标试点列表
-    def GetPointMaxCount(self): return self.PointMaxCount # 单个点最大存在怪物数
-    def GetTotalMaxCount(self): return self.TotalMaxCount # 所有点总怪物数
-    def GetRefreshSeconds(self): return self.RefreshSeconds # 刷怪间隔秒
-    def GetRefreshPerMinutes(self): return self.RefreshPerMinutes # 每整X分刷怪
+    def GetMapID(self): return self.attrTuple[0] # 地图ID
+    def GetRefreshNum(self): return self.attrTuple[1] # 刷怪规则编号
+    def GetNPCIDList(self): return self.attrTuple[2] # NPCID列表
+    def GetRefreshMarkList(self): return self.attrTuple[3] # 标试点列表
+    def GetPointMaxCount(self): return self.attrTuple[4] # 单个点最大存在怪物数
+    def GetTotalMaxCount(self): return self.attrTuple[5] # 所有点总怪物数
+    def GetRefreshSeconds(self): return self.attrTuple[6] # 刷怪间隔秒
+    def GetRefreshPerMinutes(self): return self.attrTuple[7] # 每整X分刷怪
 
 # 符印合成表
 class IPY_RuneCompound():
     
     def __init__(self):
-        self.TagItemID = 0
-        self.NeedItem = []
-        self.NeedMJ = 0
+        self.attrTuple = None
         return
         
-    def GetTagItemID(self): return self.TagItemID # 合成的符印物品ID
-    def GetNeedItem(self): return self.NeedItem # 需要的物品ID
-    def GetNeedMJ(self): return self.NeedMJ # 需要的魔精数量
+    def GetTagItemID(self): return self.attrTuple[0] # 合成的符印物品ID
+    def GetNeedItem(self): return self.attrTuple[1] # 需要的物品ID
+    def GetNeedMJ(self): return self.attrTuple[2] # 需要的魔精数量
 
 # 资源找回表
 class IPY_ResourcesBack():
     
     def __init__(self):
-        self.ID = 0
-        self.RelatedID = 0
-        self.CanBackTimes = 0
-        self.NormalCostJade = 0
-        self.VipCostJade = 0
-        self.JadeReward = {}
-        self.CostCopper = 0
-        self.CopperReward = {}
-        self.JobItemList = []
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # ID
-    def GetRelatedID(self): return self.RelatedID # 关联日常任务表ID
-    def GetCanBackTimes(self): return self.CanBackTimes # 能否找回次数
-    def GetNormalCostJade(self): return self.NormalCostJade # 绑玉找回普通次数价格
-    def GetVipCostJade(self): return self.VipCostJade # 绑玉找回VIP次数找回价格
-    def GetJadeReward(self): return self.JadeReward # 绑玉找回奖励
-    def GetCostCopper(self): return self.CostCopper # 铜钱找回铜钱消耗
-    def GetCopperReward(self): return self.CopperReward # 铜钱找回奖励
-    def GetJobItemList(self): return self.JobItemList # 职业物品列表
+    def GetID(self): return self.attrTuple[0] # ID
+    def GetRelatedID(self): return self.attrTuple[1] # 关联日常任务表ID
+    def GetCanBackTimes(self): return self.attrTuple[2] # 能否找回次数
+    def GetNormalCostJade(self): return self.attrTuple[3] # 绑玉找回普通次数价格
+    def GetVipCostJade(self): return self.attrTuple[4] # 绑玉找回VIP次数找回价格
+    def GetJadeReward(self): return self.attrTuple[5] # 绑玉找回奖励
+    def GetCostCopper(self): return self.attrTuple[6] # 铜钱找回铜钱消耗
+    def GetCopperReward(self): return self.attrTuple[7] # 铜钱找回奖励
+    def GetJobItemList(self): return self.attrTuple[8] # 职业物品列表
 
 # 采集物表
 class IPY_CollectNPC():
     
     def __init__(self):
-        self.NPCID = 0
-        self.IsMissionCollectNPC = 0
-        self.PrepareTime = 0
-        self.LostHPPer = []
-        self.MaxCollectCount = 0
-        self.CollectResetType = 0
-        self.CollectCountLimitNotify = ""
-        self.CollectAward = []
-        self.CollectAppointAward = {}
-        self.AlchemyDiffLV = 0
-        self.NotifyCollectResult = 0
-        self.CanBreakCollect = 0
+        self.attrTuple = None
         return
         
-    def GetNPCID(self): return self.NPCID # ID
-    def GetIsMissionCollectNPC(self): return self.IsMissionCollectNPC # 是否任务采集物
-    def GetPrepareTime(self): return self.PrepareTime # 采集耗时,秒
-    def GetLostHPPer(self): return self.LostHPPer # 采集掉血,[每X秒,掉血百分比]
-    def GetMaxCollectCount(self): return self.MaxCollectCount # 可采集次数,0无限制
-    def GetCollectResetType(self): return self.CollectResetType # 采集次数重置类型,0-不重置,1-每日5点重置
-    def GetCollectCountLimitNotify(self): return self.CollectCountLimitNotify # 无采集次数采集提示
-    def GetCollectAward(self): return self.CollectAward # 采集奖励物品,权重列表 [[权重, [物品ID,个数,是否拍品]], ...]
-    def GetCollectAppointAward(self): return self.CollectAppointAward # 采集次数定制产出 {次数:[物品ID,个数,是否拍品], ...}
-    def GetAlchemyDiffLV(self): return self.AlchemyDiffLV # 过滤炼丹等级差,0-不过滤,>0过滤大于自身炼丹等级X级的物品
-    def GetNotifyCollectResult(self): return self.NotifyCollectResult # 是否通知采集结果
-    def GetCanBreakCollect(self): return self.CanBreakCollect # 被攻击是否打断采集
+    def GetNPCID(self): return self.attrTuple[0] # ID
+    def GetIsMissionCollectNPC(self): return self.attrTuple[1] # 是否任务采集物
+    def GetPrepareTime(self): return self.attrTuple[2] # 采集耗时,秒
+    def GetLostHPPer(self): return self.attrTuple[3] # 采集掉血,[每X秒,掉血百分比]
+    def GetMaxCollectCount(self): return self.attrTuple[4] # 可采集次数,0无限制
+    def GetCollectResetType(self): return self.attrTuple[5] # 采集次数重置类型,0-不重置,1-每日5点重置
+    def GetCollectCountLimitNotify(self): return self.attrTuple[6] # 无采集次数采集提示
+    def GetCollectAward(self): return self.attrTuple[7] # 采集奖励物品,权重列表 [[权重, [物品ID,个数,是否拍品]], ...]
+    def GetCollectAppointAward(self): return self.attrTuple[8] # 采集次数定制产出 {次数:[物品ID,个数,是否拍品], ...}
+    def GetAlchemyDiffLV(self): return self.attrTuple[9] # 过滤炼丹等级差,0-不过滤,>0过滤大于自身炼丹等级X级的物品
+    def GetNotifyCollectResult(self): return self.attrTuple[10] # 是否通知采集结果
+    def GetCanBreakCollect(self): return self.attrTuple[11] # 被攻击是否打断采集
 
 # 宝箱怪表
 class IPY_TreasureNPC():
     
     def __init__(self):
-        self.NPCID = 0
-        self.AttackCountDropWeightInfo = {}
-        self.AttackDropWeightList = []
-        self.AttackDropWeightListEx = []
-        self.DropCountEx = 0
-        self.AlchemyDiffLV = 0
-        self.NotDropNotify = ""
+        self.attrTuple = None
         return
         
-    def GetNPCID(self): return self.NPCID # 宝箱怪NPCID
-    def GetAttackCountDropWeightInfo(self): return self.AttackCountDropWeightInfo # 攻击次数对应掉落权重饼图 {次数:[[权重, [物品ID,个数,是否拍品]], ...], ...}
-    def GetAttackDropWeightList(self): return self.AttackDropWeightList # 常规攻击权重饼图 [[权重, [物品ID,个数,是否拍品]], ...]
-    def GetAttackDropWeightListEx(self): return self.AttackDropWeightListEx # 额外掉落权重饼图库,每次攻击都会掉落  [[权重, [物品ID,个数,是否拍品]], ...]
-    def GetDropCountEx(self): return self.DropCountEx # 额外库执行次数
-    def GetAlchemyDiffLV(self): return self.AlchemyDiffLV # 过滤炼丹等级差,0-不过滤,>0过滤大于自身炼丹等级X级的物品
-    def GetNotDropNotify(self): return self.NotDropNotify # 没有掉落时提示信息
+    def GetNPCID(self): return self.attrTuple[0] # 宝箱怪NPCID
+    def GetAttackCountDropWeightInfo(self): return self.attrTuple[1] # 攻击次数对应掉落权重饼图 {次数:[[权重, [物品ID,个数,是否拍品]], ...], ...}
+    def GetAttackDropWeightList(self): return self.attrTuple[2] # 常规攻击权重饼图 [[权重, [物品ID,个数,是否拍品]], ...]
+    def GetAttackDropWeightListEx(self): return self.attrTuple[3] # 额外掉落权重饼图库,每次攻击都会掉落  [[权重, [物品ID,个数,是否拍品]], ...]
+    def GetDropCountEx(self): return self.attrTuple[4] # 额外库执行次数
+    def GetAlchemyDiffLV(self): return self.attrTuple[5] # 过滤炼丹等级差,0-不过滤,>0过滤大于自身炼丹等级X级的物品
+    def GetNotDropNotify(self): return self.attrTuple[6] # 没有掉落时提示信息
 
 # 宝箱表开启
 class IPY_Chests():
     
     def __init__(self):
-        self.ChestsItemID = 0
-        self.CostItemID = 0
-        self.CostItemCount = 0
-        self.CostGold = 0
-        self.ShowType = 0
-        self.IsBind = 0
-        self.AucionItemCanSell = 0
-        self.AucionItemDiffSellIDList = []
+        self.attrTuple = None
         return
         
-    def GetChestsItemID(self): return self.ChestsItemID # 宝箱物品ID
-    def GetCostItemID(self): return self.CostItemID # 消耗物品ID
-    def GetCostItemCount(self): return self.CostItemCount # 消耗物品个数
-    def GetCostGold(self): return self.CostGold # 消耗仙玉
-    def GetShowType(self): return self.ShowType # 前端表现类型0-无表现, >0有表现需同步结果,具体类型前端自定义
-    def GetIsBind(self): return self.IsBind # 开出物品是否绑定
-    def GetAucionItemCanSell(self): return self.AucionItemCanSell # 开出拍品可否上架集市
-    def GetAucionItemDiffSellIDList(self): return self.AucionItemDiffSellIDList # 可否上架差异拍品ID列表,即可上架代表不可上架的拍品ID列表,不可上架代表可上架的拍品ID列表
+    def GetChestsItemID(self): return self.attrTuple[0] # 宝箱物品ID
+    def GetCostItemID(self): return self.attrTuple[1] # 消耗物品ID
+    def GetCostItemCount(self): return self.attrTuple[2] # 消耗物品个数
+    def GetCostGold(self): return self.attrTuple[3] # 消耗仙玉
+    def GetShowType(self): return self.attrTuple[4] # 前端表现类型0-无表现, >0有表现需同步结果,具体类型前端自定义
+    def GetIsBind(self): return self.attrTuple[5] # 开出物品是否绑定
+    def GetAucionItemCanSell(self): return self.attrTuple[6] # 开出拍品可否上架集市
+    def GetAucionItemDiffSellIDList(self): return self.attrTuple[7] # 可否上架差异拍品ID列表,即可上架代表不可上架的拍品ID列表,不可上架代表可上架的拍品ID列表
 
 # 宝箱表产出表
 class IPY_ChestsAward():
     
     def __init__(self):
-        self.ChestsItemID = 0
-        self.RealmLV = 0
-        self.AwardLV = 0
-        self.SelectItemDict = {}
-        self.FixedItemDict = {}
-        self.RandItemList1 = []
-        self.RandTimeList1 = []
-        self.RandItemList2 = []
-        self.RandTimeList2 = []
-        self.RandItemByUseCount = {}
-        self.JobItemList = []
-        self.MoneyType = 0
-        self.MoneyCount = 0
-        self.NeedNotifyItemList = []
-        self.IsDropJobSelf = 0
-        self.PieRateDrop = []
-        self.PieRateDoCnt = 0
-        self.IndepRateDrop = {}
-        self.EquipColorSuitInfo = {}
-        self.EquipPartKeyRateInfo = {}
+        self.attrTuple = None
         return
         
-    def GetChestsItemID(self): return self.ChestsItemID # 宝箱物品ID
-    def GetRealmLV(self): return self.RealmLV # 境界等级
-    def GetAwardLV(self): return self.AwardLV # 宝箱奖励等级
-    def GetSelectItemDict(self): return self.SelectItemDict # 选择物品ID对应个数字典,规定只能选一个
-    def GetFixedItemDict(self): return self.FixedItemDict # 固定产出物品ID对应个数字典
-    def GetRandItemList1(self): return self.RandItemList1 # 随机物品饼图列表1
-    def GetRandTimeList1(self): return self.RandTimeList1 # 随机次数饼图列表1
-    def GetRandItemList2(self): return self.RandItemList2 # 随机物品饼图列表2
-    def GetRandTimeList2(self): return self.RandTimeList2 # 随机次数饼图列表2
-    def GetRandItemByUseCount(self): return self.RandItemByUseCount # 宝箱开启X次对应特殊产出,与饼图列表2互斥
-    def GetJobItemList(self): return self.JobItemList # 职业物品列表
-    def GetMoneyType(self): return self.MoneyType # 货币类型
-    def GetMoneyCount(self): return self.MoneyCount # 货币数量
-    def GetNeedNotifyItemList(self): return self.NeedNotifyItemList # 需要广播的物品ID列表
-    def GetIsDropJobSelf(self): return self.IsDropJobSelf # 是否只掉落本职业
-    def GetPieRateDrop(self): return self.PieRateDrop # 饼图概率掉落信息 [(概率,0),(概率,(阶,颜色)),...]
-    def GetPieRateDoCnt(self): return self.PieRateDoCnt # 饼图概率执行次数
-    def GetIndepRateDrop(self): return self.IndepRateDrop # 独立概率掉落信息 {(阶,颜色):概率,...}
-    def GetEquipColorSuitInfo(self): return self.EquipColorSuitInfo # 装备颜色对应套装概率 {颜色:套装概率, ...}
-    def GetEquipPartKeyRateInfo(self): return self.EquipPartKeyRateInfo # 装备部位集合信息 {(颜色,是否套装):部位集合key, ...}
+    def GetChestsItemID(self): return self.attrTuple[0] # 宝箱物品ID
+    def GetRealmLV(self): return self.attrTuple[1] # 境界等级
+    def GetAwardLV(self): return self.attrTuple[2] # 宝箱奖励等级
+    def GetSelectItemDict(self): return self.attrTuple[3] # 选择物品ID对应个数字典,规定只能选一个
+    def GetFixedItemDict(self): return self.attrTuple[4] # 固定产出物品ID对应个数字典
+    def GetRandItemList1(self): return self.attrTuple[5] # 随机物品饼图列表1
+    def GetRandTimeList1(self): return self.attrTuple[6] # 随机次数饼图列表1
+    def GetRandItemList2(self): return self.attrTuple[7] # 随机物品饼图列表2
+    def GetRandTimeList2(self): return self.attrTuple[8] # 随机次数饼图列表2
+    def GetRandItemByUseCount(self): return self.attrTuple[9] # 宝箱开启X次对应特殊产出,与饼图列表2互斥
+    def GetJobItemList(self): return self.attrTuple[10] # 职业物品列表
+    def GetMoneyType(self): return self.attrTuple[11] # 货币类型
+    def GetMoneyCount(self): return self.attrTuple[12] # 货币数量
+    def GetNeedNotifyItemList(self): return self.attrTuple[13] # 需要广播的物品ID列表
+    def GetIsDropJobSelf(self): return self.attrTuple[14] # 是否只掉落本职业
+    def GetPieRateDrop(self): return self.attrTuple[15] # 饼图概率掉落信息 [(概率,0),(概率,(阶,颜色)),...]
+    def GetPieRateDoCnt(self): return self.attrTuple[16] # 饼图概率执行次数
+    def GetIndepRateDrop(self): return self.attrTuple[17] # 独立概率掉落信息 {(阶,颜色):概率,...}
+    def GetEquipColorSuitInfo(self): return self.attrTuple[18] # 装备颜色对应套装概率 {颜色:套装概率, ...}
+    def GetEquipPartKeyRateInfo(self): return self.attrTuple[19] # 装备部位集合信息 {(颜色,是否套装):部位集合key, ...}
 
 # VIP杀怪加攻击表
 class IPY_VIPKillNPC():
     
     def __init__(self):
-        self.KillLV = 0
-        self.LVExpPoint = 0
-        self.LVExp = 0
-        self.AddMinAtk = 0
-        self.AddMaxAtk = 0
+        self.attrTuple = None
         return
         
-    def GetKillLV(self): return self.KillLV # 杀怪成长等级
-    def GetLVExpPoint(self): return self.LVExpPoint # 升级所需经验点,每个经验点代表的经验由项目决定
-    def GetLVExp(self): return self.LVExp # 除经验点总经验外升级还需的经验
-    def GetAddMinAtk(self): return self.AddMinAtk # 增加最小攻击
-    def GetAddMaxAtk(self): return self.AddMaxAtk # 增加最大攻击
+    def GetKillLV(self): return self.attrTuple[0] # 杀怪成长等级
+    def GetLVExpPoint(self): return self.attrTuple[1] # 升级所需经验点,每个经验点代表的经验由项目决定
+    def GetLVExp(self): return self.attrTuple[2] # 除经验点总经验外升级还需的经验
+    def GetAddMinAtk(self): return self.attrTuple[3] # 增加最小攻击
+    def GetAddMaxAtk(self): return self.attrTuple[4] # 增加最大攻击
 
 # 全民冲榜排行奖励表
 class IPY_OSCBillRankAward():
     
     def __init__(self):
-        self.OSCBillType = 0
-        self.RankA = 0
-        self.RankB = 0
-        self.RankAward = {}
+        self.attrTuple = None
         return
         
-    def GetOSCBillType(self): return self.OSCBillType # 冲榜类型
-    def GetRankA(self): return self.RankA # 排名A
-    def GetRankB(self): return self.RankB # 至排名B
-    def GetRankAward(self): return self.RankAward # 排名奖励 {"职业":[[物品ID,个数],...], ...}
+    def GetOSCBillType(self): return self.attrTuple[0] # 冲榜类型
+    def GetRankA(self): return self.attrTuple[1] # 排名A
+    def GetRankB(self): return self.attrTuple[2] # 至排名B
+    def GetRankAward(self): return self.attrTuple[3] # 排名奖励 {"职业":[[物品ID,个数],...], ...}
 
 # 全民冲榜达成奖励表
 class IPY_OSCBillTagAward():
     
     def __init__(self):
-        self.OSCBillType = 0
-        self.TagCondition = 0
-        self.TagAward = {}
+        self.attrTuple = None
         return
         
-    def GetOSCBillType(self): return self.OSCBillType # 冲榜类型
-    def GetTagCondition(self): return self.TagCondition # 目标条件值
-    def GetTagAward(self): return self.TagAward # 目标奖励 {"职业":[[物品ID,个数],...], ...}
+    def GetOSCBillType(self): return self.attrTuple[0] # 冲榜类型
+    def GetTagCondition(self): return self.attrTuple[1] # 目标条件值
+    def GetTagAward(self): return self.attrTuple[2] # 目标奖励 {"职业":[[物品ID,个数],...], ...}
 
 # 七天登录奖励表
 class IPY_LoginDayAward():
     
     def __init__(self):
-        self.DayID = 0
-        self.Reward = {}
+        self.attrTuple = None
         return
         
-    def GetDayID(self): return self.DayID # 天数
-    def GetReward(self): return self.Reward # 奖励 {"职业":[[物品ID,个数],...], ...}
+    def GetDayID(self): return self.attrTuple[0] # 天数
+    def GetReward(self): return self.attrTuple[1] # 奖励 {"职业":[[物品ID,个数],...], ...}
 
 # 七天在线奖励表新
 class IPY_OnlineAwardNew():
     
     def __init__(self):
-        self.DayID = 0
-        self.StageTime = []
-        self.Reward = {}
+        self.attrTuple = None
         return
         
-    def GetDayID(self): return self.DayID # 天数
-    def GetStageTime(self): return self.StageTime # 阶段所需时间(分钟)
-    def GetReward(self): return self.Reward # 奖励 {"索引":[[物品ID,个数],...], ...}
+    def GetDayID(self): return self.attrTuple[0] # 天数
+    def GetStageTime(self): return self.attrTuple[1] # 阶段所需时间(分钟)
+    def GetReward(self): return self.attrTuple[2] # 奖励 {"索引":[[物品ID,个数],...], ...}
 
 # 七天限时特惠表
 class IPY_SpringSale():
     
     def __init__(self):
-        self.GiftID = 0
-        self.SellDay = 0
-        self.BuyNumLimit = 0
-        self.GiftPrice = 0
-        self.GiftItemList = []
+        self.attrTuple = None
         return
         
-    def GetGiftID(self): return self.GiftID # 礼包ID
-    def GetSellDay(self): return self.SellDay # 创角第几天上架
-    def GetBuyNumLimit(self): return self.BuyNumLimit # 每人限购数量
-    def GetGiftPrice(self): return self.GiftPrice # 礼包价格,仙玉
-    def GetGiftItemList(self): return self.GiftItemList # 礼包物品信息列表[[物品ID,个数,是否绑定], ...]
+    def GetGiftID(self): return self.attrTuple[0] # 礼包ID
+    def GetSellDay(self): return self.attrTuple[1] # 创角第几天上架
+    def GetBuyNumLimit(self): return self.attrTuple[2] # 每人限购数量
+    def GetGiftPrice(self): return self.attrTuple[3] # 礼包价格,仙玉
+    def GetGiftItemList(self): return self.attrTuple[4] # 礼包物品信息列表[[物品ID,个数,是否绑定], ...]
 
 # 充值商品编号表
 class IPY_OrderInfo():
     
     def __init__(self):
-        self.OrderInfo = ""
-        self.AppID = ""
-        self.PayRMBNum = 0.0
-        self.CTGID = 0
-        self.GiftbagID = 0
-        self.CoinExp = 0
+        self.attrTuple = None
         return
         
-    def GetOrderInfo(self): return self.OrderInfo # 商品编号
-    def GetAppID(self): return self.AppID # appID
-    def GetPayRMBNum(self): return self.PayRMBNum # 付费额度,元
-    def GetCTGID(self): return self.CTGID # 对应充值ID
-    def GetGiftbagID(self): return self.GiftbagID # 对应限时礼包编号
-    def GetCoinExp(self): return self.CoinExp # 对应转化经验
+    def GetOrderInfo(self): return self.attrTuple[0] # 商品编号
+    def GetAppID(self): return self.attrTuple[1] # appID
+    def GetPayRMBNum(self): return self.attrTuple[2] # 付费额度,元
+    def GetCTGID(self): return self.attrTuple[3] # 对应充值ID
+    def GetGiftbagID(self): return self.attrTuple[4] # 对应限时礼包编号
+    def GetCoinExp(self): return self.attrTuple[5] # 对应转化经验
 
 # 充值表
 class IPY_CTG():
     
     def __init__(self):
-        self.RecordID = 0
-        self.CanResetBuyCount = 0
-        self.TotalBuyCount = 0
-        self.DailyBuyCount = 0
-        self.WeekBuyCount = 0
-        self.MonthBuyCount = 0
-        self.MoneyType = 0
-        self.GainGold = 0
-        self.GainGoldPrize = 0
-        self.FirstGoldPrize = 0
-        self.GainItemList = []
-        self.ActWorldLVGainItemInfo = {}
-        self.NotifyMark = ""
-        self.PayType = 0
+        self.attrTuple = None
         return
         
-    def GetRecordID(self): return self.RecordID # 记录ID
-    def GetCanResetBuyCount(self): return self.CanResetBuyCount # 是否允许重置次数
-    def GetTotalBuyCount(self): return self.TotalBuyCount # 总限购次数
-    def GetDailyBuyCount(self): return self.DailyBuyCount # 每日限购次数
-    def GetWeekBuyCount(self): return self.WeekBuyCount # 每周限购次数
-    def GetMonthBuyCount(self): return self.MonthBuyCount # 每月限购次数
-    def GetMoneyType(self): return self.MoneyType # 获得货币类型
-    def GetGainGold(self): return self.GainGold # 获得货币数
-    def GetGainGoldPrize(self): return self.GainGoldPrize # 赠送货币数
-    def GetFirstGoldPrize(self): return self.FirstGoldPrize # 首次充值该档位赠送仙玉
-    def GetGainItemList(self): return self.GainItemList # 获得物品列表[[物品ID,个数,是否绑定], ...]
-    def GetActWorldLVGainItemInfo(self): return self.ActWorldLVGainItemInfo # 根据活动世界等级获得物品信息,活动专用 {"世界等级":[[物品ID,个数,是否绑定], ...], ...}
-    def GetNotifyMark(self): return self.NotifyMark # 广播提示
-    def GetPayType(self): return self.PayType # 充值类型
+    def GetRecordID(self): return self.attrTuple[0] # 记录ID
+    def GetCanResetBuyCount(self): return self.attrTuple[1] # 是否允许重置次数
+    def GetTotalBuyCount(self): return self.attrTuple[2] # 总限购次数
+    def GetDailyBuyCount(self): return self.attrTuple[3] # 每日限购次数
+    def GetWeekBuyCount(self): return self.attrTuple[4] # 每周限购次数
+    def GetMonthBuyCount(self): return self.attrTuple[5] # 每月限购次数
+    def GetMoneyType(self): return self.attrTuple[6] # 获得货币类型
+    def GetGainGold(self): return self.attrTuple[7] # 获得货币数
+    def GetGainGoldPrize(self): return self.attrTuple[8] # 赠送货币数
+    def GetFirstGoldPrize(self): return self.attrTuple[9] # 首次充值该档位赠送仙玉
+    def GetGainItemList(self): return self.attrTuple[10] # 获得物品列表[[物品ID,个数,是否绑定], ...]
+    def GetActWorldLVGainItemInfo(self): return self.attrTuple[11] # 根据活动世界等级获得物品信息,活动专用 {"世界等级":[[物品ID,个数,是否绑定], ...], ...}
+    def GetNotifyMark(self): return self.attrTuple[12] # 广播提示
+    def GetPayType(self): return self.attrTuple[13] # 充值类型
 
 # 首充表
 class IPY_FirstGold():
     
     def __init__(self):
-        self.Day = 0
-        self.JobItemInfo = {}
-        self.CommItemList = []
+        self.attrTuple = None
         return
         
-    def GetDay(self): return self.Day # 首充第几天
-    def GetJobItemInfo(self): return self.JobItemInfo # 职业物品奖励 {"职业":[[物品ID,个数], ...], ...}
-    def GetCommItemList(self): return self.CommItemList # 通用物品奖励 [[物品ID,个数], ...]
+    def GetDay(self): return self.attrTuple[0] # 首充第几天
+    def GetJobItemInfo(self): return self.attrTuple[1] # 职业物品奖励 {"职业":[[物品ID,个数], ...], ...}
+    def GetCommItemList(self): return self.attrTuple[2] # 通用物品奖励 [[物品ID,个数], ...]
 
 # 等级奖励表
 class IPY_LVAward():
     
     def __init__(self):
-        self.AwardID = 0
-        self.LV = 0
-        self.LimitCnt = 0
-        self.Reward = {}
-        self.VIPLimit = 0
-        self.VIPAward = []
+        self.attrTuple = None
         return
         
-    def GetAwardID(self): return self.AwardID # 奖励ID
-    def GetLV(self): return self.LV # 等级
-    def GetLimitCnt(self): return self.LimitCnt # 全服限制数量
-    def GetReward(self): return self.Reward # 奖励 {"职业":[[物品ID,个数],...], ...}
-    def GetVIPLimit(self): return self.VIPLimit # 需要VIP几
-    def GetVIPAward(self): return self.VIPAward # vip奖励[[物品ID,个数],...]
+    def GetAwardID(self): return self.attrTuple[0] # 奖励ID
+    def GetLV(self): return self.attrTuple[1] # 等级
+    def GetLimitCnt(self): return self.attrTuple[2] # 全服限制数量
+    def GetReward(self): return self.attrTuple[3] # 奖励 {"职业":[[物品ID,个数],...], ...}
+    def GetVIPLimit(self): return self.attrTuple[4] # 需要VIP几
+    def GetVIPAward(self): return self.attrTuple[5] # vip奖励[[物品ID,个数],...]
 
 # 投资表
 class IPY_Invest():
     
     def __init__(self):
-        self.ID = 0
-        self.Type = 0
-        self.NeedDay = 0
-        self.NeedLV = 0
-        self.NeedNPCID = 0
-        self.Reward = {}
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # ID
-    def GetType(self): return self.Type # 投资类型
-    def GetNeedDay(self): return self.NeedDay # 需要天数
-    def GetNeedLV(self): return self.NeedLV # 需要等级
-    def GetNeedNPCID(self): return self.NeedNPCID # 需要NPCID
-    def GetReward(self): return self.Reward # 奖励 {"key":[[物品ID,个数,是否绑定],...], ...}
+    def GetID(self): return self.attrTuple[0] # ID
+    def GetType(self): return self.attrTuple[1] # 投资类型
+    def GetNeedDay(self): return self.attrTuple[2] # 需要天数
+    def GetNeedLV(self): return self.attrTuple[3] # 需要等级
+    def GetNeedNPCID(self): return self.attrTuple[4] # 需要NPCID
+    def GetReward(self): return self.attrTuple[5] # 奖励 {"key":[[物品ID,个数,是否绑定],...], ...}
 
 # 仙宝寻主表
 class IPY_XBXZ():
     
     def __init__(self):
-        self.ID = 0
-        self.Type = 0
-        self.NeedCnt = 0
-        self.Condition = []
-        self.MWID = 0
-        self.AwardItem = []
-        self.Money = []
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # ID
-    def GetType(self): return self.Type # 类型
-    def GetNeedCnt(self): return self.NeedCnt # 需要数量
-    def GetCondition(self): return self.Condition # 条件
-    def GetMWID(self): return self.MWID # 法宝ID
-    def GetAwardItem(self): return self.AwardItem # 奖励物品列表
-    def GetMoney(self): return self.Money # 金钱
+    def GetID(self): return self.attrTuple[0] # ID
+    def GetType(self): return self.attrTuple[1] # 类型
+    def GetNeedCnt(self): return self.attrTuple[2] # 需要数量
+    def GetCondition(self): return self.attrTuple[3] # 条件
+    def GetMWID(self): return self.attrTuple[4] # 法宝ID
+    def GetAwardItem(self): return self.attrTuple[5] # 奖励物品列表
+    def GetMoney(self): return self.attrTuple[6] # 金钱
 
 # 寻宝产出库表
 class IPY_TreasureHouse():
     
     def __init__(self):
-        self.TreasureType = 0
-        self.MinLV = 0
-        self.GridItemInfo = {}
-        self.JobItemList = []
-        self.GridItemRateListFree = []
-        self.FreeGridItemRateList2 = []
-        self.FreeGridItemRateList3 = {}
-        self.GridItemRateList1 = []
-        self.GridItemRateList2 = []
-        self.GridItemRateList3 = {}
-        self.LuckyGridNum = 0
+        self.attrTuple = None
         return
         
-    def GetTreasureType(self): return self.TreasureType # 寻宝类型
-    def GetMinLV(self): return self.MinLV # 最小等级
-    def GetGridItemInfo(self): return self.GridItemInfo # 格子编号对应物品信息 {"编号":[物品ID, 个数], ...}
-    def GetJobItemList(self): return self.JobItemList # 职业物品组列表 [[职业1物品, 职业2物品, ...], ...]
-    def GetGridItemRateListFree(self): return self.GridItemRateListFree # 免费产出格子编号饼图 [[概率, 格子编号], ...]
-    def GetFreeGridItemRateList2(self): return self.FreeGridItemRateList2 # 免费每满x次保底产出格子编号饼图 [[概率, 格子编号], ...]
-    def GetFreeGridItemRateList3(self): return self.FreeGridItemRateList3 # 免费第x次必出产出格子编号饼图 {次数:[[概率, 格子编号], ...], ...}
-    def GetGridItemRateList1(self): return self.GridItemRateList1 # 常规产出格子编号饼图 [[概率, 格子编号], ...]
-    def GetGridItemRateList2(self): return self.GridItemRateList2 # 每满x次保底产出格子编号饼图 [[概率, 格子编号], ...]
-    def GetGridItemRateList3(self): return self.GridItemRateList3 # 第x次必出产出格子编号饼图 {次数:[[概率, 格子编号], ...], ...}
-    def GetLuckyGridNum(self): return self.LuckyGridNum # 幸运加成格子编号
+    def GetTreasureType(self): return self.attrTuple[0] # 寻宝类型
+    def GetMinLV(self): return self.attrTuple[1] # 最小等级
+    def GetGridItemInfo(self): return self.attrTuple[2] # 格子编号对应物品信息 {"编号":[物品ID, 个数], ...}
+    def GetJobItemList(self): return self.attrTuple[3] # 职业物品组列表 [[职业1物品, 职业2物品, ...], ...]
+    def GetGridItemRateListFree(self): return self.attrTuple[4] # 免费产出格子编号饼图 [[概率, 格子编号], ...]
+    def GetFreeGridItemRateList2(self): return self.attrTuple[5] # 免费每满x次保底产出格子编号饼图 [[概率, 格子编号], ...]
+    def GetFreeGridItemRateList3(self): return self.attrTuple[6] # 免费第x次必出产出格子编号饼图 {次数:[[概率, 格子编号], ...], ...}
+    def GetGridItemRateList1(self): return self.attrTuple[7] # 常规产出格子编号饼图 [[概率, 格子编号], ...]
+    def GetGridItemRateList2(self): return self.attrTuple[8] # 每满x次保底产出格子编号饼图 [[概率, 格子编号], ...]
+    def GetGridItemRateList3(self): return self.attrTuple[9] # 第x次必出产出格子编号饼图 {次数:[[概率, 格子编号], ...], ...}
+    def GetLuckyGridNum(self): return self.attrTuple[10] # 幸运加成格子编号
 
 # 极品白拿表
 class IPY_FreeGoods():
     
     def __init__(self):
-        self.ID = 0
-        self.AwardItem = {}
-        self.NeedMoney = 0
-        self.ReturnDays = 0
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # ID
-    def GetAwardItem(self): return self.AwardItem # 奖励 {"职业":[[物品ID,个数],...], ...}
-    def GetNeedMoney(self): return self.NeedMoney # 需要仙玉
-    def GetReturnDays(self): return self.ReturnDays # 返还所需天
+    def GetID(self): return self.attrTuple[0] # ID
+    def GetAwardItem(self): return self.attrTuple[1] # 奖励 {"职业":[[物品ID,个数],...], ...}
+    def GetNeedMoney(self): return self.attrTuple[2] # 需要仙玉
+    def GetReturnDays(self): return self.attrTuple[3] # 返还所需天
 
 # 限时礼包活动表
 class IPY_ActFlashGiftbag():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.StartTimeList = []
-        self.EndTimeList = []
-        self.AdvanceMinutes = 0
-        self.LVLimit = 0
-        self.IsDayReset = 0
-        self.IsJueban = 0
-        self.GiftbagTypeList = {}
-        self.MailKey = ""
-        self.MailItemPrize = []
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetStartTimeList(self): return self.StartTimeList # 开启时间列表, 支持多个时段
-    def GetEndTimeList(self): return self.EndTimeList # 结束时间列表, 支持多个时段
-    def GetAdvanceMinutes(self): return self.AdvanceMinutes # 前端提前X分钟展示活动
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
-    def GetIsJueban(self): return self.IsJueban # 是否绝版礼包
-    def GetGiftbagTypeList(self): return self.GiftbagTypeList # 礼包类型列表
-    def GetMailKey(self): return self.MailKey # 活动更新时发送邮件key
-    def GetMailItemPrize(self): return self.MailItemPrize # 活动更新时发送邮件奖励物品
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetStartTimeList(self): return self.attrTuple[3] # 开启时间列表, 支持多个时段
+    def GetEndTimeList(self): return self.attrTuple[4] # 结束时间列表, 支持多个时段
+    def GetAdvanceMinutes(self): return self.attrTuple[5] # 前端提前X分钟展示活动
+    def GetLVLimit(self): return self.attrTuple[6] # 限制等级
+    def GetIsDayReset(self): return self.attrTuple[7] # 是否每天重置
+    def GetIsJueban(self): return self.attrTuple[8] # 是否绝版礼包
+    def GetGiftbagTypeList(self): return self.attrTuple[9] # 礼包类型列表
+    def GetMailKey(self): return self.attrTuple[10] # 活动更新时发送邮件key
+    def GetMailItemPrize(self): return self.attrTuple[11] # 活动更新时发送邮件奖励物品
 
 # 限时礼包模板表
 class IPY_FlashGiftbag():
     
     def __init__(self):
-        self.GiftbagID = 0
-        self.GiftbagType = 0
-        self.OriginalRMB = 0.0
-        self.BuyCountLimit = 0
-        self.GiftItemList = []
-        self.MainItemID = 0
-        self.NotifyKey = ""
+        self.attrTuple = None
         return
         
-    def GetGiftbagID(self): return self.GiftbagID # 礼包编号
-    def GetGiftbagType(self): return self.GiftbagType # 礼包类型
-    def GetOriginalRMB(self): return self.OriginalRMB # 原价(RMB)
-    def GetBuyCountLimit(self): return self.BuyCountLimit # 限购次数,0不限购
-    def GetGiftItemList(self): return self.GiftItemList # 礼包物品信息列表 [(物品ID,个数,是否绑定),...]
-    def GetMainItemID(self): return self.MainItemID # 标的物品ID
-    def GetNotifyKey(self): return self.NotifyKey # 全服广播key,默认两个参数(玩家名, 档位额度)
+    def GetGiftbagID(self): return self.attrTuple[0] # 礼包编号
+    def GetGiftbagType(self): return self.attrTuple[1] # 礼包类型
+    def GetOriginalRMB(self): return self.attrTuple[2] # 原价(RMB)
+    def GetBuyCountLimit(self): return self.attrTuple[3] # 限购次数,0不限购
+    def GetGiftItemList(self): return self.attrTuple[4] # 礼包物品信息列表 [(物品ID,个数,是否绑定),...]
+    def GetMainItemID(self): return self.attrTuple[5] # 标的物品ID
+    def GetNotifyKey(self): return self.attrTuple[6] # 全服广播key,默认两个参数(玩家名, 档位额度)
 
 # 每日礼包活动表
 class IPY_ActDailyGiftbag():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.LVLimit = 0
-        self.GiftbagType = 0
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetGiftbagType(self): return self.GiftbagType # 礼包模板类型
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetLVLimit(self): return self.attrTuple[3] # 限制等级
+    def GetGiftbagType(self): return self.attrTuple[4] # 礼包模板类型
 
 # 每日礼包模板表
 class IPY_DailyGiftbag():
     
     def __init__(self):
-        self.GiftbagType = 0
-        self.GiftbagID = 0
-        self.BuyCountLimit = 0
-        self.GiftItemList = []
+        self.attrTuple = None
         return
         
-    def GetGiftbagType(self): return self.GiftbagType # 礼包模板类型
-    def GetGiftbagID(self): return self.GiftbagID # 礼包编号
-    def GetBuyCountLimit(self): return self.BuyCountLimit # 限购次数,0不限购
-    def GetGiftItemList(self): return self.GiftItemList # 礼包物品信息列表 [(物品ID,个数,是否绑定),...]
+    def GetGiftbagType(self): return self.attrTuple[0] # 礼包模板类型
+    def GetGiftbagID(self): return self.attrTuple[1] # 礼包编号
+    def GetBuyCountLimit(self): return self.attrTuple[2] # 限购次数,0不限购
+    def GetGiftItemList(self): return self.attrTuple[3] # 礼包物品信息列表 [(物品ID,个数,是否绑定),...]
 
 # 双倍经验活动表
 class IPY_ActExpRate():
     
     def __init__(self):
-        self.CfgID = 0
-        self.LVLimit = 0
-        self.AddExpRate = 0
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetAddExpRate(self): return self.AddExpRate # 经验倍率加成,万分率
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetLVLimit(self): return self.attrTuple[1] # 限制等级
+    def GetAddExpRate(self): return self.attrTuple[2] # 经验倍率加成,万分率
 
 # 消费返利活动表
 class IPY_ActCostRebate():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.LVLimit = 0
-        self.IsDayReset = 0
-        self.TemplateIDList = []
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
-    def GetTemplateIDList(self): return self.TemplateIDList # 模板ID列表
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetLVLimit(self): return self.attrTuple[3] # 限制等级
+    def GetIsDayReset(self): return self.attrTuple[4] # 是否每天重置
+    def GetTemplateIDList(self): return self.attrTuple[5] # 模板ID列表
 
 # 消费返利模板表
 class IPY_CostRebateTemplate():
     
     def __init__(self):
-        self.TemplateID = 0
-        self.NeedCostGold = 0
-        self.AwardIndex = 0
-        self.AwardItemList = {}
-        self.NotifyKey = ""
+        self.attrTuple = None
         return
         
-    def GetTemplateID(self): return self.TemplateID # 模板ID
-    def GetNeedCostGold(self): return self.NeedCostGold # 需要消费仙玉数
-    def GetAwardIndex(self): return self.AwardIndex # 返利奖励索引0~31,同个模板中不重复
-    def GetAwardItemList(self): return self.AwardItemList # 返利物品信息列表 {世界等级范围:[({职业:物品ID,..},个数,是否绑定), ...]}
-    def GetNotifyKey(self): return self.NotifyKey # 全服广播key,默认两个参数(玩家名, 档位额度)
+    def GetTemplateID(self): return self.attrTuple[0] # 模板ID
+    def GetNeedCostGold(self): return self.attrTuple[1] # 需要消费仙玉数
+    def GetAwardIndex(self): return self.attrTuple[2] # 返利奖励索引0~31,同个模板中不重复
+    def GetAwardItemList(self): return self.attrTuple[3] # 返利物品信息列表 {世界等级范围:[({职业:物品ID,..},个数,是否绑定), ...]}
+    def GetNotifyKey(self): return self.attrTuple[4] # 全服广播key,默认两个参数(玩家名, 档位额度)
 
 # 买一送多活动表
 class IPY_ActBuyOne():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.LVLimit = 0
-        self.IsDayReset = 0
-        self.TemplateIDList = []
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
-    def GetTemplateIDList(self): return self.TemplateIDList # 模板ID列表
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetLVLimit(self): return self.attrTuple[3] # 限制等级
+    def GetIsDayReset(self): return self.attrTuple[4] # 是否每天重置
+    def GetTemplateIDList(self): return self.attrTuple[5] # 模板ID列表
 
 # 买一送多模板表
 class IPY_ActBuyOneTemplate():
     
     def __init__(self):
-        self.TemplateID = 0
-        self.NeedCTGID = 0
-        self.RecordIndex = 0
-        self.FreeItemInfo = {}
+        self.attrTuple = None
         return
         
-    def GetTemplateID(self): return self.TemplateID # 模板ID
-    def GetNeedCTGID(self): return self.NeedCTGID # 需要充值ID
-    def GetRecordIndex(self): return self.RecordIndex # 记录索引
-    def GetFreeItemInfo(self): return self.FreeItemInfo # 免费领取的物品信息列表{领取记录索引:[[物品ID,个数,是否拍品]], ...}
+    def GetTemplateID(self): return self.attrTuple[0] # 模板ID
+    def GetNeedCTGID(self): return self.attrTuple[1] # 需要充值ID
+    def GetRecordIndex(self): return self.attrTuple[2] # 记录索引
+    def GetFreeItemInfo(self): return self.attrTuple[3] # 免费领取的物品信息列表{领取记录索引:[[物品ID,个数,是否拍品]], ...}
 
 # 集字活动时间表
 class IPY_ActCollectWords():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.LVLimit = 0
-        self.LastDayOnlyExchange = 0
-        self.TemplateID = 0
-        self.DropDiffLVLimit = 0
-        self.DropItemRateList = []
-        self.DropItemRateListBoss = []
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetLastDayOnlyExchange(self): return self.LastDayOnlyExchange # 最后一天是否仅兑换
-    def GetTemplateID(self): return self.TemplateID # 兑换模板编号
-    def GetDropDiffLVLimit(self): return self.DropDiffLVLimit # 掉落等级差值限制
-    def GetDropItemRateList(self): return self.DropItemRateList # 小怪掉落饼图概率
-    def GetDropItemRateListBoss(self): return self.DropItemRateListBoss # Boss掉落饼图概率
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetLVLimit(self): return self.attrTuple[3] # 限制等级
+    def GetLastDayOnlyExchange(self): return self.attrTuple[4] # 最后一天是否仅兑换
+    def GetTemplateID(self): return self.attrTuple[5] # 兑换模板编号
+    def GetDropDiffLVLimit(self): return self.attrTuple[6] # 掉落等级差值限制
+    def GetDropItemRateList(self): return self.attrTuple[7] # 小怪掉落饼图概率
+    def GetDropItemRateListBoss(self): return self.attrTuple[8] # Boss掉落饼图概率
 
 # 集字活动兑换模板表
 class IPY_CollectWordsExchange():
     
     def __init__(self):
-        self.TemplateID = 0
-        self.ExchangeNum = 0
-        self.ExchangeItemInfo = []
-        self.ExchangeCountMax = 0
-        self.NeedItemList = []
-        self.NeedNotify = 0
+        self.attrTuple = None
         return
         
-    def GetTemplateID(self): return self.TemplateID # 模板ID
-    def GetExchangeNum(self): return self.ExchangeNum # 兑换编号(同个模板中需唯一不可变)
-    def GetExchangeItemInfo(self): return self.ExchangeItemInfo # 兑换目标物品[物品ID,个数,是否绑定]
-    def GetExchangeCountMax(self): return self.ExchangeCountMax # 最大兑换次数(0不限制)
-    def GetNeedItemList(self): return self.NeedItemList # 所需物品信息列表 [[物品ID,个数,是否绑定], ...]
-    def GetNeedNotify(self): return self.NeedNotify # 是否需要广播
+    def GetTemplateID(self): return self.attrTuple[0] # 模板ID
+    def GetExchangeNum(self): return self.attrTuple[1] # 兑换编号(同个模板中需唯一不可变)
+    def GetExchangeItemInfo(self): return self.attrTuple[2] # 兑换目标物品[物品ID,个数,是否绑定]
+    def GetExchangeCountMax(self): return self.attrTuple[3] # 最大兑换次数(0不限制)
+    def GetNeedItemList(self): return self.attrTuple[4] # 所需物品信息列表 [[物品ID,个数,是否绑定], ...]
+    def GetNeedNotify(self): return self.attrTuple[5] # 是否需要广播
 
 # 垃圾分类活动时间表
 class IPY_ActGarbageSorting():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.ResetType = 0
-        self.LVLimit = 0
-        self.CTGTypeEffValue = 0
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetCTGTypeEffValue(self): return self.CTGTypeEffValue # 充值有效类型值
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetResetType(self): return self.attrTuple[3] # 重置类型,0-0点重置;1-5点重置
+    def GetLVLimit(self): return self.attrTuple[4] # 限制等级
+    def GetCTGTypeEffValue(self): return self.attrTuple[5] # 充值有效类型值
 
 # 垃圾分类任务产出表
 class IPY_ActGarbageTask():
     
     def __init__(self):
-        self.GarbageTasklD = 0
-        self.FinishNeedValue = 0
-        self.FinishTimeMax = 0
-        self.AutoProduce = 0
-        self.ProduceGarbageRateList = []
+        self.attrTuple = None
         return
         
-    def GetGarbageTasklD(self): return self.GarbageTasklD # 垃圾任务ID
-    def GetFinishNeedValue(self): return self.FinishNeedValue # 完成所需进度值
-    def GetFinishTimeMax(self): return self.FinishTimeMax # 总可完成次数,0不限
-    def GetAutoProduce(self): return self.AutoProduce # 自动产生垃圾
-    def GetProduceGarbageRateList(self): return self.ProduceGarbageRateList # 随机产生垃圾概率饼图
+    def GetGarbageTasklD(self): return self.attrTuple[0] # 垃圾任务ID
+    def GetFinishNeedValue(self): return self.attrTuple[1] # 完成所需进度值
+    def GetFinishTimeMax(self): return self.attrTuple[2] # 总可完成次数,0不限
+    def GetAutoProduce(self): return self.attrTuple[3] # 自动产生垃圾
+    def GetProduceGarbageRateList(self): return self.attrTuple[4] # 随机产生垃圾概率饼图
 
 # Boss历练活动表
 class IPY_ActBossTrial():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.LVLimit = 0
-        self.IsDayReset = 0
-        self.ResetType = 0
-        self.SubmitItemAwardInfo = {}
-        self.TemplateIDList = []
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
-    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
-    def GetSubmitItemAwardInfo(self): return self.SubmitItemAwardInfo # 提交凭证个数对应奖励
-    def GetTemplateIDList(self): return self.TemplateIDList # 榜单模板编号列表
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetLVLimit(self): return self.attrTuple[3] # 限制等级
+    def GetIsDayReset(self): return self.attrTuple[4] # 是否每天重置
+    def GetResetType(self): return self.attrTuple[5] # 重置类型,0-0点重置;1-5点重置
+    def GetSubmitItemAwardInfo(self): return self.attrTuple[6] # 提交凭证个数对应奖励
+    def GetTemplateIDList(self): return self.attrTuple[7] # 榜单模板编号列表
 
 # Boss历练榜单模版表
 class IPY_ActBossTrialTemplate():
     
     def __init__(self):
-        self.TemplateID = 0
-        self.Rank = 0
-        self.AwardItemList = []
+        self.attrTuple = None
         return
         
-    def GetTemplateID(self): return self.TemplateID # 模板编号
-    def GetRank(self): return self.Rank # 名次
-    def GetAwardItemList(self): return self.AwardItemList # 奖励物品信息列表 [[物品ID,个数,是否拍品], ...]
+    def GetTemplateID(self): return self.attrTuple[0] # 模板编号
+    def GetRank(self): return self.attrTuple[1] # 名次
+    def GetAwardItemList(self): return self.attrTuple[2] # 奖励物品信息列表 [[物品ID,个数,是否拍品], ...]
 
 # 仙匣秘境活动时间表
 class IPY_ActXianXiaMJ():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.ResetType = 0
-        self.LVLimit = 0
-        self.UseMoneyInfo = []
-        self.TemplateID = 0
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetUseMoneyInfo(self): return self.UseMoneyInfo # 消耗货币信息
-    def GetTemplateID(self): return self.TemplateID # 模板ID
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetResetType(self): return self.attrTuple[3] # 重置类型,0-0点重置;1-5点重置
+    def GetLVLimit(self): return self.attrTuple[4] # 限制等级
+    def GetUseMoneyInfo(self): return self.attrTuple[5] # 消耗货币信息
+    def GetTemplateID(self): return self.attrTuple[6] # 模板ID
 
 # 仙匣秘境奖池表
 class IPY_ActXianXiaMJAward():
     
     def __init__(self):
-        self.TemplateID = 0
-        self.AwardLibType = 0
-        self.AwardItemCount = 0
-        self.UnlockAwardLimitTimes = 0
-        self.AwardLibWeight = 0
-        self.LibItemInfo = {}
-        self.ItemLayerLimitInfo = {}
-        self.ItemAwardTimesTotalInfo = {}
+        self.attrTuple = None
         return
         
-    def GetTemplateID(self): return self.TemplateID # 奖池模板编号
-    def GetAwardLibType(self): return self.AwardLibType # 奖励库类型
-    def GetAwardItemCount(self): return self.AwardItemCount # 选择个数
-    def GetUnlockAwardLimitTimes(self): return self.UnlockAwardLimitTimes # 抽X次后可产出(本层)
-    def GetAwardLibWeight(self): return self.AwardLibWeight # 产出该库外权重
-    def GetLibItemInfo(self): return self.LibItemInfo # 本库物品随机库内权重(先随机库外权重,若产出再随机库内权重)
-    def GetItemLayerLimitInfo(self): return self.ItemLayerLimitInfo # 物品产出奖池层限制 {物品ID:大于等于X层可产出, ...}
-    def GetItemAwardTimesTotalInfo(self): return self.ItemAwardTimesTotalInfo # 物品产出次数限制(所有层){物品ID:总产出次数, ...}
+    def GetTemplateID(self): return self.attrTuple[0] # 奖池模板编号
+    def GetAwardLibType(self): return self.attrTuple[1] # 奖励库类型
+    def GetAwardItemCount(self): return self.attrTuple[2] # 选择个数
+    def GetUnlockAwardLimitTimes(self): return self.attrTuple[3] # 抽X次后可产出(本层)
+    def GetAwardLibWeight(self): return self.attrTuple[4] # 产出该库外权重
+    def GetLibItemInfo(self): return self.attrTuple[5] # 本库物品随机库内权重(先随机库外权重,若产出再随机库内权重)
+    def GetItemLayerLimitInfo(self): return self.attrTuple[6] # 物品产出奖池层限制 {物品ID:大于等于X层可产出, ...}
+    def GetItemAwardTimesTotalInfo(self): return self.attrTuple[7] # 物品产出次数限制(所有层){物品ID:总产出次数, ...}
 
 # 天帝礼包活动时间表
 class IPY_ActGodGift():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.IsDayReset = 0
-        self.LVLimit = 0
-        self.UseMoneyType = 0
-        self.UseGoldList = []
-        self.PrizeMoneyType = 0
-        self.PrizeMoneyList = []
-        self.ResetLimitTimes = 0
-        self.ResetCountMax = 0
-        self.TemplateIDInfo = {}
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetUseMoneyType(self): return self.UseMoneyType # 消耗货币类型
-    def GetUseGoldList(self): return self.UseGoldList # 抽奖消耗货币列表
-    def GetPrizeMoneyType(self): return self.PrizeMoneyType # 奖励货币类型
-    def GetPrizeMoneyList(self): return self.PrizeMoneyList # 奖励货币列表
-    def GetResetLimitTimes(self): return self.ResetLimitTimes # 至少抽几次可重置
-    def GetResetCountMax(self): return self.ResetCountMax # 可重置次数
-    def GetTemplateIDInfo(self): return self.TemplateIDInfo # 奖池模板信息 {(世界等级A,B):[模板编号列表, ...], ...}
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetIsDayReset(self): return self.attrTuple[3] # 是否每天重置
+    def GetLVLimit(self): return self.attrTuple[4] # 限制等级
+    def GetUseMoneyType(self): return self.attrTuple[5] # 消耗货币类型
+    def GetUseGoldList(self): return self.attrTuple[6] # 抽奖消耗货币列表
+    def GetPrizeMoneyType(self): return self.attrTuple[7] # 奖励货币类型
+    def GetPrizeMoneyList(self): return self.attrTuple[8] # 奖励货币列表
+    def GetResetLimitTimes(self): return self.attrTuple[9] # 至少抽几次可重置
+    def GetResetCountMax(self): return self.attrTuple[10] # 可重置次数
+    def GetTemplateIDInfo(self): return self.attrTuple[11] # 奖池模板信息 {(世界等级A,B):[模板编号列表, ...], ...}
 
 # 天帝礼包奖池表
 class IPY_ActGodGiftAward():
     
     def __init__(self):
-        self.TemplateID = 0
-        self.AwardLibType = 0
-        self.UnlockAwardLimitTimes = 0
-        self.ChooseItemCount = 0
-        self.LibItemInfo = {}
-        self.NotifyItemNumList = []
+        self.attrTuple = None
         return
         
-    def GetTemplateID(self): return self.TemplateID # 奖池模板编号
-    def GetAwardLibType(self): return self.AwardLibType # 奖励库类型
-    def GetUnlockAwardLimitTimes(self): return self.UnlockAwardLimitTimes # 抽X次后可产出本库
-    def GetChooseItemCount(self): return self.ChooseItemCount # 选择个数
-    def GetLibItemInfo(self): return self.LibItemInfo # 物品编号对应物品信息 {物品编号:[物品ID,个数,是否拍品,可选次数], ...}  0不限次数
-    def GetNotifyItemNumList(self): return self.NotifyItemNumList # 需要广播的编号列表
+    def GetTemplateID(self): return self.attrTuple[0] # 奖池模板编号
+    def GetAwardLibType(self): return self.attrTuple[1] # 奖励库类型
+    def GetUnlockAwardLimitTimes(self): return self.attrTuple[2] # 抽X次后可产出本库
+    def GetChooseItemCount(self): return self.attrTuple[3] # 选择个数
+    def GetLibItemInfo(self): return self.attrTuple[4] # 物品编号对应物品信息 {物品编号:[物品ID,个数,是否拍品,可选次数], ...}  0不限次数
+    def GetNotifyItemNumList(self): return self.attrTuple[5] # 需要广播的编号列表
 
 # 骑宠盛宴活动
 class IPY_ActHorsePetFeast():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.StartTimeList = []
-        self.EndTimeList = []
-        self.LVLimit = 0
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetStartTimeList(self): return self.StartTimeList # 开启时间列表, 支持多个时段
-    def GetEndTimeList(self): return self.EndTimeList # 结束时间列表, 支持多个时段
-    def GetLVLimit(self): return self.LVLimit # 限制等级
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetStartTimeList(self): return self.attrTuple[3] # 开启时间列表, 支持多个时段
+    def GetEndTimeList(self): return self.attrTuple[4] # 结束时间列表, 支持多个时段
+    def GetLVLimit(self): return self.attrTuple[5] # 限制等级
 
 # BOSS复活活动时间表
 class IPY_ActBossReborn():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.ResetType = 0
-        self.LVLimit = 0
-        self.TemplateID = 0
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetTemplateID(self): return self.TemplateID # 模板编号
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetResetType(self): return self.attrTuple[3] # 重置类型,0-0点重置;1-5点重置
+    def GetLVLimit(self): return self.attrTuple[4] # 限制等级
+    def GetTemplateID(self): return self.attrTuple[5] # 模板编号
 
 # BOSS复活表
 class IPY_BossReborn():
     
     def __init__(self):
-        self.TemplateID = 0
-        self.ID = 0
-        self.TotalTimes = 0
-        self.SingleTimes = 0
-        self.Reward = {}
+        self.attrTuple = None
         return
         
-    def GetTemplateID(self): return self.TemplateID # 模板ID
-    def GetID(self): return self.ID # 活动条目ID
-    def GetTotalTimes(self): return self.TotalTimes # 可完成的总次数,0表示不限次数
-    def GetSingleTimes(self): return self.SingleTimes # 单次领奖需要的次数
-    def GetReward(self): return self.Reward # 奖励物品ID1
+    def GetTemplateID(self): return self.attrTuple[0] # 模板ID
+    def GetID(self): return self.attrTuple[1] # 活动条目ID
+    def GetTotalTimes(self): return self.attrTuple[2] # 可完成的总次数,0表示不限次数
+    def GetSingleTimes(self): return self.attrTuple[3] # 单次领奖需要的次数
+    def GetReward(self): return self.attrTuple[4] # 奖励物品ID1
 
 # 多倍修行点活动时间表
 class IPY_ActRealmPoint():
     
     def __init__(self):
-        self.CfgID = 0
-        self.Multiple = 0
-        self.LVLimit = 0
-        self.PointLimit = 0
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetMultiple(self): return self.Multiple # 倍数
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetPointLimit(self): return self.PointLimit # 限制额外修行点
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetMultiple(self): return self.attrTuple[1] # 倍数
+    def GetLVLimit(self): return self.attrTuple[2] # 限制等级
+    def GetPointLimit(self): return self.attrTuple[3] # 限制额外修行点
 
 # 宗门试炼兑换表
 class IPY_TrialExchange():
     
     def __init__(self):
-        self.ID = 0
-        self.ExchangeItemIDList = []
-        self.ExchangeItemCount = 0
-        self.ExchangeItemIsBind = 0
-        self.CostItemID = 0
-        self.CostItemCount = 0
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # 兑换ID
-    def GetExchangeItemIDList(self): return self.ExchangeItemIDList # 兑换物品ID
-    def GetExchangeItemCount(self): return self.ExchangeItemCount # 兑换物品个数
-    def GetExchangeItemIsBind(self): return self.ExchangeItemIsBind # 兑换物品是否绑定
-    def GetCostItemID(self): return self.CostItemID # 消耗物品ID
-    def GetCostItemCount(self): return self.CostItemCount # 消耗物品个数
+    def GetID(self): return self.attrTuple[0] # 兑换ID
+    def GetExchangeItemIDList(self): return self.attrTuple[1] # 兑换物品ID
+    def GetExchangeItemCount(self): return self.attrTuple[2] # 兑换物品个数
+    def GetExchangeItemIsBind(self): return self.attrTuple[3] # 兑换物品是否绑定
+    def GetCostItemID(self): return self.attrTuple[4] # 消耗物品ID
+    def GetCostItemCount(self): return self.attrTuple[5] # 消耗物品个数
 
 # 仙界盛典-全民来嗨表
 class IPY_AllPeopleParty():
     
     def __init__(self):
-        self.ID = 0
-        self.TotalTimes = 0
-        self.AddPoint = 0
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # ID
-    def GetTotalTimes(self): return self.TotalTimes # 总次数
-    def GetAddPoint(self): return self.AddPoint # 每完成次数获得嗨点
+    def GetID(self): return self.attrTuple[0] # ID
+    def GetTotalTimes(self): return self.attrTuple[1] # 总次数
+    def GetAddPoint(self): return self.attrTuple[2] # 每完成次数获得嗨点
 
 # 仙界盛典-全民来嗨奖励表
 class IPY_AllPeoplePartyAward():
     
     def __init__(self):
-        self.WorldLvNum = 0
-        self.Index = 0
-        self.NeedPoint = 0
-        self.Award = {}
+        self.attrTuple = None
         return
         
-    def GetWorldLvNum(self): return self.WorldLvNum # 世界等级档
-    def GetIndex(self): return self.Index # 索引
-    def GetNeedPoint(self): return self.NeedPoint # 需要点数
-    def GetAward(self): return self.Award # 奖励 {"职业":[[物品ID,个数,是否绑定],...], ...}
+    def GetWorldLvNum(self): return self.attrTuple[0] # 世界等级档
+    def GetIndex(self): return self.attrTuple[1] # 索引
+    def GetNeedPoint(self): return self.attrTuple[2] # 需要点数
+    def GetAward(self): return self.attrTuple[3] # 奖励 {"职业":[[物品ID,个数,是否绑定],...], ...}
 
 # 地图NPC配置表-挂机点
 class IPY_MapEventPoint():
     
     def __init__(self):
-        self.MapID = 0
-        self.NPCID = 0
-        self.LowLV = 0
-        self.HighestLV = 0
-        self.Defense = 0
+        self.attrTuple = None
         return
         
-    def GetMapID(self): return self.MapID
-    def GetNPCID(self): return self.NPCID
-    def GetLowLV(self): return self.LowLV #  推荐最低等级
-    def GetHighestLV(self): return self.HighestLV #  推荐最高等级
-    def GetDefense(self): return self.Defense #  推荐防御
+    def GetMapID(self): return self.attrTuple[0]
+    def GetNPCID(self): return self.attrTuple[1]
+    def GetLowLV(self): return self.attrTuple[2] #  推荐最低等级
+    def GetHighestLV(self): return self.attrTuple[3] #  推荐最高等级
+    def GetDefense(self): return self.attrTuple[4] #  推荐防御
 
 # 天赋技能表
 class IPY_TalentSkill():
     
     def __init__(self):
-        self.SkillID = 0
-        self.TalentType = 0
-        self.Series = 0
+        self.attrTuple = None
         return
         
-    def GetSkillID(self): return self.SkillID # 技能ID
-    def GetTalentType(self): return self.TalentType # 天赋类型
-    def GetSeries(self): return self.Series # 天赋系别
+    def GetSkillID(self): return self.attrTuple[0] # 技能ID
+    def GetTalentType(self): return self.attrTuple[1] # 天赋类型
+    def GetSeries(self): return self.attrTuple[2] # 天赋系别
 
 # 限时抢购表
 class IPY_ActFlashSale():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.StartTimeList = []
-        self.EndTimeList = []
-        self.AdvanceMinutes = 0
-        self.LVLimit = 0
-        self.IsDayReset = 0
-        self.ShopTypeList = []
-        self.MailKey = ""
-        self.MailItemPrize = []
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetStartTimeList(self): return self.StartTimeList # 开启时间列表, 支持多个时段
-    def GetEndTimeList(self): return self.EndTimeList # 结束时间列表, 支持多个时段
-    def GetAdvanceMinutes(self): return self.AdvanceMinutes # 前端提前X分钟展示活动
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
-    def GetShopTypeList(self): return self.ShopTypeList # 商店类型列表
-    def GetMailKey(self): return self.MailKey # 活动更新时发送邮件key
-    def GetMailItemPrize(self): return self.MailItemPrize # 活动更新时发送邮件奖励物品
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetStartTimeList(self): return self.attrTuple[3] # 开启时间列表, 支持多个时段
+    def GetEndTimeList(self): return self.attrTuple[4] # 结束时间列表, 支持多个时段
+    def GetAdvanceMinutes(self): return self.attrTuple[5] # 前端提前X分钟展示活动
+    def GetLVLimit(self): return self.attrTuple[6] # 限制等级
+    def GetIsDayReset(self): return self.attrTuple[7] # 是否每天重置
+    def GetShopTypeList(self): return self.attrTuple[8] # 商店类型列表
+    def GetMailKey(self): return self.attrTuple[9] # 活动更新时发送邮件key
+    def GetMailItemPrize(self): return self.attrTuple[10] # 活动更新时发送邮件奖励物品
 
 # 许愿池活动时间表
 class IPY_ActWishingWell():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.IsDayReset = 0
-        self.ResetType = 0
-        self.LVLimit = 0
-        self.TemplateID = 0
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
-    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetTemplateID(self): return self.TemplateID # 模板编号
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetIsDayReset(self): return self.attrTuple[3] # 是否每天重置
+    def GetResetType(self): return self.attrTuple[4] # 重置类型,0-0点重置;1-5点重置
+    def GetLVLimit(self): return self.attrTuple[5] # 限制等级
+    def GetTemplateID(self): return self.attrTuple[6] # 模板编号
 
 # 许愿池库模板表
 class IPY_WishingWell():
     
     def __init__(self):
-        self.TemplateID = 0
-        self.IsFree = 0
-        self.WorldLVLimit = []
-        self.ItemID = 0
-        self.ItemCnt = 0
-        self.IsBind = 0
-        self.Weight = 0
-        self.Mark = 0
-        self.Rare = 0
+        self.attrTuple = None
         return
         
-    def GetTemplateID(self): return self.TemplateID # 模板ID
-    def GetIsFree(self): return self.IsFree # 是否免费库
-    def GetWorldLVLimit(self): return self.WorldLVLimit # 世界等级范围
-    def GetItemID(self): return self.ItemID # 物品ID
-    def GetItemCnt(self): return self.ItemCnt # 物品数量
-    def GetIsBind(self): return self.IsBind # 是否绑定
-    def GetWeight(self): return self.Weight # 权重
-    def GetMark(self): return self.Mark # 排序用标识
-    def GetRare(self): return self.Rare # 珍稀值
+    def GetTemplateID(self): return self.attrTuple[0] # 模板ID
+    def GetIsFree(self): return self.attrTuple[1] # 是否免费库
+    def GetWorldLVLimit(self): return self.attrTuple[2] # 世界等级范围
+    def GetItemID(self): return self.attrTuple[3] # 物品ID
+    def GetItemCnt(self): return self.attrTuple[4] # 物品数量
+    def GetIsBind(self): return self.attrTuple[5] # 是否绑定
+    def GetWeight(self): return self.attrTuple[6] # 权重
+    def GetMark(self): return self.attrTuple[7] # 排序用标识
+    def GetRare(self): return self.attrTuple[8] # 珍稀值
 
 # 功能预告表
 class IPY_FunctionForecast():
     
     def __init__(self):
-        self.FuncID = 0
-        self.Award = {}
+        self.attrTuple = None
         return
         
-    def GetFuncID(self): return self.FuncID # 功能ID
-    def GetAward(self): return self.Award # 属性类型
+    def GetFuncID(self): return self.attrTuple[0] # 功能ID
+    def GetAward(self): return self.attrTuple[1] # 属性类型
 
 # 聊天气泡表
 class IPY_ChatBubbleBox():
     
     def __init__(self):
-        self.BoxID = 0
-        self.NeedLV = 0
-        self.NeedVIPLVGift = 0
+        self.attrTuple = None
         return
         
-    def GetBoxID(self): return self.BoxID # 气泡框ID
-    def GetNeedLV(self): return self.NeedLV # 所需等级
-    def GetNeedVIPLVGift(self): return self.NeedVIPLVGift # 所需购买VIP等级礼包
+    def GetBoxID(self): return self.attrTuple[0] # 气泡框ID
+    def GetNeedLV(self): return self.attrTuple[1] # 所需等级
+    def GetNeedVIPLVGift(self): return self.attrTuple[2] # 所需购买VIP等级礼包
 
 # 充值返利活动表
 class IPY_ActRechargePrize():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.LVLimit = 0
-        self.IsDayReset = 0
-        self.TemplateIDList = []
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
-    def GetTemplateIDList(self): return self.TemplateIDList # 模板ID列表
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetLVLimit(self): return self.attrTuple[3] # 限制等级
+    def GetIsDayReset(self): return self.attrTuple[4] # 是否每天重置
+    def GetTemplateIDList(self): return self.attrTuple[5] # 模板ID列表
 
 # 充值返利模板表
 class IPY_RechargePrizeTemplate():
     
     def __init__(self):
-        self.TemplateID = 0
-        self.CTGID = 0
-        self.GoldPrize = 0
-        self.PrizeCountLimit = 0
+        self.attrTuple = None
         return
         
-    def GetTemplateID(self): return self.TemplateID # 模板ID
-    def GetCTGID(self): return self.CTGID # 充值表充值ID
-    def GetGoldPrize(self): return self.GoldPrize # 返利仙玉数
-    def GetPrizeCountLimit(self): return self.PrizeCountLimit # 最大赠送次数
+    def GetTemplateID(self): return self.attrTuple[0] # 模板ID
+    def GetCTGID(self): return self.attrTuple[1] # 充值表充值ID
+    def GetGoldPrize(self): return self.attrTuple[2] # 返利仙玉数
+    def GetPrizeCountLimit(self): return self.attrTuple[3] # 最大赠送次数
 
 # 累计充值活动表
 class IPY_ActTotalRecharge():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.LVLimit = 0
-        self.IsDayReset = 0
-        self.CTGTypeEffValue = 0
-        self.IsOfflineAct = 0
-        self.TemplateIDList = []
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
-    def GetCTGTypeEffValue(self): return self.CTGTypeEffValue # 充值有效类型值
-    def GetIsOfflineAct(self): return self.IsOfflineAct # 是否线下活动
-    def GetTemplateIDList(self): return self.TemplateIDList # 模板ID列表
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetLVLimit(self): return self.attrTuple[3] # 限制等级
+    def GetIsDayReset(self): return self.attrTuple[4] # 是否每天重置
+    def GetCTGTypeEffValue(self): return self.attrTuple[5] # 充值有效类型值
+    def GetIsOfflineAct(self): return self.attrTuple[6] # 是否线下活动
+    def GetTemplateIDList(self): return self.attrTuple[7] # 模板ID列表
 
 # 累计充值模板表
 class IPY_TotalRechargeTemplate():
     
     def __init__(self):
-        self.TemplateID = 0
-        self.NeedGold = 0.0
-        self.AwardIndex = 0
-        self.AwardItem = {}
-        self.NotifyKey = ""
+        self.attrTuple = None
         return
         
-    def GetTemplateID(self): return self.TemplateID # 模板ID
-    def GetNeedGold(self): return self.NeedGold # 需要充值RMB,元
-    def GetAwardIndex(self): return self.AwardIndex # 返利奖励索引0~31,同个模板中不重复
-    def GetAwardItem(self): return self.AwardItem # 返利物品信息列表 {职业:[(物品ID,个数,是否绑定),...]}
-    def GetNotifyKey(self): return self.NotifyKey # 全服广播key,默认两个参数(玩家名, 档位额度)
+    def GetTemplateID(self): return self.attrTuple[0] # 模板ID
+    def GetNeedGold(self): return self.attrTuple[1] # 需要充值RMB,元
+    def GetAwardIndex(self): return self.attrTuple[2] # 返利奖励索引0~31,同个模板中不重复
+    def GetAwardItem(self): return self.attrTuple[3] # 返利物品信息列表 {职业:[(物品ID,个数,是否绑定),...]}
+    def GetNotifyKey(self): return self.attrTuple[4] # 全服广播key,默认两个参数(玩家名, 档位额度)
 
 # 累计充值返利仙玉活动表
 class IPY_ActRechargeRebateGold():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.LVLimit = 0
-        self.IsDayReset = 0
-        self.TemplateIDList = []
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
-    def GetTemplateIDList(self): return self.TemplateIDList # 模板ID列表
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetLVLimit(self): return self.attrTuple[3] # 限制等级
+    def GetIsDayReset(self): return self.attrTuple[4] # 是否每天重置
+    def GetTemplateIDList(self): return self.attrTuple[5] # 模板ID列表
 
 # 累计充值返利仙玉模板表
 class IPY_RechargeRebateGoldTemplate():
     
     def __init__(self):
-        self.TemplateID = 0
-        self.RMBMin = 0
-        self.RMBMax = 0
-        self.RebateRate = 0
+        self.attrTuple = None
         return
         
-    def GetTemplateID(self): return self.TemplateID # 模板ID
-    def GetRMBMin(self): return self.RMBMin # 充值RMB最小值
-    def GetRMBMax(self): return self.RMBMax # 充值RMB最大值
-    def GetRebateRate(self): return self.RebateRate # 返利仙玉比例百分比
+    def GetTemplateID(self): return self.attrTuple[0] # 模板ID
+    def GetRMBMin(self): return self.attrTuple[1] # 充值RMB最小值
+    def GetRMBMax(self): return self.attrTuple[2] # 充值RMB最大值
+    def GetRebateRate(self): return self.attrTuple[3] # 返利仙玉比例百分比
 
 # 成长必买活动表
 class IPY_ActGrowupBuy():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.LVLimit = 0
-        self.CTGIDGroupList = []
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetCTGIDGroupList(self): return self.CTGIDGroupList # 充值编号组列表 [[ctgID, ...], ...]
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetLVLimit(self): return self.attrTuple[3] # 限制等级
+    def GetCTGIDGroupList(self): return self.attrTuple[4] # 充值编号组列表 [[ctgID, ...], ...]
 
 # 多日连充活动表
 class IPY_ActManyDayRecharge():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.LVLimit = 0
-        self.TemplateID = 0
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetTemplateID(self): return self.TemplateID # 模板编号
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetLVLimit(self): return self.attrTuple[3] # 限制等级
+    def GetTemplateID(self): return self.attrTuple[4] # 模板编号
 
 # 多日连充模板表
 class IPY_ActManyDayRechargeAward():
     
     def __init__(self):
-        self.TemplateID = 0
-        self.NeedRMB = 0.0
-        self.NeedDays = 0
-        self.AwardIndex = 0
-        self.AwardItemInfo = {}
-        self.NotifyKey = ""
+        self.attrTuple = None
         return
         
-    def GetTemplateID(self): return self.TemplateID # 模板ID
-    def GetNeedRMB(self): return self.NeedRMB # 所需充值额度
-    def GetNeedDays(self): return self.NeedDays # 所需充值天数
-    def GetAwardIndex(self): return self.AwardIndex # 奖励索引
-    def GetAwardItemInfo(self): return self.AwardItemInfo # 奖励物品信息  {世界等级范围:[[物品ID,个数,是否拍品], ...]}
-    def GetNotifyKey(self): return self.NotifyKey # 广播
+    def GetTemplateID(self): return self.attrTuple[0] # 模板ID
+    def GetNeedRMB(self): return self.attrTuple[1] # 所需充值额度
+    def GetNeedDays(self): return self.attrTuple[2] # 所需充值天数
+    def GetAwardIndex(self): return self.attrTuple[3] # 奖励索引
+    def GetAwardItemInfo(self): return self.attrTuple[4] # 奖励物品信息  {世界等级范围:[[物品ID,个数,是否拍品], ...]}
+    def GetNotifyKey(self): return self.attrTuple[5] # 广播
 
 # 转盘活动表
 class IPY_ActTurntable():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.LVLimit = 0
-        self.IsDayReset = 0
-        self.CTGTypeEffValue = 0
-        self.CTGPrizeList = []
-        self.UseMoneyType = 0
-        self.UseMoneyPrizeList = []
-        self.LibChooseCountList = []
-        self.SuperItemLimitRule = []
-        self.CommItemLib = {}
-        self.GoodItemLib = {}
-        self.SuperItemLib = {}
-        self.WorldNotifyKey = ""
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
-    def GetCTGTypeEffValue(self): return self.CTGTypeEffValue # 充值有效类型值
-    def GetCTGPrizeList(self): return self.CTGPrizeList # 累计充值奖励次数
-    def GetUseMoneyType(self): return self.UseMoneyType # 累计消费货币类型
-    def GetUseMoneyPrizeList(self): return self.UseMoneyPrizeList # 累计消费X货币奖励次数
-    def GetLibChooseCountList(self): return self.LibChooseCountList # 各道具库选择个数
-    def GetSuperItemLimitRule(self): return self.SuperItemLimitRule # 终极库产出万分率|至少X次后可产出
-    def GetCommItemLib(self): return self.CommItemLib # 普通道具库 {(世界等级A,世界等级B):[[可选物品ID, 个数, 是否拍品], ...], ...}
-    def GetGoodItemLib(self): return self.GoodItemLib # 极品道具库 {(世界等级A,世界等级B):[[可选物品ID, 个数, 是否拍品], ...], ...}
-    def GetSuperItemLib(self): return self.SuperItemLib # 超级道具库 {(世界等级A,世界等级B):[[可选物品ID, 个数, 是否拍品], ...], ...}
-    def GetWorldNotifyKey(self): return self.WorldNotifyKey # 好物品全服广播mark,极品及超级道具默认全服广播
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetLVLimit(self): return self.attrTuple[3] # 限制等级
+    def GetIsDayReset(self): return self.attrTuple[4] # 是否每天重置
+    def GetCTGTypeEffValue(self): return self.attrTuple[5] # 充值有效类型值
+    def GetCTGPrizeList(self): return self.attrTuple[6] # 累计充值奖励次数
+    def GetUseMoneyType(self): return self.attrTuple[7] # 累计消费货币类型
+    def GetUseMoneyPrizeList(self): return self.attrTuple[8] # 累计消费X货币奖励次数
+    def GetLibChooseCountList(self): return self.attrTuple[9] # 各道具库选择个数
+    def GetSuperItemLimitRule(self): return self.attrTuple[10] # 终极库产出万分率|至少X次后可产出
+    def GetCommItemLib(self): return self.attrTuple[11] # 普通道具库 {(世界等级A,世界等级B):[[可选物品ID, 个数, 是否拍品], ...], ...}
+    def GetGoodItemLib(self): return self.attrTuple[12] # 极品道具库 {(世界等级A,世界等级B):[[可选物品ID, 个数, 是否拍品], ...], ...}
+    def GetSuperItemLib(self): return self.attrTuple[13] # 超级道具库 {(世界等级A,世界等级B):[[可选物品ID, 个数, 是否拍品], ...], ...}
+    def GetWorldNotifyKey(self): return self.attrTuple[14] # 好物品全服广播mark,极品及超级道具默认全服广播
 
 # 单笔累充活动表
 class IPY_ActSingleRecharge():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.LVLimit = 0
-        self.IsDayReset = 0
-        self.CTGTypeEffValue = 0
-        self.IsOfflineAct = 0
-        self.AwardRuleType = 0
-        self.TemplateIDList = []
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
-    def GetCTGTypeEffValue(self): return self.CTGTypeEffValue # 充值有效类型值
-    def GetIsOfflineAct(self): return self.IsOfflineAct # 是否线下活动
-    def GetAwardRuleType(self): return self.AwardRuleType # 领奖规则类型 0-向下兼容;1-匹配最高档;2-精确匹配对应档次
-    def GetTemplateIDList(self): return self.TemplateIDList # 模板ID列表
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetLVLimit(self): return self.attrTuple[3] # 限制等级
+    def GetIsDayReset(self): return self.attrTuple[4] # 是否每天重置
+    def GetCTGTypeEffValue(self): return self.attrTuple[5] # 充值有效类型值
+    def GetIsOfflineAct(self): return self.attrTuple[6] # 是否线下活动
+    def GetAwardRuleType(self): return self.attrTuple[7] # 领奖规则类型 0-向下兼容;1-匹配最高档;2-精确匹配对应档次
+    def GetTemplateIDList(self): return self.attrTuple[8] # 模板ID列表
 
 # 单笔累充模板表
 class IPY_ActSingleRechargeAward():
     
     def __init__(self):
-        self.TemplateID = 0
-        self.SingleRechargeValue = 0.0
-        self.AwardIndex = 0
-        self.AwardCountMax = 0
-        self.AwardItem = {}
-        self.NotifyKey = ""
+        self.attrTuple = None
         return
         
-    def GetTemplateID(self): return self.TemplateID # 模板ID
-    def GetSingleRechargeValue(self): return self.SingleRechargeValue # 单笔充值额度
-    def GetAwardIndex(self): return self.AwardIndex # 同个模板中不重复
-    def GetAwardCountMax(self): return self.AwardCountMax # 最大领奖次数,最大999次
-    def GetAwardItem(self): return self.AwardItem # 返利物品信息列表 {职业:[(物品ID,个数,是否绑定),...]}
-    def GetNotifyKey(self): return self.NotifyKey # 全服广播key,默认两个参数(玩家名, 档位额度)
+    def GetTemplateID(self): return self.attrTuple[0] # 模板ID
+    def GetSingleRechargeValue(self): return self.attrTuple[1] # 单笔充值额度
+    def GetAwardIndex(self): return self.attrTuple[2] # 同个模板中不重复
+    def GetAwardCountMax(self): return self.attrTuple[3] # 最大领奖次数,最大999次
+    def GetAwardItem(self): return self.attrTuple[4] # 返利物品信息列表 {职业:[(物品ID,个数,是否绑定),...]}
+    def GetNotifyKey(self): return self.attrTuple[5] # 全服广播key,默认两个参数(玩家名, 档位额度)
 
 # 法宝副本表
 class IPY_MagicWeaponFB():
     
     def __init__(self):
-        self.MWID = 0
-        self.LineID = 0
-        self.Level = 0
-        self.RefreshNPC = []
-        self.AttrDict = {}
+        self.attrTuple = None
         return
         
-    def GetMWID(self): return self.MWID # 法宝ID
-    def GetLineID(self): return self.LineID # 副本功能线路ID
-    def GetLevel(self): return self.Level # 关卡
-    def GetRefreshNPC(self): return self.RefreshNPC # 刷怪配置
-    def GetAttrDict(self): return self.AttrDict # 属性
+    def GetMWID(self): return self.attrTuple[0] # 法宝ID
+    def GetLineID(self): return self.attrTuple[1] # 副本功能线路ID
+    def GetLevel(self): return self.attrTuple[2] # 关卡
+    def GetRefreshNPC(self): return self.attrTuple[3] # 刷怪配置
+    def GetAttrDict(self): return self.attrTuple[4] # 属性
 
 # 冰晶矿脉星级奖励表
 class IPY_IceLodeStarAward():
     
     def __init__(self):
-        self.Index = 0
-        self.Star = 0
-        self.LVLimit = []
-        self.ItemList = []
+        self.attrTuple = None
         return
         
-    def GetIndex(self): return self.Index # 奖励索引
-    def GetStar(self): return self.Star # 星数
-    def GetLVLimit(self): return self.LVLimit # 等级范围
-    def GetItemList(self): return self.ItemList # 奖励
+    def GetIndex(self): return self.attrTuple[0] # 奖励索引
+    def GetStar(self): return self.attrTuple[1] # 星数
+    def GetLVLimit(self): return self.attrTuple[2] # 等级范围
+    def GetItemList(self): return self.attrTuple[3] # 奖励
 
 # 跨服竞技场段位表
 class IPY_CrossRealmPKDan():
     
     def __init__(self):
-        self.DanLV = 0
-        self.LVUpScore = 0
+        self.attrTuple = None
         return
         
-    def GetDanLV(self): return self.DanLV # 段位等级
-    def GetLVUpScore(self): return self.LVUpScore # 升段位所需积分
+    def GetDanLV(self): return self.attrTuple[0] # 段位等级
+    def GetLVUpScore(self): return self.attrTuple[1] # 升段位所需积分
 
 # 跨服竞技场段位奖励表
 class IPY_CrossRealmPKDanAward():
     
     def __init__(self):
-        self.CrossZoneName = ""
-        self.SeasonID = 0
-        self.DanLV = 0
-        self.DanLVAwardList = []
-        self.SeasonDanLVAwardList = []
+        self.attrTuple = None
         return
         
-    def GetCrossZoneName(self): return self.CrossZoneName # 跨服分区名
-    def GetSeasonID(self): return self.SeasonID # 赛季ID
-    def GetDanLV(self): return self.DanLV # 段位等级
-    def GetDanLVAwardList(self): return self.DanLVAwardList # 段位达标奖励物品列表 [[奖励物品ID,个数,是否绑定], ...]
-    def GetSeasonDanLVAwardList(self): return self.SeasonDanLVAwardList # 赛季段位奖励物品列表 [[奖励物品ID,个数,是否绑定], ...]
+    def GetCrossZoneName(self): return self.attrTuple[0] # 跨服分区名
+    def GetSeasonID(self): return self.attrTuple[1] # 赛季ID
+    def GetDanLV(self): return self.attrTuple[2] # 段位等级
+    def GetDanLVAwardList(self): return self.attrTuple[3] # 段位达标奖励物品列表 [[奖励物品ID,个数,是否绑定], ...]
+    def GetSeasonDanLVAwardList(self): return self.attrTuple[4] # 赛季段位奖励物品列表 [[奖励物品ID,个数,是否绑定], ...]
 
 # 跨服竞技场排名奖励表
 class IPY_CrossRealmPKOrderAward():
     
     def __init__(self):
-        self.CrossZoneName = ""
-        self.SeasonID = 0
-        self.OrderAwardInfo = {}
+        self.attrTuple = None
         return
         
-    def GetCrossZoneName(self): return self.CrossZoneName # 跨服分区名
-    def GetSeasonID(self): return self.SeasonID # 赛季ID
-    def GetOrderAwardInfo(self): return self.OrderAwardInfo # 赛季排名奖励信息 {"排名":[[奖励物品ID,个数,是否绑定], ...], ...}
+    def GetCrossZoneName(self): return self.attrTuple[0] # 跨服分区名
+    def GetSeasonID(self): return self.attrTuple[1] # 赛季ID
+    def GetOrderAwardInfo(self): return self.attrTuple[2] # 赛季排名奖励信息 {"排名":[[奖励物品ID,个数,是否绑定], ...], ...}
 
 # 跨服分区表通用
 class IPY_CrossZoneComm():
     
     def __init__(self):
-        self.CrossZoneName = ""
-        self.ZoneID = 0
-        self.ServerGroupIDList = []
+        self.attrTuple = None
         return
         
-    def GetCrossZoneName(self): return self.CrossZoneName # 跨服分区名
-    def GetZoneID(self): return self.ZoneID # 赛区ID
-    def GetServerGroupIDList(self): return self.ServerGroupIDList # 赛区服务器组ID列表
+    def GetCrossZoneName(self): return self.attrTuple[0] # 跨服分区名
+    def GetZoneID(self): return self.attrTuple[1] # 赛区ID
+    def GetServerGroupIDList(self): return self.attrTuple[2] # 赛区服务器组ID列表
 
 # 跨服分区表竞技场
 class IPY_CrossZonePK():
     
     def __init__(self):
-        self.CrossZoneName = ""
-        self.ZoneID = 0
-        self.ServerGroupIDList = []
+        self.attrTuple = None
         return
         
-    def GetCrossZoneName(self): return self.CrossZoneName # 跨服分区名
-    def GetZoneID(self): return self.ZoneID # 赛区ID
-    def GetServerGroupIDList(self): return self.ServerGroupIDList # 赛区服务器组ID列表
+    def GetCrossZoneName(self): return self.attrTuple[0] # 跨服分区名
+    def GetZoneID(self): return self.attrTuple[1] # 赛区ID
+    def GetServerGroupIDList(self): return self.attrTuple[2] # 赛区服务器组ID列表
 
 # 跨服Boss蓬莱仙境分区地图表
 class IPY_CrossPenglaiZoneMap():
     
     def __init__(self):
-        self.ZoneID = 0
-        self.MapID = 0
-        self.DataMapID = 0
-        self.CopyMapID = 0
-        self.PosX = 0
-        self.PosY = 0
+        self.attrTuple = None
         return
         
-    def GetZoneID(self): return self.ZoneID # 分区ID
-    def GetMapID(self): return self.MapID # 场景地图ID
-    def GetDataMapID(self): return self.DataMapID # 数据地图ID
-    def GetCopyMapID(self): return self.CopyMapID # 虚拟线路ID
-    def GetPosX(self): return self.PosX # 坐标X
-    def GetPosY(self): return self.PosY # 坐标Y
+    def GetZoneID(self): return self.attrTuple[0] # 分区ID
+    def GetMapID(self): return self.attrTuple[1] # 场景地图ID
+    def GetDataMapID(self): return self.attrTuple[2] # 数据地图ID
+    def GetCopyMapID(self): return self.attrTuple[3] # 虚拟线路ID
+    def GetPosX(self): return self.attrTuple[4] # 坐标X
+    def GetPosY(self): return self.attrTuple[5] # 坐标Y
 
 # 跨服Boss魔化之地分区地图表
 class IPY_CrossDemonLandZoneMap():
     
     def __init__(self):
-        self.ZoneID = 0
-        self.MapID = 0
-        self.DataMapID = 0
-        self.CopyMapID = 0
-        self.PosX = 0
-        self.PosY = 0
+        self.attrTuple = None
         return
         
-    def GetZoneID(self): return self.ZoneID # 分区ID
-    def GetMapID(self): return self.MapID # 场景地图ID
-    def GetDataMapID(self): return self.DataMapID # 数据地图ID
-    def GetCopyMapID(self): return self.CopyMapID # 虚拟线路ID
-    def GetPosX(self): return self.PosX # 坐标X
-    def GetPosY(self): return self.PosY # 坐标Y
+    def GetZoneID(self): return self.attrTuple[0] # 分区ID
+    def GetMapID(self): return self.attrTuple[1] # 场景地图ID
+    def GetDataMapID(self): return self.attrTuple[2] # 数据地图ID
+    def GetCopyMapID(self): return self.attrTuple[3] # 虚拟线路ID
+    def GetPosX(self): return self.attrTuple[4] # 坐标X
+    def GetPosY(self): return self.attrTuple[5] # 坐标Y
 
 # 聚魂表
 class IPY_GatherSoul():
     
     def __init__(self):
-        self.ItemID = 0
-        self.AttrType = []
-        self.SoulGrade = 0
+        self.attrTuple = None
         return
         
-    def GetItemID(self): return self.ItemID # 物品ID
-    def GetAttrType(self): return self.AttrType # 属性类型
-    def GetSoulGrade(self): return self.SoulGrade # 魂阶段
+    def GetItemID(self): return self.attrTuple[0] # 物品ID
+    def GetAttrType(self): return self.attrTuple[1] # 属性类型
+    def GetSoulGrade(self): return self.attrTuple[2] # 魂阶段
 
 # 聚魂合成表
 class IPY_GatherSoulCompound():
     
     def __init__(self):
-        self.TagItemID = 0
-        self.NeedLV = 0
-        self.NeedItem = []
-        self.NeedSoulSplinters = 0
-        self.NeedSoulCore = 0
+        self.attrTuple = None
         return
         
-    def GetTagItemID(self): return self.TagItemID # 合成的物品ID
-    def GetNeedLV(self): return self.NeedLV # 需要的玩家等级
-    def GetNeedItem(self): return self.NeedItem # 需要的物品ID
-    def GetNeedSoulSplinters(self): return self.NeedSoulSplinters # 需要的聚魂碎片
-    def GetNeedSoulCore(self): return self.NeedSoulCore # 需要的核心环
+    def GetTagItemID(self): return self.attrTuple[0] # 合成的物品ID
+    def GetNeedLV(self): return self.attrTuple[1] # 需要的玩家等级
+    def GetNeedItem(self): return self.attrTuple[2] # 需要的物品ID
+    def GetNeedSoulSplinters(self): return self.attrTuple[3] # 需要的聚魂碎片
+    def GetNeedSoulCore(self): return self.attrTuple[4] # 需要的核心环
 
 # 聚魂属性表
 class IPY_GatherSoulAttr():
     
     def __init__(self):
-        self.AttrType = 0
-        self.AttrInfo1 = ""
-        self.AttrInfo2 = {}
-        self.AttrInfo3 = {}
-        self.AttrInfo4 = {}
-        self.AttrInfo5 = {}
+        self.attrTuple = None
         return
         
-    def GetAttrType(self): return self.AttrType # 属性类型
-    def GetAttrInfo1(self): return self.AttrInfo1 # 基础属性-参数聚魂等级level
-    def GetAttrInfo2(self): return self.AttrInfo2 # 品质系数(品质_系数|…)
-    def GetAttrInfo3(self): return self.AttrInfo3 # 多属性系数
-    def GetAttrInfo4(self): return self.AttrInfo4 # 初始属性(品质_属性值|…)
-    def GetAttrInfo5(self): return self.AttrInfo5 # 阶段系数
+    def GetAttrType(self): return self.attrTuple[0] # 属性类型
+    def GetAttrInfo1(self): return self.attrTuple[1] # 基础属性-参数聚魂等级level
+    def GetAttrInfo2(self): return self.attrTuple[2] # 品质系数(品质_系数|…)
+    def GetAttrInfo3(self): return self.attrTuple[3] # 多属性系数
+    def GetAttrInfo4(self): return self.attrTuple[4] # 初始属性(品质_属性值|…)
+    def GetAttrInfo5(self): return self.attrTuple[5] # 阶段系数
 
 # 王者法宝表
 class IPY_MagicWeaponOfKing():
     
     def __init__(self):
-        self.MWID = 0
-        self.AwardMark = 0
-        self.AddAttr = {}
+        self.attrTuple = None
         return
         
-    def GetMWID(self): return self.MWID # 法宝ID
-    def GetAwardMark(self): return self.AwardMark # 赛季奖励等级
-    def GetAddAttr(self): return self.AddAttr # 属性
+    def GetMWID(self): return self.attrTuple[0] # 法宝ID
+    def GetAwardMark(self): return self.attrTuple[1] # 赛季奖励等级
+    def GetAddAttr(self): return self.attrTuple[2] # 属性
 
 # 时装表
 class IPY_Coat():
     
     def __init__(self):
-        self.CoatID = 0
-        self.CostQuality = 0
-        self.EquipItemID = []
-        self.UnlockItemID = 0
-        self.MaxLV = 0
-        self.CostItemCnt = []
-        self.StarAttr = {}
+        self.attrTuple = None
         return
         
-    def GetCoatID(self): return self.CoatID # 时装编号
-    def GetCostQuality(self): return self.CostQuality # 时装品质 0-普通;1-稀有;2-传说
-    def GetEquipItemID(self): return self.EquipItemID # 装备物品ID(按职业顺序)
-    def GetUnlockItemID(self): return self.UnlockItemID # 材料物品ID
-    def GetMaxLV(self): return self.MaxLV # 最大星级
-    def GetCostItemCnt(self): return self.CostItemCnt # 材料数量
-    def GetStarAttr(self): return self.StarAttr # 属性
+    def GetCoatID(self): return self.attrTuple[0] # 时装编号
+    def GetCostQuality(self): return self.attrTuple[1] # 时装品质 0-普通;1-稀有;2-传说
+    def GetEquipItemID(self): return self.attrTuple[2] # 装备物品ID(按职业顺序)
+    def GetUnlockItemID(self): return self.attrTuple[3] # 材料物品ID
+    def GetMaxLV(self): return self.attrTuple[4] # 最大星级
+    def GetCostItemCnt(self): return self.attrTuple[5] # 材料数量
+    def GetStarAttr(self): return self.attrTuple[6] # 属性
 
 # 时装柜升级表
 class IPY_CoatChestUp():
     
     def __init__(self):
-        self.LV = 0
-        self.NeedExp = 0
-        self.AddAttr = {}
+        self.attrTuple = None
         return
         
-    def GetLV(self): return self.LV # 等级
-    def GetNeedExp(self): return self.NeedExp # 升级所需经验
-    def GetAddAttr(self): return self.AddAttr # 属性
+    def GetLV(self): return self.attrTuple[0] # 等级
+    def GetNeedExp(self): return self.attrTuple[1] # 升级所需经验
+    def GetAddAttr(self): return self.attrTuple[2] # 属性
 
 # 周狂欢活动时间表
 class IPY_ActWeekParty():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.AdvanceMinutes = 0
-        self.IsDayReset = 0
-        self.ResetType = 0
-        self.LVLimit = 0
-        self.TemplateID = []
-        self.PointAward = {}
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetAdvanceMinutes(self): return self.AdvanceMinutes # 前端提前X分钟展示活动
-    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
-    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetTemplateID(self): return self.TemplateID # 模板编号
-    def GetPointAward(self): return self.PointAward # 总积分奖励
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetAdvanceMinutes(self): return self.attrTuple[3] # 前端提前X分钟展示活动
+    def GetIsDayReset(self): return self.attrTuple[4] # 是否每天重置
+    def GetResetType(self): return self.attrTuple[5] # 重置类型,0-0点重置;1-5点重置
+    def GetLVLimit(self): return self.attrTuple[6] # 限制等级
+    def GetTemplateID(self): return self.attrTuple[7] # 模板编号
+    def GetPointAward(self): return self.attrTuple[8] # 总积分奖励
 
 # 周狂欢表
 class IPY_WeekParty():
     
     def __init__(self):
-        self.TemplateID = 0
-        self.ActionType = 0
-        self.TotalTimes = 0
-        self.SingleTimes = 0
-        self.Reward = []
-        self.Point = 0
+        self.attrTuple = None
         return
         
-    def GetTemplateID(self): return self.TemplateID # 模板ID
-    def GetActionType(self): return self.ActionType # 活动条目ID
-    def GetTotalTimes(self): return self.TotalTimes # 可完成的总次数,0表示不限次数
-    def GetSingleTimes(self): return self.SingleTimes # 单次领奖需要的次数
-    def GetReward(self): return self.Reward # 奖励物品
-    def GetPoint(self): return self.Point # 积分
+    def GetTemplateID(self): return self.attrTuple[0] # 模板ID
+    def GetActionType(self): return self.attrTuple[1] # 活动条目ID
+    def GetTotalTimes(self): return self.attrTuple[2] # 可完成的总次数,0表示不限次数
+    def GetSingleTimes(self): return self.attrTuple[3] # 单次领奖需要的次数
+    def GetReward(self): return self.attrTuple[4] # 奖励物品
+    def GetPoint(self): return self.attrTuple[5] # 积分
 
 # 登录奖励时间表
 class IPY_ActLoginAward():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.AdvanceMinutes = 0
-        self.IsDayReset = 0
-        self.ResetType = 0
-        self.LVLimit = 0
-        self.TemplateID = []
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetAdvanceMinutes(self): return self.AdvanceMinutes # 前端提前X分钟展示活动
-    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
-    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetTemplateID(self): return self.TemplateID # 模板编号
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetAdvanceMinutes(self): return self.attrTuple[3] # 前端提前X分钟展示活动
+    def GetIsDayReset(self): return self.attrTuple[4] # 是否每天重置
+    def GetResetType(self): return self.attrTuple[5] # 重置类型,0-0点重置;1-5点重置
+    def GetLVLimit(self): return self.attrTuple[6] # 限制等级
+    def GetTemplateID(self): return self.attrTuple[7] # 模板编号
 
 # 登录奖励模板表
 class IPY_LoginAward():
     
     def __init__(self):
-        self.TemplateID = 0
-        self.ActionType = 0
-        self.TotalTimes = 0
-        self.SingleTimes = 0
-        self.Reward = ""
+        self.attrTuple = None
         return
         
-    def GetTemplateID(self): return self.TemplateID # 模板ID
-    def GetActionType(self): return self.ActionType # 活动条目ID
-    def GetTotalTimes(self): return self.TotalTimes # 可完成的总次数,0表示不限次数
-    def GetSingleTimes(self): return self.SingleTimes # 单次领奖需要的次数
-    def GetReward(self): return self.Reward # 奖励物品
+    def GetTemplateID(self): return self.attrTuple[0] # 模板ID
+    def GetActionType(self): return self.attrTuple[1] # 活动条目ID
+    def GetTotalTimes(self): return self.attrTuple[2] # 可完成的总次数,0表示不限次数
+    def GetSingleTimes(self): return self.attrTuple[3] # 单次领奖需要的次数
+    def GetReward(self): return self.attrTuple[4] # 奖励物品
 
 # 节日登录奖励时间表
 class IPY_ActFeastLogin():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.LVLimit = 0
-        self.TemplateIDInfo = {}
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetTemplateIDInfo(self): return self.TemplateIDInfo # 模板信息 {(世界等级A,B):奖励模板编号, ...}
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetLVLimit(self): return self.attrTuple[3] # 限制等级
+    def GetTemplateIDInfo(self): return self.attrTuple[4] # 模板信息 {(世界等级A,B):奖励模板编号, ...}
 
 # 节日登录奖励模板表
 class IPY_ActFeastLoginAward():
     
     def __init__(self):
-        self.TemplateID = 0
-        self.DayNum = 0
-        self.LoginAwardItemList = []
+        self.attrTuple = None
         return
         
-    def GetTemplateID(self): return self.TemplateID # 模板ID
-    def GetDayNum(self): return self.DayNum # 第X天从1开始
-    def GetLoginAwardItemList(self): return self.LoginAwardItemList # 奖励列表[[物品ID,个数,是否拍品], ...]
+    def GetTemplateID(self): return self.attrTuple[0] # 模板ID
+    def GetDayNum(self): return self.attrTuple[1] # 第X天从1开始
+    def GetLoginAwardItemList(self): return self.attrTuple[2] # 奖励列表[[物品ID,个数,是否拍品], ...]
 
 # 节日祝福时间表
 class IPY_ActFeastWish():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.LVLimit = 0
-        self.ResetType = 0
-        self.TemplateIDInfo = {}
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
-    def GetTemplateIDInfo(self): return self.TemplateIDInfo # 模板信息 {(世界等级A,B):模板编号, ...}
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetLVLimit(self): return self.attrTuple[3] # 限制等级
+    def GetResetType(self): return self.attrTuple[4] # 重置类型,0-0点重置;1-5点重置
+    def GetTemplateIDInfo(self): return self.attrTuple[5] # 模板信息 {(世界等级A,B):模板编号, ...}
 
 # 节日祝福瓶模板表
 class IPY_ActFeastWishBottle():
     
     def __init__(self):
-        self.TemplateID = 0
-        self.WishBottleNum = 0
-        self.NeedWishValue = 0
-        self.ChooseTimeMax = 0
-        self.ChoosePrizeItem = {}
-        self.GoodItemIDList = []
-        self.WorldNotifyKey = ""
+        self.attrTuple = None
         return
         
-    def GetTemplateID(self): return self.TemplateID # 模板ID
-    def GetWishBottleNum(self): return self.WishBottleNum # 祝福瓶编号
-    def GetNeedWishValue(self): return self.NeedWishValue # 单次领奖所需祝福值
-    def GetChooseTimeMax(self): return self.ChooseTimeMax # 最大可领奖次数
-    def GetChoosePrizeItem(self): return self.ChoosePrizeItem # 选择奖励物品信息,选完为止 {记录索引:[物品ID,个数,是否拍品], ...}
-    def GetGoodItemIDList(self): return self.GoodItemIDList # 需要广播的物品ID列表 [物品ID, ...]
-    def GetWorldNotifyKey(self): return self.WorldNotifyKey # 全服广播key,参数(玩家名, 物品ID, 物品数据, 个数,)
+    def GetTemplateID(self): return self.attrTuple[0] # 模板ID
+    def GetWishBottleNum(self): return self.attrTuple[1] # 祝福瓶编号
+    def GetNeedWishValue(self): return self.attrTuple[2] # 单次领奖所需祝福值
+    def GetChooseTimeMax(self): return self.attrTuple[3] # 最大可领奖次数
+    def GetChoosePrizeItem(self): return self.attrTuple[4] # 选择奖励物品信息,选完为止 {记录索引:[物品ID,个数,是否拍品], ...}
+    def GetGoodItemIDList(self): return self.attrTuple[5] # 需要广播的物品ID列表 [物品ID, ...]
+    def GetWorldNotifyKey(self): return self.attrTuple[6] # 全服广播key,参数(玩家名, 物品ID, 物品数据, 个数,)
 
 # 节日祝福池模板表
 class IPY_ActFeastWishPool():
     
     def __init__(self):
-        self.TemplateID = 0
-        self.WishPoolItemWeightInfo = []
-        self.WishPoolClientItemShow = []
-        self.GoodItemIDList = []
-        self.WorldNotifyKey = ""
+        self.attrTuple = None
         return
         
-    def GetTemplateID(self): return self.TemplateID # 模板ID
-    def GetWishPoolItemWeightInfo(self): return self.WishPoolItemWeightInfo # 祝福池产出物品权重 [[权重, [物品ID,个数]], ..]
-    def GetWishPoolClientItemShow(self): return self.WishPoolClientItemShow # 前端展示物品列表 [物品ID, ...]
-    def GetGoodItemIDList(self): return self.GoodItemIDList # 需要广播的物品ID列表 [物品ID, ...]
-    def GetWorldNotifyKey(self): return self.WorldNotifyKey # 全服广播key,参数(玩家名, 物品ID, 物品数据, 个数,)
+    def GetTemplateID(self): return self.attrTuple[0] # 模板ID
+    def GetWishPoolItemWeightInfo(self): return self.attrTuple[1] # 祝福池产出物品权重 [[权重, [物品ID,个数]], ..]
+    def GetWishPoolClientItemShow(self): return self.attrTuple[2] # 前端展示物品列表 [物品ID, ...]
+    def GetGoodItemIDList(self): return self.attrTuple[3] # 需要广播的物品ID列表 [物品ID, ...]
+    def GetWorldNotifyKey(self): return self.attrTuple[4] # 全服广播key,参数(玩家名, 物品ID, 物品数据, 个数,)
 
 # 节日游历时间表
 class IPY_ActFeastTravel():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.LVLimit = 0
-        self.ResetType = 0
-        self.TemplateIDInfo = {}
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
-    def GetTemplateIDInfo(self): return self.TemplateIDInfo # 模板信息 {(世界等级A,B):模板编号, ...}
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetLVLimit(self): return self.attrTuple[3] # 限制等级
+    def GetResetType(self): return self.attrTuple[4] # 重置类型,0-0点重置;1-5点重置
+    def GetTemplateIDInfo(self): return self.attrTuple[5] # 模板信息 {(世界等级A,B):模板编号, ...}
 
 # 节日游历任务表
 class IPY_ActFeastTravelTask():
     
     def __init__(self):
-        self.TraveTasklD = 0
-        self.FinishNeedValue = 0
-        self.FinishTimeMax = 0
-        self.AddTravelPoint = 0
+        self.attrTuple = None
         return
         
-    def GetTraveTasklD(self): return self.TraveTasklD # 游历ID
-    def GetFinishNeedValue(self): return self.FinishNeedValue # 完成所需进度值
-    def GetFinishTimeMax(self): return self.FinishTimeMax # 总可完成次数,0不限
-    def GetAddTravelPoint(self): return self.AddTravelPoint # 完成次数获得游历值
+    def GetTraveTasklD(self): return self.attrTuple[0] # 游历ID
+    def GetFinishNeedValue(self): return self.attrTuple[1] # 完成所需进度值
+    def GetFinishTimeMax(self): return self.attrTuple[2] # 总可完成次数,0不限
+    def GetAddTravelPoint(self): return self.attrTuple[3] # 完成次数获得游历值
 
 # 节日游历奖励表
 class IPY_ActFeastTravelAward():
     
     def __init__(self):
-        self.TemplatelD = 0
-        self.RecordIndex = 0
-        self.NeedTravelPoint = 0
-        self.AwardCountMax = 0
-        self.TravelAwardInfo = []
+        self.attrTuple = None
         return
         
-    def GetTemplatelD(self): return self.TemplatelD # 奖励模板ID
-    def GetRecordIndex(self): return self.RecordIndex # 奖励记录索引
-    def GetNeedTravelPoint(self): return self.NeedTravelPoint # 领奖所需游历值
-    def GetAwardCountMax(self): return self.AwardCountMax # 可领取次数,0代表不限
-    def GetTravelAwardInfo(self): return self.TravelAwardInfo # 游历奖励 [[物品ID,个数,是否拍品], ...]
+    def GetTemplatelD(self): return self.attrTuple[0] # 奖励模板ID
+    def GetRecordIndex(self): return self.attrTuple[1] # 奖励记录索引
+    def GetNeedTravelPoint(self): return self.attrTuple[2] # 领奖所需游历值
+    def GetAwardCountMax(self): return self.attrTuple[3] # 可领取次数,0代表不限
+    def GetTravelAwardInfo(self): return self.attrTuple[4] # 游历奖励 [[物品ID,个数,是否拍品], ...]
 
 # 诛仙BOSS表
 class IPY_ZhuXianBoss():
     
     def __init__(self):
-        self.NPCID = 0
-        self.LineID = 0
-        self.RealmLV = 0
-        self.ZhuXianScore = 0
+        self.attrTuple = None
         return
         
-    def GetNPCID(self): return self.NPCID # ID
-    def GetLineID(self): return self.LineID
-    def GetRealmLV(self): return self.RealmLV # 需要境界
-    def GetZhuXianScore(self): return self.ZhuXianScore # 需要诛仙总评分
+    def GetNPCID(self): return self.attrTuple[0] # ID
+    def GetLineID(self): return self.attrTuple[1]
+    def GetRealmLV(self): return self.attrTuple[2] # 需要境界
+    def GetZhuXianScore(self): return self.attrTuple[3] # 需要诛仙总评分
 
 # 节日巡礼活动时间表
 class IPY_ActFeastWeekParty():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.AdvanceMinutes = 0
-        self.IsDayReset = 0
-        self.ResetType = 0
-        self.LVLimit = 0
-        self.TemplateID = []
-        self.PointAward = {}
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetAdvanceMinutes(self): return self.AdvanceMinutes # 前端提前X分钟展示活动
-    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
-    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetTemplateID(self): return self.TemplateID # 模板编号
-    def GetPointAward(self): return self.PointAward # 总积分奖励
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetAdvanceMinutes(self): return self.attrTuple[3] # 前端提前X分钟展示活动
+    def GetIsDayReset(self): return self.attrTuple[4] # 是否每天重置
+    def GetResetType(self): return self.attrTuple[5] # 重置类型,0-0点重置;1-5点重置
+    def GetLVLimit(self): return self.attrTuple[6] # 限制等级
+    def GetTemplateID(self): return self.attrTuple[7] # 模板编号
+    def GetPointAward(self): return self.attrTuple[8] # 总积分奖励
 
 # 节日巡礼模板表
 class IPY_FeastWeekParty():
     
     def __init__(self):
-        self.TemplateID = 0
-        self.ActionType = 0
-        self.TotalTimes = 0
-        self.SingleTimes = 0
-        self.Reward = []
-        self.Point = 0
+        self.attrTuple = None
         return
         
-    def GetTemplateID(self): return self.TemplateID # 模板ID
-    def GetActionType(self): return self.ActionType # 活动条目ID
-    def GetTotalTimes(self): return self.TotalTimes # 可完成的总次数,0表示不限次数
-    def GetSingleTimes(self): return self.SingleTimes # 单次领奖需要的次数
-    def GetReward(self): return self.Reward # 奖励物品
-    def GetPoint(self): return self.Point # 积分
+    def GetTemplateID(self): return self.attrTuple[0] # 模板ID
+    def GetActionType(self): return self.attrTuple[1] # 活动条目ID
+    def GetTotalTimes(self): return self.attrTuple[2] # 可完成的总次数,0表示不限次数
+    def GetSingleTimes(self): return self.attrTuple[3] # 单次领奖需要的次数
+    def GetReward(self): return self.attrTuple[4] # 奖励物品
+    def GetPoint(self): return self.attrTuple[5] # 积分
 
 # 新仙界盛典-全民来嗨表
 class IPY_NewAllPeopleParty():
     
     def __init__(self):
-        self.ID = 0
-        self.TotalTimes = 0
-        self.AddPoint = 0
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # ID
-    def GetTotalTimes(self): return self.TotalTimes # 总次数
-    def GetAddPoint(self): return self.AddPoint # 每完成次数获得嗨点
+    def GetID(self): return self.attrTuple[0] # ID
+    def GetTotalTimes(self): return self.attrTuple[1] # 总次数
+    def GetAddPoint(self): return self.attrTuple[2] # 每完成次数获得嗨点
 
 # 新仙界盛典-全民来嗨奖励表
 class IPY_NewAllPeoplePartyAward():
     
     def __init__(self):
-        self.WorldLvNum = 0
-        self.Index = 0
-        self.NeedPoint = 0
-        self.Award = {}
+        self.attrTuple = None
         return
         
-    def GetWorldLvNum(self): return self.WorldLvNum # 世界等级档
-    def GetIndex(self): return self.Index # 索引
-    def GetNeedPoint(self): return self.NeedPoint # 需要点数
-    def GetAward(self): return self.Award # 奖励 {"职业":[[物品ID,个数,是否绑定],...], ...}
+    def GetWorldLvNum(self): return self.attrTuple[0] # 世界等级档
+    def GetIndex(self): return self.attrTuple[1] # 索引
+    def GetNeedPoint(self): return self.attrTuple[2] # 需要点数
+    def GetAward(self): return self.attrTuple[3] # 奖励 {"职业":[[物品ID,个数,是否绑定],...], ...}
 
 # 幸运鉴宝活动时间表
 class IPY_ActLuckyTreasure():
     
     def __init__(self):
-        self.CfgID = 0
-        self.StartDate = ""
-        self.EndDate = ""
-        self.ResetType = 0
-        self.LVLimit = 0
-        self.TemplateID = 0
-        self.LuckyPoint = 0
+        self.attrTuple = None
         return
         
-    def GetCfgID(self): return self.CfgID # 配置ID
-    def GetStartDate(self): return self.StartDate # 开启日期
-    def GetEndDate(self): return self.EndDate # 结束日期
-    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetTemplateID(self): return self.TemplateID # 模板编号
-    def GetLuckyPoint(self): return self.LuckyPoint # 总幸运值
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID
+    def GetStartDate(self): return self.attrTuple[1] # 开启日期
+    def GetEndDate(self): return self.attrTuple[2] # 结束日期
+    def GetResetType(self): return self.attrTuple[3] # 重置类型,0-0点重置;1-5点重置
+    def GetLVLimit(self): return self.attrTuple[4] # 限制等级
+    def GetTemplateID(self): return self.attrTuple[5] # 模板编号
+    def GetLuckyPoint(self): return self.attrTuple[6] # 总幸运值
 
 # 幸运鉴宝库模板表
 class IPY_LuckyTreasureTemplate():
     
     def __init__(self):
-        self.TemplateID = 0
-        self.WorldLVLimit = []
-        self.ItemID = 0
-        self.ItemCnt = 0
-        self.IsBind = 0
-        self.Weight = 0
+        self.attrTuple = None
         return
         
-    def GetTemplateID(self): return self.TemplateID # 模板ID
-    def GetWorldLVLimit(self): return self.WorldLVLimit # 世界等级范围
-    def GetItemID(self): return self.ItemID # 物品ID
-    def GetItemCnt(self): return self.ItemCnt # 物品数量
-    def GetIsBind(self): return self.IsBind # 是否绑定
-    def GetWeight(self): return self.Weight # 权重
+    def GetTemplateID(self): return self.attrTuple[0] # 模板ID
+    def GetWorldLVLimit(self): return self.attrTuple[1] # 世界等级范围
+    def GetItemID(self): return self.attrTuple[2] # 物品ID
+    def GetItemCnt(self): return self.attrTuple[3] # 物品数量
+    def GetIsBind(self): return self.attrTuple[4] # 是否绑定
+    def GetWeight(self): return self.attrTuple[5] # 权重
 
 # 跨服充值排行模板达标奖励表
 class IPY_CrossActCTGBillboardDabiao():
     
     def __init__(self):
-        self.TemplateID = 0
-        self.CTGNeed = 0.0
-        self.AwardIndex = 0
-        self.AwardItemList = []
+        self.attrTuple = None
         return
         
-    def GetTemplateID(self): return self.TemplateID # 模板ID
-    def GetCTGNeed(self): return self.CTGNeed # 需充值RMB
-    def GetAwardIndex(self): return self.AwardIndex # 奖励记录索引,从0开始,同个模板不可重复,不可变更
-    def GetAwardItemList(self): return self.AwardItemList # 奖励物品列表[[物品ID,个数,是否拍品], ...]
+    def GetTemplateID(self): return self.attrTuple[0] # 模板ID
+    def GetCTGNeed(self): return self.attrTuple[1] # 需充值RMB
+    def GetAwardIndex(self): return self.attrTuple[2] # 奖励记录索引,从0开始,同个模板不可重复,不可变更
+    def GetAwardItemList(self): return self.attrTuple[3] # 奖励物品列表[[物品ID,个数,是否拍品], ...]
 
 # 跨服充值排行模板名次奖励表
 class IPY_CrossActCTGBillboardOrder():
     
     def __init__(self):
-        self.TemplateID = 0
-        self.OrderA = 0
-        self.OrderB = 0
-        self.CTGAtleast = 0.0
-        self.AwardItemList = []
+        self.attrTuple = None
         return
         
-    def GetTemplateID(self): return self.TemplateID # 模板ID
-    def GetOrderA(self): return self.OrderA # 名次A
-    def GetOrderB(self): return self.OrderB # 至名次B
-    def GetCTGAtleast(self): return self.CTGAtleast # 至少充值RMB
-    def GetAwardItemList(self): return self.AwardItemList # 奖励物品列表[[物品ID,个数,是否拍品], ...]
+    def GetTemplateID(self): return self.attrTuple[0] # 模板ID
+    def GetOrderA(self): return self.attrTuple[1] # 名次A
+    def GetOrderB(self): return self.attrTuple[2] # 至名次B
+    def GetCTGAtleast(self): return self.attrTuple[3] # 至少充值RMB
+    def GetAwardItemList(self): return self.attrTuple[4] # 奖励物品列表[[物品ID,个数,是否拍品], ...]
 
 # 神秘商店表
 class IPY_MysteryShop():
     
     def __init__(self):
-        self.LVRange = []
-        self.GoodsID = 0
+        self.attrTuple = None
         return
         
-    def GetLVRange(self): return self.LVRange # 等级范围
-    def GetGoodsID(self): return self.GoodsID # 商城表ID
+    def GetLVRange(self): return self.attrTuple[0] # 等级范围
+    def GetGoodsID(self): return self.attrTuple[1] # 商城表ID
 
 # 装备位背包索引映射表
 class IPY_EquipPlaceIndexMap():
     
     def __init__(self):
-        self.GridIndex = 0
-        self.ClassLV = 0
-        self.EquipPlace = 0
+        self.attrTuple = None
         return
         
-    def GetGridIndex(self): return self.GridIndex # 背包格子索引
-    def GetClassLV(self): return self.ClassLV # 阶级(物品表LV字段)
-    def GetEquipPlace(self): return self.EquipPlace # 装备位(物品表EquipPlace字段)
+    def GetGridIndex(self): return self.attrTuple[0] # 背包格子索引
+    def GetClassLV(self): return self.attrTuple[1] # 阶级(物品表LV字段)
+    def GetEquipPlace(self): return self.attrTuple[2] # 装备位(物品表EquipPlace字段)
 
 # 装备神装表
 class IPY_EquipShenAttr():
     
     def __init__(self):
-        self.EquipItemID = 0
-        self.ShenAttrIDList = []
-        self.ShenAttrValueList = []
-        self.XianAttrIDList = []
-        self.XianAttrValueList = []
-        self.JiAttrIDList = []
-        self.JiAttrValueList = []
-        self.LegendAttrIDList = []
-        self.LegendAttrValueList = []
+        self.attrTuple = None
         return
         
-    def GetEquipItemID(self): return self.EquipItemID # 装备ID
-    def GetShenAttrIDList(self): return self.ShenAttrIDList # 神品传奇属性ID列表
-    def GetShenAttrValueList(self): return self.ShenAttrValueList # 神品传奇属性值列表
-    def GetXianAttrIDList(self): return self.XianAttrIDList # 仙品传奇属性ID列表
-    def GetXianAttrValueList(self): return self.XianAttrValueList # 仙品传奇属性值列表
-    def GetJiAttrIDList(self): return self.JiAttrIDList # 极品传奇属性ID列表
-    def GetJiAttrValueList(self): return self.JiAttrValueList # 极品传奇属性值列表
-    def GetLegendAttrIDList(self): return self.LegendAttrIDList # 普通传奇属性ID列表
-    def GetLegendAttrValueList(self): return self.LegendAttrValueList # 普通传奇属性值列表
+    def GetEquipItemID(self): return self.attrTuple[0] # 装备ID
+    def GetShenAttrIDList(self): return self.attrTuple[1] # 神品传奇属性ID列表
+    def GetShenAttrValueList(self): return self.attrTuple[2] # 神品传奇属性值列表
+    def GetXianAttrIDList(self): return self.attrTuple[3] # 仙品传奇属性ID列表
+    def GetXianAttrValueList(self): return self.attrTuple[4] # 仙品传奇属性值列表
+    def GetJiAttrIDList(self): return self.attrTuple[5] # 极品传奇属性ID列表
+    def GetJiAttrValueList(self): return self.attrTuple[6] # 极品传奇属性值列表
+    def GetLegendAttrIDList(self): return self.attrTuple[7] # 普通传奇属性ID列表
+    def GetLegendAttrValueList(self): return self.attrTuple[8] # 普通传奇属性值列表
 
 # 装备神装进阶表
 class IPY_EquipShenEvolve():
     
     def __init__(self):
-        self.EquipItemID = 0
-        self.EvolveEquipID = 0
-        self.EvolveNeedItemIDInfo = []
+        self.attrTuple = None
         return
         
-    def GetEquipItemID(self): return self.EquipItemID # 装备ID
-    def GetEvolveEquipID(self): return self.EvolveEquipID # 可进阶目标装备ID
-    def GetEvolveNeedItemIDInfo(self): return self.EvolveNeedItemIDInfo # 进阶所需附加材料及个数
+    def GetEquipItemID(self): return self.attrTuple[0] # 装备ID
+    def GetEvolveEquipID(self): return self.attrTuple[1] # 可进阶目标装备ID
+    def GetEvolveNeedItemIDInfo(self): return self.attrTuple[2] # 进阶所需附加材料及个数
 
 # 装备升星表
 class IPY_EquipStarUp():
     
     def __init__(self):
-        self.ClassLV = 0
-        self.EquipPlace = 0
-        self.Star = 0
-        self.CostEquipPlace = []
-        self.IsJobLimit = 0
-        self.CostEquipColor = []
-        self.CostEquipCnt = 0
-        self.UnSuitRate = 0
-        self.SuitRate = 0
-        self.CostItemDict = {}
-        self.StarAttrInfo = {}
-        self.BaseAttrInfo = {}
+        self.attrTuple = None
         return
         
-    def GetClassLV(self): return self.ClassLV # 阶级
-    def GetEquipPlace(self): return self.EquipPlace # 装备位
-    def GetStar(self): return self.Star # 星数
-    def GetCostEquipPlace(self): return self.CostEquipPlace # 可用装备部位
-    def GetIsJobLimit(self): return self.IsJobLimit # 是否只用本职业装备材料
-    def GetCostEquipColor(self): return self.CostEquipColor # 可用装备品质
-    def GetCostEquipCnt(self): return self.CostEquipCnt # 装备数量
-    def GetUnSuitRate(self): return self.UnSuitRate # 单件非套装加成概率
-    def GetSuitRate(self): return self.SuitRate # 单件套装加成概率
-    def GetCostItemDict(self): return self.CostItemDict # 特殊材料
-    def GetStarAttrInfo(self): return self.StarAttrInfo # 星级属性
-    def GetBaseAttrInfo(self): return self.BaseAttrInfo # 基础属性增加
+    def GetClassLV(self): return self.attrTuple[0] # 阶级
+    def GetEquipPlace(self): return self.attrTuple[1] # 装备位
+    def GetStar(self): return self.attrTuple[2] # 星数
+    def GetCostEquipPlace(self): return self.attrTuple[3] # 可用装备部位
+    def GetIsJobLimit(self): return self.attrTuple[4] # 是否只用本职业装备材料
+    def GetCostEquipColor(self): return self.attrTuple[5] # 可用装备品质
+    def GetCostEquipCnt(self): return self.attrTuple[6] # 装备数量
+    def GetUnSuitRate(self): return self.attrTuple[7] # 单件非套装加成概率
+    def GetSuitRate(self): return self.attrTuple[8] # 单件套装加成概率
+    def GetCostItemDict(self): return self.attrTuple[9] # 特殊材料
+    def GetStarAttrInfo(self): return self.attrTuple[10] # 星级属性
+    def GetBaseAttrInfo(self): return self.attrTuple[11] # 基础属性增加
 
 # 装备强化进化表
 class IPY_EquipPlusEvolve():
     
     def __init__(self):
-        self.EquipPlace = 0
-        self.EvolveLV = 0
-        self.NeedPlusLV = 0
-        self.CostItem = {}
-        self.Attr = {}
+        self.attrTuple = None
         return
         
-    def GetEquipPlace(self): return self.EquipPlace # 装备位
-    def GetEvolveLV(self): return self.EvolveLV # 进化等级
-    def GetNeedPlusLV(self): return self.NeedPlusLV # 需要强化等级
-    def GetCostItem(self): return self.CostItem # 消耗材料
-    def GetAttr(self): return self.Attr # 属性
+    def GetEquipPlace(self): return self.attrTuple[0] # 装备位
+    def GetEvolveLV(self): return self.attrTuple[1] # 进化等级
+    def GetNeedPlusLV(self): return self.attrTuple[2] # 需要强化等级
+    def GetCostItem(self): return self.attrTuple[3] # 消耗材料
+    def GetAttr(self): return self.attrTuple[4] # 属性
 
 # 仙盟Boss奖励表
 class IPY_FamilyBossAward():
     
     def __init__(self):
-        self.BossID = 0
-        self.WorldLV = []
-        self.Rank = []
-        self.Award1 = []
-        self.Award2 = {}
+        self.attrTuple = None
         return
         
-    def GetBossID(self): return self.BossID # BossID
-    def GetWorldLV(self): return self.WorldLV # 世界等级
-    def GetRank(self): return self.Rank # 排名
-    def GetAward1(self): return self.Award1 # 奖励 [[独立概率万分率,[物品ID,数量,是否拍品]],..]
-    def GetAward2(self): return self.Award2 # 饼图奖励{随机次数:[(概率,[物品ID,数量,是否拍品]),..]}
+    def GetBossID(self): return self.attrTuple[0] # BossID
+    def GetWorldLV(self): return self.attrTuple[1] # 世界等级
+    def GetRank(self): return self.attrTuple[2] # 排名
+    def GetAward1(self): return self.attrTuple[3] # 奖励 [[独立概率万分率,[物品ID,数量,是否拍品]],..]
+    def GetAward2(self): return self.attrTuple[4] # 饼图奖励{随机次数:[(概率,[物品ID,数量,是否拍品]),..]}
 
 # 仙盟试炼伤血奖励表
 class IPY_FamilyBossHurtAward():
     
     def __init__(self):
-        self.AwardType = 0
-        self.RecordIndex = 0
-        self.NeedHurtTotal = 0
-        self.AwardItemList = []
+        self.attrTuple = None
         return
         
-    def GetAwardType(self): return self.AwardType # 奖励类型 1-个人;2-仙盟
-    def GetRecordIndex(self): return self.RecordIndex # 奖励记录索引,同奖励类型时记录索引不可重复
-    def GetNeedHurtTotal(self): return self.NeedHurtTotal # 所需总伤血
-    def GetAwardItemList(self): return self.AwardItemList # 奖励物品列表[[物品ID,个数,是否拍品], ...]
+    def GetAwardType(self): return self.attrTuple[0] # 奖励类型 1-个人;2-仙盟
+    def GetRecordIndex(self): return self.attrTuple[1] # 奖励记录索引,同奖励类型时记录索引不可重复
+    def GetNeedHurtTotal(self): return self.attrTuple[2] # 所需总伤血
+    def GetAwardItemList(self): return self.attrTuple[3] # 奖励物品列表[[物品ID,个数,是否拍品], ...]
 
 # 仙盟阵法表
 class IPY_FamilyZhenfa():
     
     def __init__(self):
-        self.ZhenfaType = 0
-        self.ZhenfaLV = 0
-        self.LVUpNeedExp = 0
-        self.LVAttrType = []
-        self.LVAttrValue = []
+        self.attrTuple = None
         return
         
-    def GetZhenfaType(self): return self.ZhenfaType #  阵法类型
-    def GetZhenfaLV(self): return self.ZhenfaLV #  阵法等级
-    def GetLVUpNeedExp(self): return self.LVUpNeedExp # 升下一级所需经验
-    def GetLVAttrType(self): return self.LVAttrType # 累计总属性类型
-    def GetLVAttrValue(self): return self.LVAttrValue # 累计总属性值
+    def GetZhenfaType(self): return self.attrTuple[0] #  阵法类型
+    def GetZhenfaLV(self): return self.attrTuple[1] #  阵法等级
+    def GetLVUpNeedExp(self): return self.attrTuple[2] # 升下一级所需经验
+    def GetLVAttrType(self): return self.attrTuple[3] # 累计总属性类型
+    def GetLVAttrValue(self): return self.attrTuple[4] # 累计总属性值
 
 # 装备洗练等级上限
 class IPY_ItemWashMax():
     
     def __init__(self):
-        self.Type = 0
-        self.Star = 0
-        self.LevelMax = 0
+        self.attrTuple = None
         return
         
-    def GetType(self): return self.Type # 按装备位对应类型查找
-    def GetStar(self): return self.Star #  装备星数
-    def GetLevelMax(self): return self.LevelMax # 洗练等级上限
+    def GetType(self): return self.attrTuple[0] # 按装备位对应类型查找
+    def GetStar(self): return self.attrTuple[1] #  装备星数
+    def GetLevelMax(self): return self.attrTuple[2] # 洗练等级上限
 
 # 骑宠Boss奖励表
 class IPY_HorsePetBossAward():
     
     def __init__(self):
-        self.LineID = 0
-        self.WorldLV = []
-        self.Rank = []
-        self.Award1 = []
-        self.Award2 = []
+        self.attrTuple = None
         return
         
-    def GetLineID(self): return self.LineID #  线路ID
-    def GetWorldLV(self): return self.WorldLV # 世界等级
-    def GetRank(self): return self.Rank # 排名
-    def GetAward1(self): return self.Award1 # 奖励 [[独立概率万分率,[物品ID,数量,是否拍品]],..]
-    def GetAward2(self): return self.Award2 # 饼图奖励  [[(概率,[物品ID,数量,是否拍品]),..]]
+    def GetLineID(self): return self.attrTuple[0] #  线路ID
+    def GetWorldLV(self): return self.attrTuple[1] # 世界等级
+    def GetRank(self): return self.attrTuple[2] # 排名
+    def GetAward1(self): return self.attrTuple[3] # 奖励 [[独立概率万分率,[物品ID,数量,是否拍品]],..]
+    def GetAward2(self): return self.attrTuple[4] # 饼图奖励  [[(概率,[物品ID,数量,是否拍品]),..]]
 
 # 缥缈仙域表
 class IPY_FairyDomain():
     
     def __init__(self):
-        self.ID = 0
-        self.EventType = 0
-        self.MapID = 0
-        self.LineID = 0
-        self.BossID = 0
-        self.EventFBType = 0
-        self.CostEnergy = 0
-        self.NeedAlchemyLV = 0
-        self.NeedLV = []
-        self.Weight = 0
-        self.HourCntPriLimit = 0
-        self.DayCntPriLimit = 0
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # 事件编号
-    def GetEventType(self): return self.EventType # 事件类型
-    def GetMapID(self): return self.MapID # 副本id
-    def GetLineID(self): return self.LineID # 副本线路id
-    def GetBossID(self): return self.BossID # 副本BossID
-    def GetEventFBType(self): return self.EventFBType # 事件副本类型,0-前端,1-本服,2-跨服
-    def GetCostEnergy(self): return self.CostEnergy # 消耗体力
-    def GetNeedAlchemyLV(self): return self.NeedAlchemyLV # 出现的炼丹等级要求
-    def GetNeedLV(self): return self.NeedLV # 出现的玩家等级要求
-    def GetWeight(self): return self.Weight # 权重
-    def GetHourCntPriLimit(self): return self.HourCntPriLimit # 个人每小时次数限制
-    def GetDayCntPriLimit(self): return self.DayCntPriLimit # 个人每天次数限制
+    def GetID(self): return self.attrTuple[0] # 事件编号
+    def GetEventType(self): return self.attrTuple[1] # 事件类型
+    def GetMapID(self): return self.attrTuple[2] # 副本id
+    def GetLineID(self): return self.attrTuple[3] # 副本线路id
+    def GetBossID(self): return self.attrTuple[4] # 副本BossID
+    def GetEventFBType(self): return self.attrTuple[5] # 事件副本类型,0-前端,1-本服,2-跨服
+    def GetCostEnergy(self): return self.attrTuple[6] # 消耗体力
+    def GetNeedAlchemyLV(self): return self.attrTuple[7] # 出现的炼丹等级要求
+    def GetNeedLV(self): return self.attrTuple[8] # 出现的玩家等级要求
+    def GetWeight(self): return self.attrTuple[9] # 权重
+    def GetHourCntPriLimit(self): return self.attrTuple[10] # 个人每小时次数限制
+    def GetDayCntPriLimit(self): return self.attrTuple[11] # 个人每天次数限制
 
 # 缥缈奇遇表
 class IPY_FairyAdventures():
     
     def __init__(self):
-        self.ID = 0
-        self.OpenServerDay = 0
-        self.EventID = 0
-        self.Condition = []
-        self.GearAward = []
-        self.BasicAward = []
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # 唯一ID
-    def GetOpenServerDay(self): return self.OpenServerDay # 开服天
-    def GetEventID(self): return self.EventID # 事件编号
-    def GetCondition(self): return self.Condition # 条件
-    def GetGearAward(self): return self.GearAward # 档位奖励
-    def GetBasicAward(self): return self.BasicAward # 保底奖励
+    def GetID(self): return self.attrTuple[0] # 唯一ID
+    def GetOpenServerDay(self): return self.attrTuple[1] # 开服天
+    def GetEventID(self): return self.attrTuple[2] # 事件编号
+    def GetCondition(self): return self.attrTuple[3] # 条件
+    def GetGearAward(self): return self.attrTuple[4] # 档位奖励
+    def GetBasicAward(self): return self.attrTuple[5] # 保底奖励
 
 # 缥缈仙域定制表
 class IPY_FairyDomainAppoint():
     
     def __init__(self):
-        self.Cnt = 0
-        self.EventID = 0
-        self.Award = []
-        self.RandomAward = []
+        self.attrTuple = None
         return
         
-    def GetCnt(self): return self.Cnt # 次数
-    def GetEventID(self): return self.EventID # 事件编号
-    def GetAward(self): return self.Award # 定制奖励(没配走正常奖励规则)[[物品ID,数量,是否拍品],..]
-    def GetRandomAward(self): return self.RandomAward # 随机奖励 [[(权重,[物品ID,数量,是否拍品]),..],..]
+    def GetCnt(self): return self.attrTuple[0] # 次数
+    def GetEventID(self): return self.attrTuple[1] # 事件编号
+    def GetAward(self): return self.attrTuple[2] # 定制奖励(没配走正常奖励规则)[[物品ID,数量,是否拍品],..]
+    def GetRandomAward(self): return self.attrTuple[3] # 随机奖励 [[(权重,[物品ID,数量,是否拍品]),..],..]
 
 # 副本Buff表
 class IPY_FBBuyBuff():
     
     def __init__(self):
-        self.MapId = 0
-        self.MoneyCnt = 0
-        self.BuffID = 0
-        self.BuffCD = 0
+        self.attrTuple = None
         return
         
-    def GetMapId(self): return self.MapId # 
-    def GetMoneyCnt(self): return self.MoneyCnt # 仙玉数量
-    def GetBuffID(self): return self.BuffID # BuffID
-    def GetBuffCD(self): return self.BuffCD # 间隔时间s
+    def GetMapId(self): return self.attrTuple[0] # 
+    def GetMoneyCnt(self): return self.attrTuple[1] # 仙玉数量
+    def GetBuffID(self): return self.attrTuple[2] # BuffID
+    def GetBuffCD(self): return self.attrTuple[3] # 间隔时间s
 
 # 技能升级表
 class IPY_SkillElement():
     
     def __init__(self):
-        self.ElementSkillID = 0
-        self.ElementSkillNum = 0
-        self.MainSkillID = 0
-        self.NeedLV = 0
+        self.attrTuple = None
         return
         
-    def GetElementSkillID(self): return self.ElementSkillID # 专精技能ID
-    def GetElementSkillNum(self): return self.ElementSkillNum # 专精技能编号
-    def GetMainSkillID(self): return self.MainSkillID # 主技能ID
-    def GetNeedLV(self): return self.NeedLV # 选择需要等级
+    def GetElementSkillID(self): return self.attrTuple[0] # 专精技能ID
+    def GetElementSkillNum(self): return self.attrTuple[1] # 专精技能编号
+    def GetMainSkillID(self): return self.attrTuple[2] # 主技能ID
+    def GetNeedLV(self): return self.attrTuple[3] # 选择需要等级
 
 # 天星塔表
 class IPY_SkyTower():
     
     def __init__(self):
-        self.FloorID = 0
-        self.BossID = 0
-        self.Reward = {}
-        self.NeedLV = 0
-        self.FightPower = 0
-        self.IsNotify = 0
+        self.attrTuple = None
         return
         
-    def GetFloorID(self): return self.FloorID # 层
-    def GetBossID(self): return self.BossID # bossID
-    def GetReward(self): return self.Reward # 奖励
-    def GetNeedLV(self): return self.NeedLV # 要求等级
-    def GetFightPower(self): return self.FightPower # 推荐战力
-    def GetIsNotify(self): return self.IsNotify # 是否广播
+    def GetFloorID(self): return self.attrTuple[0] # 层
+    def GetBossID(self): return self.attrTuple[1] # bossID
+    def GetReward(self): return self.attrTuple[2] # 奖励
+    def GetNeedLV(self): return self.attrTuple[3] # 要求等级
+    def GetFightPower(self): return self.attrTuple[4] # 推荐战力
+    def GetIsNotify(self): return self.attrTuple[5] # 是否广播
 
 # 天星塔全服挑战表
 class IPY_SkyTowerServerChallenge():
     
     def __init__(self):
-        self.FloorID = 0
-        self.PassRankRewardInfo = {}
-        self.ServerRewardInfo = {}
+        self.attrTuple = None
         return
         
-    def GetFloorID(self): return self.FloorID # 层
-    def GetPassRankRewardInfo(self): return self.PassRankRewardInfo # 通关排名奖励 {"名次":[[物品ID,个数,是否拍品],...], ...}
-    def GetServerRewardInfo(self): return self.ServerRewardInfo # 通关排名奖励 {"所需过关人数":[[物品ID,个数,是否拍品],...], ...}
+    def GetFloorID(self): return self.attrTuple[0] # 层
+    def GetPassRankRewardInfo(self): return self.attrTuple[1] # 通关排名奖励 {"名次":[[物品ID,个数,是否拍品],...], ...}
+    def GetServerRewardInfo(self): return self.attrTuple[2] # 通关排名奖励 {"所需过关人数":[[物品ID,个数,是否拍品],...], ...}
 
 # 灵根特效表
 class IPY_LingGenEffect():
     
     def __init__(self):
-        self.ID = 0
-        self.PointID = 0
-        self.QualityLV = 0
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # 唯一ID
-    def GetPointID(self): return self.PointID # 灵根ID
-    def GetQualityLV(self): return self.QualityLV # 品级
+    def GetID(self): return self.attrTuple[0] # 唯一ID
+    def GetPointID(self): return self.attrTuple[1] # 灵根ID
+    def GetQualityLV(self): return self.attrTuple[2] # 品级
 
 # 情缘礼物表
 class IPY_LoveGift():
     
     def __init__(self):
-        self.GiftNum = 0
-        self.GiftItemID = 0
-        self.AllowBatch = 0
+        self.attrTuple = None
         return
         
-    def GetGiftNum(self): return self.GiftNum # 聘礼ID
-    def GetGiftItemID(self): return self.GiftItemID # 物品ID
-    def GetAllowBatch(self): return self.AllowBatch # 是否允许批量赠送
+    def GetGiftNum(self): return self.attrTuple[0] # 聘礼ID
+    def GetGiftItemID(self): return self.attrTuple[1] # 物品ID
+    def GetAllowBatch(self): return self.attrTuple[2] # 是否允许批量赠送
 
 # 情缘提亲表
 class IPY_Marry():
     
     def __init__(self):
-        self.BridePriceID = 0
-        self.CostMoneyInfo = []
+        self.attrTuple = None
         return
         
-    def GetBridePriceID(self): return self.BridePriceID # 聘礼ID
-    def GetCostMoneyInfo(self): return self.CostMoneyInfo # 消耗货币类型|数值
+    def GetBridePriceID(self): return self.attrTuple[0] # 聘礼ID
+    def GetCostMoneyInfo(self): return self.attrTuple[1] # 消耗货币类型|数值
 
 # 情缘情戒表
 class IPY_LoveRing():
     
     def __init__(self):
-        self.RingClassLV = 0
-        self.RingStarLV = 0
-        self.CoupleAttrType = []
-        self.CoupleAttrValue = []
-        self.StarAttrType = []
-        self.StarAttrValue = []
-        self.UpItemAttrType = []
-        self.UpItemAttrValue = []
-        self.NeedEatCount = 0
-        self.UpEatItemPerCount = 0
+        self.attrTuple = None
         return
         
-    def GetRingClassLV(self): return self.RingClassLV # 情戒阶级
-    def GetRingStarLV(self): return self.RingStarLV # 情戒星级
-    def GetCoupleAttrType(self): return self.CoupleAttrType # 仙侣属性类型(非累积)
-    def GetCoupleAttrValue(self): return self.CoupleAttrValue # 仙侣属性值(非累积)
-    def GetStarAttrType(self): return self.StarAttrType # 星级额外属性类型(非累积)
-    def GetStarAttrValue(self): return self.StarAttrValue # 星级额外属性值(非累积)
-    def GetUpItemAttrType(self): return self.UpItemAttrType # 每x个培养丹增加属性类型,x=UpEatItemPerCount
-    def GetUpItemAttrValue(self): return self.UpItemAttrValue # 每x个培养丹增加属性值,x=UpEatItemPerCount
-    def GetNeedEatCount(self): return self.NeedEatCount # 升级所需个数(非累计)
-    def GetUpEatItemPerCount(self): return self.UpEatItemPerCount # 每次培养消耗x个
+    def GetRingClassLV(self): return self.attrTuple[0] # 情戒阶级
+    def GetRingStarLV(self): return self.attrTuple[1] # 情戒星级
+    def GetCoupleAttrType(self): return self.attrTuple[2] # 仙侣属性类型(非累积)
+    def GetCoupleAttrValue(self): return self.attrTuple[3] # 仙侣属性值(非累积)
+    def GetStarAttrType(self): return self.attrTuple[4] # 星级额外属性类型(非累积)
+    def GetStarAttrValue(self): return self.attrTuple[5] # 星级额外属性值(非累积)
+    def GetUpItemAttrType(self): return self.attrTuple[6] # 每x个培养丹增加属性类型,x=UpEatItemPerCount
+    def GetUpItemAttrValue(self): return self.attrTuple[7] # 每x个培养丹增加属性值,x=UpEatItemPerCount
+    def GetNeedEatCount(self): return self.attrTuple[8] # 升级所需个数(非累计)
+    def GetUpEatItemPerCount(self): return self.attrTuple[9] # 每次培养消耗x个
 
 # 情缘魅力属性表
 class IPY_LoveCharm():
     
     def __init__(self):
-        self.CharmLV = 0
-        self.UpNeedCharm = 0
-        self.LVAttrType = []
-        self.LVAttrValue = []
-        self.LVAwardItemInfo = []
+        self.attrTuple = None
         return
         
-    def GetCharmLV(self): return self.CharmLV # 魅力等级
-    def GetUpNeedCharm(self): return self.UpNeedCharm # 升下级所需总魅力
-    def GetLVAttrType(self): return self.LVAttrType # 属性类型
-    def GetLVAttrValue(self): return self.LVAttrValue # 总属性值
-    def GetLVAwardItemInfo(self): return self.LVAwardItemInfo # 等级物品奖励[[物品ID,个数,是否拍品], ...]
+    def GetCharmLV(self): return self.attrTuple[0] # 魅力等级
+    def GetUpNeedCharm(self): return self.attrTuple[1] # 升下级所需总魅力
+    def GetLVAttrType(self): return self.attrTuple[2] # 属性类型
+    def GetLVAttrValue(self): return self.attrTuple[3] # 总属性值
+    def GetLVAwardItemInfo(self): return self.attrTuple[4] # 等级物品奖励[[物品ID,个数,是否拍品], ...]
 
 # 骑宠觉醒表
 class IPY_HorsePetSkin():
     
     def __init__(self):
-        self.Type = 0
-        self.ID = 0
-        self.SkinLV = 0
-        self.NeedExp = 0
-        self.AttrInfo = {}
-        self.SkinIndex = 0
+        self.attrTuple = None
         return
         
-    def GetType(self): return self.Type # 1坐骑2灵宠
-    def GetID(self): return self.ID # 关联ID(坐骑表和灵宠表ID)
-    def GetSkinLV(self): return self.SkinLV # 幻化等级
-    def GetNeedExp(self): return self.NeedExp # 升级需要经验
-    def GetAttrInfo(self): return self.AttrInfo # 属性
-    def GetSkinIndex(self): return self.SkinIndex # 外观
+    def GetType(self): return self.attrTuple[0] # 1坐骑2灵宠
+    def GetID(self): return self.attrTuple[1] # 关联ID(坐骑表和灵宠表ID)
+    def GetSkinLV(self): return self.attrTuple[2] # 幻化等级
+    def GetNeedExp(self): return self.attrTuple[3] # 升级需要经验
+    def GetAttrInfo(self): return self.attrTuple[4] # 属性
+    def GetSkinIndex(self): return self.attrTuple[5] # 外观
 
 # 协助感谢礼盒表
 class IPY_AssistThanksGift():
     
     def __init__(self):
-        self.GiftID = 0
-        self.RequestPlayerAward = []
-        self.AssistPlayerAward = []
+        self.attrTuple = None
         return
         
-    def GetGiftID(self): return self.GiftID # 礼盒物品ID
-    def GetRequestPlayerAward(self): return self.RequestPlayerAward #  发布奖励物品 物品ID|个数
-    def GetAssistPlayerAward(self): return self.AssistPlayerAward #  协助奖励物品 物品ID|个数
+    def GetGiftID(self): return self.attrTuple[0] # 礼盒物品ID
+    def GetRequestPlayerAward(self): return self.attrTuple[1] #  发布奖励物品 物品ID|个数
+    def GetAssistPlayerAward(self): return self.attrTuple[2] #  协助奖励物品 物品ID|个数
 
 # 功能特权奖励表
 class IPY_FuncSysPrivilege():
     
     def __init__(self):
-        self.FuncSysID = 0
-        self.DayNum = 0
-        self.DayAwardItemInfo = []
+        self.attrTuple = None
         return
         
-    def GetFuncSysID(self): return self.FuncSysID # 功能系统ID
-    def GetDayNum(self): return self.DayNum # 第X天
-    def GetDayAwardItemInfo(self): return self.DayAwardItemInfo #  奖励物品信息 [[物品ID,个数,是否拍品], ...]
+    def GetFuncSysID(self): return self.attrTuple[0] # 功能系统ID
+    def GetDayNum(self): return self.attrTuple[1] # 第X天
+    def GetDayAwardItemInfo(self): return self.attrTuple[2] #  奖励物品信息 [[物品ID,个数,是否拍品], ...]
 
 # 累计充值奖励表
 class IPY_HistoryRechargeAward():
     
     def __init__(self):
-        self.ID = 0
-        self.NeedRMB = 0.0
-        self.Reward = {}
+        self.attrTuple = None
         return
         
-    def GetID(self): return self.ID # id
-    def GetNeedRMB(self): return self.NeedRMB # 所需充值元
-    def GetReward(self): return self.Reward # 职业对应的奖励内容,每个职业4组数据,物品ID和物品数量(1.枪豪2.道师3.剑修)
+    def GetID(self): return self.attrTuple[0] # id
+    def GetNeedRMB(self): return self.attrTuple[1] # 所需充值元
+    def GetReward(self): return self.attrTuple[2] # 职业对应的奖励内容,每个职业4组数据,物品ID和物品数量(1.枪豪2.道师3.剑修)
 
 # 奖励表
 class IPY_CustomAward():
     
     def __init__(self):
-        self.AwardID = 0
-        self.AwardItemList = []
+        self.attrTuple = None
         return
         
-    def GetAwardID(self): return self.AwardID # 奖励ID 1~n
-    def GetAwardItemList(self): return self.AwardItemList # 物品奖励[[物品ID,个数,是否拍品], ...]
+    def GetAwardID(self): return self.attrTuple[0] # 奖励ID 1~n
+    def GetAwardItemList(self): return self.attrTuple[1] # 物品奖励[[物品ID,个数,是否拍品], ...]
 
 # 战令表
 class IPY_Zhanling():
     
     def __init__(self):
-        self.ZhanlingType = 0
-        self.NeedValue = 0
-        self.RewardIndex = 0
-        self.FreeRewardItemList = []
-        self.ZLRewardItemList = []
+        self.attrTuple = None
         return
         
-    def GetZhanlingType(self): return self.ZhanlingType # 战令类型
-    def GetNeedValue(self): return self.NeedValue # 所需值
-    def GetRewardIndex(self): return self.RewardIndex # 奖励记录索引,0~n,同个战令类型不可重复
-    def GetFreeRewardItemList(self): return self.FreeRewardItemList # 免费奖励物品列表 [[物品ID,个数,是否拍品],...]
-    def GetZLRewardItemList(self): return self.ZLRewardItemList # 战令奖励物品列表 [[物品ID,个数,是否拍品],...]
+    def GetZhanlingType(self): return self.attrTuple[0] # 战令类型
+    def GetNeedValue(self): return self.attrTuple[1] # 所需值
+    def GetRewardIndex(self): return self.attrTuple[2] # 奖励记录索引,0~n,同个战令类型不可重复
+    def GetFreeRewardItemList(self): return self.attrTuple[3] # 免费奖励物品列表 [[物品ID,个数,是否拍品],...]
+    def GetZLRewardItemList(self): return self.attrTuple[4] # 战令奖励物品列表 [[物品ID,个数,是否拍品],...]
 
 # 仙树等级表
 class IPY_TreeLV():
     
     def __init__(self):
-        self.TreeLV = 0
-        self.LVUPNeedMoney = 0
-        self.LVUPNeedTime = 0
-        self.EquipColorRateList = []
-        self.ExAwardItemRateList = []
+        self.attrTuple = None
         return
         
-    def GetTreeLV(self): return self.TreeLV # 仙树等级
-    def GetLVUPNeedMoney(self): return self.LVUPNeedMoney # 升到下一级所需货币数
-    def GetLVUPNeedTime(self): return self.LVUPNeedTime # 升级下一级所需所需秒
-    def GetEquipColorRateList(self): return self.EquipColorRateList # 产出装备品质概率列表,[0品质万分率, 1品质万分率, ...]
-    def GetExAwardItemRateList(self): return self.ExAwardItemRateList # 每次砍树概率额外产出道具饼图,[[万分率,[物品ID,个数]], ...]
+    def GetTreeLV(self): return self.attrTuple[0] # 仙树等级
+    def GetLVUPNeedMoney(self): return self.attrTuple[1] # 升到下一级所需货币数
+    def GetLVUPNeedTime(self): return self.attrTuple[2] # 升级下一级所需所需秒
+    def GetEquipColorRateList(self): return self.attrTuple[3] # 产出装备品质概率列表,[0品质万分率, 1品质万分率, ...]
+    def GetExAwardItemRateList(self): return self.attrTuple[4] # 每次砍树概率额外产出道具饼图,[[万分率,[物品ID,个数]], ...]
 
 
 def Log(msg, playerID=0, par=0):
@@ -7028,510 +5689,301 @@
 class IPY_DataMgr():
     
     def __init__(self):
+        Log("IPY_DataMgr Init...")
         self.fileMD5Dict = {} # 数据表文件md5字典, 用于对比文件差异判断是否重读 {dtName:md5, ...}
         self.ipyConfigEx = {} # 自定义数据缓存 {key:configData, ...}
         self.ipyDataIndexMap = {} # 数据表索引查询缓存 {dtName:{args:[index, ...], ...}, ...}
         self.ipyDataIndexMapEx = {} # 数据表自定义查询条件查询缓存 {dtName_(findKey,...):{(findKeyValue, ...):[index, ...], ...}, ...}
         self.ipyFuncConfigDict = {} # 功能配置表缓存 {key:IPY_FuncConfig, ...}
-        self.IpyDataClear()
+        self.classSizeDict = {} # 数据表类对象占用内存大小 {dtName:size, ...}
+        self.IpyDataClear(True)
         return
     
-    def IpyDataClear(self):
-        Log("IPY_DataMgr Init...")
-        self.ipyConfigEx = {}
-        self.ipyDienstgradCache = self.__LoadFileData("Dienstgrad", IPY_Dienstgrad)
-        self.ipyDienstgradLen = len(self.ipyDienstgradCache)
-        self.ipyTitleStarUpCache = self.__LoadFileData("TitleStarUp", IPY_TitleStarUp)
-        self.ipyTitleStarUpLen = len(self.ipyTitleStarUpCache)
-        self.ipyCreateRoleCache = self.__LoadFileData("CreateRole", IPY_CreateRole)
-        self.ipyCreateRoleLen = len(self.ipyCreateRoleCache)
-        self.ipyRolePointCache = self.__LoadFileData("RolePoint", IPY_RolePoint)
-        self.ipyRolePointLen = len(self.ipyRolePointCache)
-        self.ipyLingQiAttrCache = self.__LoadFileData("LingQiAttr", IPY_LingQiAttr)
-        self.ipyLingQiAttrLen = len(self.ipyLingQiAttrCache)
-        self.ipyLingQiTrainCache = self.__LoadFileData("LingQiTrain", IPY_LingQiTrain)
-        self.ipyLingQiTrainLen = len(self.ipyLingQiTrainCache)
-        self.ipyTaskCache = self.__LoadFileData("Task", IPY_Task)
-        self.ipyTaskLen = len(self.ipyTaskCache)
-        self.ipyRealmXXZLCache = self.__LoadFileData("RealmXXZL", IPY_RealmXXZL)
-        self.ipyRealmXXZLLen = len(self.ipyRealmXXZLCache)
-        self.ipyRealmCache = self.__LoadFileData("Realm", IPY_Realm)
-        self.ipyRealmLen = len(self.ipyRealmCache)
-        self.ipyRealmTowerCache = self.__LoadFileData("RealmTower", IPY_RealmTower)
-        self.ipyRealmTowerLen = len(self.ipyRealmTowerCache)
-        self.ipyLianTiCache = self.__LoadFileData("LianTi", IPY_LianTi)
-        self.ipyLianTiLen = len(self.ipyLianTiCache)
-        self.ipyGodWeaponCache = self.__LoadFileData("GodWeapon", IPY_GodWeapon)
-        self.ipyGodWeaponLen = len(self.ipyGodWeaponCache)
-        self.ipyFuncConfigCache = self.__LoadFileData("FuncConfig", IPY_FuncConfig)
-        self.ipyFuncConfigLen = len(self.ipyFuncConfigCache)
-        self.ipyFuncOpenLVCache = self.__LoadFileData("FuncOpenLV", IPY_FuncOpenLV)
-        self.ipyFuncOpenLVLen = len(self.ipyFuncOpenLVCache)
-        self.ipyItemCompoundCache = self.__LoadFileData("ItemCompound", IPY_ItemCompound)
-        self.ipyItemCompoundLen = len(self.ipyItemCompoundCache)
-        self.ipyItemPlusCache = self.__LoadFileData("ItemPlus", IPY_ItemPlus)
-        self.ipyItemPlusLen = len(self.ipyItemPlusCache)
-        self.ipyEquipControlCache = self.__LoadFileData("EquipControl", IPY_EquipControl)
-        self.ipyEquipControlLen = len(self.ipyEquipControlCache)
-        self.ipyItemPlusMasterCache = self.__LoadFileData("ItemPlusMaster", IPY_ItemPlusMaster)
-        self.ipyItemPlusMasterLen = len(self.ipyItemPlusMasterCache)
-        self.ipyItemPlusMaxCache = self.__LoadFileData("ItemPlusMax", IPY_ItemPlusMax)
-        self.ipyItemPlusMaxLen = len(self.ipyItemPlusMaxCache)
-        self.ipyRoleEquipStarsCache = self.__LoadFileData("RoleEquipStars", IPY_RoleEquipStars)
-        self.ipyRoleEquipStarsLen = len(self.ipyRoleEquipStarsCache)
-        self.ipyDogzCache = self.__LoadFileData("Dogz", IPY_Dogz)
-        self.ipyDogzLen = len(self.ipyDogzCache)
-        self.ipyDogzEquipPlusCache = self.__LoadFileData("DogzEquipPlus", IPY_DogzEquipPlus)
-        self.ipyDogzEquipPlusLen = len(self.ipyDogzEquipPlusCache)
-        self.ipyRuneCache = self.__LoadFileData("Rune", IPY_Rune)
-        self.ipyRuneLen = len(self.ipyRuneCache)
-        self.ipyEquipWashCache = self.__LoadFileData("EquipWash", IPY_EquipWash)
-        self.ipyEquipWashLen = len(self.ipyEquipWashCache)
-        self.ipyAttrFruitCache = self.__LoadFileData("AttrFruit", IPY_AttrFruit)
-        self.ipyAttrFruitLen = len(self.ipyAttrFruitCache)
-        self.ipyPetInfoCache = self.__LoadFileData("PetInfo", IPY_PetInfo)
-        self.ipyPetInfoLen = len(self.ipyPetInfoCache)
-        self.ipyPetStarUpCache = self.__LoadFileData("PetStarUp", IPY_PetStarUp)
-        self.ipyPetStarUpLen = len(self.ipyPetStarUpCache)
-        self.ipyPetTrainCache = self.__LoadFileData("PetTrain", IPY_PetTrain)
-        self.ipyPetTrainLen = len(self.ipyPetTrainCache)
-        self.ipyEquipDecomposeCache = self.__LoadFileData("EquipDecompose", IPY_EquipDecompose)
-        self.ipyEquipDecomposeLen = len(self.ipyEquipDecomposeCache)
-        self.ipyPetClassCostCache = self.__LoadFileData("PetClassCost", IPY_PetClassCost)
-        self.ipyPetClassCostLen = len(self.ipyPetClassCostCache)
-        self.ipyPetEatEquipCache = self.__LoadFileData("PetEatEquip", IPY_PetEatEquip)
-        self.ipyPetEatEquipLen = len(self.ipyPetEatEquipCache)
-        self.ipyFaQiLVUpCache = self.__LoadFileData("FaQiLVUp", IPY_FaQiLVUp)
-        self.ipyFaQiLVUpLen = len(self.ipyFaQiLVUpCache)
-        self.ipyHorseLVUpCache = self.__LoadFileData("HorseLVUp", IPY_HorseLVUp)
-        self.ipyHorseLVUpLen = len(self.ipyHorseLVUpCache)
-        self.ipyHorseTrainCache = self.__LoadFileData("HorseTrain", IPY_HorseTrain)
-        self.ipyHorseTrainLen = len(self.ipyHorseTrainCache)
-        self.ipyHorseSkinPlusCache = self.__LoadFileData("HorseSkinPlus", IPY_HorseSkinPlus)
-        self.ipyHorseSkinPlusLen = len(self.ipyHorseSkinPlusCache)
-        self.ipyHorseCache = self.__LoadFileData("Horse", IPY_Horse)
-        self.ipyHorseLen = len(self.ipyHorseCache)
-        self.ipyHorseStarUpCache = self.__LoadFileData("HorseStarUp", IPY_HorseStarUp)
-        self.ipyHorseStarUpLen = len(self.ipyHorseStarUpCache)
-        self.ipyGubaoCache = self.__LoadFileData("Gubao", IPY_Gubao)
-        self.ipyGubaoLen = len(self.ipyGubaoCache)
-        self.ipyGubaoStarCache = self.__LoadFileData("GubaoStar", IPY_GubaoStar)
-        self.ipyGubaoStarLen = len(self.ipyGubaoStarCache)
-        self.ipyGubaoEffAttrCache = self.__LoadFileData("GubaoEffAttr", IPY_GubaoEffAttr)
-        self.ipyGubaoEffAttrLen = len(self.ipyGubaoEffAttrCache)
-        self.ipyGubaoLVCache = self.__LoadFileData("GubaoLV", IPY_GubaoLV)
-        self.ipyGubaoLVLen = len(self.ipyGubaoLVCache)
-        self.ipyShentongCache = self.__LoadFileData("Shentong", IPY_Shentong)
-        self.ipyShentongLen = len(self.ipyShentongCache)
-        self.ipyShentongLVCache = self.__LoadFileData("ShentongLV", IPY_ShentongLV)
-        self.ipyShentongLVLen = len(self.ipyShentongLVCache)
-        self.ipyPlayerLVCache = self.__LoadFileData("PlayerLV", IPY_PlayerLV)
-        self.ipyPlayerLVLen = len(self.ipyPlayerLVCache)
-        self.ipySpecMapPlayerAttrFormatCache = self.__LoadFileData("SpecMapPlayerAttrFormat", IPY_SpecMapPlayerAttrFormat)
-        self.ipySpecMapPlayerAttrFormatLen = len(self.ipySpecMapPlayerAttrFormatCache)
-        self.ipyGMAttrCache = self.__LoadFileData("GMAttr", IPY_GMAttr)
-        self.ipyGMAttrLen = len(self.ipyGMAttrCache)
-        self.ipyNPCExCache = self.__LoadFileData("NPCEx", IPY_NPCEx)
-        self.ipyNPCExLen = len(self.ipyNPCExCache)
-        self.ipyNPCRealmStrengthenCache = self.__LoadFileData("NPCRealmStrengthen", IPY_NPCRealmStrengthen)
-        self.ipyNPCRealmStrengthenLen = len(self.ipyNPCRealmStrengthenCache)
-        self.ipyNPCStrengthenCache = self.__LoadFileData("NPCStrengthen", IPY_NPCStrengthen)
-        self.ipyNPCStrengthenLen = len(self.ipyNPCStrengthenCache)
-        self.ipyNPCTimeLostHPCache = self.__LoadFileData("NPCTimeLostHP", IPY_NPCTimeLostHP)
-        self.ipyNPCTimeLostHPLen = len(self.ipyNPCTimeLostHPCache)
-        self.ipyEquipSuitAttrCache = self.__LoadFileData("EquipSuitAttr", IPY_EquipSuitAttr)
-        self.ipyEquipSuitAttrLen = len(self.ipyEquipSuitAttrCache)
-        self.ipyWingRefineAttrCache = self.__LoadFileData("WingRefineAttr", IPY_WingRefineAttr)
-        self.ipyWingRefineAttrLen = len(self.ipyWingRefineAttrCache)
-        self.ipyWingRefineExpCache = self.__LoadFileData("WingRefineExp", IPY_WingRefineExp)
-        self.ipyWingRefineExpLen = len(self.ipyWingRefineExpCache)
-        self.ipyFamilyTechCache = self.__LoadFileData("FamilyTech", IPY_FamilyTech)
-        self.ipyFamilyTechLen = len(self.ipyFamilyTechCache)
-        self.ipyFightPowerParamCache = self.__LoadFileData("FightPowerParam", IPY_FightPowerParam)
-        self.ipyFightPowerParamLen = len(self.ipyFightPowerParamCache)
-        self.ipyNPCDropItemCache = self.__LoadFileData("NPCDropItem", IPY_NPCDropItem)
-        self.ipyNPCDropItemLen = len(self.ipyNPCDropItemCache)
-        self.ipyRuneTowerCache = self.__LoadFileData("RuneTower", IPY_RuneTower)
-        self.ipyRuneTowerLen = len(self.ipyRuneTowerCache)
-        self.ipyChinMapCache = self.__LoadFileData("ChinMap", IPY_ChinMap)
-        self.ipyChinMapLen = len(self.ipyChinMapCache)
-        self.ipyFBFuncCache = self.__LoadFileData("FBFunc", IPY_FBFunc)
-        self.ipyFBFuncLen = len(self.ipyFBFuncCache)
-        self.ipyFBLineCache = self.__LoadFileData("FBLine", IPY_FBLine)
-        self.ipyFBLineLen = len(self.ipyFBLineCache)
-        self.ipyFBTurnCache = self.__LoadFileData("FBTurn", IPY_FBTurn)
-        self.ipyFBTurnLen = len(self.ipyFBTurnCache)
-        self.ipyFBHelpBattleCache = self.__LoadFileData("FBHelpBattle", IPY_FBHelpBattle)
-        self.ipyFBHelpBattleLen = len(self.ipyFBHelpBattleCache)
-        self.ipyNPCCustomRefreshCache = self.__LoadFileData("NPCCustomRefresh", IPY_NPCCustomRefresh)
-        self.ipyNPCCustomRefreshLen = len(self.ipyNPCCustomRefreshCache)
-        self.ipyDailyActionCache = self.__LoadFileData("DailyAction", IPY_DailyAction)
-        self.ipyDailyActionLen = len(self.ipyDailyActionCache)
-        self.ipyEquipColorCache = self.__LoadFileData("EquipColor", IPY_EquipColor)
-        self.ipyEquipColorLen = len(self.ipyEquipColorCache)
-        self.ipyEquipColorPlaceCache = self.__LoadFileData("EquipColorPlace", IPY_EquipColorPlace)
-        self.ipyEquipColorPlaceLen = len(self.ipyEquipColorPlaceCache)
-        self.ipyEquipGSParamCache = self.__LoadFileData("EquipGSParam", IPY_EquipGSParam)
-        self.ipyEquipGSParamLen = len(self.ipyEquipGSParamCache)
-        self.ipySuccessCache = self.__LoadFileData("Success", IPY_Success)
-        self.ipySuccessLen = len(self.ipySuccessCache)
-        self.ipyTongTianLVCache = self.__LoadFileData("TongTianLV", IPY_TongTianLV)
-        self.ipyTongTianLVLen = len(self.ipyTongTianLVCache)
-        self.ipyTongTianTaskCache = self.__LoadFileData("TongTianTask", IPY_TongTianTask)
-        self.ipyTongTianTaskLen = len(self.ipyTongTianTaskCache)
-        self.ipyTreasureCache = self.__LoadFileData("Treasure", IPY_Treasure)
-        self.ipyTreasureLen = len(self.ipyTreasureCache)
-        self.ipyTreasureUpCache = self.__LoadFileData("TreasureUp", IPY_TreasureUp)
-        self.ipyTreasureUpLen = len(self.ipyTreasureUpCache)
-        self.ipyContineSignAwardCache = self.__LoadFileData("ContineSignAward", IPY_ContineSignAward)
-        self.ipyContineSignAwardLen = len(self.ipyContineSignAwardCache)
-        self.ipySignAwardCache = self.__LoadFileData("SignAward", IPY_SignAward)
-        self.ipySignAwardLen = len(self.ipySignAwardCache)
-        self.ipyVIPAwardCache = self.__LoadFileData("VIPAward", IPY_VIPAward)
-        self.ipyVIPAwardLen = len(self.ipyVIPAwardCache)
-        self.ipyAppointItemCache = self.__LoadFileData("AppointItem", IPY_AppointItem)
-        self.ipyAppointItemLen = len(self.ipyAppointItemCache)
-        self.ipyAuctionItemCache = self.__LoadFileData("AuctionItem", IPY_AuctionItem)
-        self.ipyAuctionItemLen = len(self.ipyAuctionItemCache)
-        self.ipyVipPrivilegeCache = self.__LoadFileData("VipPrivilege", IPY_VipPrivilege)
-        self.ipyVipPrivilegeLen = len(self.ipyVipPrivilegeCache)
-        self.ipyStoreCache = self.__LoadFileData("Store", IPY_Store)
-        self.ipyStoreLen = len(self.ipyStoreCache)
-        self.ipyActSpringSaleCache = self.__LoadFileData("ActSpringSale", IPY_ActSpringSale)
-        self.ipyActSpringSaleLen = len(self.ipyActSpringSaleCache)
-        self.ipyDailyQuestCache = self.__LoadFileData("DailyQuest", IPY_DailyQuest)
-        self.ipyDailyQuestLen = len(self.ipyDailyQuestCache)
-        self.ipyDailyLivenessRewardCache = self.__LoadFileData("DailyLivenessReward", IPY_DailyLivenessReward)
-        self.ipyDailyLivenessRewardLen = len(self.ipyDailyLivenessRewardCache)
-        self.ipyActivityPlaceRewardCache = self.__LoadFileData("ActivityPlaceReward", IPY_ActivityPlaceReward)
-        self.ipyActivityPlaceRewardLen = len(self.ipyActivityPlaceRewardCache)
-        self.ipyRefineStoveCache = self.__LoadFileData("RefineStove", IPY_RefineStove)
-        self.ipyRefineStoveLen = len(self.ipyRefineStoveCache)
-        self.ipyAlchemyCache = self.__LoadFileData("Alchemy", IPY_Alchemy)
-        self.ipyAlchemyLen = len(self.ipyAlchemyCache)
-        self.ipyAlchemyResultCache = self.__LoadFileData("AlchemyResult", IPY_AlchemyResult)
-        self.ipyAlchemyResultLen = len(self.ipyAlchemyResultCache)
-        self.ipyBOSSInfoCache = self.__LoadFileData("BOSSInfo", IPY_BOSSInfo)
-        self.ipyBOSSInfoLen = len(self.ipyBOSSInfoCache)
-        self.ipyBOSSFirstKillCache = self.__LoadFileData("BOSSFirstKill", IPY_BOSSFirstKill)
-        self.ipyBOSSFirstKillLen = len(self.ipyBOSSFirstKillCache)
-        self.ipyElderGodAreaCache = self.__LoadFileData("ElderGodArea", IPY_ElderGodArea)
-        self.ipyElderGodAreaLen = len(self.ipyElderGodAreaCache)
-        self.ipyPersonalBossCache = self.__LoadFileData("PersonalBoss", IPY_PersonalBoss)
-        self.ipyPersonalBossLen = len(self.ipyPersonalBossCache)
-        self.ipyFamilyActivityCache = self.__LoadFileData("FamilyActivity", IPY_FamilyActivity)
-        self.ipyFamilyActivityLen = len(self.ipyFamilyActivityCache)
-        self.ipyFamilyRedPackCache = self.__LoadFileData("FamilyRedPack", IPY_FamilyRedPack)
-        self.ipyFamilyRedPackLen = len(self.ipyFamilyRedPackCache)
-        self.ipyActFeastRedPacketSuccCache = self.__LoadFileData("ActFeastRedPacketSucc", IPY_ActFeastRedPacketSucc)
-        self.ipyActFeastRedPacketSuccLen = len(self.ipyActFeastRedPacketSuccCache)
-        self.ipyNPCShowCache = self.__LoadFileData("NPCShow", IPY_NPCShow)
-        self.ipyNPCShowLen = len(self.ipyNPCShowCache)
-        self.ipySealDemonCache = self.__LoadFileData("SealDemon", IPY_SealDemon)
-        self.ipySealDemonLen = len(self.ipySealDemonCache)
-        self.ipyFbEncourageCache = self.__LoadFileData("FbEncourage", IPY_FbEncourage)
-        self.ipyFbEncourageLen = len(self.ipyFbEncourageCache)
-        self.ipyMapRefreshNPCCache = self.__LoadFileData("MapRefreshNPC", IPY_MapRefreshNPC)
-        self.ipyMapRefreshNPCLen = len(self.ipyMapRefreshNPCCache)
-        self.ipyRuneCompoundCache = self.__LoadFileData("RuneCompound", IPY_RuneCompound)
-        self.ipyRuneCompoundLen = len(self.ipyRuneCompoundCache)
-        self.ipyResourcesBackCache = self.__LoadFileData("ResourcesBack", IPY_ResourcesBack)
-        self.ipyResourcesBackLen = len(self.ipyResourcesBackCache)
-        self.ipyCollectNPCCache = self.__LoadFileData("CollectNPC", IPY_CollectNPC)
-        self.ipyCollectNPCLen = len(self.ipyCollectNPCCache)
-        self.ipyTreasureNPCCache = self.__LoadFileData("TreasureNPC", IPY_TreasureNPC)
-        self.ipyTreasureNPCLen = len(self.ipyTreasureNPCCache)
-        self.ipyChestsCache = self.__LoadFileData("Chests", IPY_Chests)
-        self.ipyChestsLen = len(self.ipyChestsCache)
-        self.ipyChestsAwardCache = self.__LoadFileData("ChestsAward", IPY_ChestsAward)
-        self.ipyChestsAwardLen = len(self.ipyChestsAwardCache)
-        self.ipyVIPKillNPCCache = self.__LoadFileData("VIPKillNPC", IPY_VIPKillNPC)
-        self.ipyVIPKillNPCLen = len(self.ipyVIPKillNPCCache)
-        self.ipyOSCBillRankAwardCache = self.__LoadFileData("OSCBillRankAward", IPY_OSCBillRankAward)
-        self.ipyOSCBillRankAwardLen = len(self.ipyOSCBillRankAwardCache)
-        self.ipyOSCBillTagAwardCache = self.__LoadFileData("OSCBillTagAward", IPY_OSCBillTagAward)
-        self.ipyOSCBillTagAwardLen = len(self.ipyOSCBillTagAwardCache)
-        self.ipyLoginDayAwardCache = self.__LoadFileData("LoginDayAward", IPY_LoginDayAward)
-        self.ipyLoginDayAwardLen = len(self.ipyLoginDayAwardCache)
-        self.ipyOnlineAwardNewCache = self.__LoadFileData("OnlineAwardNew", IPY_OnlineAwardNew)
-        self.ipyOnlineAwardNewLen = len(self.ipyOnlineAwardNewCache)
-        self.ipySpringSaleCache = self.__LoadFileData("SpringSale", IPY_SpringSale)
-        self.ipySpringSaleLen = len(self.ipySpringSaleCache)
-        self.ipyOrderInfoCache = self.__LoadFileData("OrderInfo", IPY_OrderInfo)
-        self.ipyOrderInfoLen = len(self.ipyOrderInfoCache)
-        self.ipyCTGCache = self.__LoadFileData("CTG", IPY_CTG)
-        self.ipyCTGLen = len(self.ipyCTGCache)
-        self.ipyFirstGoldCache = self.__LoadFileData("FirstGold", IPY_FirstGold)
-        self.ipyFirstGoldLen = len(self.ipyFirstGoldCache)
-        self.ipyLVAwardCache = self.__LoadFileData("LVAward", IPY_LVAward)
-        self.ipyLVAwardLen = len(self.ipyLVAwardCache)
-        self.ipyInvestCache = self.__LoadFileData("Invest", IPY_Invest)
-        self.ipyInvestLen = len(self.ipyInvestCache)
-        self.ipyXBXZCache = self.__LoadFileData("XBXZ", IPY_XBXZ)
-        self.ipyXBXZLen = len(self.ipyXBXZCache)
-        self.ipyTreasureHouseCache = self.__LoadFileData("TreasureHouse", IPY_TreasureHouse)
-        self.ipyTreasureHouseLen = len(self.ipyTreasureHouseCache)
-        self.ipyFreeGoodsCache = self.__LoadFileData("FreeGoods", IPY_FreeGoods)
-        self.ipyFreeGoodsLen = len(self.ipyFreeGoodsCache)
-        self.ipyActFlashGiftbagCache = self.__LoadFileData("ActFlashGiftbag", IPY_ActFlashGiftbag)
-        self.ipyActFlashGiftbagLen = len(self.ipyActFlashGiftbagCache)
-        self.ipyFlashGiftbagCache = self.__LoadFileData("FlashGiftbag", IPY_FlashGiftbag)
-        self.ipyFlashGiftbagLen = len(self.ipyFlashGiftbagCache)
-        self.ipyActDailyGiftbagCache = self.__LoadFileData("ActDailyGiftbag", IPY_ActDailyGiftbag)
-        self.ipyActDailyGiftbagLen = len(self.ipyActDailyGiftbagCache)
-        self.ipyDailyGiftbagCache = self.__LoadFileData("DailyGiftbag", IPY_DailyGiftbag)
-        self.ipyDailyGiftbagLen = len(self.ipyDailyGiftbagCache)
-        self.ipyActExpRateCache = self.__LoadFileData("ActExpRate", IPY_ActExpRate)
-        self.ipyActExpRateLen = len(self.ipyActExpRateCache)
-        self.ipyActCostRebateCache = self.__LoadFileData("ActCostRebate", IPY_ActCostRebate)
-        self.ipyActCostRebateLen = len(self.ipyActCostRebateCache)
-        self.ipyCostRebateTemplateCache = self.__LoadFileData("CostRebateTemplate", IPY_CostRebateTemplate)
-        self.ipyCostRebateTemplateLen = len(self.ipyCostRebateTemplateCache)
-        self.ipyActBuyOneCache = self.__LoadFileData("ActBuyOne", IPY_ActBuyOne)
-        self.ipyActBuyOneLen = len(self.ipyActBuyOneCache)
-        self.ipyActBuyOneTemplateCache = self.__LoadFileData("ActBuyOneTemplate", IPY_ActBuyOneTemplate)
-        self.ipyActBuyOneTemplateLen = len(self.ipyActBuyOneTemplateCache)
-        self.ipyActCollectWordsCache = self.__LoadFileData("ActCollectWords", IPY_ActCollectWords)
-        self.ipyActCollectWordsLen = len(self.ipyActCollectWordsCache)
-        self.ipyCollectWordsExchangeCache = self.__LoadFileData("CollectWordsExchange", IPY_CollectWordsExchange)
-        self.ipyCollectWordsExchangeLen = len(self.ipyCollectWordsExchangeCache)
-        self.ipyActGarbageSortingCache = self.__LoadFileData("ActGarbageSorting", IPY_ActGarbageSorting)
-        self.ipyActGarbageSortingLen = len(self.ipyActGarbageSortingCache)
-        self.ipyActGarbageTaskCache = self.__LoadFileData("ActGarbageTask", IPY_ActGarbageTask)
-        self.ipyActGarbageTaskLen = len(self.ipyActGarbageTaskCache)
-        self.ipyActBossTrialCache = self.__LoadFileData("ActBossTrial", IPY_ActBossTrial)
-        self.ipyActBossTrialLen = len(self.ipyActBossTrialCache)
-        self.ipyActBossTrialTemplateCache = self.__LoadFileData("ActBossTrialTemplate", IPY_ActBossTrialTemplate)
-        self.ipyActBossTrialTemplateLen = len(self.ipyActBossTrialTemplateCache)
-        self.ipyActXianXiaMJCache = self.__LoadFileData("ActXianXiaMJ", IPY_ActXianXiaMJ)
-        self.ipyActXianXiaMJLen = len(self.ipyActXianXiaMJCache)
-        self.ipyActXianXiaMJAwardCache = self.__LoadFileData("ActXianXiaMJAward", IPY_ActXianXiaMJAward)
-        self.ipyActXianXiaMJAwardLen = len(self.ipyActXianXiaMJAwardCache)
-        self.ipyActGodGiftCache = self.__LoadFileData("ActGodGift", IPY_ActGodGift)
-        self.ipyActGodGiftLen = len(self.ipyActGodGiftCache)
-        self.ipyActGodGiftAwardCache = self.__LoadFileData("ActGodGiftAward", IPY_ActGodGiftAward)
-        self.ipyActGodGiftAwardLen = len(self.ipyActGodGiftAwardCache)
-        self.ipyActHorsePetFeastCache = self.__LoadFileData("ActHorsePetFeast", IPY_ActHorsePetFeast)
-        self.ipyActHorsePetFeastLen = len(self.ipyActHorsePetFeastCache)
-        self.ipyActBossRebornCache = self.__LoadFileData("ActBossReborn", IPY_ActBossReborn)
-        self.ipyActBossRebornLen = len(self.ipyActBossRebornCache)
-        self.ipyBossRebornCache = self.__LoadFileData("BossReborn", IPY_BossReborn)
-        self.ipyBossRebornLen = len(self.ipyBossRebornCache)
-        self.ipyActRealmPointCache = self.__LoadFileData("ActRealmPoint", IPY_ActRealmPoint)
-        self.ipyActRealmPointLen = len(self.ipyActRealmPointCache)
-        self.ipyTrialExchangeCache = self.__LoadFileData("TrialExchange", IPY_TrialExchange)
-        self.ipyTrialExchangeLen = len(self.ipyTrialExchangeCache)
-        self.ipyAllPeoplePartyCache = self.__LoadFileData("AllPeopleParty", IPY_AllPeopleParty)
-        self.ipyAllPeoplePartyLen = len(self.ipyAllPeoplePartyCache)
-        self.ipyAllPeoplePartyAwardCache = self.__LoadFileData("AllPeoplePartyAward", IPY_AllPeoplePartyAward)
-        self.ipyAllPeoplePartyAwardLen = len(self.ipyAllPeoplePartyAwardCache)
-        self.ipyMapEventPointCache = self.__LoadFileData("MapEventPoint", IPY_MapEventPoint)
-        self.ipyMapEventPointLen = len(self.ipyMapEventPointCache)
-        self.ipyTalentSkillCache = self.__LoadFileData("TalentSkill", IPY_TalentSkill)
-        self.ipyTalentSkillLen = len(self.ipyTalentSkillCache)
-        self.ipyActFlashSaleCache = self.__LoadFileData("ActFlashSale", IPY_ActFlashSale)
-        self.ipyActFlashSaleLen = len(self.ipyActFlashSaleCache)
-        self.ipyActWishingWellCache = self.__LoadFileData("ActWishingWell", IPY_ActWishingWell)
-        self.ipyActWishingWellLen = len(self.ipyActWishingWellCache)
-        self.ipyWishingWellCache = self.__LoadFileData("WishingWell", IPY_WishingWell)
-        self.ipyWishingWellLen = len(self.ipyWishingWellCache)
-        self.ipyFunctionForecastCache = self.__LoadFileData("FunctionForecast", IPY_FunctionForecast)
-        self.ipyFunctionForecastLen = len(self.ipyFunctionForecastCache)
-        self.ipyChatBubbleBoxCache = self.__LoadFileData("ChatBubbleBox", IPY_ChatBubbleBox)
-        self.ipyChatBubbleBoxLen = len(self.ipyChatBubbleBoxCache)
-        self.ipyActRechargePrizeCache = self.__LoadFileData("ActRechargePrize", IPY_ActRechargePrize)
-        self.ipyActRechargePrizeLen = len(self.ipyActRechargePrizeCache)
-        self.ipyRechargePrizeTemplateCache = self.__LoadFileData("RechargePrizeTemplate", IPY_RechargePrizeTemplate)
-        self.ipyRechargePrizeTemplateLen = len(self.ipyRechargePrizeTemplateCache)
-        self.ipyActTotalRechargeCache = self.__LoadFileData("ActTotalRecharge", IPY_ActTotalRecharge)
-        self.ipyActTotalRechargeLen = len(self.ipyActTotalRechargeCache)
-        self.ipyTotalRechargeTemplateCache = self.__LoadFileData("TotalRechargeTemplate", IPY_TotalRechargeTemplate)
-        self.ipyTotalRechargeTemplateLen = len(self.ipyTotalRechargeTemplateCache)
-        self.ipyActRechargeRebateGoldCache = self.__LoadFileData("ActRechargeRebateGold", IPY_ActRechargeRebateGold)
-        self.ipyActRechargeRebateGoldLen = len(self.ipyActRechargeRebateGoldCache)
-        self.ipyRechargeRebateGoldTemplateCache = self.__LoadFileData("RechargeRebateGoldTemplate", IPY_RechargeRebateGoldTemplate)
-        self.ipyRechargeRebateGoldTemplateLen = len(self.ipyRechargeRebateGoldTemplateCache)
-        self.ipyActGrowupBuyCache = self.__LoadFileData("ActGrowupBuy", IPY_ActGrowupBuy)
-        self.ipyActGrowupBuyLen = len(self.ipyActGrowupBuyCache)
-        self.ipyActManyDayRechargeCache = self.__LoadFileData("ActManyDayRecharge", IPY_ActManyDayRecharge)
-        self.ipyActManyDayRechargeLen = len(self.ipyActManyDayRechargeCache)
-        self.ipyActManyDayRechargeAwardCache = self.__LoadFileData("ActManyDayRechargeAward", IPY_ActManyDayRechargeAward)
-        self.ipyActManyDayRechargeAwardLen = len(self.ipyActManyDayRechargeAwardCache)
-        self.ipyActTurntableCache = self.__LoadFileData("ActTurntable", IPY_ActTurntable)
-        self.ipyActTurntableLen = len(self.ipyActTurntableCache)
-        self.ipyActSingleRechargeCache = self.__LoadFileData("ActSingleRecharge", IPY_ActSingleRecharge)
-        self.ipyActSingleRechargeLen = len(self.ipyActSingleRechargeCache)
-        self.ipyActSingleRechargeAwardCache = self.__LoadFileData("ActSingleRechargeAward", IPY_ActSingleRechargeAward)
-        self.ipyActSingleRechargeAwardLen = len(self.ipyActSingleRechargeAwardCache)
-        self.ipyMagicWeaponFBCache = self.__LoadFileData("MagicWeaponFB", IPY_MagicWeaponFB)
-        self.ipyMagicWeaponFBLen = len(self.ipyMagicWeaponFBCache)
-        self.ipyIceLodeStarAwardCache = self.__LoadFileData("IceLodeStarAward", IPY_IceLodeStarAward)
-        self.ipyIceLodeStarAwardLen = len(self.ipyIceLodeStarAwardCache)
-        self.ipyCrossRealmPKDanCache = self.__LoadFileData("CrossRealmPKDan", IPY_CrossRealmPKDan)
-        self.ipyCrossRealmPKDanLen = len(self.ipyCrossRealmPKDanCache)
-        self.ipyCrossRealmPKDanAwardCache = self.__LoadFileData("CrossRealmPKDanAward", IPY_CrossRealmPKDanAward)
-        self.ipyCrossRealmPKDanAwardLen = len(self.ipyCrossRealmPKDanAwardCache)
-        self.ipyCrossRealmPKOrderAwardCache = self.__LoadFileData("CrossRealmPKOrderAward", IPY_CrossRealmPKOrderAward)
-        self.ipyCrossRealmPKOrderAwardLen = len(self.ipyCrossRealmPKOrderAwardCache)
-        self.ipyCrossZoneCommCache = self.__LoadFileData("CrossZoneComm", IPY_CrossZoneComm)
-        self.ipyCrossZoneCommLen = len(self.ipyCrossZoneCommCache)
-        self.ipyCrossZonePKCache = self.__LoadFileData("CrossZonePK", IPY_CrossZonePK)
-        self.ipyCrossZonePKLen = len(self.ipyCrossZonePKCache)
-        self.ipyCrossPenglaiZoneMapCache = self.__LoadFileData("CrossPenglaiZoneMap", IPY_CrossPenglaiZoneMap)
-        self.ipyCrossPenglaiZoneMapLen = len(self.ipyCrossPenglaiZoneMapCache)
-        self.ipyCrossDemonLandZoneMapCache = self.__LoadFileData("CrossDemonLandZoneMap", IPY_CrossDemonLandZoneMap)
-        self.ipyCrossDemonLandZoneMapLen = len(self.ipyCrossDemonLandZoneMapCache)
-        self.ipyGatherSoulCache = self.__LoadFileData("GatherSoul", IPY_GatherSoul)
-        self.ipyGatherSoulLen = len(self.ipyGatherSoulCache)
-        self.ipyGatherSoulCompoundCache = self.__LoadFileData("GatherSoulCompound", IPY_GatherSoulCompound)
-        self.ipyGatherSoulCompoundLen = len(self.ipyGatherSoulCompoundCache)
-        self.ipyGatherSoulAttrCache = self.__LoadFileData("GatherSoulAttr", IPY_GatherSoulAttr)
-        self.ipyGatherSoulAttrLen = len(self.ipyGatherSoulAttrCache)
-        self.ipyMagicWeaponOfKingCache = self.__LoadFileData("MagicWeaponOfKing", IPY_MagicWeaponOfKing)
-        self.ipyMagicWeaponOfKingLen = len(self.ipyMagicWeaponOfKingCache)
-        self.ipyCoatCache = self.__LoadFileData("Coat", IPY_Coat)
-        self.ipyCoatLen = len(self.ipyCoatCache)
-        self.ipyCoatChestUpCache = self.__LoadFileData("CoatChestUp", IPY_CoatChestUp)
-        self.ipyCoatChestUpLen = len(self.ipyCoatChestUpCache)
-        self.ipyActWeekPartyCache = self.__LoadFileData("ActWeekParty", IPY_ActWeekParty)
-        self.ipyActWeekPartyLen = len(self.ipyActWeekPartyCache)
-        self.ipyWeekPartyCache = self.__LoadFileData("WeekParty", IPY_WeekParty)
-        self.ipyWeekPartyLen = len(self.ipyWeekPartyCache)
-        self.ipyActLoginAwardCache = self.__LoadFileData("ActLoginAward", IPY_ActLoginAward)
-        self.ipyActLoginAwardLen = len(self.ipyActLoginAwardCache)
-        self.ipyLoginAwardCache = self.__LoadFileData("LoginAward", IPY_LoginAward)
-        self.ipyLoginAwardLen = len(self.ipyLoginAwardCache)
-        self.ipyActFeastLoginCache = self.__LoadFileData("ActFeastLogin", IPY_ActFeastLogin)
-        self.ipyActFeastLoginLen = len(self.ipyActFeastLoginCache)
-        self.ipyActFeastLoginAwardCache = self.__LoadFileData("ActFeastLoginAward", IPY_ActFeastLoginAward)
-        self.ipyActFeastLoginAwardLen = len(self.ipyActFeastLoginAwardCache)
-        self.ipyActFeastWishCache = self.__LoadFileData("ActFeastWish", IPY_ActFeastWish)
-        self.ipyActFeastWishLen = len(self.ipyActFeastWishCache)
-        self.ipyActFeastWishBottleCache = self.__LoadFileData("ActFeastWishBottle", IPY_ActFeastWishBottle)
-        self.ipyActFeastWishBottleLen = len(self.ipyActFeastWishBottleCache)
-        self.ipyActFeastWishPoolCache = self.__LoadFileData("ActFeastWishPool", IPY_ActFeastWishPool)
-        self.ipyActFeastWishPoolLen = len(self.ipyActFeastWishPoolCache)
-        self.ipyActFeastTravelCache = self.__LoadFileData("ActFeastTravel", IPY_ActFeastTravel)
-        self.ipyActFeastTravelLen = len(self.ipyActFeastTravelCache)
-        self.ipyActFeastTravelTaskCache = self.__LoadFileData("ActFeastTravelTask", IPY_ActFeastTravelTask)
-        self.ipyActFeastTravelTaskLen = len(self.ipyActFeastTravelTaskCache)
-        self.ipyActFeastTravelAwardCache = self.__LoadFileData("ActFeastTravelAward", IPY_ActFeastTravelAward)
-        self.ipyActFeastTravelAwardLen = len(self.ipyActFeastTravelAwardCache)
-        self.ipyZhuXianBossCache = self.__LoadFileData("ZhuXianBoss", IPY_ZhuXianBoss)
-        self.ipyZhuXianBossLen = len(self.ipyZhuXianBossCache)
-        self.ipyActFeastWeekPartyCache = self.__LoadFileData("ActFeastWeekParty", IPY_ActFeastWeekParty)
-        self.ipyActFeastWeekPartyLen = len(self.ipyActFeastWeekPartyCache)
-        self.ipyFeastWeekPartyCache = self.__LoadFileData("FeastWeekParty", IPY_FeastWeekParty)
-        self.ipyFeastWeekPartyLen = len(self.ipyFeastWeekPartyCache)
-        self.ipyNewAllPeoplePartyCache = self.__LoadFileData("NewAllPeopleParty", IPY_NewAllPeopleParty)
-        self.ipyNewAllPeoplePartyLen = len(self.ipyNewAllPeoplePartyCache)
-        self.ipyNewAllPeoplePartyAwardCache = self.__LoadFileData("NewAllPeoplePartyAward", IPY_NewAllPeoplePartyAward)
-        self.ipyNewAllPeoplePartyAwardLen = len(self.ipyNewAllPeoplePartyAwardCache)
-        self.ipyActLuckyTreasureCache = self.__LoadFileData("ActLuckyTreasure", IPY_ActLuckyTreasure)
-        self.ipyActLuckyTreasureLen = len(self.ipyActLuckyTreasureCache)
-        self.ipyLuckyTreasureTemplateCache = self.__LoadFileData("LuckyTreasureTemplate", IPY_LuckyTreasureTemplate)
-        self.ipyLuckyTreasureTemplateLen = len(self.ipyLuckyTreasureTemplateCache)
-        self.ipyCrossActCTGBillboardDabiaoCache = self.__LoadFileData("CrossActCTGBillboardDabiao", IPY_CrossActCTGBillboardDabiao)
-        self.ipyCrossActCTGBillboardDabiaoLen = len(self.ipyCrossActCTGBillboardDabiaoCache)
-        self.ipyCrossActCTGBillboardOrderCache = self.__LoadFileData("CrossActCTGBillboardOrder", IPY_CrossActCTGBillboardOrder)
-        self.ipyCrossActCTGBillboardOrderLen = len(self.ipyCrossActCTGBillboardOrderCache)
-        self.ipyMysteryShopCache = self.__LoadFileData("MysteryShop", IPY_MysteryShop)
-        self.ipyMysteryShopLen = len(self.ipyMysteryShopCache)
-        self.ipyEquipPlaceIndexMapCache = self.__LoadFileData("EquipPlaceIndexMap", IPY_EquipPlaceIndexMap)
-        self.ipyEquipPlaceIndexMapLen = len(self.ipyEquipPlaceIndexMapCache)
-        self.ipyEquipShenAttrCache = self.__LoadFileData("EquipShenAttr", IPY_EquipShenAttr)
-        self.ipyEquipShenAttrLen = len(self.ipyEquipShenAttrCache)
-        self.ipyEquipShenEvolveCache = self.__LoadFileData("EquipShenEvolve", IPY_EquipShenEvolve)
-        self.ipyEquipShenEvolveLen = len(self.ipyEquipShenEvolveCache)
-        self.ipyEquipStarUpCache = self.__LoadFileData("EquipStarUp", IPY_EquipStarUp)
-        self.ipyEquipStarUpLen = len(self.ipyEquipStarUpCache)
-        self.ipyEquipPlusEvolveCache = self.__LoadFileData("EquipPlusEvolve", IPY_EquipPlusEvolve)
-        self.ipyEquipPlusEvolveLen = len(self.ipyEquipPlusEvolveCache)
-        self.ipyFamilyBossAwardCache = self.__LoadFileData("FamilyBossAward", IPY_FamilyBossAward)
-        self.ipyFamilyBossAwardLen = len(self.ipyFamilyBossAwardCache)
-        self.ipyFamilyBossHurtAwardCache = self.__LoadFileData("FamilyBossHurtAward", IPY_FamilyBossHurtAward)
-        self.ipyFamilyBossHurtAwardLen = len(self.ipyFamilyBossHurtAwardCache)
-        self.ipyFamilyZhenfaCache = self.__LoadFileData("FamilyZhenfa", IPY_FamilyZhenfa)
-        self.ipyFamilyZhenfaLen = len(self.ipyFamilyZhenfaCache)
-        self.ipyItemWashMaxCache = self.__LoadFileData("ItemWashMax", IPY_ItemWashMax)
-        self.ipyItemWashMaxLen = len(self.ipyItemWashMaxCache)
-        self.ipyHorsePetBossAwardCache = self.__LoadFileData("HorsePetBossAward", IPY_HorsePetBossAward)
-        self.ipyHorsePetBossAwardLen = len(self.ipyHorsePetBossAwardCache)
-        self.ipyFairyDomainCache = self.__LoadFileData("FairyDomain", IPY_FairyDomain)
-        self.ipyFairyDomainLen = len(self.ipyFairyDomainCache)
-        self.ipyFairyAdventuresCache = self.__LoadFileData("FairyAdventures", IPY_FairyAdventures)
-        self.ipyFairyAdventuresLen = len(self.ipyFairyAdventuresCache)
-        self.ipyFairyDomainAppointCache = self.__LoadFileData("FairyDomainAppoint", IPY_FairyDomainAppoint)
-        self.ipyFairyDomainAppointLen = len(self.ipyFairyDomainAppointCache)
-        self.ipyFBBuyBuffCache = self.__LoadFileData("FBBuyBuff", IPY_FBBuyBuff)
-        self.ipyFBBuyBuffLen = len(self.ipyFBBuyBuffCache)
-        self.ipySkillElementCache = self.__LoadFileData("SkillElement", IPY_SkillElement)
-        self.ipySkillElementLen = len(self.ipySkillElementCache)
-        self.ipySkyTowerCache = self.__LoadFileData("SkyTower", IPY_SkyTower)
-        self.ipySkyTowerLen = len(self.ipySkyTowerCache)
-        self.ipySkyTowerServerChallengeCache = self.__LoadFileData("SkyTowerServerChallenge", IPY_SkyTowerServerChallenge)
-        self.ipySkyTowerServerChallengeLen = len(self.ipySkyTowerServerChallengeCache)
-        self.ipyLingGenEffectCache = self.__LoadFileData("LingGenEffect", IPY_LingGenEffect)
-        self.ipyLingGenEffectLen = len(self.ipyLingGenEffectCache)
-        self.ipyLoveGiftCache = self.__LoadFileData("LoveGift", IPY_LoveGift)
-        self.ipyLoveGiftLen = len(self.ipyLoveGiftCache)
-        self.ipyMarryCache = self.__LoadFileData("Marry", IPY_Marry)
-        self.ipyMarryLen = len(self.ipyMarryCache)
-        self.ipyLoveRingCache = self.__LoadFileData("LoveRing", IPY_LoveRing)
-        self.ipyLoveRingLen = len(self.ipyLoveRingCache)
-        self.ipyLoveCharmCache = self.__LoadFileData("LoveCharm", IPY_LoveCharm)
-        self.ipyLoveCharmLen = len(self.ipyLoveCharmCache)
-        self.ipyHorsePetSkinCache = self.__LoadFileData("HorsePetSkin", IPY_HorsePetSkin)
-        self.ipyHorsePetSkinLen = len(self.ipyHorsePetSkinCache)
-        self.ipyAssistThanksGiftCache = self.__LoadFileData("AssistThanksGift", IPY_AssistThanksGift)
-        self.ipyAssistThanksGiftLen = len(self.ipyAssistThanksGiftCache)
-        self.ipyFuncSysPrivilegeCache = self.__LoadFileData("FuncSysPrivilege", IPY_FuncSysPrivilege)
-        self.ipyFuncSysPrivilegeLen = len(self.ipyFuncSysPrivilegeCache)
-        self.ipyHistoryRechargeAwardCache = self.__LoadFileData("HistoryRechargeAward", IPY_HistoryRechargeAward)
-        self.ipyHistoryRechargeAwardLen = len(self.ipyHistoryRechargeAwardCache)
-        self.ipyCustomAwardCache = self.__LoadFileData("CustomAward", IPY_CustomAward)
-        self.ipyCustomAwardLen = len(self.ipyCustomAwardCache)
-        self.ipyZhanlingCache = self.__LoadFileData("Zhanling", IPY_Zhanling)
-        self.ipyZhanlingLen = len(self.ipyZhanlingCache)
-        self.ipyTreeLVCache = self.__LoadFileData("TreeLV", IPY_TreeLV)
-        self.ipyTreeLVLen = len(self.ipyTreeLVCache)
-        Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict))
-        Log("IPY_DataMgr InitOK!")
+    def IpyDataClear(self, onlyCheck=False):
+        Log("IPY_DataMgr Reload... onlyCheck=%s" % onlyCheck)
+        if not onlyCheck:
+            self.ipyConfigEx = {}
+        self.__LoadFileData("Dienstgrad", onlyCheck)
+        self.__LoadFileData("TitleStarUp", onlyCheck)
+        self.__LoadFileData("CreateRole", onlyCheck)
+        self.__LoadFileData("RolePoint", onlyCheck)
+        self.__LoadFileData("LingQiAttr", onlyCheck)
+        self.__LoadFileData("LingQiTrain", onlyCheck)
+        self.__LoadFileData("Task", onlyCheck)
+        self.__LoadFileData("RealmXXZL", onlyCheck)
+        self.__LoadFileData("Realm", onlyCheck)
+        self.__LoadFileData("RealmTower", onlyCheck)
+        self.__LoadFileData("LianTi", onlyCheck)
+        self.__LoadFileData("GodWeapon", onlyCheck)
+        self.__LoadFileData("FuncConfig", onlyCheck)
+        self.__LoadFileData("FuncOpenLV", onlyCheck)
+        self.__LoadFileData("ItemCompound", onlyCheck)
+        self.__LoadFileData("ItemPlus", onlyCheck)
+        self.__LoadFileData("EquipControl", onlyCheck)
+        self.__LoadFileData("ItemPlusMaster", onlyCheck)
+        self.__LoadFileData("ItemPlusMax", onlyCheck)
+        self.__LoadFileData("RoleEquipStars", onlyCheck)
+        self.__LoadFileData("Dogz", onlyCheck)
+        self.__LoadFileData("DogzEquipPlus", onlyCheck)
+        self.__LoadFileData("Rune", onlyCheck)
+        self.__LoadFileData("EquipWash", onlyCheck)
+        self.__LoadFileData("AttrFruit", onlyCheck)
+        self.__LoadFileData("PetInfo", onlyCheck)
+        self.__LoadFileData("PetStarUp", onlyCheck)
+        self.__LoadFileData("PetTrain", onlyCheck)
+        self.__LoadFileData("EquipDecompose", onlyCheck)
+        self.__LoadFileData("PetClassCost", onlyCheck)
+        self.__LoadFileData("PetEatEquip", onlyCheck)
+        self.__LoadFileData("FaQiLVUp", onlyCheck)
+        self.__LoadFileData("HorseLVUp", onlyCheck)
+        self.__LoadFileData("HorseTrain", onlyCheck)
+        self.__LoadFileData("HorseSkinPlus", onlyCheck)
+        self.__LoadFileData("Horse", onlyCheck)
+        self.__LoadFileData("HorseStarUp", onlyCheck)
+        self.__LoadFileData("Gubao", onlyCheck)
+        self.__LoadFileData("GubaoStar", onlyCheck)
+        self.__LoadFileData("GubaoEffAttr", onlyCheck)
+        self.__LoadFileData("GubaoLV", onlyCheck)
+        self.__LoadFileData("Shentong", onlyCheck)
+        self.__LoadFileData("ShentongLV", onlyCheck)
+        self.__LoadFileData("PlayerLV", onlyCheck)
+        self.__LoadFileData("SpecMapPlayerAttrFormat", onlyCheck)
+        self.__LoadFileData("GMAttr", onlyCheck)
+        self.__LoadFileData("NPCEx", onlyCheck)
+        self.__LoadFileData("NPCRealmStrengthen", onlyCheck)
+        self.__LoadFileData("NPCStrengthen", onlyCheck)
+        self.__LoadFileData("NPCTimeLostHP", onlyCheck)
+        self.__LoadFileData("EquipSuitAttr", onlyCheck)
+        self.__LoadFileData("WingRefineAttr", onlyCheck)
+        self.__LoadFileData("WingRefineExp", onlyCheck)
+        self.__LoadFileData("FamilyTech", onlyCheck)
+        self.__LoadFileData("FightPowerParam", onlyCheck)
+        self.__LoadFileData("NPCDropItem", onlyCheck)
+        self.__LoadFileData("RuneTower", onlyCheck)
+        self.__LoadFileData("ChinMap", onlyCheck)
+        self.__LoadFileData("FBFunc", onlyCheck)
+        self.__LoadFileData("FBLine", onlyCheck)
+        self.__LoadFileData("FBTurn", onlyCheck)
+        self.__LoadFileData("FBHelpBattle", onlyCheck)
+        self.__LoadFileData("NPCCustomRefresh", onlyCheck)
+        self.__LoadFileData("DailyAction", onlyCheck)
+        self.__LoadFileData("EquipColor", onlyCheck)
+        self.__LoadFileData("EquipColorPlace", onlyCheck)
+        self.__LoadFileData("EquipGSParam", onlyCheck)
+        self.__LoadFileData("Success", onlyCheck)
+        self.__LoadFileData("TongTianLV", onlyCheck)
+        self.__LoadFileData("TongTianTask", onlyCheck)
+        self.__LoadFileData("Treasure", onlyCheck)
+        self.__LoadFileData("TreasureUp", onlyCheck)
+        self.__LoadFileData("ContineSignAward", onlyCheck)
+        self.__LoadFileData("SignAward", onlyCheck)
+        self.__LoadFileData("VIPAward", onlyCheck)
+        self.__LoadFileData("AppointItem", onlyCheck)
+        self.__LoadFileData("AuctionItem", onlyCheck)
+        self.__LoadFileData("VipPrivilege", onlyCheck)
+        self.__LoadFileData("Store", onlyCheck)
+        self.__LoadFileData("ActSpringSale", onlyCheck)
+        self.__LoadFileData("DailyQuest", onlyCheck)
+        self.__LoadFileData("DailyLivenessReward", onlyCheck)
+        self.__LoadFileData("ActivityPlaceReward", onlyCheck)
+        self.__LoadFileData("RefineStove", onlyCheck)
+        self.__LoadFileData("Alchemy", onlyCheck)
+        self.__LoadFileData("AlchemyResult", onlyCheck)
+        self.__LoadFileData("BOSSInfo", onlyCheck)
+        self.__LoadFileData("BOSSFirstKill", onlyCheck)
+        self.__LoadFileData("ElderGodArea", onlyCheck)
+        self.__LoadFileData("PersonalBoss", onlyCheck)
+        self.__LoadFileData("FamilyActivity", onlyCheck)
+        self.__LoadFileData("FamilyRedPack", onlyCheck)
+        self.__LoadFileData("ActFeastRedPacketSucc", onlyCheck)
+        self.__LoadFileData("NPCShow", onlyCheck)
+        self.__LoadFileData("SealDemon", onlyCheck)
+        self.__LoadFileData("FbEncourage", onlyCheck)
+        self.__LoadFileData("MapRefreshNPC", onlyCheck)
+        self.__LoadFileData("RuneCompound", onlyCheck)
+        self.__LoadFileData("ResourcesBack", onlyCheck)
+        self.__LoadFileData("CollectNPC", onlyCheck)
+        self.__LoadFileData("TreasureNPC", onlyCheck)
+        self.__LoadFileData("Chests", onlyCheck)
+        self.__LoadFileData("ChestsAward", onlyCheck)
+        self.__LoadFileData("VIPKillNPC", onlyCheck)
+        self.__LoadFileData("OSCBillRankAward", onlyCheck)
+        self.__LoadFileData("OSCBillTagAward", onlyCheck)
+        self.__LoadFileData("LoginDayAward", onlyCheck)
+        self.__LoadFileData("OnlineAwardNew", onlyCheck)
+        self.__LoadFileData("SpringSale", onlyCheck)
+        self.__LoadFileData("OrderInfo", onlyCheck)
+        self.__LoadFileData("CTG", onlyCheck)
+        self.__LoadFileData("FirstGold", onlyCheck)
+        self.__LoadFileData("LVAward", onlyCheck)
+        self.__LoadFileData("Invest", onlyCheck)
+        self.__LoadFileData("XBXZ", onlyCheck)
+        self.__LoadFileData("TreasureHouse", onlyCheck)
+        self.__LoadFileData("FreeGoods", onlyCheck)
+        self.__LoadFileData("ActFlashGiftbag", onlyCheck)
+        self.__LoadFileData("FlashGiftbag", onlyCheck)
+        self.__LoadFileData("ActDailyGiftbag", onlyCheck)
+        self.__LoadFileData("DailyGiftbag", onlyCheck)
+        self.__LoadFileData("ActExpRate", onlyCheck)
+        self.__LoadFileData("ActCostRebate", onlyCheck)
+        self.__LoadFileData("CostRebateTemplate", onlyCheck)
+        self.__LoadFileData("ActBuyOne", onlyCheck)
+        self.__LoadFileData("ActBuyOneTemplate", onlyCheck)
+        self.__LoadFileData("ActCollectWords", onlyCheck)
+        self.__LoadFileData("CollectWordsExchange", onlyCheck)
+        self.__LoadFileData("ActGarbageSorting", onlyCheck)
+        self.__LoadFileData("ActGarbageTask", onlyCheck)
+        self.__LoadFileData("ActBossTrial", onlyCheck)
+        self.__LoadFileData("ActBossTrialTemplate", onlyCheck)
+        self.__LoadFileData("ActXianXiaMJ", onlyCheck)
+        self.__LoadFileData("ActXianXiaMJAward", onlyCheck)
+        self.__LoadFileData("ActGodGift", onlyCheck)
+        self.__LoadFileData("ActGodGiftAward", onlyCheck)
+        self.__LoadFileData("ActHorsePetFeast", onlyCheck)
+        self.__LoadFileData("ActBossReborn", onlyCheck)
+        self.__LoadFileData("BossReborn", onlyCheck)
+        self.__LoadFileData("ActRealmPoint", onlyCheck)
+        self.__LoadFileData("TrialExchange", onlyCheck)
+        self.__LoadFileData("AllPeopleParty", onlyCheck)
+        self.__LoadFileData("AllPeoplePartyAward", onlyCheck)
+        self.__LoadFileData("MapEventPoint", onlyCheck)
+        self.__LoadFileData("TalentSkill", onlyCheck)
+        self.__LoadFileData("ActFlashSale", onlyCheck)
+        self.__LoadFileData("ActWishingWell", onlyCheck)
+        self.__LoadFileData("WishingWell", onlyCheck)
+        self.__LoadFileData("FunctionForecast", onlyCheck)
+        self.__LoadFileData("ChatBubbleBox", onlyCheck)
+        self.__LoadFileData("ActRechargePrize", onlyCheck)
+        self.__LoadFileData("RechargePrizeTemplate", onlyCheck)
+        self.__LoadFileData("ActTotalRecharge", onlyCheck)
+        self.__LoadFileData("TotalRechargeTemplate", onlyCheck)
+        self.__LoadFileData("ActRechargeRebateGold", onlyCheck)
+        self.__LoadFileData("RechargeRebateGoldTemplate", onlyCheck)
+        self.__LoadFileData("ActGrowupBuy", onlyCheck)
+        self.__LoadFileData("ActManyDayRecharge", onlyCheck)
+        self.__LoadFileData("ActManyDayRechargeAward", onlyCheck)
+        self.__LoadFileData("ActTurntable", onlyCheck)
+        self.__LoadFileData("ActSingleRecharge", onlyCheck)
+        self.__LoadFileData("ActSingleRechargeAward", onlyCheck)
+        self.__LoadFileData("MagicWeaponFB", onlyCheck)
+        self.__LoadFileData("IceLodeStarAward", onlyCheck)
+        self.__LoadFileData("CrossRealmPKDan", onlyCheck)
+        self.__LoadFileData("CrossRealmPKDanAward", onlyCheck)
+        self.__LoadFileData("CrossRealmPKOrderAward", onlyCheck)
+        self.__LoadFileData("CrossZoneComm", onlyCheck)
+        self.__LoadFileData("CrossZonePK", onlyCheck)
+        self.__LoadFileData("CrossPenglaiZoneMap", onlyCheck)
+        self.__LoadFileData("CrossDemonLandZoneMap", onlyCheck)
+        self.__LoadFileData("GatherSoul", onlyCheck)
+        self.__LoadFileData("GatherSoulCompound", onlyCheck)
+        self.__LoadFileData("GatherSoulAttr", onlyCheck)
+        self.__LoadFileData("MagicWeaponOfKing", onlyCheck)
+        self.__LoadFileData("Coat", onlyCheck)
+        self.__LoadFileData("CoatChestUp", onlyCheck)
+        self.__LoadFileData("ActWeekParty", onlyCheck)
+        self.__LoadFileData("WeekParty", onlyCheck)
+        self.__LoadFileData("ActLoginAward", onlyCheck)
+        self.__LoadFileData("LoginAward", onlyCheck)
+        self.__LoadFileData("ActFeastLogin", onlyCheck)
+        self.__LoadFileData("ActFeastLoginAward", onlyCheck)
+        self.__LoadFileData("ActFeastWish", onlyCheck)
+        self.__LoadFileData("ActFeastWishBottle", onlyCheck)
+        self.__LoadFileData("ActFeastWishPool", onlyCheck)
+        self.__LoadFileData("ActFeastTravel", onlyCheck)
+        self.__LoadFileData("ActFeastTravelTask", onlyCheck)
+        self.__LoadFileData("ActFeastTravelAward", onlyCheck)
+        self.__LoadFileData("ZhuXianBoss", onlyCheck)
+        self.__LoadFileData("ActFeastWeekParty", onlyCheck)
+        self.__LoadFileData("FeastWeekParty", onlyCheck)
+        self.__LoadFileData("NewAllPeopleParty", onlyCheck)
+        self.__LoadFileData("NewAllPeoplePartyAward", onlyCheck)
+        self.__LoadFileData("ActLuckyTreasure", onlyCheck)
+        self.__LoadFileData("LuckyTreasureTemplate", onlyCheck)
+        self.__LoadFileData("CrossActCTGBillboardDabiao", onlyCheck)
+        self.__LoadFileData("CrossActCTGBillboardOrder", onlyCheck)
+        self.__LoadFileData("MysteryShop", onlyCheck)
+        self.__LoadFileData("EquipPlaceIndexMap", onlyCheck)
+        self.__LoadFileData("EquipShenAttr", onlyCheck)
+        self.__LoadFileData("EquipShenEvolve", onlyCheck)
+        self.__LoadFileData("EquipStarUp", onlyCheck)
+        self.__LoadFileData("EquipPlusEvolve", onlyCheck)
+        self.__LoadFileData("FamilyBossAward", onlyCheck)
+        self.__LoadFileData("FamilyBossHurtAward", onlyCheck)
+        self.__LoadFileData("FamilyZhenfa", onlyCheck)
+        self.__LoadFileData("ItemWashMax", onlyCheck)
+        self.__LoadFileData("HorsePetBossAward", onlyCheck)
+        self.__LoadFileData("FairyDomain", onlyCheck)
+        self.__LoadFileData("FairyAdventures", onlyCheck)
+        self.__LoadFileData("FairyDomainAppoint", onlyCheck)
+        self.__LoadFileData("FBBuyBuff", onlyCheck)
+        self.__LoadFileData("SkillElement", onlyCheck)
+        self.__LoadFileData("SkyTower", onlyCheck)
+        self.__LoadFileData("SkyTowerServerChallenge", onlyCheck)
+        self.__LoadFileData("LingGenEffect", onlyCheck)
+        self.__LoadFileData("LoveGift", onlyCheck)
+        self.__LoadFileData("Marry", onlyCheck)
+        self.__LoadFileData("LoveRing", onlyCheck)
+        self.__LoadFileData("LoveCharm", onlyCheck)
+        self.__LoadFileData("HorsePetSkin", onlyCheck)
+        self.__LoadFileData("AssistThanksGift", onlyCheck)
+        self.__LoadFileData("FuncSysPrivilege", onlyCheck)
+        self.__LoadFileData("HistoryRechargeAward", onlyCheck)
+        self.__LoadFileData("CustomAward", onlyCheck)
+        self.__LoadFileData("Zhanling", onlyCheck)
+        self.__LoadFileData("TreeLV", onlyCheck)
+        Log("IPY_DataMgr ReloadOK! onlyCheck=%s" % onlyCheck)
         return
     
-    def __LoadFileData(self, tableName, Class):
+    def CheckLoadData(self, dtName):
+        if hasattr(self, "ipy%sLen" % dtName):
+            return
+        setattr(self, "ipy%sLen" % dtName, 0) # 设置该属性,通过判断是否有该属性决定是否加载
+        self.__LoadFileData(dtName)
+        return
+    
+    def __LoadFileData(self, tableName, onlyCheck=False):
+        # @param onlyCheck: 是否仅检查格式,一般启动时用
         curPath = ChConfig.GetDBPath() + "\\PySysDB\\tag" + tableName + ".txt"
         if not os.path.isfile(curPath):
             ErrLog("can not find file = %s,%s" % (tableName, curPath))
             raise Exception("can not find file = %s,%s" % (tableName, curPath))
         
+        if not onlyCheck:
+            if not hasattr(self, "ipy%sLen" % tableName):
+                # 没有该属性的不加载
+                return
+        
         fileObj = open(curPath, 'rb')
         content = fileObj.read()
         fileObj.close()
         
-        md5_obj = hashlib.md5()
-        md5_obj.update(content)
-        newMD5Code = md5_obj.hexdigest()
-        if tableName in self.fileMD5Dict:
-            oldMD5Code = self.fileMD5Dict[tableName]
-            if newMD5Code == oldMD5Code:
-                return getattr(self, "ipy%sCache" % tableName)
+        if not onlyCheck:
+            md5_obj = hashlib.md5()
+            md5_obj.update(content)
+            newMD5Code = md5_obj.hexdigest()
+            if tableName in self.fileMD5Dict:
+                oldMD5Code = self.fileMD5Dict[tableName]
+                if newMD5Code == oldMD5Code:
+                    return getattr(self, "ipy%sCache" % tableName)
+                
+                if tableName in self.ipyDataIndexMap:
+                    self.ipyDataIndexMap.pop(tableName)
+                for dtName_Findkey in self.ipyDataIndexMapEx.keys():
+                    findStr = "%s_" % tableName
+                    if findStr in dtName_Findkey:
+                        self.ipyDataIndexMapEx.pop(dtName_Findkey)
+                if tableName == "FuncConfig":
+                    self.ipyFuncConfigDict = {}
+            self.fileMD5Dict[tableName] = newMD5Code
             
-            if tableName in self.ipyDataIndexMap:
-                self.ipyDataIndexMap.pop(tableName)
-            for dtName_Findkey in self.ipyDataIndexMapEx.keys():
-                findStr = "%s_" % tableName
-                if findStr in dtName_Findkey:
-                    self.ipyDataIndexMapEx.pop(dtName_Findkey)
-            if tableName == "FuncConfig":
-                self.ipyFuncConfigDict = {}
-        self.fileMD5Dict[tableName] = newMD5Code
-        
         dataIndex = 0
         indexDict = {}
         cacheList = []
         fieldList = Def_IpyTable[tableName]
         infoList = content.split('\r\n')
+        curClassSizeTotal = 0
+        dataCount = 0
+        Class = eval("IPY_%s" % tableName)
         for line in xrange(len(infoList)):
             if line == 0:
                 continue
@@ -7542,10 +5994,16 @@
             if len(fieldList) != len(rowList):
                 ErrLog("field count error!, %s, line=%s, len=%s,rowCount=%s" % (tableName, line, len(fieldList), len(rowList)))
                 raise Exception("field count error!, %s, line=%s, len=%s,rowCount=%s" % (tableName, line,len(fieldList), len(rowList)))
-            
+            if tableName == "FuncConfig":
+                classObj = self.__LoadFuncConfigData(fieldList, rowList, onlyCheck)
+                dataCount += 1
+                if onlyCheck:
+                    continue
+                curClassSizeTotal += ChConfig.GetSizeof(classObj)
+                continue
             try:
                 indexKey = []
-                classObj = Class()
+                valueList = []
                 for j, value in enumerate(rowList):
                     fieldType, fieldName, isIndex = fieldList[j]
                     if fieldType == "char":
@@ -7560,9 +6018,15 @@
                         attrValue = float(value)
                     else:
                         attrValue = 0 if not value.isdigit() else int(value)
-                    setattr(classObj, "%s" % fieldName, attrValue)
+                    valueList.append(attrValue)
                     if isIndex:
                         indexKey.append(attrValue)
+                dataCount += 1
+                if onlyCheck:
+                    continue
+                classObj = Class()
+                setattr(classObj, "attrTuple", tuple(valueList))
+                curClassSizeTotal += ChConfig.GetSizeof(classObj)
                 cacheList.append(classObj)
                 indexKey = tuple(indexKey)
                 indexList = indexDict.get(indexKey, [])
@@ -7572,22 +6036,26 @@
             except BaseException:
                 ErrLog("SetIpyDataError: tableName=%s,line=%s,fieldName=%s,fieldType=%s,value=%s" % (tableName, line, fieldName, fieldType, value))
                 raise
-            if tableName == "FuncConfig":
-                self.__LoadFuncConfigData(fieldList, rowList)
+        if onlyCheck:
+            Log("CheckIpydata: %s, dataCount=%s OK" % (tableName, dataCount))
+            return
         if tableName != "FuncConfig":
             self.ipyDataIndexMap[tableName] = indexDict
-        Log("LoadIpydata: %s, content count=%s" % (tableName, len(cacheList)))
-        return cacheList
+        self.classSizeDict[tableName] = curClassSizeTotal
+        classSizeTotal = sum(self.classSizeDict.values())
+        alreadyLoad = len(self.classSizeDict)
+        setattr(self, "ipy%sCache" % tableName, cacheList)
+        setattr(self, "ipy%sLen" % tableName, len(cacheList))
+        Log("LoadIpydata: %s, dataCount=%s, alreadyLoad=%s" % (tableName, dataCount, alreadyLoad), curClassSizeTotal, classSizeTotal)
+        return
     
-    def __LoadFuncConfigData(self, fieldList, rowList):
-        funcConfigObj = IPY_FuncConfig()
+    def __LoadFuncConfigData(self, fieldList, rowList, onlyCheck):
         key = rowList[0]
-        funcConfigObj.Key = key
+        valueList = [key]
         for i, strValue in enumerate(rowList):
             if i == 0:
                 continue
             try:
-                fieldName = fieldList[i][1]
                 strValue = strValue.lstrip().rstrip()
                 if strValue.isdigit():
                     configValue = int(strValue)
@@ -7606,9 +6074,15 @@
             except BaseException:
                 ErrLog("SetIpyDataError: tableName=%s,key=%s,i=%s,value=%s" % ("FuncConfig", key, i, strValue))
                 raise
-            setattr(funcConfigObj, fieldName, configValue)
+            if onlyCheck:
+                continue
+            valueList.append(configValue)
+        if onlyCheck:
+            return
+        funcConfigObj = IPY_FuncConfig()
+        setattr(funcConfigObj, "attrTuple", tuple(valueList))
         self.ipyFuncConfigDict[key] = funcConfigObj
-        return
+        return funcConfigObj
     
     def __ToFloat(self, strValue):
         try:
@@ -7661,462 +6135,1602 @@
                 setList = tuple(setList)
         return setList
     
-    def GetDienstgradCount(self): return self.ipyDienstgradLen
-    def GetDienstgradByIndex(self, index): return self.ipyDienstgradCache[index]
-    def GetTitleStarUpCount(self): return self.ipyTitleStarUpLen
-    def GetTitleStarUpByIndex(self, index): return self.ipyTitleStarUpCache[index]
-    def GetCreateRoleCount(self): return self.ipyCreateRoleLen
-    def GetCreateRoleByIndex(self, index): return self.ipyCreateRoleCache[index]
-    def GetRolePointCount(self): return self.ipyRolePointLen
-    def GetRolePointByIndex(self, index): return self.ipyRolePointCache[index]
-    def GetLingQiAttrCount(self): return self.ipyLingQiAttrLen
-    def GetLingQiAttrByIndex(self, index): return self.ipyLingQiAttrCache[index]
-    def GetLingQiTrainCount(self): return self.ipyLingQiTrainLen
-    def GetLingQiTrainByIndex(self, index): return self.ipyLingQiTrainCache[index]
-    def GetTaskCount(self): return self.ipyTaskLen
-    def GetTaskByIndex(self, index): return self.ipyTaskCache[index]
-    def GetRealmXXZLCount(self): return self.ipyRealmXXZLLen
-    def GetRealmXXZLByIndex(self, index): return self.ipyRealmXXZLCache[index]
-    def GetRealmCount(self): return self.ipyRealmLen
-    def GetRealmByIndex(self, index): return self.ipyRealmCache[index]
-    def GetRealmTowerCount(self): return self.ipyRealmTowerLen
-    def GetRealmTowerByIndex(self, index): return self.ipyRealmTowerCache[index]
-    def GetLianTiCount(self): return self.ipyLianTiLen
-    def GetLianTiByIndex(self, index): return self.ipyLianTiCache[index]
-    def GetGodWeaponCount(self): return self.ipyGodWeaponLen
-    def GetGodWeaponByIndex(self, index): return self.ipyGodWeaponCache[index]
-    def GetFuncConfigCount(self): return self.ipyFuncConfigLen
-    def GetFuncConfigByIndex(self, index): return self.ipyFuncConfigCache[index]
-    def GetFuncOpenLVCount(self): return self.ipyFuncOpenLVLen
-    def GetFuncOpenLVByIndex(self, index): return self.ipyFuncOpenLVCache[index]
-    def GetItemCompoundCount(self): return self.ipyItemCompoundLen
-    def GetItemCompoundByIndex(self, index): return self.ipyItemCompoundCache[index]
-    def GetItemPlusCount(self): return self.ipyItemPlusLen
-    def GetItemPlusByIndex(self, index): return self.ipyItemPlusCache[index]
-    def GetEquipControlCount(self): return self.ipyEquipControlLen
-    def GetEquipControlByIndex(self, index): return self.ipyEquipControlCache[index]
-    def GetItemPlusMasterCount(self): return self.ipyItemPlusMasterLen
-    def GetItemPlusMasterByIndex(self, index): return self.ipyItemPlusMasterCache[index]
-    def GetItemPlusMaxCount(self): return self.ipyItemPlusMaxLen
-    def GetItemPlusMaxByIndex(self, index): return self.ipyItemPlusMaxCache[index]
-    def GetRoleEquipStarsCount(self): return self.ipyRoleEquipStarsLen
-    def GetRoleEquipStarsByIndex(self, index): return self.ipyRoleEquipStarsCache[index]
-    def GetDogzCount(self): return self.ipyDogzLen
-    def GetDogzByIndex(self, index): return self.ipyDogzCache[index]
-    def GetDogzEquipPlusCount(self): return self.ipyDogzEquipPlusLen
-    def GetDogzEquipPlusByIndex(self, index): return self.ipyDogzEquipPlusCache[index]
-    def GetRuneCount(self): return self.ipyRuneLen
-    def GetRuneByIndex(self, index): return self.ipyRuneCache[index]
-    def GetEquipWashCount(self): return self.ipyEquipWashLen
-    def GetEquipWashByIndex(self, index): return self.ipyEquipWashCache[index]
-    def GetAttrFruitCount(self): return self.ipyAttrFruitLen
-    def GetAttrFruitByIndex(self, index): return self.ipyAttrFruitCache[index]
-    def GetPetInfoCount(self): return self.ipyPetInfoLen
-    def GetPetInfoByIndex(self, index): return self.ipyPetInfoCache[index]
-    def GetPetStarUpCount(self): return self.ipyPetStarUpLen
-    def GetPetStarUpByIndex(self, index): return self.ipyPetStarUpCache[index]
-    def GetPetTrainCount(self): return self.ipyPetTrainLen
-    def GetPetTrainByIndex(self, index): return self.ipyPetTrainCache[index]
-    def GetEquipDecomposeCount(self): return self.ipyEquipDecomposeLen
-    def GetEquipDecomposeByIndex(self, index): return self.ipyEquipDecomposeCache[index]
-    def GetPetClassCostCount(self): return self.ipyPetClassCostLen
-    def GetPetClassCostByIndex(self, index): return self.ipyPetClassCostCache[index]
-    def GetPetEatEquipCount(self): return self.ipyPetEatEquipLen
-    def GetPetEatEquipByIndex(self, index): return self.ipyPetEatEquipCache[index]
-    def GetFaQiLVUpCount(self): return self.ipyFaQiLVUpLen
-    def GetFaQiLVUpByIndex(self, index): return self.ipyFaQiLVUpCache[index]
-    def GetHorseLVUpCount(self): return self.ipyHorseLVUpLen
-    def GetHorseLVUpByIndex(self, index): return self.ipyHorseLVUpCache[index]
-    def GetHorseTrainCount(self): return self.ipyHorseTrainLen
-    def GetHorseTrainByIndex(self, index): return self.ipyHorseTrainCache[index]
-    def GetHorseSkinPlusCount(self): return self.ipyHorseSkinPlusLen
-    def GetHorseSkinPlusByIndex(self, index): return self.ipyHorseSkinPlusCache[index]
-    def GetHorseCount(self): return self.ipyHorseLen
-    def GetHorseByIndex(self, index): return self.ipyHorseCache[index]
-    def GetHorseStarUpCount(self): return self.ipyHorseStarUpLen
-    def GetHorseStarUpByIndex(self, index): return self.ipyHorseStarUpCache[index]
-    def GetGubaoCount(self): return self.ipyGubaoLen
-    def GetGubaoByIndex(self, index): return self.ipyGubaoCache[index]
-    def GetGubaoStarCount(self): return self.ipyGubaoStarLen
-    def GetGubaoStarByIndex(self, index): return self.ipyGubaoStarCache[index]
-    def GetGubaoEffAttrCount(self): return self.ipyGubaoEffAttrLen
-    def GetGubaoEffAttrByIndex(self, index): return self.ipyGubaoEffAttrCache[index]
-    def GetGubaoLVCount(self): return self.ipyGubaoLVLen
-    def GetGubaoLVByIndex(self, index): return self.ipyGubaoLVCache[index]
-    def GetShentongCount(self): return self.ipyShentongLen
-    def GetShentongByIndex(self, index): return self.ipyShentongCache[index]
-    def GetShentongLVCount(self): return self.ipyShentongLVLen
-    def GetShentongLVByIndex(self, index): return self.ipyShentongLVCache[index]
-    def GetPlayerLVCount(self): return self.ipyPlayerLVLen
-    def GetPlayerLVByIndex(self, index): return self.ipyPlayerLVCache[index]
-    def GetSpecMapPlayerAttrFormatCount(self): return self.ipySpecMapPlayerAttrFormatLen
-    def GetSpecMapPlayerAttrFormatByIndex(self, index): return self.ipySpecMapPlayerAttrFormatCache[index]
-    def GetGMAttrCount(self): return self.ipyGMAttrLen
-    def GetGMAttrByIndex(self, index): return self.ipyGMAttrCache[index]
-    def GetNPCExCount(self): return self.ipyNPCExLen
-    def GetNPCExByIndex(self, index): return self.ipyNPCExCache[index]
-    def GetNPCRealmStrengthenCount(self): return self.ipyNPCRealmStrengthenLen
-    def GetNPCRealmStrengthenByIndex(self, index): return self.ipyNPCRealmStrengthenCache[index]
-    def GetNPCStrengthenCount(self): return self.ipyNPCStrengthenLen
-    def GetNPCStrengthenByIndex(self, index): return self.ipyNPCStrengthenCache[index]
-    def GetNPCTimeLostHPCount(self): return self.ipyNPCTimeLostHPLen
-    def GetNPCTimeLostHPByIndex(self, index): return self.ipyNPCTimeLostHPCache[index]
-    def GetEquipSuitAttrCount(self): return self.ipyEquipSuitAttrLen
-    def GetEquipSuitAttrByIndex(self, index): return self.ipyEquipSuitAttrCache[index]
-    def GetWingRefineAttrCount(self): return self.ipyWingRefineAttrLen
-    def GetWingRefineAttrByIndex(self, index): return self.ipyWingRefineAttrCache[index]
-    def GetWingRefineExpCount(self): return self.ipyWingRefineExpLen
-    def GetWingRefineExpByIndex(self, index): return self.ipyWingRefineExpCache[index]
-    def GetFamilyTechCount(self): return self.ipyFamilyTechLen
-    def GetFamilyTechByIndex(self, index): return self.ipyFamilyTechCache[index]
-    def GetFightPowerParamCount(self): return self.ipyFightPowerParamLen
-    def GetFightPowerParamByIndex(self, index): return self.ipyFightPowerParamCache[index]
-    def GetNPCDropItemCount(self): return self.ipyNPCDropItemLen
-    def GetNPCDropItemByIndex(self, index): return self.ipyNPCDropItemCache[index]
-    def GetRuneTowerCount(self): return self.ipyRuneTowerLen
-    def GetRuneTowerByIndex(self, index): return self.ipyRuneTowerCache[index]
-    def GetChinMapCount(self): return self.ipyChinMapLen
-    def GetChinMapByIndex(self, index): return self.ipyChinMapCache[index]
-    def GetFBFuncCount(self): return self.ipyFBFuncLen
-    def GetFBFuncByIndex(self, index): return self.ipyFBFuncCache[index]
-    def GetFBLineCount(self): return self.ipyFBLineLen
-    def GetFBLineByIndex(self, index): return self.ipyFBLineCache[index]
-    def GetFBTurnCount(self): return self.ipyFBTurnLen
-    def GetFBTurnByIndex(self, index): return self.ipyFBTurnCache[index]
-    def GetFBHelpBattleCount(self): return self.ipyFBHelpBattleLen
-    def GetFBHelpBattleByIndex(self, index): return self.ipyFBHelpBattleCache[index]
-    def GetNPCCustomRefreshCount(self): return self.ipyNPCCustomRefreshLen
-    def GetNPCCustomRefreshByIndex(self, index): return self.ipyNPCCustomRefreshCache[index]
-    def GetDailyActionCount(self): return self.ipyDailyActionLen
-    def GetDailyActionByIndex(self, index): return self.ipyDailyActionCache[index]
-    def GetEquipColorCount(self): return self.ipyEquipColorLen
-    def GetEquipColorByIndex(self, index): return self.ipyEquipColorCache[index]
-    def GetEquipColorPlaceCount(self): return self.ipyEquipColorPlaceLen
-    def GetEquipColorPlaceByIndex(self, index): return self.ipyEquipColorPlaceCache[index]
-    def GetEquipGSParamCount(self): return self.ipyEquipGSParamLen
-    def GetEquipGSParamByIndex(self, index): return self.ipyEquipGSParamCache[index]
-    def GetSuccessCount(self): return self.ipySuccessLen
-    def GetSuccessByIndex(self, index): return self.ipySuccessCache[index]
-    def GetTongTianLVCount(self): return self.ipyTongTianLVLen
-    def GetTongTianLVByIndex(self, index): return self.ipyTongTianLVCache[index]
-    def GetTongTianTaskCount(self): return self.ipyTongTianTaskLen
-    def GetTongTianTaskByIndex(self, index): return self.ipyTongTianTaskCache[index]
-    def GetTreasureCount(self): return self.ipyTreasureLen
-    def GetTreasureByIndex(self, index): return self.ipyTreasureCache[index]
-    def GetTreasureUpCount(self): return self.ipyTreasureUpLen
-    def GetTreasureUpByIndex(self, index): return self.ipyTreasureUpCache[index]
-    def GetContineSignAwardCount(self): return self.ipyContineSignAwardLen
-    def GetContineSignAwardByIndex(self, index): return self.ipyContineSignAwardCache[index]
-    def GetSignAwardCount(self): return self.ipySignAwardLen
-    def GetSignAwardByIndex(self, index): return self.ipySignAwardCache[index]
-    def GetVIPAwardCount(self): return self.ipyVIPAwardLen
-    def GetVIPAwardByIndex(self, index): return self.ipyVIPAwardCache[index]
-    def GetAppointItemCount(self): return self.ipyAppointItemLen
-    def GetAppointItemByIndex(self, index): return self.ipyAppointItemCache[index]
-    def GetAuctionItemCount(self): return self.ipyAuctionItemLen
-    def GetAuctionItemByIndex(self, index): return self.ipyAuctionItemCache[index]
-    def GetVipPrivilegeCount(self): return self.ipyVipPrivilegeLen
-    def GetVipPrivilegeByIndex(self, index): return self.ipyVipPrivilegeCache[index]
-    def GetStoreCount(self): return self.ipyStoreLen
-    def GetStoreByIndex(self, index): return self.ipyStoreCache[index]
-    def GetActSpringSaleCount(self): return self.ipyActSpringSaleLen
-    def GetActSpringSaleByIndex(self, index): return self.ipyActSpringSaleCache[index]
-    def GetDailyQuestCount(self): return self.ipyDailyQuestLen
-    def GetDailyQuestByIndex(self, index): return self.ipyDailyQuestCache[index]
-    def GetDailyLivenessRewardCount(self): return self.ipyDailyLivenessRewardLen
-    def GetDailyLivenessRewardByIndex(self, index): return self.ipyDailyLivenessRewardCache[index]
-    def GetActivityPlaceRewardCount(self): return self.ipyActivityPlaceRewardLen
-    def GetActivityPlaceRewardByIndex(self, index): return self.ipyActivityPlaceRewardCache[index]
-    def GetRefineStoveCount(self): return self.ipyRefineStoveLen
-    def GetRefineStoveByIndex(self, index): return self.ipyRefineStoveCache[index]
-    def GetAlchemyCount(self): return self.ipyAlchemyLen
-    def GetAlchemyByIndex(self, index): return self.ipyAlchemyCache[index]
-    def GetAlchemyResultCount(self): return self.ipyAlchemyResultLen
-    def GetAlchemyResultByIndex(self, index): return self.ipyAlchemyResultCache[index]
-    def GetBOSSInfoCount(self): return self.ipyBOSSInfoLen
-    def GetBOSSInfoByIndex(self, index): return self.ipyBOSSInfoCache[index]
-    def GetBOSSFirstKillCount(self): return self.ipyBOSSFirstKillLen
-    def GetBOSSFirstKillByIndex(self, index): return self.ipyBOSSFirstKillCache[index]
-    def GetElderGodAreaCount(self): return self.ipyElderGodAreaLen
-    def GetElderGodAreaByIndex(self, index): return self.ipyElderGodAreaCache[index]
-    def GetPersonalBossCount(self): return self.ipyPersonalBossLen
-    def GetPersonalBossByIndex(self, index): return self.ipyPersonalBossCache[index]
-    def GetFamilyActivityCount(self): return self.ipyFamilyActivityLen
-    def GetFamilyActivityByIndex(self, index): return self.ipyFamilyActivityCache[index]
-    def GetFamilyRedPackCount(self): return self.ipyFamilyRedPackLen
-    def GetFamilyRedPackByIndex(self, index): return self.ipyFamilyRedPackCache[index]
-    def GetActFeastRedPacketSuccCount(self): return self.ipyActFeastRedPacketSuccLen
-    def GetActFeastRedPacketSuccByIndex(self, index): return self.ipyActFeastRedPacketSuccCache[index]
-    def GetNPCShowCount(self): return self.ipyNPCShowLen
-    def GetNPCShowByIndex(self, index): return self.ipyNPCShowCache[index]
-    def GetSealDemonCount(self): return self.ipySealDemonLen
-    def GetSealDemonByIndex(self, index): return self.ipySealDemonCache[index]
-    def GetFbEncourageCount(self): return self.ipyFbEncourageLen
-    def GetFbEncourageByIndex(self, index): return self.ipyFbEncourageCache[index]
-    def GetMapRefreshNPCCount(self): return self.ipyMapRefreshNPCLen
-    def GetMapRefreshNPCByIndex(self, index): return self.ipyMapRefreshNPCCache[index]
-    def GetRuneCompoundCount(self): return self.ipyRuneCompoundLen
-    def GetRuneCompoundByIndex(self, index): return self.ipyRuneCompoundCache[index]
-    def GetResourcesBackCount(self): return self.ipyResourcesBackLen
-    def GetResourcesBackByIndex(self, index): return self.ipyResourcesBackCache[index]
-    def GetCollectNPCCount(self): return self.ipyCollectNPCLen
-    def GetCollectNPCByIndex(self, index): return self.ipyCollectNPCCache[index]
-    def GetTreasureNPCCount(self): return self.ipyTreasureNPCLen
-    def GetTreasureNPCByIndex(self, index): return self.ipyTreasureNPCCache[index]
-    def GetChestsCount(self): return self.ipyChestsLen
-    def GetChestsByIndex(self, index): return self.ipyChestsCache[index]
-    def GetChestsAwardCount(self): return self.ipyChestsAwardLen
-    def GetChestsAwardByIndex(self, index): return self.ipyChestsAwardCache[index]
-    def GetVIPKillNPCCount(self): return self.ipyVIPKillNPCLen
-    def GetVIPKillNPCByIndex(self, index): return self.ipyVIPKillNPCCache[index]
-    def GetOSCBillRankAwardCount(self): return self.ipyOSCBillRankAwardLen
-    def GetOSCBillRankAwardByIndex(self, index): return self.ipyOSCBillRankAwardCache[index]
-    def GetOSCBillTagAwardCount(self): return self.ipyOSCBillTagAwardLen
-    def GetOSCBillTagAwardByIndex(self, index): return self.ipyOSCBillTagAwardCache[index]
-    def GetLoginDayAwardCount(self): return self.ipyLoginDayAwardLen
-    def GetLoginDayAwardByIndex(self, index): return self.ipyLoginDayAwardCache[index]
-    def GetOnlineAwardNewCount(self): return self.ipyOnlineAwardNewLen
-    def GetOnlineAwardNewByIndex(self, index): return self.ipyOnlineAwardNewCache[index]
-    def GetSpringSaleCount(self): return self.ipySpringSaleLen
-    def GetSpringSaleByIndex(self, index): return self.ipySpringSaleCache[index]
-    def GetOrderInfoCount(self): return self.ipyOrderInfoLen
-    def GetOrderInfoByIndex(self, index): return self.ipyOrderInfoCache[index]
-    def GetCTGCount(self): return self.ipyCTGLen
-    def GetCTGByIndex(self, index): return self.ipyCTGCache[index]
-    def GetFirstGoldCount(self): return self.ipyFirstGoldLen
-    def GetFirstGoldByIndex(self, index): return self.ipyFirstGoldCache[index]
-    def GetLVAwardCount(self): return self.ipyLVAwardLen
-    def GetLVAwardByIndex(self, index): return self.ipyLVAwardCache[index]
-    def GetInvestCount(self): return self.ipyInvestLen
-    def GetInvestByIndex(self, index): return self.ipyInvestCache[index]
-    def GetXBXZCount(self): return self.ipyXBXZLen
-    def GetXBXZByIndex(self, index): return self.ipyXBXZCache[index]
-    def GetTreasureHouseCount(self): return self.ipyTreasureHouseLen
-    def GetTreasureHouseByIndex(self, index): return self.ipyTreasureHouseCache[index]
-    def GetFreeGoodsCount(self): return self.ipyFreeGoodsLen
-    def GetFreeGoodsByIndex(self, index): return self.ipyFreeGoodsCache[index]
-    def GetActFlashGiftbagCount(self): return self.ipyActFlashGiftbagLen
-    def GetActFlashGiftbagByIndex(self, index): return self.ipyActFlashGiftbagCache[index]
-    def GetFlashGiftbagCount(self): return self.ipyFlashGiftbagLen
-    def GetFlashGiftbagByIndex(self, index): return self.ipyFlashGiftbagCache[index]
-    def GetActDailyGiftbagCount(self): return self.ipyActDailyGiftbagLen
-    def GetActDailyGiftbagByIndex(self, index): return self.ipyActDailyGiftbagCache[index]
-    def GetDailyGiftbagCount(self): return self.ipyDailyGiftbagLen
-    def GetDailyGiftbagByIndex(self, index): return self.ipyDailyGiftbagCache[index]
-    def GetActExpRateCount(self): return self.ipyActExpRateLen
-    def GetActExpRateByIndex(self, index): return self.ipyActExpRateCache[index]
-    def GetActCostRebateCount(self): return self.ipyActCostRebateLen
-    def GetActCostRebateByIndex(self, index): return self.ipyActCostRebateCache[index]
-    def GetCostRebateTemplateCount(self): return self.ipyCostRebateTemplateLen
-    def GetCostRebateTemplateByIndex(self, index): return self.ipyCostRebateTemplateCache[index]
-    def GetActBuyOneCount(self): return self.ipyActBuyOneLen
-    def GetActBuyOneByIndex(self, index): return self.ipyActBuyOneCache[index]
-    def GetActBuyOneTemplateCount(self): return self.ipyActBuyOneTemplateLen
-    def GetActBuyOneTemplateByIndex(self, index): return self.ipyActBuyOneTemplateCache[index]
-    def GetActCollectWordsCount(self): return self.ipyActCollectWordsLen
-    def GetActCollectWordsByIndex(self, index): return self.ipyActCollectWordsCache[index]
-    def GetCollectWordsExchangeCount(self): return self.ipyCollectWordsExchangeLen
-    def GetCollectWordsExchangeByIndex(self, index): return self.ipyCollectWordsExchangeCache[index]
-    def GetActGarbageSortingCount(self): return self.ipyActGarbageSortingLen
-    def GetActGarbageSortingByIndex(self, index): return self.ipyActGarbageSortingCache[index]
-    def GetActGarbageTaskCount(self): return self.ipyActGarbageTaskLen
-    def GetActGarbageTaskByIndex(self, index): return self.ipyActGarbageTaskCache[index]
-    def GetActBossTrialCount(self): return self.ipyActBossTrialLen
-    def GetActBossTrialByIndex(self, index): return self.ipyActBossTrialCache[index]
-    def GetActBossTrialTemplateCount(self): return self.ipyActBossTrialTemplateLen
-    def GetActBossTrialTemplateByIndex(self, index): return self.ipyActBossTrialTemplateCache[index]
-    def GetActXianXiaMJCount(self): return self.ipyActXianXiaMJLen
-    def GetActXianXiaMJByIndex(self, index): return self.ipyActXianXiaMJCache[index]
-    def GetActXianXiaMJAwardCount(self): return self.ipyActXianXiaMJAwardLen
-    def GetActXianXiaMJAwardByIndex(self, index): return self.ipyActXianXiaMJAwardCache[index]
-    def GetActGodGiftCount(self): return self.ipyActGodGiftLen
-    def GetActGodGiftByIndex(self, index): return self.ipyActGodGiftCache[index]
-    def GetActGodGiftAwardCount(self): return self.ipyActGodGiftAwardLen
-    def GetActGodGiftAwardByIndex(self, index): return self.ipyActGodGiftAwardCache[index]
-    def GetActHorsePetFeastCount(self): return self.ipyActHorsePetFeastLen
-    def GetActHorsePetFeastByIndex(self, index): return self.ipyActHorsePetFeastCache[index]
-    def GetActBossRebornCount(self): return self.ipyActBossRebornLen
-    def GetActBossRebornByIndex(self, index): return self.ipyActBossRebornCache[index]
-    def GetBossRebornCount(self): return self.ipyBossRebornLen
-    def GetBossRebornByIndex(self, index): return self.ipyBossRebornCache[index]
-    def GetActRealmPointCount(self): return self.ipyActRealmPointLen
-    def GetActRealmPointByIndex(self, index): return self.ipyActRealmPointCache[index]
-    def GetTrialExchangeCount(self): return self.ipyTrialExchangeLen
-    def GetTrialExchangeByIndex(self, index): return self.ipyTrialExchangeCache[index]
-    def GetAllPeoplePartyCount(self): return self.ipyAllPeoplePartyLen
-    def GetAllPeoplePartyByIndex(self, index): return self.ipyAllPeoplePartyCache[index]
-    def GetAllPeoplePartyAwardCount(self): return self.ipyAllPeoplePartyAwardLen
-    def GetAllPeoplePartyAwardByIndex(self, index): return self.ipyAllPeoplePartyAwardCache[index]
-    def GetMapEventPointCount(self): return self.ipyMapEventPointLen
-    def GetMapEventPointByIndex(self, index): return self.ipyMapEventPointCache[index]
-    def GetTalentSkillCount(self): return self.ipyTalentSkillLen
-    def GetTalentSkillByIndex(self, index): return self.ipyTalentSkillCache[index]
-    def GetActFlashSaleCount(self): return self.ipyActFlashSaleLen
-    def GetActFlashSaleByIndex(self, index): return self.ipyActFlashSaleCache[index]
-    def GetActWishingWellCount(self): return self.ipyActWishingWellLen
-    def GetActWishingWellByIndex(self, index): return self.ipyActWishingWellCache[index]
-    def GetWishingWellCount(self): return self.ipyWishingWellLen
-    def GetWishingWellByIndex(self, index): return self.ipyWishingWellCache[index]
-    def GetFunctionForecastCount(self): return self.ipyFunctionForecastLen
-    def GetFunctionForecastByIndex(self, index): return self.ipyFunctionForecastCache[index]
-    def GetChatBubbleBoxCount(self): return self.ipyChatBubbleBoxLen
-    def GetChatBubbleBoxByIndex(self, index): return self.ipyChatBubbleBoxCache[index]
-    def GetActRechargePrizeCount(self): return self.ipyActRechargePrizeLen
-    def GetActRechargePrizeByIndex(self, index): return self.ipyActRechargePrizeCache[index]
-    def GetRechargePrizeTemplateCount(self): return self.ipyRechargePrizeTemplateLen
-    def GetRechargePrizeTemplateByIndex(self, index): return self.ipyRechargePrizeTemplateCache[index]
-    def GetActTotalRechargeCount(self): return self.ipyActTotalRechargeLen
-    def GetActTotalRechargeByIndex(self, index): return self.ipyActTotalRechargeCache[index]
-    def GetTotalRechargeTemplateCount(self): return self.ipyTotalRechargeTemplateLen
-    def GetTotalRechargeTemplateByIndex(self, index): return self.ipyTotalRechargeTemplateCache[index]
-    def GetActRechargeRebateGoldCount(self): return self.ipyActRechargeRebateGoldLen
-    def GetActRechargeRebateGoldByIndex(self, index): return self.ipyActRechargeRebateGoldCache[index]
-    def GetRechargeRebateGoldTemplateCount(self): return self.ipyRechargeRebateGoldTemplateLen
-    def GetRechargeRebateGoldTemplateByIndex(self, index): return self.ipyRechargeRebateGoldTemplateCache[index]
-    def GetActGrowupBuyCount(self): return self.ipyActGrowupBuyLen
-    def GetActGrowupBuyByIndex(self, index): return self.ipyActGrowupBuyCache[index]
-    def GetActManyDayRechargeCount(self): return self.ipyActManyDayRechargeLen
-    def GetActManyDayRechargeByIndex(self, index): return self.ipyActManyDayRechargeCache[index]
-    def GetActManyDayRechargeAwardCount(self): return self.ipyActManyDayRechargeAwardLen
-    def GetActManyDayRechargeAwardByIndex(self, index): return self.ipyActManyDayRechargeAwardCache[index]
-    def GetActTurntableCount(self): return self.ipyActTurntableLen
-    def GetActTurntableByIndex(self, index): return self.ipyActTurntableCache[index]
-    def GetActSingleRechargeCount(self): return self.ipyActSingleRechargeLen
-    def GetActSingleRechargeByIndex(self, index): return self.ipyActSingleRechargeCache[index]
-    def GetActSingleRechargeAwardCount(self): return self.ipyActSingleRechargeAwardLen
-    def GetActSingleRechargeAwardByIndex(self, index): return self.ipyActSingleRechargeAwardCache[index]
-    def GetMagicWeaponFBCount(self): return self.ipyMagicWeaponFBLen
-    def GetMagicWeaponFBByIndex(self, index): return self.ipyMagicWeaponFBCache[index]
-    def GetIceLodeStarAwardCount(self): return self.ipyIceLodeStarAwardLen
-    def GetIceLodeStarAwardByIndex(self, index): return self.ipyIceLodeStarAwardCache[index]
-    def GetCrossRealmPKDanCount(self): return self.ipyCrossRealmPKDanLen
-    def GetCrossRealmPKDanByIndex(self, index): return self.ipyCrossRealmPKDanCache[index]
-    def GetCrossRealmPKDanAwardCount(self): return self.ipyCrossRealmPKDanAwardLen
-    def GetCrossRealmPKDanAwardByIndex(self, index): return self.ipyCrossRealmPKDanAwardCache[index]
-    def GetCrossRealmPKOrderAwardCount(self): return self.ipyCrossRealmPKOrderAwardLen
-    def GetCrossRealmPKOrderAwardByIndex(self, index): return self.ipyCrossRealmPKOrderAwardCache[index]
-    def GetCrossZoneCommCount(self): return self.ipyCrossZoneCommLen
-    def GetCrossZoneCommByIndex(self, index): return self.ipyCrossZoneCommCache[index]
-    def GetCrossZonePKCount(self): return self.ipyCrossZonePKLen
-    def GetCrossZonePKByIndex(self, index): return self.ipyCrossZonePKCache[index]
-    def GetCrossPenglaiZoneMapCount(self): return self.ipyCrossPenglaiZoneMapLen
-    def GetCrossPenglaiZoneMapByIndex(self, index): return self.ipyCrossPenglaiZoneMapCache[index]
-    def GetCrossDemonLandZoneMapCount(self): return self.ipyCrossDemonLandZoneMapLen
-    def GetCrossDemonLandZoneMapByIndex(self, index): return self.ipyCrossDemonLandZoneMapCache[index]
-    def GetGatherSoulCount(self): return self.ipyGatherSoulLen
-    def GetGatherSoulByIndex(self, index): return self.ipyGatherSoulCache[index]
-    def GetGatherSoulCompoundCount(self): return self.ipyGatherSoulCompoundLen
-    def GetGatherSoulCompoundByIndex(self, index): return self.ipyGatherSoulCompoundCache[index]
-    def GetGatherSoulAttrCount(self): return self.ipyGatherSoulAttrLen
-    def GetGatherSoulAttrByIndex(self, index): return self.ipyGatherSoulAttrCache[index]
-    def GetMagicWeaponOfKingCount(self): return self.ipyMagicWeaponOfKingLen
-    def GetMagicWeaponOfKingByIndex(self, index): return self.ipyMagicWeaponOfKingCache[index]
-    def GetCoatCount(self): return self.ipyCoatLen
-    def GetCoatByIndex(self, index): return self.ipyCoatCache[index]
-    def GetCoatChestUpCount(self): return self.ipyCoatChestUpLen
-    def GetCoatChestUpByIndex(self, index): return self.ipyCoatChestUpCache[index]
-    def GetActWeekPartyCount(self): return self.ipyActWeekPartyLen
-    def GetActWeekPartyByIndex(self, index): return self.ipyActWeekPartyCache[index]
-    def GetWeekPartyCount(self): return self.ipyWeekPartyLen
-    def GetWeekPartyByIndex(self, index): return self.ipyWeekPartyCache[index]
-    def GetActLoginAwardCount(self): return self.ipyActLoginAwardLen
-    def GetActLoginAwardByIndex(self, index): return self.ipyActLoginAwardCache[index]
-    def GetLoginAwardCount(self): return self.ipyLoginAwardLen
-    def GetLoginAwardByIndex(self, index): return self.ipyLoginAwardCache[index]
-    def GetActFeastLoginCount(self): return self.ipyActFeastLoginLen
-    def GetActFeastLoginByIndex(self, index): return self.ipyActFeastLoginCache[index]
-    def GetActFeastLoginAwardCount(self): return self.ipyActFeastLoginAwardLen
-    def GetActFeastLoginAwardByIndex(self, index): return self.ipyActFeastLoginAwardCache[index]
-    def GetActFeastWishCount(self): return self.ipyActFeastWishLen
-    def GetActFeastWishByIndex(self, index): return self.ipyActFeastWishCache[index]
-    def GetActFeastWishBottleCount(self): return self.ipyActFeastWishBottleLen
-    def GetActFeastWishBottleByIndex(self, index): return self.ipyActFeastWishBottleCache[index]
-    def GetActFeastWishPoolCount(self): return self.ipyActFeastWishPoolLen
-    def GetActFeastWishPoolByIndex(self, index): return self.ipyActFeastWishPoolCache[index]
-    def GetActFeastTravelCount(self): return self.ipyActFeastTravelLen
-    def GetActFeastTravelByIndex(self, index): return self.ipyActFeastTravelCache[index]
-    def GetActFeastTravelTaskCount(self): return self.ipyActFeastTravelTaskLen
-    def GetActFeastTravelTaskByIndex(self, index): return self.ipyActFeastTravelTaskCache[index]
-    def GetActFeastTravelAwardCount(self): return self.ipyActFeastTravelAwardLen
-    def GetActFeastTravelAwardByIndex(self, index): return self.ipyActFeastTravelAwardCache[index]
-    def GetZhuXianBossCount(self): return self.ipyZhuXianBossLen
-    def GetZhuXianBossByIndex(self, index): return self.ipyZhuXianBossCache[index]
-    def GetActFeastWeekPartyCount(self): return self.ipyActFeastWeekPartyLen
-    def GetActFeastWeekPartyByIndex(self, index): return self.ipyActFeastWeekPartyCache[index]
-    def GetFeastWeekPartyCount(self): return self.ipyFeastWeekPartyLen
-    def GetFeastWeekPartyByIndex(self, index): return self.ipyFeastWeekPartyCache[index]
-    def GetNewAllPeoplePartyCount(self): return self.ipyNewAllPeoplePartyLen
-    def GetNewAllPeoplePartyByIndex(self, index): return self.ipyNewAllPeoplePartyCache[index]
-    def GetNewAllPeoplePartyAwardCount(self): return self.ipyNewAllPeoplePartyAwardLen
-    def GetNewAllPeoplePartyAwardByIndex(self, index): return self.ipyNewAllPeoplePartyAwardCache[index]
-    def GetActLuckyTreasureCount(self): return self.ipyActLuckyTreasureLen
-    def GetActLuckyTreasureByIndex(self, index): return self.ipyActLuckyTreasureCache[index]
-    def GetLuckyTreasureTemplateCount(self): return self.ipyLuckyTreasureTemplateLen
-    def GetLuckyTreasureTemplateByIndex(self, index): return self.ipyLuckyTreasureTemplateCache[index]
-    def GetCrossActCTGBillboardDabiaoCount(self): return self.ipyCrossActCTGBillboardDabiaoLen
-    def GetCrossActCTGBillboardDabiaoByIndex(self, index): return self.ipyCrossActCTGBillboardDabiaoCache[index]
-    def GetCrossActCTGBillboardOrderCount(self): return self.ipyCrossActCTGBillboardOrderLen
-    def GetCrossActCTGBillboardOrderByIndex(self, index): return self.ipyCrossActCTGBillboardOrderCache[index]
-    def GetMysteryShopCount(self): return self.ipyMysteryShopLen
-    def GetMysteryShopByIndex(self, index): return self.ipyMysteryShopCache[index]
-    def GetEquipPlaceIndexMapCount(self): return self.ipyEquipPlaceIndexMapLen
-    def GetEquipPlaceIndexMapByIndex(self, index): return self.ipyEquipPlaceIndexMapCache[index]
-    def GetEquipShenAttrCount(self): return self.ipyEquipShenAttrLen
-    def GetEquipShenAttrByIndex(self, index): return self.ipyEquipShenAttrCache[index]
-    def GetEquipShenEvolveCount(self): return self.ipyEquipShenEvolveLen
-    def GetEquipShenEvolveByIndex(self, index): return self.ipyEquipShenEvolveCache[index]
-    def GetEquipStarUpCount(self): return self.ipyEquipStarUpLen
-    def GetEquipStarUpByIndex(self, index): return self.ipyEquipStarUpCache[index]
-    def GetEquipPlusEvolveCount(self): return self.ipyEquipPlusEvolveLen
-    def GetEquipPlusEvolveByIndex(self, index): return self.ipyEquipPlusEvolveCache[index]
-    def GetFamilyBossAwardCount(self): return self.ipyFamilyBossAwardLen
-    def GetFamilyBossAwardByIndex(self, index): return self.ipyFamilyBossAwardCache[index]
-    def GetFamilyBossHurtAwardCount(self): return self.ipyFamilyBossHurtAwardLen
-    def GetFamilyBossHurtAwardByIndex(self, index): return self.ipyFamilyBossHurtAwardCache[index]
-    def GetFamilyZhenfaCount(self): return self.ipyFamilyZhenfaLen
-    def GetFamilyZhenfaByIndex(self, index): return self.ipyFamilyZhenfaCache[index]
-    def GetItemWashMaxCount(self): return self.ipyItemWashMaxLen
-    def GetItemWashMaxByIndex(self, index): return self.ipyItemWashMaxCache[index]
-    def GetHorsePetBossAwardCount(self): return self.ipyHorsePetBossAwardLen
-    def GetHorsePetBossAwardByIndex(self, index): return self.ipyHorsePetBossAwardCache[index]
-    def GetFairyDomainCount(self): return self.ipyFairyDomainLen
-    def GetFairyDomainByIndex(self, index): return self.ipyFairyDomainCache[index]
-    def GetFairyAdventuresCount(self): return self.ipyFairyAdventuresLen
-    def GetFairyAdventuresByIndex(self, index): return self.ipyFairyAdventuresCache[index]
-    def GetFairyDomainAppointCount(self): return self.ipyFairyDomainAppointLen
-    def GetFairyDomainAppointByIndex(self, index): return self.ipyFairyDomainAppointCache[index]
-    def GetFBBuyBuffCount(self): return self.ipyFBBuyBuffLen
-    def GetFBBuyBuffByIndex(self, index): return self.ipyFBBuyBuffCache[index]
-    def GetSkillElementCount(self): return self.ipySkillElementLen
-    def GetSkillElementByIndex(self, index): return self.ipySkillElementCache[index]
-    def GetSkyTowerCount(self): return self.ipySkyTowerLen
-    def GetSkyTowerByIndex(self, index): return self.ipySkyTowerCache[index]
-    def GetSkyTowerServerChallengeCount(self): return self.ipySkyTowerServerChallengeLen
-    def GetSkyTowerServerChallengeByIndex(self, index): return self.ipySkyTowerServerChallengeCache[index]
-    def GetLingGenEffectCount(self): return self.ipyLingGenEffectLen
-    def GetLingGenEffectByIndex(self, index): return self.ipyLingGenEffectCache[index]
-    def GetLoveGiftCount(self): return self.ipyLoveGiftLen
-    def GetLoveGiftByIndex(self, index): return self.ipyLoveGiftCache[index]
-    def GetMarryCount(self): return self.ipyMarryLen
-    def GetMarryByIndex(self, index): return self.ipyMarryCache[index]
-    def GetLoveRingCount(self): return self.ipyLoveRingLen
-    def GetLoveRingByIndex(self, index): return self.ipyLoveRingCache[index]
-    def GetLoveCharmCount(self): return self.ipyLoveCharmLen
-    def GetLoveCharmByIndex(self, index): return self.ipyLoveCharmCache[index]
-    def GetHorsePetSkinCount(self): return self.ipyHorsePetSkinLen
-    def GetHorsePetSkinByIndex(self, index): return self.ipyHorsePetSkinCache[index]
-    def GetAssistThanksGiftCount(self): return self.ipyAssistThanksGiftLen
-    def GetAssistThanksGiftByIndex(self, index): return self.ipyAssistThanksGiftCache[index]
-    def GetFuncSysPrivilegeCount(self): return self.ipyFuncSysPrivilegeLen
-    def GetFuncSysPrivilegeByIndex(self, index): return self.ipyFuncSysPrivilegeCache[index]
-    def GetHistoryRechargeAwardCount(self): return self.ipyHistoryRechargeAwardLen
-    def GetHistoryRechargeAwardByIndex(self, index): return self.ipyHistoryRechargeAwardCache[index]
-    def GetCustomAwardCount(self): return self.ipyCustomAwardLen
-    def GetCustomAwardByIndex(self, index): return self.ipyCustomAwardCache[index]
-    def GetZhanlingCount(self): return self.ipyZhanlingLen
-    def GetZhanlingByIndex(self, index): return self.ipyZhanlingCache[index]
-    def GetTreeLVCount(self): return self.ipyTreeLVLen
-    def GetTreeLVByIndex(self, index): return self.ipyTreeLVCache[index]
+
+    def GetDienstgradCount(self):
+        self.CheckLoadData("Dienstgrad")
+        return self.ipyDienstgradLen
+    def GetDienstgradByIndex(self, index):
+        self.CheckLoadData("Dienstgrad")
+        return self.ipyDienstgradCache[index]
+
+    def GetTitleStarUpCount(self):
+        self.CheckLoadData("TitleStarUp")
+        return self.ipyTitleStarUpLen
+    def GetTitleStarUpByIndex(self, index):
+        self.CheckLoadData("TitleStarUp")
+        return self.ipyTitleStarUpCache[index]
+
+    def GetCreateRoleCount(self):
+        self.CheckLoadData("CreateRole")
+        return self.ipyCreateRoleLen
+    def GetCreateRoleByIndex(self, index):
+        self.CheckLoadData("CreateRole")
+        return self.ipyCreateRoleCache[index]
+
+    def GetRolePointCount(self):
+        self.CheckLoadData("RolePoint")
+        return self.ipyRolePointLen
+    def GetRolePointByIndex(self, index):
+        self.CheckLoadData("RolePoint")
+        return self.ipyRolePointCache[index]
+
+    def GetLingQiAttrCount(self):
+        self.CheckLoadData("LingQiAttr")
+        return self.ipyLingQiAttrLen
+    def GetLingQiAttrByIndex(self, index):
+        self.CheckLoadData("LingQiAttr")
+        return self.ipyLingQiAttrCache[index]
+
+    def GetLingQiTrainCount(self):
+        self.CheckLoadData("LingQiTrain")
+        return self.ipyLingQiTrainLen
+    def GetLingQiTrainByIndex(self, index):
+        self.CheckLoadData("LingQiTrain")
+        return self.ipyLingQiTrainCache[index]
+
+    def GetTaskCount(self):
+        self.CheckLoadData("Task")
+        return self.ipyTaskLen
+    def GetTaskByIndex(self, index):
+        self.CheckLoadData("Task")
+        return self.ipyTaskCache[index]
+
+    def GetRealmXXZLCount(self):
+        self.CheckLoadData("RealmXXZL")
+        return self.ipyRealmXXZLLen
+    def GetRealmXXZLByIndex(self, index):
+        self.CheckLoadData("RealmXXZL")
+        return self.ipyRealmXXZLCache[index]
+
+    def GetRealmCount(self):
+        self.CheckLoadData("Realm")
+        return self.ipyRealmLen
+    def GetRealmByIndex(self, index):
+        self.CheckLoadData("Realm")
+        return self.ipyRealmCache[index]
+
+    def GetRealmTowerCount(self):
+        self.CheckLoadData("RealmTower")
+        return self.ipyRealmTowerLen
+    def GetRealmTowerByIndex(self, index):
+        self.CheckLoadData("RealmTower")
+        return self.ipyRealmTowerCache[index]
+
+    def GetLianTiCount(self):
+        self.CheckLoadData("LianTi")
+        return self.ipyLianTiLen
+    def GetLianTiByIndex(self, index):
+        self.CheckLoadData("LianTi")
+        return self.ipyLianTiCache[index]
+
+    def GetGodWeaponCount(self):
+        self.CheckLoadData("GodWeapon")
+        return self.ipyGodWeaponLen
+    def GetGodWeaponByIndex(self, index):
+        self.CheckLoadData("GodWeapon")
+        return self.ipyGodWeaponCache[index]
+
+    def GetFuncConfigCount(self):
+        self.CheckLoadData("FuncConfig")
+        return self.ipyFuncConfigLen
+    def GetFuncConfigByIndex(self, index):
+        self.CheckLoadData("FuncConfig")
+        return self.ipyFuncConfigCache[index]
+
+    def GetFuncOpenLVCount(self):
+        self.CheckLoadData("FuncOpenLV")
+        return self.ipyFuncOpenLVLen
+    def GetFuncOpenLVByIndex(self, index):
+        self.CheckLoadData("FuncOpenLV")
+        return self.ipyFuncOpenLVCache[index]
+
+    def GetItemCompoundCount(self):
+        self.CheckLoadData("ItemCompound")
+        return self.ipyItemCompoundLen
+    def GetItemCompoundByIndex(self, index):
+        self.CheckLoadData("ItemCompound")
+        return self.ipyItemCompoundCache[index]
+
+    def GetItemPlusCount(self):
+        self.CheckLoadData("ItemPlus")
+        return self.ipyItemPlusLen
+    def GetItemPlusByIndex(self, index):
+        self.CheckLoadData("ItemPlus")
+        return self.ipyItemPlusCache[index]
+
+    def GetEquipControlCount(self):
+        self.CheckLoadData("EquipControl")
+        return self.ipyEquipControlLen
+    def GetEquipControlByIndex(self, index):
+        self.CheckLoadData("EquipControl")
+        return self.ipyEquipControlCache[index]
+
+    def GetItemPlusMasterCount(self):
+        self.CheckLoadData("ItemPlusMaster")
+        return self.ipyItemPlusMasterLen
+    def GetItemPlusMasterByIndex(self, index):
+        self.CheckLoadData("ItemPlusMaster")
+        return self.ipyItemPlusMasterCache[index]
+
+    def GetItemPlusMaxCount(self):
+        self.CheckLoadData("ItemPlusMax")
+        return self.ipyItemPlusMaxLen
+    def GetItemPlusMaxByIndex(self, index):
+        self.CheckLoadData("ItemPlusMax")
+        return self.ipyItemPlusMaxCache[index]
+
+    def GetRoleEquipStarsCount(self):
+        self.CheckLoadData("RoleEquipStars")
+        return self.ipyRoleEquipStarsLen
+    def GetRoleEquipStarsByIndex(self, index):
+        self.CheckLoadData("RoleEquipStars")
+        return self.ipyRoleEquipStarsCache[index]
+
+    def GetDogzCount(self):
+        self.CheckLoadData("Dogz")
+        return self.ipyDogzLen
+    def GetDogzByIndex(self, index):
+        self.CheckLoadData("Dogz")
+        return self.ipyDogzCache[index]
+
+    def GetDogzEquipPlusCount(self):
+        self.CheckLoadData("DogzEquipPlus")
+        return self.ipyDogzEquipPlusLen
+    def GetDogzEquipPlusByIndex(self, index):
+        self.CheckLoadData("DogzEquipPlus")
+        return self.ipyDogzEquipPlusCache[index]
+
+    def GetRuneCount(self):
+        self.CheckLoadData("Rune")
+        return self.ipyRuneLen
+    def GetRuneByIndex(self, index):
+        self.CheckLoadData("Rune")
+        return self.ipyRuneCache[index]
+
+    def GetEquipWashCount(self):
+        self.CheckLoadData("EquipWash")
+        return self.ipyEquipWashLen
+    def GetEquipWashByIndex(self, index):
+        self.CheckLoadData("EquipWash")
+        return self.ipyEquipWashCache[index]
+
+    def GetAttrFruitCount(self):
+        self.CheckLoadData("AttrFruit")
+        return self.ipyAttrFruitLen
+    def GetAttrFruitByIndex(self, index):
+        self.CheckLoadData("AttrFruit")
+        return self.ipyAttrFruitCache[index]
+
+    def GetPetInfoCount(self):
+        self.CheckLoadData("PetInfo")
+        return self.ipyPetInfoLen
+    def GetPetInfoByIndex(self, index):
+        self.CheckLoadData("PetInfo")
+        return self.ipyPetInfoCache[index]
+
+    def GetPetStarUpCount(self):
+        self.CheckLoadData("PetStarUp")
+        return self.ipyPetStarUpLen
+    def GetPetStarUpByIndex(self, index):
+        self.CheckLoadData("PetStarUp")
+        return self.ipyPetStarUpCache[index]
+
+    def GetPetTrainCount(self):
+        self.CheckLoadData("PetTrain")
+        return self.ipyPetTrainLen
+    def GetPetTrainByIndex(self, index):
+        self.CheckLoadData("PetTrain")
+        return self.ipyPetTrainCache[index]
+
+    def GetEquipDecomposeCount(self):
+        self.CheckLoadData("EquipDecompose")
+        return self.ipyEquipDecomposeLen
+    def GetEquipDecomposeByIndex(self, index):
+        self.CheckLoadData("EquipDecompose")
+        return self.ipyEquipDecomposeCache[index]
+
+    def GetPetClassCostCount(self):
+        self.CheckLoadData("PetClassCost")
+        return self.ipyPetClassCostLen
+    def GetPetClassCostByIndex(self, index):
+        self.CheckLoadData("PetClassCost")
+        return self.ipyPetClassCostCache[index]
+
+    def GetPetEatEquipCount(self):
+        self.CheckLoadData("PetEatEquip")
+        return self.ipyPetEatEquipLen
+    def GetPetEatEquipByIndex(self, index):
+        self.CheckLoadData("PetEatEquip")
+        return self.ipyPetEatEquipCache[index]
+
+    def GetFaQiLVUpCount(self):
+        self.CheckLoadData("FaQiLVUp")
+        return self.ipyFaQiLVUpLen
+    def GetFaQiLVUpByIndex(self, index):
+        self.CheckLoadData("FaQiLVUp")
+        return self.ipyFaQiLVUpCache[index]
+
+    def GetHorseLVUpCount(self):
+        self.CheckLoadData("HorseLVUp")
+        return self.ipyHorseLVUpLen
+    def GetHorseLVUpByIndex(self, index):
+        self.CheckLoadData("HorseLVUp")
+        return self.ipyHorseLVUpCache[index]
+
+    def GetHorseTrainCount(self):
+        self.CheckLoadData("HorseTrain")
+        return self.ipyHorseTrainLen
+    def GetHorseTrainByIndex(self, index):
+        self.CheckLoadData("HorseTrain")
+        return self.ipyHorseTrainCache[index]
+
+    def GetHorseSkinPlusCount(self):
+        self.CheckLoadData("HorseSkinPlus")
+        return self.ipyHorseSkinPlusLen
+    def GetHorseSkinPlusByIndex(self, index):
+        self.CheckLoadData("HorseSkinPlus")
+        return self.ipyHorseSkinPlusCache[index]
+
+    def GetHorseCount(self):
+        self.CheckLoadData("Horse")
+        return self.ipyHorseLen
+    def GetHorseByIndex(self, index):
+        self.CheckLoadData("Horse")
+        return self.ipyHorseCache[index]
+
+    def GetHorseStarUpCount(self):
+        self.CheckLoadData("HorseStarUp")
+        return self.ipyHorseStarUpLen
+    def GetHorseStarUpByIndex(self, index):
+        self.CheckLoadData("HorseStarUp")
+        return self.ipyHorseStarUpCache[index]
+
+    def GetGubaoCount(self):
+        self.CheckLoadData("Gubao")
+        return self.ipyGubaoLen
+    def GetGubaoByIndex(self, index):
+        self.CheckLoadData("Gubao")
+        return self.ipyGubaoCache[index]
+
+    def GetGubaoStarCount(self):
+        self.CheckLoadData("GubaoStar")
+        return self.ipyGubaoStarLen
+    def GetGubaoStarByIndex(self, index):
+        self.CheckLoadData("GubaoStar")
+        return self.ipyGubaoStarCache[index]
+
+    def GetGubaoEffAttrCount(self):
+        self.CheckLoadData("GubaoEffAttr")
+        return self.ipyGubaoEffAttrLen
+    def GetGubaoEffAttrByIndex(self, index):
+        self.CheckLoadData("GubaoEffAttr")
+        return self.ipyGubaoEffAttrCache[index]
+
+    def GetGubaoLVCount(self):
+        self.CheckLoadData("GubaoLV")
+        return self.ipyGubaoLVLen
+    def GetGubaoLVByIndex(self, index):
+        self.CheckLoadData("GubaoLV")
+        return self.ipyGubaoLVCache[index]
+
+    def GetShentongCount(self):
+        self.CheckLoadData("Shentong")
+        return self.ipyShentongLen
+    def GetShentongByIndex(self, index):
+        self.CheckLoadData("Shentong")
+        return self.ipyShentongCache[index]
+
+    def GetShentongLVCount(self):
+        self.CheckLoadData("ShentongLV")
+        return self.ipyShentongLVLen
+    def GetShentongLVByIndex(self, index):
+        self.CheckLoadData("ShentongLV")
+        return self.ipyShentongLVCache[index]
+
+    def GetPlayerLVCount(self):
+        self.CheckLoadData("PlayerLV")
+        return self.ipyPlayerLVLen
+    def GetPlayerLVByIndex(self, index):
+        self.CheckLoadData("PlayerLV")
+        return self.ipyPlayerLVCache[index]
+
+    def GetSpecMapPlayerAttrFormatCount(self):
+        self.CheckLoadData("SpecMapPlayerAttrFormat")
+        return self.ipySpecMapPlayerAttrFormatLen
+    def GetSpecMapPlayerAttrFormatByIndex(self, index):
+        self.CheckLoadData("SpecMapPlayerAttrFormat")
+        return self.ipySpecMapPlayerAttrFormatCache[index]
+
+    def GetGMAttrCount(self):
+        self.CheckLoadData("GMAttr")
+        return self.ipyGMAttrLen
+    def GetGMAttrByIndex(self, index):
+        self.CheckLoadData("GMAttr")
+        return self.ipyGMAttrCache[index]
+
+    def GetNPCExCount(self):
+        self.CheckLoadData("NPCEx")
+        return self.ipyNPCExLen
+    def GetNPCExByIndex(self, index):
+        self.CheckLoadData("NPCEx")
+        return self.ipyNPCExCache[index]
+
+    def GetNPCRealmStrengthenCount(self):
+        self.CheckLoadData("NPCRealmStrengthen")
+        return self.ipyNPCRealmStrengthenLen
+    def GetNPCRealmStrengthenByIndex(self, index):
+        self.CheckLoadData("NPCRealmStrengthen")
+        return self.ipyNPCRealmStrengthenCache[index]
+
+    def GetNPCStrengthenCount(self):
+        self.CheckLoadData("NPCStrengthen")
+        return self.ipyNPCStrengthenLen
+    def GetNPCStrengthenByIndex(self, index):
+        self.CheckLoadData("NPCStrengthen")
+        return self.ipyNPCStrengthenCache[index]
+
+    def GetNPCTimeLostHPCount(self):
+        self.CheckLoadData("NPCTimeLostHP")
+        return self.ipyNPCTimeLostHPLen
+    def GetNPCTimeLostHPByIndex(self, index):
+        self.CheckLoadData("NPCTimeLostHP")
+        return self.ipyNPCTimeLostHPCache[index]
+
+    def GetEquipSuitAttrCount(self):
+        self.CheckLoadData("EquipSuitAttr")
+        return self.ipyEquipSuitAttrLen
+    def GetEquipSuitAttrByIndex(self, index):
+        self.CheckLoadData("EquipSuitAttr")
+        return self.ipyEquipSuitAttrCache[index]
+
+    def GetWingRefineAttrCount(self):
+        self.CheckLoadData("WingRefineAttr")
+        return self.ipyWingRefineAttrLen
+    def GetWingRefineAttrByIndex(self, index):
+        self.CheckLoadData("WingRefineAttr")
+        return self.ipyWingRefineAttrCache[index]
+
+    def GetWingRefineExpCount(self):
+        self.CheckLoadData("WingRefineExp")
+        return self.ipyWingRefineExpLen
+    def GetWingRefineExpByIndex(self, index):
+        self.CheckLoadData("WingRefineExp")
+        return self.ipyWingRefineExpCache[index]
+
+    def GetFamilyTechCount(self):
+        self.CheckLoadData("FamilyTech")
+        return self.ipyFamilyTechLen
+    def GetFamilyTechByIndex(self, index):
+        self.CheckLoadData("FamilyTech")
+        return self.ipyFamilyTechCache[index]
+
+    def GetFightPowerParamCount(self):
+        self.CheckLoadData("FightPowerParam")
+        return self.ipyFightPowerParamLen
+    def GetFightPowerParamByIndex(self, index):
+        self.CheckLoadData("FightPowerParam")
+        return self.ipyFightPowerParamCache[index]
+
+    def GetNPCDropItemCount(self):
+        self.CheckLoadData("NPCDropItem")
+        return self.ipyNPCDropItemLen
+    def GetNPCDropItemByIndex(self, index):
+        self.CheckLoadData("NPCDropItem")
+        return self.ipyNPCDropItemCache[index]
+
+    def GetRuneTowerCount(self):
+        self.CheckLoadData("RuneTower")
+        return self.ipyRuneTowerLen
+    def GetRuneTowerByIndex(self, index):
+        self.CheckLoadData("RuneTower")
+        return self.ipyRuneTowerCache[index]
+
+    def GetChinMapCount(self):
+        self.CheckLoadData("ChinMap")
+        return self.ipyChinMapLen
+    def GetChinMapByIndex(self, index):
+        self.CheckLoadData("ChinMap")
+        return self.ipyChinMapCache[index]
+
+    def GetFBFuncCount(self):
+        self.CheckLoadData("FBFunc")
+        return self.ipyFBFuncLen
+    def GetFBFuncByIndex(self, index):
+        self.CheckLoadData("FBFunc")
+        return self.ipyFBFuncCache[index]
+
+    def GetFBLineCount(self):
+        self.CheckLoadData("FBLine")
+        return self.ipyFBLineLen
+    def GetFBLineByIndex(self, index):
+        self.CheckLoadData("FBLine")
+        return self.ipyFBLineCache[index]
+
+    def GetFBTurnCount(self):
+        self.CheckLoadData("FBTurn")
+        return self.ipyFBTurnLen
+    def GetFBTurnByIndex(self, index):
+        self.CheckLoadData("FBTurn")
+        return self.ipyFBTurnCache[index]
+
+    def GetFBHelpBattleCount(self):
+        self.CheckLoadData("FBHelpBattle")
+        return self.ipyFBHelpBattleLen
+    def GetFBHelpBattleByIndex(self, index):
+        self.CheckLoadData("FBHelpBattle")
+        return self.ipyFBHelpBattleCache[index]
+
+    def GetNPCCustomRefreshCount(self):
+        self.CheckLoadData("NPCCustomRefresh")
+        return self.ipyNPCCustomRefreshLen
+    def GetNPCCustomRefreshByIndex(self, index):
+        self.CheckLoadData("NPCCustomRefresh")
+        return self.ipyNPCCustomRefreshCache[index]
+
+    def GetDailyActionCount(self):
+        self.CheckLoadData("DailyAction")
+        return self.ipyDailyActionLen
+    def GetDailyActionByIndex(self, index):
+        self.CheckLoadData("DailyAction")
+        return self.ipyDailyActionCache[index]
+
+    def GetEquipColorCount(self):
+        self.CheckLoadData("EquipColor")
+        return self.ipyEquipColorLen
+    def GetEquipColorByIndex(self, index):
+        self.CheckLoadData("EquipColor")
+        return self.ipyEquipColorCache[index]
+
+    def GetEquipColorPlaceCount(self):
+        self.CheckLoadData("EquipColorPlace")
+        return self.ipyEquipColorPlaceLen
+    def GetEquipColorPlaceByIndex(self, index):
+        self.CheckLoadData("EquipColorPlace")
+        return self.ipyEquipColorPlaceCache[index]
+
+    def GetEquipGSParamCount(self):
+        self.CheckLoadData("EquipGSParam")
+        return self.ipyEquipGSParamLen
+    def GetEquipGSParamByIndex(self, index):
+        self.CheckLoadData("EquipGSParam")
+        return self.ipyEquipGSParamCache[index]
+
+    def GetSuccessCount(self):
+        self.CheckLoadData("Success")
+        return self.ipySuccessLen
+    def GetSuccessByIndex(self, index):
+        self.CheckLoadData("Success")
+        return self.ipySuccessCache[index]
+
+    def GetTongTianLVCount(self):
+        self.CheckLoadData("TongTianLV")
+        return self.ipyTongTianLVLen
+    def GetTongTianLVByIndex(self, index):
+        self.CheckLoadData("TongTianLV")
+        return self.ipyTongTianLVCache[index]
+
+    def GetTongTianTaskCount(self):
+        self.CheckLoadData("TongTianTask")
+        return self.ipyTongTianTaskLen
+    def GetTongTianTaskByIndex(self, index):
+        self.CheckLoadData("TongTianTask")
+        return self.ipyTongTianTaskCache[index]
+
+    def GetTreasureCount(self):
+        self.CheckLoadData("Treasure")
+        return self.ipyTreasureLen
+    def GetTreasureByIndex(self, index):
+        self.CheckLoadData("Treasure")
+        return self.ipyTreasureCache[index]
+
+    def GetTreasureUpCount(self):
+        self.CheckLoadData("TreasureUp")
+        return self.ipyTreasureUpLen
+    def GetTreasureUpByIndex(self, index):
+        self.CheckLoadData("TreasureUp")
+        return self.ipyTreasureUpCache[index]
+
+    def GetContineSignAwardCount(self):
+        self.CheckLoadData("ContineSignAward")
+        return self.ipyContineSignAwardLen
+    def GetContineSignAwardByIndex(self, index):
+        self.CheckLoadData("ContineSignAward")
+        return self.ipyContineSignAwardCache[index]
+
+    def GetSignAwardCount(self):
+        self.CheckLoadData("SignAward")
+        return self.ipySignAwardLen
+    def GetSignAwardByIndex(self, index):
+        self.CheckLoadData("SignAward")
+        return self.ipySignAwardCache[index]
+
+    def GetVIPAwardCount(self):
+        self.CheckLoadData("VIPAward")
+        return self.ipyVIPAwardLen
+    def GetVIPAwardByIndex(self, index):
+        self.CheckLoadData("VIPAward")
+        return self.ipyVIPAwardCache[index]
+
+    def GetAppointItemCount(self):
+        self.CheckLoadData("AppointItem")
+        return self.ipyAppointItemLen
+    def GetAppointItemByIndex(self, index):
+        self.CheckLoadData("AppointItem")
+        return self.ipyAppointItemCache[index]
+
+    def GetAuctionItemCount(self):
+        self.CheckLoadData("AuctionItem")
+        return self.ipyAuctionItemLen
+    def GetAuctionItemByIndex(self, index):
+        self.CheckLoadData("AuctionItem")
+        return self.ipyAuctionItemCache[index]
+
+    def GetVipPrivilegeCount(self):
+        self.CheckLoadData("VipPrivilege")
+        return self.ipyVipPrivilegeLen
+    def GetVipPrivilegeByIndex(self, index):
+        self.CheckLoadData("VipPrivilege")
+        return self.ipyVipPrivilegeCache[index]
+
+    def GetStoreCount(self):
+        self.CheckLoadData("Store")
+        return self.ipyStoreLen
+    def GetStoreByIndex(self, index):
+        self.CheckLoadData("Store")
+        return self.ipyStoreCache[index]
+
+    def GetActSpringSaleCount(self):
+        self.CheckLoadData("ActSpringSale")
+        return self.ipyActSpringSaleLen
+    def GetActSpringSaleByIndex(self, index):
+        self.CheckLoadData("ActSpringSale")
+        return self.ipyActSpringSaleCache[index]
+
+    def GetDailyQuestCount(self):
+        self.CheckLoadData("DailyQuest")
+        return self.ipyDailyQuestLen
+    def GetDailyQuestByIndex(self, index):
+        self.CheckLoadData("DailyQuest")
+        return self.ipyDailyQuestCache[index]
+
+    def GetDailyLivenessRewardCount(self):
+        self.CheckLoadData("DailyLivenessReward")
+        return self.ipyDailyLivenessRewardLen
+    def GetDailyLivenessRewardByIndex(self, index):
+        self.CheckLoadData("DailyLivenessReward")
+        return self.ipyDailyLivenessRewardCache[index]
+
+    def GetActivityPlaceRewardCount(self):
+        self.CheckLoadData("ActivityPlaceReward")
+        return self.ipyActivityPlaceRewardLen
+    def GetActivityPlaceRewardByIndex(self, index):
+        self.CheckLoadData("ActivityPlaceReward")
+        return self.ipyActivityPlaceRewardCache[index]
+
+    def GetRefineStoveCount(self):
+        self.CheckLoadData("RefineStove")
+        return self.ipyRefineStoveLen
+    def GetRefineStoveByIndex(self, index):
+        self.CheckLoadData("RefineStove")
+        return self.ipyRefineStoveCache[index]
+
+    def GetAlchemyCount(self):
+        self.CheckLoadData("Alchemy")
+        return self.ipyAlchemyLen
+    def GetAlchemyByIndex(self, index):
+        self.CheckLoadData("Alchemy")
+        return self.ipyAlchemyCache[index]
+
+    def GetAlchemyResultCount(self):
+        self.CheckLoadData("AlchemyResult")
+        return self.ipyAlchemyResultLen
+    def GetAlchemyResultByIndex(self, index):
+        self.CheckLoadData("AlchemyResult")
+        return self.ipyAlchemyResultCache[index]
+
+    def GetBOSSInfoCount(self):
+        self.CheckLoadData("BOSSInfo")
+        return self.ipyBOSSInfoLen
+    def GetBOSSInfoByIndex(self, index):
+        self.CheckLoadData("BOSSInfo")
+        return self.ipyBOSSInfoCache[index]
+
+    def GetBOSSFirstKillCount(self):
+        self.CheckLoadData("BOSSFirstKill")
+        return self.ipyBOSSFirstKillLen
+    def GetBOSSFirstKillByIndex(self, index):
+        self.CheckLoadData("BOSSFirstKill")
+        return self.ipyBOSSFirstKillCache[index]
+
+    def GetElderGodAreaCount(self):
+        self.CheckLoadData("ElderGodArea")
+        return self.ipyElderGodAreaLen
+    def GetElderGodAreaByIndex(self, index):
+        self.CheckLoadData("ElderGodArea")
+        return self.ipyElderGodAreaCache[index]
+
+    def GetPersonalBossCount(self):
+        self.CheckLoadData("PersonalBoss")
+        return self.ipyPersonalBossLen
+    def GetPersonalBossByIndex(self, index):
+        self.CheckLoadData("PersonalBoss")
+        return self.ipyPersonalBossCache[index]
+
+    def GetFamilyActivityCount(self):
+        self.CheckLoadData("FamilyActivity")
+        return self.ipyFamilyActivityLen
+    def GetFamilyActivityByIndex(self, index):
+        self.CheckLoadData("FamilyActivity")
+        return self.ipyFamilyActivityCache[index]
+
+    def GetFamilyRedPackCount(self):
+        self.CheckLoadData("FamilyRedPack")
+        return self.ipyFamilyRedPackLen
+    def GetFamilyRedPackByIndex(self, index):
+        self.CheckLoadData("FamilyRedPack")
+        return self.ipyFamilyRedPackCache[index]
+
+    def GetActFeastRedPacketSuccCount(self):
+        self.CheckLoadData("ActFeastRedPacketSucc")
+        return self.ipyActFeastRedPacketSuccLen
+    def GetActFeastRedPacketSuccByIndex(self, index):
+        self.CheckLoadData("ActFeastRedPacketSucc")
+        return self.ipyActFeastRedPacketSuccCache[index]
+
+    def GetNPCShowCount(self):
+        self.CheckLoadData("NPCShow")
+        return self.ipyNPCShowLen
+    def GetNPCShowByIndex(self, index):
+        self.CheckLoadData("NPCShow")
+        return self.ipyNPCShowCache[index]
+
+    def GetSealDemonCount(self):
+        self.CheckLoadData("SealDemon")
+        return self.ipySealDemonLen
+    def GetSealDemonByIndex(self, index):
+        self.CheckLoadData("SealDemon")
+        return self.ipySealDemonCache[index]
+
+    def GetFbEncourageCount(self):
+        self.CheckLoadData("FbEncourage")
+        return self.ipyFbEncourageLen
+    def GetFbEncourageByIndex(self, index):
+        self.CheckLoadData("FbEncourage")
+        return self.ipyFbEncourageCache[index]
+
+    def GetMapRefreshNPCCount(self):
+        self.CheckLoadData("MapRefreshNPC")
+        return self.ipyMapRefreshNPCLen
+    def GetMapRefreshNPCByIndex(self, index):
+        self.CheckLoadData("MapRefreshNPC")
+        return self.ipyMapRefreshNPCCache[index]
+
+    def GetRuneCompoundCount(self):
+        self.CheckLoadData("RuneCompound")
+        return self.ipyRuneCompoundLen
+    def GetRuneCompoundByIndex(self, index):
+        self.CheckLoadData("RuneCompound")
+        return self.ipyRuneCompoundCache[index]
+
+    def GetResourcesBackCount(self):
+        self.CheckLoadData("ResourcesBack")
+        return self.ipyResourcesBackLen
+    def GetResourcesBackByIndex(self, index):
+        self.CheckLoadData("ResourcesBack")
+        return self.ipyResourcesBackCache[index]
+
+    def GetCollectNPCCount(self):
+        self.CheckLoadData("CollectNPC")
+        return self.ipyCollectNPCLen
+    def GetCollectNPCByIndex(self, index):
+        self.CheckLoadData("CollectNPC")
+        return self.ipyCollectNPCCache[index]
+
+    def GetTreasureNPCCount(self):
+        self.CheckLoadData("TreasureNPC")
+        return self.ipyTreasureNPCLen
+    def GetTreasureNPCByIndex(self, index):
+        self.CheckLoadData("TreasureNPC")
+        return self.ipyTreasureNPCCache[index]
+
+    def GetChestsCount(self):
+        self.CheckLoadData("Chests")
+        return self.ipyChestsLen
+    def GetChestsByIndex(self, index):
+        self.CheckLoadData("Chests")
+        return self.ipyChestsCache[index]
+
+    def GetChestsAwardCount(self):
+        self.CheckLoadData("ChestsAward")
+        return self.ipyChestsAwardLen
+    def GetChestsAwardByIndex(self, index):
+        self.CheckLoadData("ChestsAward")
+        return self.ipyChestsAwardCache[index]
+
+    def GetVIPKillNPCCount(self):
+        self.CheckLoadData("VIPKillNPC")
+        return self.ipyVIPKillNPCLen
+    def GetVIPKillNPCByIndex(self, index):
+        self.CheckLoadData("VIPKillNPC")
+        return self.ipyVIPKillNPCCache[index]
+
+    def GetOSCBillRankAwardCount(self):
+        self.CheckLoadData("OSCBillRankAward")
+        return self.ipyOSCBillRankAwardLen
+    def GetOSCBillRankAwardByIndex(self, index):
+        self.CheckLoadData("OSCBillRankAward")
+        return self.ipyOSCBillRankAwardCache[index]
+
+    def GetOSCBillTagAwardCount(self):
+        self.CheckLoadData("OSCBillTagAward")
+        return self.ipyOSCBillTagAwardLen
+    def GetOSCBillTagAwardByIndex(self, index):
+        self.CheckLoadData("OSCBillTagAward")
+        return self.ipyOSCBillTagAwardCache[index]
+
+    def GetLoginDayAwardCount(self):
+        self.CheckLoadData("LoginDayAward")
+        return self.ipyLoginDayAwardLen
+    def GetLoginDayAwardByIndex(self, index):
+        self.CheckLoadData("LoginDayAward")
+        return self.ipyLoginDayAwardCache[index]
+
+    def GetOnlineAwardNewCount(self):
+        self.CheckLoadData("OnlineAwardNew")
+        return self.ipyOnlineAwardNewLen
+    def GetOnlineAwardNewByIndex(self, index):
+        self.CheckLoadData("OnlineAwardNew")
+        return self.ipyOnlineAwardNewCache[index]
+
+    def GetSpringSaleCount(self):
+        self.CheckLoadData("SpringSale")
+        return self.ipySpringSaleLen
+    def GetSpringSaleByIndex(self, index):
+        self.CheckLoadData("SpringSale")
+        return self.ipySpringSaleCache[index]
+
+    def GetOrderInfoCount(self):
+        self.CheckLoadData("OrderInfo")
+        return self.ipyOrderInfoLen
+    def GetOrderInfoByIndex(self, index):
+        self.CheckLoadData("OrderInfo")
+        return self.ipyOrderInfoCache[index]
+
+    def GetCTGCount(self):
+        self.CheckLoadData("CTG")
+        return self.ipyCTGLen
+    def GetCTGByIndex(self, index):
+        self.CheckLoadData("CTG")
+        return self.ipyCTGCache[index]
+
+    def GetFirstGoldCount(self):
+        self.CheckLoadData("FirstGold")
+        return self.ipyFirstGoldLen
+    def GetFirstGoldByIndex(self, index):
+        self.CheckLoadData("FirstGold")
+        return self.ipyFirstGoldCache[index]
+
+    def GetLVAwardCount(self):
+        self.CheckLoadData("LVAward")
+        return self.ipyLVAwardLen
+    def GetLVAwardByIndex(self, index):
+        self.CheckLoadData("LVAward")
+        return self.ipyLVAwardCache[index]
+
+    def GetInvestCount(self):
+        self.CheckLoadData("Invest")
+        return self.ipyInvestLen
+    def GetInvestByIndex(self, index):
+        self.CheckLoadData("Invest")
+        return self.ipyInvestCache[index]
+
+    def GetXBXZCount(self):
+        self.CheckLoadData("XBXZ")
+        return self.ipyXBXZLen
+    def GetXBXZByIndex(self, index):
+        self.CheckLoadData("XBXZ")
+        return self.ipyXBXZCache[index]
+
+    def GetTreasureHouseCount(self):
+        self.CheckLoadData("TreasureHouse")
+        return self.ipyTreasureHouseLen
+    def GetTreasureHouseByIndex(self, index):
+        self.CheckLoadData("TreasureHouse")
+        return self.ipyTreasureHouseCache[index]
+
+    def GetFreeGoodsCount(self):
+        self.CheckLoadData("FreeGoods")
+        return self.ipyFreeGoodsLen
+    def GetFreeGoodsByIndex(self, index):
+        self.CheckLoadData("FreeGoods")
+        return self.ipyFreeGoodsCache[index]
+
+    def GetActFlashGiftbagCount(self):
+        self.CheckLoadData("ActFlashGiftbag")
+        return self.ipyActFlashGiftbagLen
+    def GetActFlashGiftbagByIndex(self, index):
+        self.CheckLoadData("ActFlashGiftbag")
+        return self.ipyActFlashGiftbagCache[index]
+
+    def GetFlashGiftbagCount(self):
+        self.CheckLoadData("FlashGiftbag")
+        return self.ipyFlashGiftbagLen
+    def GetFlashGiftbagByIndex(self, index):
+        self.CheckLoadData("FlashGiftbag")
+        return self.ipyFlashGiftbagCache[index]
+
+    def GetActDailyGiftbagCount(self):
+        self.CheckLoadData("ActDailyGiftbag")
+        return self.ipyActDailyGiftbagLen
+    def GetActDailyGiftbagByIndex(self, index):
+        self.CheckLoadData("ActDailyGiftbag")
+        return self.ipyActDailyGiftbagCache[index]
+
+    def GetDailyGiftbagCount(self):
+        self.CheckLoadData("DailyGiftbag")
+        return self.ipyDailyGiftbagLen
+    def GetDailyGiftbagByIndex(self, index):
+        self.CheckLoadData("DailyGiftbag")
+        return self.ipyDailyGiftbagCache[index]
+
+    def GetActExpRateCount(self):
+        self.CheckLoadData("ActExpRate")
+        return self.ipyActExpRateLen
+    def GetActExpRateByIndex(self, index):
+        self.CheckLoadData("ActExpRate")
+        return self.ipyActExpRateCache[index]
+
+    def GetActCostRebateCount(self):
+        self.CheckLoadData("ActCostRebate")
+        return self.ipyActCostRebateLen
+    def GetActCostRebateByIndex(self, index):
+        self.CheckLoadData("ActCostRebate")
+        return self.ipyActCostRebateCache[index]
+
+    def GetCostRebateTemplateCount(self):
+        self.CheckLoadData("CostRebateTemplate")
+        return self.ipyCostRebateTemplateLen
+    def GetCostRebateTemplateByIndex(self, index):
+        self.CheckLoadData("CostRebateTemplate")
+        return self.ipyCostRebateTemplateCache[index]
+
+    def GetActBuyOneCount(self):
+        self.CheckLoadData("ActBuyOne")
+        return self.ipyActBuyOneLen
+    def GetActBuyOneByIndex(self, index):
+        self.CheckLoadData("ActBuyOne")
+        return self.ipyActBuyOneCache[index]
+
+    def GetActBuyOneTemplateCount(self):
+        self.CheckLoadData("ActBuyOneTemplate")
+        return self.ipyActBuyOneTemplateLen
+    def GetActBuyOneTemplateByIndex(self, index):
+        self.CheckLoadData("ActBuyOneTemplate")
+        return self.ipyActBuyOneTemplateCache[index]
+
+    def GetActCollectWordsCount(self):
+        self.CheckLoadData("ActCollectWords")
+        return self.ipyActCollectWordsLen
+    def GetActCollectWordsByIndex(self, index):
+        self.CheckLoadData("ActCollectWords")
+        return self.ipyActCollectWordsCache[index]
+
+    def GetCollectWordsExchangeCount(self):
+        self.CheckLoadData("CollectWordsExchange")
+        return self.ipyCollectWordsExchangeLen
+    def GetCollectWordsExchangeByIndex(self, index):
+        self.CheckLoadData("CollectWordsExchange")
+        return self.ipyCollectWordsExchangeCache[index]
+
+    def GetActGarbageSortingCount(self):
+        self.CheckLoadData("ActGarbageSorting")
+        return self.ipyActGarbageSortingLen
+    def GetActGarbageSortingByIndex(self, index):
+        self.CheckLoadData("ActGarbageSorting")
+        return self.ipyActGarbageSortingCache[index]
+
+    def GetActGarbageTaskCount(self):
+        self.CheckLoadData("ActGarbageTask")
+        return self.ipyActGarbageTaskLen
+    def GetActGarbageTaskByIndex(self, index):
+        self.CheckLoadData("ActGarbageTask")
+        return self.ipyActGarbageTaskCache[index]
+
+    def GetActBossTrialCount(self):
+        self.CheckLoadData("ActBossTrial")
+        return self.ipyActBossTrialLen
+    def GetActBossTrialByIndex(self, index):
+        self.CheckLoadData("ActBossTrial")
+        return self.ipyActBossTrialCache[index]
+
+    def GetActBossTrialTemplateCount(self):
+        self.CheckLoadData("ActBossTrialTemplate")
+        return self.ipyActBossTrialTemplateLen
+    def GetActBossTrialTemplateByIndex(self, index):
+        self.CheckLoadData("ActBossTrialTemplate")
+        return self.ipyActBossTrialTemplateCache[index]
+
+    def GetActXianXiaMJCount(self):
+        self.CheckLoadData("ActXianXiaMJ")
+        return self.ipyActXianXiaMJLen
+    def GetActXianXiaMJByIndex(self, index):
+        self.CheckLoadData("ActXianXiaMJ")
+        return self.ipyActXianXiaMJCache[index]
+
+    def GetActXianXiaMJAwardCount(self):
+        self.CheckLoadData("ActXianXiaMJAward")
+        return self.ipyActXianXiaMJAwardLen
+    def GetActXianXiaMJAwardByIndex(self, index):
+        self.CheckLoadData("ActXianXiaMJAward")
+        return self.ipyActXianXiaMJAwardCache[index]
+
+    def GetActGodGiftCount(self):
+        self.CheckLoadData("ActGodGift")
+        return self.ipyActGodGiftLen
+    def GetActGodGiftByIndex(self, index):
+        self.CheckLoadData("ActGodGift")
+        return self.ipyActGodGiftCache[index]
+
+    def GetActGodGiftAwardCount(self):
+        self.CheckLoadData("ActGodGiftAward")
+        return self.ipyActGodGiftAwardLen
+    def GetActGodGiftAwardByIndex(self, index):
+        self.CheckLoadData("ActGodGiftAward")
+        return self.ipyActGodGiftAwardCache[index]
+
+    def GetActHorsePetFeastCount(self):
+        self.CheckLoadData("ActHorsePetFeast")
+        return self.ipyActHorsePetFeastLen
+    def GetActHorsePetFeastByIndex(self, index):
+        self.CheckLoadData("ActHorsePetFeast")
+        return self.ipyActHorsePetFeastCache[index]
+
+    def GetActBossRebornCount(self):
+        self.CheckLoadData("ActBossReborn")
+        return self.ipyActBossRebornLen
+    def GetActBossRebornByIndex(self, index):
+        self.CheckLoadData("ActBossReborn")
+        return self.ipyActBossRebornCache[index]
+
+    def GetBossRebornCount(self):
+        self.CheckLoadData("BossReborn")
+        return self.ipyBossRebornLen
+    def GetBossRebornByIndex(self, index):
+        self.CheckLoadData("BossReborn")
+        return self.ipyBossRebornCache[index]
+
+    def GetActRealmPointCount(self):
+        self.CheckLoadData("ActRealmPoint")
+        return self.ipyActRealmPointLen
+    def GetActRealmPointByIndex(self, index):
+        self.CheckLoadData("ActRealmPoint")
+        return self.ipyActRealmPointCache[index]
+
+    def GetTrialExchangeCount(self):
+        self.CheckLoadData("TrialExchange")
+        return self.ipyTrialExchangeLen
+    def GetTrialExchangeByIndex(self, index):
+        self.CheckLoadData("TrialExchange")
+        return self.ipyTrialExchangeCache[index]
+
+    def GetAllPeoplePartyCount(self):
+        self.CheckLoadData("AllPeopleParty")
+        return self.ipyAllPeoplePartyLen
+    def GetAllPeoplePartyByIndex(self, index):
+        self.CheckLoadData("AllPeopleParty")
+        return self.ipyAllPeoplePartyCache[index]
+
+    def GetAllPeoplePartyAwardCount(self):
+        self.CheckLoadData("AllPeoplePartyAward")
+        return self.ipyAllPeoplePartyAwardLen
+    def GetAllPeoplePartyAwardByIndex(self, index):
+        self.CheckLoadData("AllPeoplePartyAward")
+        return self.ipyAllPeoplePartyAwardCache[index]
+
+    def GetMapEventPointCount(self):
+        self.CheckLoadData("MapEventPoint")
+        return self.ipyMapEventPointLen
+    def GetMapEventPointByIndex(self, index):
+        self.CheckLoadData("MapEventPoint")
+        return self.ipyMapEventPointCache[index]
+
+    def GetTalentSkillCount(self):
+        self.CheckLoadData("TalentSkill")
+        return self.ipyTalentSkillLen
+    def GetTalentSkillByIndex(self, index):
+        self.CheckLoadData("TalentSkill")
+        return self.ipyTalentSkillCache[index]
+
+    def GetActFlashSaleCount(self):
+        self.CheckLoadData("ActFlashSale")
+        return self.ipyActFlashSaleLen
+    def GetActFlashSaleByIndex(self, index):
+        self.CheckLoadData("ActFlashSale")
+        return self.ipyActFlashSaleCache[index]
+
+    def GetActWishingWellCount(self):
+        self.CheckLoadData("ActWishingWell")
+        return self.ipyActWishingWellLen
+    def GetActWishingWellByIndex(self, index):
+        self.CheckLoadData("ActWishingWell")
+        return self.ipyActWishingWellCache[index]
+
+    def GetWishingWellCount(self):
+        self.CheckLoadData("WishingWell")
+        return self.ipyWishingWellLen
+    def GetWishingWellByIndex(self, index):
+        self.CheckLoadData("WishingWell")
+        return self.ipyWishingWellCache[index]
+
+    def GetFunctionForecastCount(self):
+        self.CheckLoadData("FunctionForecast")
+        return self.ipyFunctionForecastLen
+    def GetFunctionForecastByIndex(self, index):
+        self.CheckLoadData("FunctionForecast")
+        return self.ipyFunctionForecastCache[index]
+
+    def GetChatBubbleBoxCount(self):
+        self.CheckLoadData("ChatBubbleBox")
+        return self.ipyChatBubbleBoxLen
+    def GetChatBubbleBoxByIndex(self, index):
+        self.CheckLoadData("ChatBubbleBox")
+        return self.ipyChatBubbleBoxCache[index]
+
+    def GetActRechargePrizeCount(self):
+        self.CheckLoadData("ActRechargePrize")
+        return self.ipyActRechargePrizeLen
+    def GetActRechargePrizeByIndex(self, index):
+        self.CheckLoadData("ActRechargePrize")
+        return self.ipyActRechargePrizeCache[index]
+
+    def GetRechargePrizeTemplateCount(self):
+        self.CheckLoadData("RechargePrizeTemplate")
+        return self.ipyRechargePrizeTemplateLen
+    def GetRechargePrizeTemplateByIndex(self, index):
+        self.CheckLoadData("RechargePrizeTemplate")
+        return self.ipyRechargePrizeTemplateCache[index]
+
+    def GetActTotalRechargeCount(self):
+        self.CheckLoadData("ActTotalRecharge")
+        return self.ipyActTotalRechargeLen
+    def GetActTotalRechargeByIndex(self, index):
+        self.CheckLoadData("ActTotalRecharge")
+        return self.ipyActTotalRechargeCache[index]
+
+    def GetTotalRechargeTemplateCount(self):
+        self.CheckLoadData("TotalRechargeTemplate")
+        return self.ipyTotalRechargeTemplateLen
+    def GetTotalRechargeTemplateByIndex(self, index):
+        self.CheckLoadData("TotalRechargeTemplate")
+        return self.ipyTotalRechargeTemplateCache[index]
+
+    def GetActRechargeRebateGoldCount(self):
+        self.CheckLoadData("ActRechargeRebateGold")
+        return self.ipyActRechargeRebateGoldLen
+    def GetActRechargeRebateGoldByIndex(self, index):
+        self.CheckLoadData("ActRechargeRebateGold")
+        return self.ipyActRechargeRebateGoldCache[index]
+
+    def GetRechargeRebateGoldTemplateCount(self):
+        self.CheckLoadData("RechargeRebateGoldTemplate")
+        return self.ipyRechargeRebateGoldTemplateLen
+    def GetRechargeRebateGoldTemplateByIndex(self, index):
+        self.CheckLoadData("RechargeRebateGoldTemplate")
+        return self.ipyRechargeRebateGoldTemplateCache[index]
+
+    def GetActGrowupBuyCount(self):
+        self.CheckLoadData("ActGrowupBuy")
+        return self.ipyActGrowupBuyLen
+    def GetActGrowupBuyByIndex(self, index):
+        self.CheckLoadData("ActGrowupBuy")
+        return self.ipyActGrowupBuyCache[index]
+
+    def GetActManyDayRechargeCount(self):
+        self.CheckLoadData("ActManyDayRecharge")
+        return self.ipyActManyDayRechargeLen
+    def GetActManyDayRechargeByIndex(self, index):
+        self.CheckLoadData("ActManyDayRecharge")
+        return self.ipyActManyDayRechargeCache[index]
+
+    def GetActManyDayRechargeAwardCount(self):
+        self.CheckLoadData("ActManyDayRechargeAward")
+        return self.ipyActManyDayRechargeAwardLen
+    def GetActManyDayRechargeAwardByIndex(self, index):
+        self.CheckLoadData("ActManyDayRechargeAward")
+        return self.ipyActManyDayRechargeAwardCache[index]
+
+    def GetActTurntableCount(self):
+        self.CheckLoadData("ActTurntable")
+        return self.ipyActTurntableLen
+    def GetActTurntableByIndex(self, index):
+        self.CheckLoadData("ActTurntable")
+        return self.ipyActTurntableCache[index]
+
+    def GetActSingleRechargeCount(self):
+        self.CheckLoadData("ActSingleRecharge")
+        return self.ipyActSingleRechargeLen
+    def GetActSingleRechargeByIndex(self, index):
+        self.CheckLoadData("ActSingleRecharge")
+        return self.ipyActSingleRechargeCache[index]
+
+    def GetActSingleRechargeAwardCount(self):
+        self.CheckLoadData("ActSingleRechargeAward")
+        return self.ipyActSingleRechargeAwardLen
+    def GetActSingleRechargeAwardByIndex(self, index):
+        self.CheckLoadData("ActSingleRechargeAward")
+        return self.ipyActSingleRechargeAwardCache[index]
+
+    def GetMagicWeaponFBCount(self):
+        self.CheckLoadData("MagicWeaponFB")
+        return self.ipyMagicWeaponFBLen
+    def GetMagicWeaponFBByIndex(self, index):
+        self.CheckLoadData("MagicWeaponFB")
+        return self.ipyMagicWeaponFBCache[index]
+
+    def GetIceLodeStarAwardCount(self):
+        self.CheckLoadData("IceLodeStarAward")
+        return self.ipyIceLodeStarAwardLen
+    def GetIceLodeStarAwardByIndex(self, index):
+        self.CheckLoadData("IceLodeStarAward")
+        return self.ipyIceLodeStarAwardCache[index]
+
+    def GetCrossRealmPKDanCount(self):
+        self.CheckLoadData("CrossRealmPKDan")
+        return self.ipyCrossRealmPKDanLen
+    def GetCrossRealmPKDanByIndex(self, index):
+        self.CheckLoadData("CrossRealmPKDan")
+        return self.ipyCrossRealmPKDanCache[index]
+
+    def GetCrossRealmPKDanAwardCount(self):
+        self.CheckLoadData("CrossRealmPKDanAward")
+        return self.ipyCrossRealmPKDanAwardLen
+    def GetCrossRealmPKDanAwardByIndex(self, index):
+        self.CheckLoadData("CrossRealmPKDanAward")
+        return self.ipyCrossRealmPKDanAwardCache[index]
+
+    def GetCrossRealmPKOrderAwardCount(self):
+        self.CheckLoadData("CrossRealmPKOrderAward")
+        return self.ipyCrossRealmPKOrderAwardLen
+    def GetCrossRealmPKOrderAwardByIndex(self, index):
+        self.CheckLoadData("CrossRealmPKOrderAward")
+        return self.ipyCrossRealmPKOrderAwardCache[index]
+
+    def GetCrossZoneCommCount(self):
+        self.CheckLoadData("CrossZoneComm")
+        return self.ipyCrossZoneCommLen
+    def GetCrossZoneCommByIndex(self, index):
+        self.CheckLoadData("CrossZoneComm")
+        return self.ipyCrossZoneCommCache[index]
+
+    def GetCrossZonePKCount(self):
+        self.CheckLoadData("CrossZonePK")
+        return self.ipyCrossZonePKLen
+    def GetCrossZonePKByIndex(self, index):
+        self.CheckLoadData("CrossZonePK")
+        return self.ipyCrossZonePKCache[index]
+
+    def GetCrossPenglaiZoneMapCount(self):
+        self.CheckLoadData("CrossPenglaiZoneMap")
+        return self.ipyCrossPenglaiZoneMapLen
+    def GetCrossPenglaiZoneMapByIndex(self, index):
+        self.CheckLoadData("CrossPenglaiZoneMap")
+        return self.ipyCrossPenglaiZoneMapCache[index]
+
+    def GetCrossDemonLandZoneMapCount(self):
+        self.CheckLoadData("CrossDemonLandZoneMap")
+        return self.ipyCrossDemonLandZoneMapLen
+    def GetCrossDemonLandZoneMapByIndex(self, index):
+        self.CheckLoadData("CrossDemonLandZoneMap")
+        return self.ipyCrossDemonLandZoneMapCache[index]
+
+    def GetGatherSoulCount(self):
+        self.CheckLoadData("GatherSoul")
+        return self.ipyGatherSoulLen
+    def GetGatherSoulByIndex(self, index):
+        self.CheckLoadData("GatherSoul")
+        return self.ipyGatherSoulCache[index]
+
+    def GetGatherSoulCompoundCount(self):
+        self.CheckLoadData("GatherSoulCompound")
+        return self.ipyGatherSoulCompoundLen
+    def GetGatherSoulCompoundByIndex(self, index):
+        self.CheckLoadData("GatherSoulCompound")
+        return self.ipyGatherSoulCompoundCache[index]
+
+    def GetGatherSoulAttrCount(self):
+        self.CheckLoadData("GatherSoulAttr")
+        return self.ipyGatherSoulAttrLen
+    def GetGatherSoulAttrByIndex(self, index):
+        self.CheckLoadData("GatherSoulAttr")
+        return self.ipyGatherSoulAttrCache[index]
+
+    def GetMagicWeaponOfKingCount(self):
+        self.CheckLoadData("MagicWeaponOfKing")
+        return self.ipyMagicWeaponOfKingLen
+    def GetMagicWeaponOfKingByIndex(self, index):
+        self.CheckLoadData("MagicWeaponOfKing")
+        return self.ipyMagicWeaponOfKingCache[index]
+
+    def GetCoatCount(self):
+        self.CheckLoadData("Coat")
+        return self.ipyCoatLen
+    def GetCoatByIndex(self, index):
+        self.CheckLoadData("Coat")
+        return self.ipyCoatCache[index]
+
+    def GetCoatChestUpCount(self):
+        self.CheckLoadData("CoatChestUp")
+        return self.ipyCoatChestUpLen
+    def GetCoatChestUpByIndex(self, index):
+        self.CheckLoadData("CoatChestUp")
+        return self.ipyCoatChestUpCache[index]
+
+    def GetActWeekPartyCount(self):
+        self.CheckLoadData("ActWeekParty")
+        return self.ipyActWeekPartyLen
+    def GetActWeekPartyByIndex(self, index):
+        self.CheckLoadData("ActWeekParty")
+        return self.ipyActWeekPartyCache[index]
+
+    def GetWeekPartyCount(self):
+        self.CheckLoadData("WeekParty")
+        return self.ipyWeekPartyLen
+    def GetWeekPartyByIndex(self, index):
+        self.CheckLoadData("WeekParty")
+        return self.ipyWeekPartyCache[index]
+
+    def GetActLoginAwardCount(self):
+        self.CheckLoadData("ActLoginAward")
+        return self.ipyActLoginAwardLen
+    def GetActLoginAwardByIndex(self, index):
+        self.CheckLoadData("ActLoginAward")
+        return self.ipyActLoginAwardCache[index]
+
+    def GetLoginAwardCount(self):
+        self.CheckLoadData("LoginAward")
+        return self.ipyLoginAwardLen
+    def GetLoginAwardByIndex(self, index):
+        self.CheckLoadData("LoginAward")
+        return self.ipyLoginAwardCache[index]
+
+    def GetActFeastLoginCount(self):
+        self.CheckLoadData("ActFeastLogin")
+        return self.ipyActFeastLoginLen
+    def GetActFeastLoginByIndex(self, index):
+        self.CheckLoadData("ActFeastLogin")
+        return self.ipyActFeastLoginCache[index]
+
+    def GetActFeastLoginAwardCount(self):
+        self.CheckLoadData("ActFeastLoginAward")
+        return self.ipyActFeastLoginAwardLen
+    def GetActFeastLoginAwardByIndex(self, index):
+        self.CheckLoadData("ActFeastLoginAward")
+        return self.ipyActFeastLoginAwardCache[index]
+
+    def GetActFeastWishCount(self):
+        self.CheckLoadData("ActFeastWish")
+        return self.ipyActFeastWishLen
+    def GetActFeastWishByIndex(self, index):
+        self.CheckLoadData("ActFeastWish")
+        return self.ipyActFeastWishCache[index]
+
+    def GetActFeastWishBottleCount(self):
+        self.CheckLoadData("ActFeastWishBottle")
+        return self.ipyActFeastWishBottleLen
+    def GetActFeastWishBottleByIndex(self, index):
+        self.CheckLoadData("ActFeastWishBottle")
+        return self.ipyActFeastWishBottleCache[index]
+
+    def GetActFeastWishPoolCount(self):
+        self.CheckLoadData("ActFeastWishPool")
+        return self.ipyActFeastWishPoolLen
+    def GetActFeastWishPoolByIndex(self, index):
+        self.CheckLoadData("ActFeastWishPool")
+        return self.ipyActFeastWishPoolCache[index]
+
+    def GetActFeastTravelCount(self):
+        self.CheckLoadData("ActFeastTravel")
+        return self.ipyActFeastTravelLen
+    def GetActFeastTravelByIndex(self, index):
+        self.CheckLoadData("ActFeastTravel")
+        return self.ipyActFeastTravelCache[index]
+
+    def GetActFeastTravelTaskCount(self):
+        self.CheckLoadData("ActFeastTravelTask")
+        return self.ipyActFeastTravelTaskLen
+    def GetActFeastTravelTaskByIndex(self, index):
+        self.CheckLoadData("ActFeastTravelTask")
+        return self.ipyActFeastTravelTaskCache[index]
+
+    def GetActFeastTravelAwardCount(self):
+        self.CheckLoadData("ActFeastTravelAward")
+        return self.ipyActFeastTravelAwardLen
+    def GetActFeastTravelAwardByIndex(self, index):
+        self.CheckLoadData("ActFeastTravelAward")
+        return self.ipyActFeastTravelAwardCache[index]
+
+    def GetZhuXianBossCount(self):
+        self.CheckLoadData("ZhuXianBoss")
+        return self.ipyZhuXianBossLen
+    def GetZhuXianBossByIndex(self, index):
+        self.CheckLoadData("ZhuXianBoss")
+        return self.ipyZhuXianBossCache[index]
+
+    def GetActFeastWeekPartyCount(self):
+        self.CheckLoadData("ActFeastWeekParty")
+        return self.ipyActFeastWeekPartyLen
+    def GetActFeastWeekPartyByIndex(self, index):
+        self.CheckLoadData("ActFeastWeekParty")
+        return self.ipyActFeastWeekPartyCache[index]
+
+    def GetFeastWeekPartyCount(self):
+        self.CheckLoadData("FeastWeekParty")
+        return self.ipyFeastWeekPartyLen
+    def GetFeastWeekPartyByIndex(self, index):
+        self.CheckLoadData("FeastWeekParty")
+        return self.ipyFeastWeekPartyCache[index]
+
+    def GetNewAllPeoplePartyCount(self):
+        self.CheckLoadData("NewAllPeopleParty")
+        return self.ipyNewAllPeoplePartyLen
+    def GetNewAllPeoplePartyByIndex(self, index):
+        self.CheckLoadData("NewAllPeopleParty")
+        return self.ipyNewAllPeoplePartyCache[index]
+
+    def GetNewAllPeoplePartyAwardCount(self):
+        self.CheckLoadData("NewAllPeoplePartyAward")
+        return self.ipyNewAllPeoplePartyAwardLen
+    def GetNewAllPeoplePartyAwardByIndex(self, index):
+        self.CheckLoadData("NewAllPeoplePartyAward")
+        return self.ipyNewAllPeoplePartyAwardCache[index]
+
+    def GetActLuckyTreasureCount(self):
+        self.CheckLoadData("ActLuckyTreasure")
+        return self.ipyActLuckyTreasureLen
+    def GetActLuckyTreasureByIndex(self, index):
+        self.CheckLoadData("ActLuckyTreasure")
+        return self.ipyActLuckyTreasureCache[index]
+
+    def GetLuckyTreasureTemplateCount(self):
+        self.CheckLoadData("LuckyTreasureTemplate")
+        return self.ipyLuckyTreasureTemplateLen
+    def GetLuckyTreasureTemplateByIndex(self, index):
+        self.CheckLoadData("LuckyTreasureTemplate")
+        return self.ipyLuckyTreasureTemplateCache[index]
+
+    def GetCrossActCTGBillboardDabiaoCount(self):
+        self.CheckLoadData("CrossActCTGBillboardDabiao")
+        return self.ipyCrossActCTGBillboardDabiaoLen
+    def GetCrossActCTGBillboardDabiaoByIndex(self, index):
+        self.CheckLoadData("CrossActCTGBillboardDabiao")
+        return self.ipyCrossActCTGBillboardDabiaoCache[index]
+
+    def GetCrossActCTGBillboardOrderCount(self):
+        self.CheckLoadData("CrossActCTGBillboardOrder")
+        return self.ipyCrossActCTGBillboardOrderLen
+    def GetCrossActCTGBillboardOrderByIndex(self, index):
+        self.CheckLoadData("CrossActCTGBillboardOrder")
+        return self.ipyCrossActCTGBillboardOrderCache[index]
+
+    def GetMysteryShopCount(self):
+        self.CheckLoadData("MysteryShop")
+        return self.ipyMysteryShopLen
+    def GetMysteryShopByIndex(self, index):
+        self.CheckLoadData("MysteryShop")
+        return self.ipyMysteryShopCache[index]
+
+    def GetEquipPlaceIndexMapCount(self):
+        self.CheckLoadData("EquipPlaceIndexMap")
+        return self.ipyEquipPlaceIndexMapLen
+    def GetEquipPlaceIndexMapByIndex(self, index):
+        self.CheckLoadData("EquipPlaceIndexMap")
+        return self.ipyEquipPlaceIndexMapCache[index]
+
+    def GetEquipShenAttrCount(self):
+        self.CheckLoadData("EquipShenAttr")
+        return self.ipyEquipShenAttrLen
+    def GetEquipShenAttrByIndex(self, index):
+        self.CheckLoadData("EquipShenAttr")
+        return self.ipyEquipShenAttrCache[index]
+
+    def GetEquipShenEvolveCount(self):
+        self.CheckLoadData("EquipShenEvolve")
+        return self.ipyEquipShenEvolveLen
+    def GetEquipShenEvolveByIndex(self, index):
+        self.CheckLoadData("EquipShenEvolve")
+        return self.ipyEquipShenEvolveCache[index]
+
+    def GetEquipStarUpCount(self):
+        self.CheckLoadData("EquipStarUp")
+        return self.ipyEquipStarUpLen
+    def GetEquipStarUpByIndex(self, index):
+        self.CheckLoadData("EquipStarUp")
+        return self.ipyEquipStarUpCache[index]
+
+    def GetEquipPlusEvolveCount(self):
+        self.CheckLoadData("EquipPlusEvolve")
+        return self.ipyEquipPlusEvolveLen
+    def GetEquipPlusEvolveByIndex(self, index):
+        self.CheckLoadData("EquipPlusEvolve")
+        return self.ipyEquipPlusEvolveCache[index]
+
+    def GetFamilyBossAwardCount(self):
+        self.CheckLoadData("FamilyBossAward")
+        return self.ipyFamilyBossAwardLen
+    def GetFamilyBossAwardByIndex(self, index):
+        self.CheckLoadData("FamilyBossAward")
+        return self.ipyFamilyBossAwardCache[index]
+
+    def GetFamilyBossHurtAwardCount(self):
+        self.CheckLoadData("FamilyBossHurtAward")
+        return self.ipyFamilyBossHurtAwardLen
+    def GetFamilyBossHurtAwardByIndex(self, index):
+        self.CheckLoadData("FamilyBossHurtAward")
+        return self.ipyFamilyBossHurtAwardCache[index]
+
+    def GetFamilyZhenfaCount(self):
+        self.CheckLoadData("FamilyZhenfa")
+        return self.ipyFamilyZhenfaLen
+    def GetFamilyZhenfaByIndex(self, index):
+        self.CheckLoadData("FamilyZhenfa")
+        return self.ipyFamilyZhenfaCache[index]
+
+    def GetItemWashMaxCount(self):
+        self.CheckLoadData("ItemWashMax")
+        return self.ipyItemWashMaxLen
+    def GetItemWashMaxByIndex(self, index):
+        self.CheckLoadData("ItemWashMax")
+        return self.ipyItemWashMaxCache[index]
+
+    def GetHorsePetBossAwardCount(self):
+        self.CheckLoadData("HorsePetBossAward")
+        return self.ipyHorsePetBossAwardLen
+    def GetHorsePetBossAwardByIndex(self, index):
+        self.CheckLoadData("HorsePetBossAward")
+        return self.ipyHorsePetBossAwardCache[index]
+
+    def GetFairyDomainCount(self):
+        self.CheckLoadData("FairyDomain")
+        return self.ipyFairyDomainLen
+    def GetFairyDomainByIndex(self, index):
+        self.CheckLoadData("FairyDomain")
+        return self.ipyFairyDomainCache[index]
+
+    def GetFairyAdventuresCount(self):
+        self.CheckLoadData("FairyAdventures")
+        return self.ipyFairyAdventuresLen
+    def GetFairyAdventuresByIndex(self, index):
+        self.CheckLoadData("FairyAdventures")
+        return self.ipyFairyAdventuresCache[index]
+
+    def GetFairyDomainAppointCount(self):
+        self.CheckLoadData("FairyDomainAppoint")
+        return self.ipyFairyDomainAppointLen
+    def GetFairyDomainAppointByIndex(self, index):
+        self.CheckLoadData("FairyDomainAppoint")
+        return self.ipyFairyDomainAppointCache[index]
+
+    def GetFBBuyBuffCount(self):
+        self.CheckLoadData("FBBuyBuff")
+        return self.ipyFBBuyBuffLen
+    def GetFBBuyBuffByIndex(self, index):
+        self.CheckLoadData("FBBuyBuff")
+        return self.ipyFBBuyBuffCache[index]
+
+    def GetSkillElementCount(self):
+        self.CheckLoadData("SkillElement")
+        return self.ipySkillElementLen
+    def GetSkillElementByIndex(self, index):
+        self.CheckLoadData("SkillElement")
+        return self.ipySkillElementCache[index]
+
+    def GetSkyTowerCount(self):
+        self.CheckLoadData("SkyTower")
+        return self.ipySkyTowerLen
+    def GetSkyTowerByIndex(self, index):
+        self.CheckLoadData("SkyTower")
+        return self.ipySkyTowerCache[index]
+
+    def GetSkyTowerServerChallengeCount(self):
+        self.CheckLoadData("SkyTowerServerChallenge")
+        return self.ipySkyTowerServerChallengeLen
+    def GetSkyTowerServerChallengeByIndex(self, index):
+        self.CheckLoadData("SkyTowerServerChallenge")
+        return self.ipySkyTowerServerChallengeCache[index]
+
+    def GetLingGenEffectCount(self):
+        self.CheckLoadData("LingGenEffect")
+        return self.ipyLingGenEffectLen
+    def GetLingGenEffectByIndex(self, index):
+        self.CheckLoadData("LingGenEffect")
+        return self.ipyLingGenEffectCache[index]
+
+    def GetLoveGiftCount(self):
+        self.CheckLoadData("LoveGift")
+        return self.ipyLoveGiftLen
+    def GetLoveGiftByIndex(self, index):
+        self.CheckLoadData("LoveGift")
+        return self.ipyLoveGiftCache[index]
+
+    def GetMarryCount(self):
+        self.CheckLoadData("Marry")
+        return self.ipyMarryLen
+    def GetMarryByIndex(self, index):
+        self.CheckLoadData("Marry")
+        return self.ipyMarryCache[index]
+
+    def GetLoveRingCount(self):
+        self.CheckLoadData("LoveRing")
+        return self.ipyLoveRingLen
+    def GetLoveRingByIndex(self, index):
+        self.CheckLoadData("LoveRing")
+        return self.ipyLoveRingCache[index]
+
+    def GetLoveCharmCount(self):
+        self.CheckLoadData("LoveCharm")
+        return self.ipyLoveCharmLen
+    def GetLoveCharmByIndex(self, index):
+        self.CheckLoadData("LoveCharm")
+        return self.ipyLoveCharmCache[index]
+
+    def GetHorsePetSkinCount(self):
+        self.CheckLoadData("HorsePetSkin")
+        return self.ipyHorsePetSkinLen
+    def GetHorsePetSkinByIndex(self, index):
+        self.CheckLoadData("HorsePetSkin")
+        return self.ipyHorsePetSkinCache[index]
+
+    def GetAssistThanksGiftCount(self):
+        self.CheckLoadData("AssistThanksGift")
+        return self.ipyAssistThanksGiftLen
+    def GetAssistThanksGiftByIndex(self, index):
+        self.CheckLoadData("AssistThanksGift")
+        return self.ipyAssistThanksGiftCache[index]
+
+    def GetFuncSysPrivilegeCount(self):
+        self.CheckLoadData("FuncSysPrivilege")
+        return self.ipyFuncSysPrivilegeLen
+    def GetFuncSysPrivilegeByIndex(self, index):
+        self.CheckLoadData("FuncSysPrivilege")
+        return self.ipyFuncSysPrivilegeCache[index]
+
+    def GetHistoryRechargeAwardCount(self):
+        self.CheckLoadData("HistoryRechargeAward")
+        return self.ipyHistoryRechargeAwardLen
+    def GetHistoryRechargeAwardByIndex(self, index):
+        self.CheckLoadData("HistoryRechargeAward")
+        return self.ipyHistoryRechargeAwardCache[index]
+
+    def GetCustomAwardCount(self):
+        self.CheckLoadData("CustomAward")
+        return self.ipyCustomAwardLen
+    def GetCustomAwardByIndex(self, index):
+        self.CheckLoadData("CustomAward")
+        return self.ipyCustomAwardCache[index]
+
+    def GetZhanlingCount(self):
+        self.CheckLoadData("Zhanling")
+        return self.ipyZhanlingLen
+    def GetZhanlingByIndex(self, index):
+        self.CheckLoadData("Zhanling")
+        return self.ipyZhanlingCache[index]
+
+    def GetTreeLVCount(self):
+        self.CheckLoadData("TreeLV")
+        return self.ipyTreeLVLen
+    def GetTreeLVByIndex(self, index):
+        self.CheckLoadData("TreeLV")
+        return self.ipyTreeLVCache[index]
 
 IPYData = IPY_DataMgr()
 def IPY_Data(): return IPYData
@@ -8143,6 +7757,7 @@
     @return: 对应查询条件的 ipyData 数据实例,只返回单个实例
     @使用说明: IpyGameDataPY.GetIpyGameData(表名, 索引1查询值, 索引2查询值, … )
     '''
+    IPYData.CheckLoadData(dtName)
     if dtName not in IPYData.ipyDataIndexMap:
         ErrLog("Can not found ipyData dtName=%s" % (dtName))
         return
@@ -8160,6 +7775,7 @@
     @return: 对应查询条件的 ipyData 数据实例列表
     @使用说明: 与 GetIpyGameData 函数相同
     '''
+    IPYData.CheckLoadData(dtName)
     if dtName not in IPYData.ipyDataIndexMap:
         ErrLog("Can not found ipyDataList dtName=%s" % (dtName))
         return
@@ -8174,6 +7790,7 @@
 def GetIpyGameDataNotLog(dtName, *args):
     '''与 GetIpyGameData 函数相同, 只是找不到数据时不会输出日志
     '''
+    IPYData.CheckLoadData(dtName)
     if dtName not in IPYData.ipyDataIndexMap:
         #ErrLog("Can not found ipyData dtName=%s" % (dtName))
         return
@@ -8187,6 +7804,7 @@
 def GetIpyGameDataListNotLog(dtName, *args):
     '''与 GetIpyGameDataList 函数相同, 只是找不到数据时不会输出日志
     '''
+    IPYData.CheckLoadData(dtName)
     if dtName not in IPYData.ipyDataIndexMap:
         #ErrLog("Can not found ipyDataList dtName=%s" % (dtName))
         return
@@ -8206,6 +7824,7 @@
     @param isLogNone: 找不到数据时是否数据日志,默认是
     @return: 找不到数据时返回 None,有数据时根据参数是否返回列表返回对应的数据实例或数据实例列表
     '''
+    IPYData.CheckLoadData(dtName)
     fieldList = keyDict.keys()
     valueList = keyDict.values()
     findFieldKey = "%s_%s" % (dtName, fieldList)
@@ -8215,7 +7834,7 @@
     if findFieldKey not in IPYData.ipyDataIndexMapEx:
         indexMapDict = {}
         for index, iData in enumerate(cacheList):
-            valuekey = tuple([getattr(iData, "%s" % field) for field in fieldList])
+            valuekey = tuple([getattr(iData, "Get%s" % field)() for field in fieldList])
             indexList = indexMapDict.get(valuekey, [])
             indexList.append(index)
             indexMapDict[valuekey] = indexList        
@@ -8236,6 +7855,7 @@
     @param key: 配置key
     @return: 直接返回该配置key对应的配置ipyData实例
     '''
+    IPYData.CheckLoadData("FuncConfig")
     if key not in IPYData.ipyFuncConfigDict:
         ErrLog("Can not found ipyData FuncConfig key=%s!" % key)
         return ""
@@ -8247,20 +7867,21 @@
     @param index: 第几个配置值,支持1~5
     @return: 直接返回对应的数据类型 int、str,不用再手动转int
     '''
+    IPYData.CheckLoadData("FuncConfig")
     if key not in IPYData.ipyFuncConfigDict:
         ErrLog("Can not found ipyData FuncConfig key=%s!" % key)
         return ""
     cfgObj = IPYData.ipyFuncConfigDict[key]
     if index == 1:
-        return cfgObj.Numerical1
+        return cfgObj.attrTuple[1]
     if index == 2:
-        return cfgObj.Numerical2
+        return cfgObj.attrTuple[2]
     if index == 3:
-        return cfgObj.Numerical3
+        return cfgObj.attrTuple[3]
     if index == 4:
-        return cfgObj.Numerical4
+        return cfgObj.attrTuple[4]
     if index == 5:
-        return cfgObj.Numerical5
+        return cfgObj.attrTuple[5]
     ErrLog("Can not found ipyData FuncConfig key=%s,index=%s!" % (key, index))
     return ""
 
@@ -8275,20 +7896,21 @@
     当然如果配置的内容本身就为python的列表、字典结构的话可使用上面的函数
     不过为了统一,建议功能配置表读列表、字典时都使用该函数
     '''
+    IPYData.CheckLoadData("FuncConfig")
     if key not in IPYData.ipyFuncConfigDict:
         ErrLog("Can not found ipyData FuncConfig key=%s!" % key)
         return defaultValue
     cfgObj = IPYData.ipyFuncConfigDict[key]
     if index == 1:
-        curConfig = cfgObj.Numerical1
+        curConfig = cfgObj.attrTuple[1]
     elif index == 2:
-        curConfig = cfgObj.Numerical2
+        curConfig = cfgObj.attrTuple[2]
     elif index == 3:
-        curConfig = cfgObj.Numerical3
+        curConfig = cfgObj.attrTuple[3]
     elif index == 4:
-        curConfig = cfgObj.Numerical4
+        curConfig = cfgObj.attrTuple[4]
     elif index == 5:
-        curConfig = cfgObj.Numerical5
+        curConfig = cfgObj.attrTuple[5]
     else:
         ErrLog("Can not found ipyData FuncConfig key=%s,index=%s!" % (key, index))
         return defaultValue
@@ -8315,6 +7937,7 @@
     @param conditionDict: 查询条件,{查询字段名:字段值, ...}
     @return: 找不到数据返回 None , 否则返回对应的 ipyData 数据实例
     '''
+    IPYData.CheckLoadData(dtName)
     if not conditionDict:
         dataList = getattr(IPYData, "ipy%sCache" % dtName)
     else:
@@ -8324,34 +7947,88 @@
     
     low = 0
     lowData = dataList[0]
-    lowValue = getattr(lowData, "%s" % keyName)
+    lowValue = getattr(lowData, "Get%s" % keyName)()
     if keyValue < lowValue:
         return
     
     high = len(dataList) - 1
     highData = dataList[high]
-    highValue = getattr(highData, "%s" % keyName)
+    highValue = getattr(highData, "Get%s" % keyName)()
     if keyValue >= highValue:
         return highData
     
     near = low + int((high - low) * (keyValue - lowValue)/(highValue - lowValue))
     
     nearData = dataList[near]
-    nearValue = getattr(nearData, "%s" % keyName)
+    nearValue = getattr(nearData, "Get%s" % keyName)()
     
     if keyValue < nearValue:
         for i in xrange(near - 1, low - 1, -1):
             nearData = dataList[i]
-            nearValue = getattr(nearData, "%s" % keyName)
+            nearValue = getattr(nearData, "Get%s" % keyName)()
             if nearValue <= keyValue:
                 return nearData
             
     elif keyValue > nearValue:
         for i in xrange(near + 1, high + 1):
             nearData = dataList[i]
-            nearValue = getattr(nearData, "%s" % keyName)
+            nearValue = getattr(nearData, "Get%s" % keyName)()
             if nearValue > keyValue:
                 return dataList[i - 1]
             
     return nearData
 
+#if __name__ == "__main__":
+#    IPYDataTotalSize = ChConfig.GetSizeof(IPYData)
+#    classSizeSum = sum(IPYData.classSizeDict.values())
+#    Log("数据类内存: %s b = %s M" % (classSizeSum, str(classSizeSum/float(1024*1024))))
+#    Log("总占用内存: %s b = %s M" % (IPYDataTotalSize, str(IPYDataTotalSize/float(1024*1024))))
+#    for key in ["OpenBagItem", "RuneUnlock", "IceLodeNeedPoint", "RealmDifficulty", "TongTianLing", "TongTianLingaaa"]:
+#        for i in range(1, 6):
+#            v = GetFuncCfg(key, i)
+#            Log("key:%s,i=%s,value=%s\t%s" % (key, i, type(v), str(v)))
+#            
+#    ipyData = GetIpyGameData("FlashGiftbag", 303)
+#    giftbagIpyDataList = GetIpyGameDataByCondition("FlashGiftbag", {"GiftbagType":1002}, True, True)
+#    for ipyData in giftbagIpyDataList:
+#        print 
+#        print type(ipyData.GetGiftbagID()), ipyData.GetGiftbagID()
+#        print type(ipyData.GetGiftbagType()), ipyData.GetGiftbagType()
+#        print type(ipyData.GetOriginalRMB()), ipyData.GetOriginalRMB()
+#        print type(ipyData.GetBuyCountLimit()), ipyData.GetBuyCountLimit()
+#        print type(ipyData.GetGiftItemList()), ipyData.GetGiftItemList()
+#        print type(ipyData.GetMainItemID()), ipyData.GetMainItemID()
+#        print type(ipyData.GetNotifyKey()), ipyData.GetNotifyKey()
+#        
+#    collNPCIpyDataList = GetIpyGameDataListNotLog("MapRefreshNPC", 32050)
+#    if collNPCIpyDataList:
+#        npcIDList = []
+#        for ipyData in collNPCIpyDataList:
+#            print 
+#            print type(ipyData.GetMapID()), ipyData.GetMapID()
+#            print type(ipyData.GetNPCIDList()), ipyData.GetNPCIDList()
+#            print type(ipyData.GetRefreshMarkList()), ipyData.GetRefreshMarkList()
+#            npcIDList += ipyData.GetNPCIDList()
+#        print "npcIDList", npcIDList
+#    else:
+#        print "None"
+#        
+#    ipyData = GetIpyGameData("RuneCompound", 4415)
+#    if ipyData:
+#        print 
+#        print type(ipyData.GetTagItemID()), ipyData.GetTagItemID()
+#        print type(ipyData.GetNeedItem()), ipyData.GetNeedItem()
+#        print type(ipyData.GetNeedMJ()), ipyData.GetNeedMJ()
+#    else:
+#        print "None"
+#        
+#    ipyData = GetIpyGameData("DailyGiftbag", 703, 105)
+#    if ipyData:
+#        print 
+#        print type(ipyData.GetGiftbagType()), ipyData.GetGiftbagType()
+#        print type(ipyData.GetGiftbagID()), ipyData.GetGiftbagID()
+#        print type(ipyData.GetBuyCountLimit()), ipyData.GetBuyCountLimit()
+#        print type(ipyData.GetGiftItemList()), ipyData.GetGiftItemList()
+#    else:
+#        print "None"
+            
\ No newline at end of file

--
Gitblit v1.8.0