From cd1fa79a477ebb9d02d7494ddd0819c361053f0b Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期二, 09 四月 2019 16:36:12 +0800
Subject: [PATCH] 6457 【后端】【2.0】缥缈仙域开发单(奇遇)

---
 ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py | 1164 +++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 1,036 insertions(+), 128 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
index 6b3d761..6e1fa95 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
@@ -53,6 +53,7 @@
                         ("BYTE", "EliteCnt", 0),
                         ("DWORD", "NeedMoney", 0),
                         ("DWORD", "WeekMissionMoneyMax", 0),
+                        ("BYTE", "BossFBCnt", 0),
                         ),
 
                 "MarketQuery":(
@@ -60,27 +61,40 @@
                         ("dict", "LimitInfo", 0),
                         ),
 
-                "ActionControl":(
-                        ("WORD", "ID", 1),
-                        ("char", "Mark", 0),
-                        ("char", "Data", 0),
-                        ("WORD", "LVLimit", 0),
-                        ("char", "OpenDate", 0),
-                        ("char", "CloseDate", 0),
-                        ("char", "ValidOpenServerDay", 0),
-                        ("char", "ValidMixServerDay", 0),
-                        ("char", "VaildWeek", 0),
-                        ("char", "OpenTime", 0),
-                        ("char", "CloseTime", 0),
-                        ("BYTE", "TimeValidType", 0),
-                        ("char", "SpecTimeState", 0),
-                        ("char", "NotifyInfo", 0),
+                "AuctionItem":(
+                        ("DWORD", "AuctionItemID", 1),
+                        ("BYTE", "NoticeSaleMinutes", 0),
+                        ("WORD", "FamilySaleMinutes", 0),
+                        ("WORD", "WorldSaleMinutes", 0),
+                        ("WORD", "BasePrice", 0),
+                        ("WORD", "BuyoutPrice", 0),
+                        ("WORD", "BiddingAdd", 0),
+                        ("BYTE", "NeedWorldNotify", 0),
+                        ("BYTE", "Sortpriority", 0),
                         ),
 
                 "DailyAction":(
                         ("DWORD", "DailyID", 1),
-                        ("BYTE", "OpenServerDay", 0),
-                        ("char", "OpenTime", 0),
+                        ("dict", "OpenTimeDict", 0),
+                        ("DWORD", "Duration", 0),
+                        ("dict", "NotifyInfo", 0),
+                        ),
+
+                "DailyActionCustom":(
+                        ("DWORD", "ID", 0),
+                        ("BYTE", "OpenServerWeek", 1),
+                        ("DWORD", "OpenServerDay", 0),
+                        ("BYTE", "DailyID", 0),
+                        ("list", "OpenTimeList", 0),
+                        ("DWORD", "Duration", 0),
+                        ("dict", "NotifyInfo", 0),
+                        ),
+
+                "DailyActionCustomMix":(
+                        ("DWORD", "ID", 0),
+                        ("DWORD", "MixServerDay", 1),
+                        ("BYTE", "DailyID", 0),
+                        ("list", "OpenTimeList", 0),
                         ("DWORD", "Duration", 0),
                         ("dict", "NotifyInfo", 0),
                         ),
@@ -88,12 +102,9 @@
                 "FBStateTime":(
                         ("DWORD", "ID", 1),
                         ("DWORD", "DataMapID", 0),
-                        ("BYTE", "OpenServerWeek", 0),
-                        ("BYTE", "OpenServerDay", 0),
                         ("BYTE", "StartWeekday", 0),
                         ("BYTE", "StartHour", 0),
                         ("BYTE", "StartMinute", 0),
-                        ("BYTE", "EndWeekday", 0),
                         ("BYTE", "EndHour", 0),
                         ("BYTE", "EndMinute", 0),
                         ("BYTE", "CanEnter", 0),
@@ -101,10 +112,51 @@
                         ("dict", "NotifyInfoDict", 0),
                         ),
 
+                "FBStateTimeCustom":(
+                        ("DWORD", "ID", 0),
+                        ("BYTE", "OpenServerWeek", 1),
+                        ("DWORD", "OpenServerDay", 0),
+                        ("DWORD", "DataMapID", 0),
+                        ("BYTE", "StartHour", 0),
+                        ("BYTE", "StartMinute", 0),
+                        ("BYTE", "EndHour", 0),
+                        ("BYTE", "EndMinute", 0),
+                        ("BYTE", "CanEnter", 0),
+                        ("BYTE", "StateValue", 0),
+                        ("dict", "NotifyInfoDict", 0),
+                        ),
+
+                "FBStateTimeCustomMix":(
+                        ("DWORD", "ID", 0),
+                        ("DWORD", "MixServerDay", 1),
+                        ("DWORD", "DataMapID", 0),
+                        ("BYTE", "StartHour", 0),
+                        ("BYTE", "StartMinute", 0),
+                        ("BYTE", "EndHour", 0),
+                        ("BYTE", "EndMinute", 0),
+                        ("BYTE", "CanEnter", 0),
+                        ("BYTE", "StateValue", 0),
+                        ("dict", "NotifyInfoDict", 0),
+                        ),
+
+                "FBFunc":(
+                        ("DWORD", "DataMapID", 1),
+                        ("WORD", "HelpPoint", 0),
+                        ),
+
                 "FBLine":(
                         ("DWORD", "DataMapID", 1),
                         ("BYTE", "LineID", 1),
                         ("DWORD", "MapID", 0),
+                        ),
+
+                "FBHelpBattle":(
+                        ("DWORD", "DataMapID", 1),
+                        ("BYTE", "LineID", 1),
+                        ("DWORD", "FightPowerMin", 0),
+                        ("DWORD", "FightPowerMax", 0),
+                        ("WORD", "LVLimit", 0),
+                        ("list", "DayFreeHelpCount", 0),
                         ),
 
                 "ChinMap":(
@@ -138,6 +190,21 @@
                         ("BYTE", "MoneyType", 0),
                         ("BYTE", "PacketCnt", 0),
                         ("BYTE", "LeaderOwn", 0),
+                        ("char", "PacketOpenTime", 0),
+                        ("BYTE", "ValidMinutes", 0),
+                        ),
+
+                "ActFeastRedPacket":(
+                        ("DWORD", "CfgID", 1),
+                        ("char", "ActMark", 0),
+                        ("list", "PlatformList", 0),
+                        ("list", "ServerIDList", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("BYTE", "IsDayReset", 0),
+                        ("BYTE", "ResetType", 0),
+                        ("list", "RedPacketIDList", 0),
+                        ("WORD", "LVLimit", 0),
                         ),
 
                 "FuncOpenLV":(
@@ -158,48 +225,71 @@
                         ("DWORD", "ReFightPower", 0),
                         ),
 
+                "VipPrivilege":(
+                        ("DWORD", "VIPPriID", 1),
+                        ("DWORD", "VIP0", 0),
+                        ("DWORD", "VIP1", 0),
+                        ("DWORD", "VIP2", 0),
+                        ("DWORD", "VIP3", 0),
+                        ("DWORD", "VIP4", 0),
+                        ("DWORD", "VIP5", 0),
+                        ("DWORD", "VIP6", 0),
+                        ("DWORD", "VIP7", 0),
+                        ("DWORD", "VIP8", 0),
+                        ("DWORD", "VIP9", 0),
+                        ("DWORD", "VIP10", 0),
+                        ("DWORD", "VIP11", 0),
+                        ("DWORD", "VIP12", 0),
+                        ("DWORD", "VIP13", 0),
+                        ("DWORD", "VIP14", 0),
+                        ("DWORD", "VIP15", 0),
+                        ),
+
                 "ActSpringSale":(
                         ("DWORD", "CfgID", 1),
                         ("char", "ActMark", 0),
+                        ("list", "PlatformList", 0),
                         ("list", "ServerIDList", 0),
-                        ("BYTE", "OpenServerDayLimit", 0),
                         ("char", "StartDate", 0),
                         ("char", "EndDate", 0),
                         ("list", "StartTimeList", 0),
                         ("list", "EndTimeList", 0),
+                        ("WORD", "AdvanceMinutes", 0),
                         ("dict", "NotifyInfoStart", 0),
                         ("dict", "NotifyInfoEnd", 0),
+                        ("list", "NotifyInfoLoop", 0),
                         ("WORD", "LVLimit", 0),
                         ("BYTE", "IsDayReset", 0),
-                        ("list", "ShopTypeList", 0),
                         ),
 
                 "ActFlashGiftbag":(
                         ("DWORD", "CfgID", 1),
                         ("char", "ActMark", 0),
+                        ("list", "PlatformList", 0),
                         ("list", "ServerIDList", 0),
-                        ("BYTE", "OpenServerDayLimit", 0),
                         ("char", "StartDate", 0),
                         ("char", "EndDate", 0),
                         ("list", "StartTimeList", 0),
                         ("list", "EndTimeList", 0),
+                        ("WORD", "AdvanceMinutes", 0),
                         ("dict", "NotifyInfoStart", 0),
                         ("dict", "NotifyInfoEnd", 0),
+                        ("list", "NotifyInfoLoop", 0),
                         ("WORD", "LVLimit", 0),
                         ("BYTE", "IsDayReset", 0),
-                        ("list", "GiftbagTypeList", 0),
                         ),
 
                 "ActExpRate":(
                         ("DWORD", "CfgID", 1),
-                        ("char", "ActMark", 0),
-                        ("list", "ServerIDList", 0),
+                        ("list", "ServerGroupIDList", 0),
+                        ("list", "ServerGroupIDListExcept", 0),
                         ("char", "StartDate", 0),
                         ("char", "EndDate", 0),
                         ("list", "StartTimeList", 0),
                         ("list", "EndTimeList", 0),
                         ("dict", "NotifyInfoStart", 0),
                         ("dict", "NotifyInfoEnd", 0),
+                        ("list", "NotifyInfoLoop", 0),
                         ("WORD", "LVLimit", 0),
                         ("DWORD", "AddExpRate", 0),
                         ),
@@ -207,33 +297,37 @@
                 "ActCostRebate":(
                         ("DWORD", "CfgID", 1),
                         ("char", "ActMark", 0),
+                        ("list", "PlatformList", 0),
                         ("list", "ServerIDList", 0),
                         ("char", "StartDate", 0),
                         ("char", "EndDate", 0),
                         ("dict", "NotifyInfoStart", 0),
                         ("dict", "NotifyInfoEnd", 0),
-                        ("WORD", "LVLimit", 0),
+                        ("list", "NotifyInfoLoop", 0),
                         ("BYTE", "IsDayReset", 0),
-                        ("list", "TemplateIDList", 0),
                         ),
 
                 "ActBossReborn":(
                         ("DWORD", "CfgID", 1),
-                        ("char", "ActMark", 0),
-                        ("list", "ServerIDList", 0),
+                        ("list", "ServerGroupIDList", 0),
+                        ("list", "ServerGroupIDListExcept", 0),
                         ("char", "StartDate", 0),
                         ("char", "EndDate", 0),
+                        ("BYTE", "ResetType", 0),
                         ("dict", "NotifyInfoStart", 0),
                         ("dict", "NotifyInfoEnd", 0),
                         ("WORD", "LVLimit", 0),
+                        ("BYTE", "TemplateID", 0),
                         ),
 
                 "ActFairyCeremony":(
                         ("DWORD", "CfgID", 1),
                         ("char", "ActMark", 0),
+                        ("list", "PlatformList", 0),
                         ("list", "ServerIDList", 0),
                         ("char", "StartDate", 0),
                         ("char", "EndDate", 0),
+                        ("BYTE", "ResetType", 0),
                         ("dict", "NotifyInfoStart", 0),
                         ("dict", "NotifyInfoEnd", 0),
                         ("WORD", "LVLimit", 0),
@@ -248,12 +342,181 @@
                 "ActRealmPoint":(
                         ("DWORD", "CfgID", 1),
                         ("char", "ActMark", 0),
+                        ("list", "PlatformList", 0),
+                        ("list", "ServerIDList", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("BYTE", "ResetType", 0),
+                        ("dict", "NotifyInfoStart", 0),
+                        ("dict", "NotifyInfoEnd", 0),
+                        ("WORD", "Multiple", 0),
+                        ("WORD", "LVLimit", 0),
+                        ("DWORD", "PointLimit", 0),
+                        ),
+
+                "ActFlashSale":(
+                        ("DWORD", "CfgID", 1),
+                        ("char", "ActMark", 0),
+                        ("list", "PlatformList", 0),
+                        ("list", "ServerIDList", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("list", "StartTimeList", 0),
+                        ("list", "EndTimeList", 0),
+                        ("WORD", "AdvanceMinutes", 0),
+                        ("dict", "NotifyInfoStart", 0),
+                        ("dict", "NotifyInfoEnd", 0),
+                        ("list", "NotifyInfoLoop", 0),
+                        ("WORD", "LVLimit", 0),
+                        ("BYTE", "IsDayReset", 0),
+                        ("list", "ShopTypeList", 0),
+                        ),
+
+                "Store":(
+                        ("DWORD", "ID", 1),
+                        ("DWORD", "ShopType", 0),
+                        ("BYTE", "RefreshType", 0),
+                        ("DWORD", "ServerLimitCnt", 0),
+                        ),
+
+                "ActWishingWell":(
+                        ("DWORD", "CfgID", 1),
+                        ("list", "ServerGroupIDList", 0),
+                        ("list", "ServerGroupIDListExcept", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("BYTE", "IsDayReset", 0),
+                        ("BYTE", "ResetType", 0),
+                        ("dict", "NotifyInfoStart", 0),
+                        ("dict", "NotifyInfoEnd", 0),
+                        ("list", "NotifyInfoLoop", 0),
+                        ("WORD", "LVLimit", 0),
+                        ),
+
+                "ActTotalRecharge":(
+                        ("DWORD", "CfgID", 1),
+                        ("char", "ActMark", 0),
+                        ("list", "PlatformList", 0),
                         ("list", "ServerIDList", 0),
                         ("char", "StartDate", 0),
                         ("char", "EndDate", 0),
                         ("dict", "NotifyInfoStart", 0),
                         ("dict", "NotifyInfoEnd", 0),
-                        ("WORD", "Multiple", 0),
+                        ("list", "NotifyInfoLoop", 0),
+                        ("BYTE", "IsDayReset", 0),
+                        ),
+
+                "CrossZoneComm":(
+                        ("char", "CrossZoneName", 1),
+                        ("BYTE", "ZoneID", 1),
+                        ("list", "ServerGroupIDList", 0),
+                        ),
+
+                "CrossZonePK":(
+                        ("char", "CrossZoneName", 1),
+                        ("BYTE", "ZoneID", 1),
+                        ("char", "ZoneName", 0),
+                        ("list", "ServerGroupIDList", 0),
+                        ),
+
+                "CrossRealmPKSeason":(
+                        ("char", "CrossZoneName", 1),
+                        ("BYTE", "ZoneID", 1),
+                        ("BYTE", "SeasonID", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("char", "EndTime", 0),
+                        ),
+
+                "CrossRealmPKDan":(
+                        ("BYTE", "DanLV", 1),
+                        ("WORD", "LVUpScore", 0),
+                        ("list", "MatchRange", 0),
+                        ),
+
+                "CrossPenglaiZoneMap":(
+                        ("BYTE", "ZoneID", 0),
+                        ("DWORD", "MapID", 1),
+                        ("DWORD", "DataMapID", 1),
+                        ("BYTE", "CopyMapID", 1),
+                        ),
+
+                "ActWeekParty":(
+                        ("DWORD", "CfgID", 1),
+                        ("char", "ActMark", 0),
+                        ("list", "PlatformList", 0),
+                        ("list", "ServerIDList", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("WORD", "AdvanceMinutes", 0),
+                        ("BYTE", "IsDayReset", 0),
+                        ("BYTE", "ResetType", 0),
+                        ("dict", "NotifyInfoStart", 0),
+                        ("dict", "NotifyInfoEnd", 0),
+                        ("WORD", "LVLimit", 0),
+                        ),
+
+                "ActLoginAward":(
+                        ("DWORD", "CfgID", 1),
+                        ("char", "ActMark", 0),
+                        ("list", "PlatformList", 0),
+                        ("list", "ServerIDList", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("WORD", "AdvanceMinutes", 0),
+                        ("BYTE", "IsDayReset", 0),
+                        ("BYTE", "ResetType", 0),
+                        ("dict", "NotifyInfoStart", 0),
+                        ("dict", "NotifyInfoEnd", 0),
+                        ("list", "NotifyInfoLoop", 0),
+                        ("WORD", "LVLimit", 0),
+                        ),
+
+                "ActFeastWeekParty":(
+                        ("DWORD", "CfgID", 1),
+                        ("char", "ActMark", 0),
+                        ("list", "PlatformList", 0),
+                        ("list", "ServerIDList", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("WORD", "AdvanceMinutes", 0),
+                        ("BYTE", "IsDayReset", 0),
+                        ("BYTE", "ResetType", 0),
+                        ("dict", "NotifyInfoStart", 0),
+                        ("dict", "NotifyInfoEnd", 0),
+                        ("WORD", "LVLimit", 0),
+                        ),
+
+                "ActNewFairyCeremony":(
+                        ("DWORD", "CfgID", 1),
+                        ("char", "ActMark", 0),
+                        ("list", "PlatformList", 0),
+                        ("list", "ServerIDList", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("BYTE", "ResetType", 0),
+                        ("dict", "NotifyInfoStart", 0),
+                        ("dict", "NotifyInfoEnd", 0),
+                        ("WORD", "LVLimit", 0),
+                        ),
+
+                "NewUniquenessArrive":(
+                        ("BYTE", "WorldLvNum", 1),
+                        ("DWORD", "Rank", 1),
+                        ("dict", "Award", 0),
+                        ),
+
+                "ActLuckyTreasure":(
+                        ("DWORD", "CfgID", 1),
+                        ("char", "ActMark", 0),
+                        ("list", "PlatformList", 0),
+                        ("list", "ServerIDList", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("BYTE", "ResetType", 0),
+                        ("dict", "NotifyInfoStart", 0),
+                        ("dict", "NotifyInfoEnd", 0),
+                        ("list", "NotifyInfoLoop", 0),
                         ("WORD", "LVLimit", 0),
                         ),
                 }
@@ -298,7 +561,8 @@
         self.DeputyLeaderCnt = 0
         self.EliteCnt = 0
         self.NeedMoney = 0
-        self.WeekMissionMoneyMax = 0
+        self.WeekMissionMoneyMax = 0
+        self.BossFBCnt = 0
         return
         
     def GetFamilyLV(self): return self.FamilyLV # 仙盟等级
@@ -306,7 +570,8 @@
     def GetDeputyLeaderCnt(self): return self.DeputyLeaderCnt # 副盟主数量
     def GetEliteCnt(self): return self.EliteCnt # 精英数量
     def GetNeedMoney(self): return self.NeedMoney # 升级需要资金
-    def GetWeekMissionMoneyMax(self): return self.WeekMissionMoneyMax # 每周任务最大可获得仙盟资金
+    def GetWeekMissionMoneyMax(self): return self.WeekMissionMoneyMax # 每周任务最大可获得仙盟资金
+    def GetBossFBCnt(self): return self.BossFBCnt # BOSS副本次数
 
 # 集市查询表
 class IPY_MarketQuery():
@@ -319,55 +584,83 @@
     def GetQueryType(self): return self.QueryType # 查询类型
     def GetLimitInfo(self): return self.LimitInfo # 限制条件
 
-# 运营活动表
-class IPY_ActionControl():
+# 拍卖物品表
+class IPY_AuctionItem():
     
     def __init__(self):
-        self.ID = 0
-        self.Mark = ""
-        self.Data = ""
-        self.LVLimit = 0
-        self.OpenDate = ""
-        self.CloseDate = ""
-        self.ValidOpenServerDay = ""
-        self.ValidMixServerDay = ""
-        self.VaildWeek = ""
-        self.OpenTime = ""
-        self.CloseTime = ""
-        self.TimeValidType = 0
-        self.SpecTimeState = ""
-        self.NotifyInfo = ""
+        self.AuctionItemID = 0
+        self.NoticeSaleMinutes = 0
+        self.FamilySaleMinutes = 0
+        self.WorldSaleMinutes = 0
+        self.BasePrice = 0
+        self.BuyoutPrice = 0
+        self.BiddingAdd = 0
+        self.NeedWorldNotify = 0
+        self.Sortpriority = 0
         return
         
-    def GetID(self): return self.ID # 活动ID
-    def GetMark(self): return self.Mark # 活动类型标记
-    def GetData(self): return self.Data # 活动数据
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetOpenDate(self): return self.OpenDate # 开启日期
-    def GetCloseDate(self): return self.CloseDate # 结束日期
-    def GetValidOpenServerDay(self): return self.ValidOpenServerDay # 有效开服天, 与合服天、星期互斥
-    def GetValidMixServerDay(self): return self.ValidMixServerDay # 有效合服天, 与开服天、星期互斥
-    def GetVaildWeek(self): return self.VaildWeek # 有效星期, 与开服天、合服天互斥
-    def GetOpenTime(self): return self.OpenTime # 开启时间
-    def GetCloseTime(self): return self.CloseTime # 结束时间
-    def GetTimeValidType(self): return self.TimeValidType # 时间有效性
-    def GetSpecTimeState(self): return self.SpecTimeState # 特殊活动状态时间控制信息
-    def GetNotifyInfo(self): return self.NotifyInfo # 全服广播信息配置
+    def GetAuctionItemID(self): return self.AuctionItemID
+    def GetNoticeSaleMinutes(self): return self.NoticeSaleMinutes # 预告拍卖分钟
+    def GetFamilySaleMinutes(self): return self.FamilySaleMinutes # 仙盟拍卖分钟
+    def GetWorldSaleMinutes(self): return self.WorldSaleMinutes # 全服拍卖分钟
+    def GetBasePrice(self): return self.BasePrice # 起拍价
+    def GetBuyoutPrice(self): return self.BuyoutPrice # 一口价
+    def GetBiddingAdd(self): return self.BiddingAdd # 竞价增加
+    def GetNeedWorldNotify(self): return self.NeedWorldNotify # 是否需要广播
+    def GetSortpriority(self): return self.Sortpriority # 排序优先级归组
 
 # 日常活动表
 class IPY_DailyAction():
     
     def __init__(self):
         self.DailyID = 0
-        self.OpenServerDay = 0
-        self.OpenTime = ""
+        self.OpenTimeDict = {}
         self.Duration = 0
         self.NotifyInfo = {}
         return
         
     def GetDailyID(self): return self.DailyID # 活动ID
-    def GetOpenServerDay(self): return self.OpenServerDay # 开服第几天开始开启,0为不限制
-    def GetOpenTime(self): return self.OpenTime # 开启时间
+    def GetOpenTimeDict(self): return self.OpenTimeDict # 开启时间
+    def GetDuration(self): return self.Duration # 持续时间, 0为不限制
+    def GetNotifyInfo(self): return self.NotifyInfo # 广播提示信息
+
+# 日常活动表定制表
+class IPY_DailyActionCustom():
+    
+    def __init__(self):
+        self.ID = 0
+        self.OpenServerWeek = 0
+        self.OpenServerDay = 0
+        self.DailyID = 0
+        self.OpenTimeList = []
+        self.Duration = 0
+        self.NotifyInfo = {}
+        return
+        
+    def GetID(self): return self.ID # ID
+    def GetOpenServerWeek(self): return self.OpenServerWeek # 开服是周几
+    def GetOpenServerDay(self): return self.OpenServerDay # 开服第几天
+    def GetDailyID(self): return self.DailyID # 日常活动ID
+    def GetOpenTimeList(self): return self.OpenTimeList # 开启时间列表
+    def GetDuration(self): return self.Duration # 持续时间, 0为不限制
+    def GetNotifyInfo(self): return self.NotifyInfo # 广播提示信息
+
+# 日常活动表定制表合服
+class IPY_DailyActionCustomMix():
+    
+    def __init__(self):
+        self.ID = 0
+        self.MixServerDay = 0
+        self.DailyID = 0
+        self.OpenTimeList = []
+        self.Duration = 0
+        self.NotifyInfo = {}
+        return
+        
+    def GetID(self): return self.ID # ID
+    def GetMixServerDay(self): return self.MixServerDay # 合服第几天
+    def GetDailyID(self): return self.DailyID # 日常活动ID
+    def GetOpenTimeList(self): return self.OpenTimeList # 开启时间列表
     def GetDuration(self): return self.Duration # 持续时间, 0为不限制
     def GetNotifyInfo(self): return self.NotifyInfo # 广播提示信息
 
@@ -377,12 +670,9 @@
     def __init__(self):
         self.ID = 0
         self.DataMapID = 0
-        self.OpenServerWeek = 0
-        self.OpenServerDay = 0
         self.StartWeekday = 0
         self.StartHour = 0
         self.StartMinute = 0
-        self.EndWeekday = 0
         self.EndHour = 0
         self.EndMinute = 0
         self.CanEnter = 0
@@ -392,17 +682,81 @@
         
     def GetID(self): return self.ID # ID
     def GetDataMapID(self): return self.DataMapID # 所属的玩法数据地图ID
-    def GetOpenServerWeek(self): return self.OpenServerWeek # 开服X周后开放
-    def GetOpenServerDay(self): return self.OpenServerDay # 开服X天后开放
     def GetStartWeekday(self): return self.StartWeekday # 开始星期
     def GetStartHour(self): return self.StartHour # 开始时
     def GetStartMinute(self): return self.StartMinute # 开始分
-    def GetEndWeekday(self): return self.EndWeekday # 结束星期
     def GetEndHour(self): return self.EndHour # 结束时
     def GetEndMinute(self): return self.EndMinute # 结束分
     def GetCanEnter(self): return self.CanEnter # 是否可进入副本
     def GetStateValue(self): return self.StateValue # 状态值
     def GetNotifyInfoDict(self): return self.NotifyInfoDict # 广播提示信息
+
+# 副本状态时间定制表
+class IPY_FBStateTimeCustom():
+    
+    def __init__(self):
+        self.ID = 0
+        self.OpenServerWeek = 0
+        self.OpenServerDay = 0
+        self.DataMapID = 0
+        self.StartHour = 0
+        self.StartMinute = 0
+        self.EndHour = 0
+        self.EndMinute = 0
+        self.CanEnter = 0
+        self.StateValue = 0
+        self.NotifyInfoDict = {}
+        return
+        
+    def GetID(self): return self.ID # ID
+    def GetOpenServerWeek(self): return self.OpenServerWeek # 开服是周几
+    def GetOpenServerDay(self): return self.OpenServerDay # 开服第几天
+    def GetDataMapID(self): return self.DataMapID # 所属的玩法数据地图ID
+    def GetStartHour(self): return self.StartHour # 开始时
+    def GetStartMinute(self): return self.StartMinute # 开始分
+    def GetEndHour(self): return self.EndHour # 结束时
+    def GetEndMinute(self): return self.EndMinute # 结束分
+    def GetCanEnter(self): return self.CanEnter # 是否可进入副本
+    def GetStateValue(self): return self.StateValue # 状态值
+    def GetNotifyInfoDict(self): return self.NotifyInfoDict # 广播提示信息
+
+# 副本状态时间定制表合服
+class IPY_FBStateTimeCustomMix():
+    
+    def __init__(self):
+        self.ID = 0
+        self.MixServerDay = 0
+        self.DataMapID = 0
+        self.StartHour = 0
+        self.StartMinute = 0
+        self.EndHour = 0
+        self.EndMinute = 0
+        self.CanEnter = 0
+        self.StateValue = 0
+        self.NotifyInfoDict = {}
+        return
+        
+    def GetID(self): return self.ID # ID
+    def GetMixServerDay(self): return self.MixServerDay # 合服第几天
+    def GetDataMapID(self): return self.DataMapID # 所属的玩法数据地图ID
+    def GetStartHour(self): return self.StartHour # 开始时
+    def GetStartMinute(self): return self.StartMinute # 开始分
+    def GetEndHour(self): return self.EndHour # 结束时
+    def GetEndMinute(self): return self.EndMinute # 结束分
+    def GetCanEnter(self): return self.CanEnter # 是否可进入副本
+    def GetStateValue(self): return self.StateValue # 状态值
+    def GetNotifyInfoDict(self): return self.NotifyInfoDict # 广播提示信息
+
+# 副本总表
+class IPY_FBFunc():
+    
+    def __init__(self):
+        self.DataMapID = 0
+        self.HelpPoint = 0
+        return
+        
+    def GetDataMapID(self): return self.DataMapID # 数据地图ID
+    def GetHelpPoint(self): return self.HelpPoint # 助战仙缘币(0代表不可助战)
 
 # 副本功能线路表
 class IPY_FBLine():
@@ -416,6 +770,25 @@
     def GetDataMapID(self): return self.DataMapID # 数据地图ID
     def GetLineID(self): return self.LineID # 功能线路ID
     def GetMapID(self): return self.MapID # 场景地图ID
+
+# 副本助战表
+class IPY_FBHelpBattle():
+    
+    def __init__(self):
+        self.DataMapID = 0
+        self.LineID = 0
+        self.FightPowerMin = 0
+        self.FightPowerMax = 0
+        self.LVLimit = 0
+        self.DayFreeHelpCount = []
+        return
+        
+    def GetDataMapID(self): return self.DataMapID # 数据地图ID
+    def GetLineID(self): return self.LineID # 功能线路ID
+    def GetFightPowerMin(self): return self.FightPowerMin # 助战最低战力,也是副本战力
+    def GetFightPowerMax(self): return self.FightPowerMax # 助战最高战力,0为不限制
+    def GetLVLimit(self): return self.LVLimit # 助战等级限制, 0为不限制
+    def GetDayFreeHelpCount(self): return self.DayFreeHelpCount # 每日免费助战次数,[每日免费助战次数, 是否所有层通用]
 
 # 地图表
 class IPY_ChinMap():
@@ -477,7 +850,9 @@
         self.MoneyNum = 0
         self.MoneyType = 0
         self.PacketCnt = 0
-        self.LeaderOwn = 0
+        self.LeaderOwn = 0
+        self.PacketOpenTime = ""
+        self.ValidMinutes = 0
         return
         
     def GetID(self): return self.ID # ID
@@ -485,7 +860,36 @@
     def GetMoneyNum(self): return self.MoneyNum # 红包额度
     def GetMoneyType(self): return self.MoneyType # 金钱类型
     def GetPacketCnt(self): return self.PacketCnt # 红包个数
-    def GetLeaderOwn(self): return self.LeaderOwn # 是否归属盟主
+    def GetLeaderOwn(self): return self.LeaderOwn # 是否归属盟主
+    def GetPacketOpenTime(self): return self.PacketOpenTime # 发放红包时间yyyy-MM-dd hh:mm
+    def GetValidMinutes(self): return self.ValidMinutes # 红包有效时长(分)
+
+# 节日红包时间表
+class IPY_ActFeastRedPacket():
+    
+    def __init__(self):
+        self.CfgID = 0
+        self.ActMark = ""
+        self.PlatformList = []
+        self.ServerIDList = []
+        self.StartDate = ""
+        self.EndDate = ""
+        self.IsDayReset = 0
+        self.ResetType = 0
+        self.RedPacketIDList = []
+        self.LVLimit = 0
+        return
+        
+    def GetCfgID(self): return self.CfgID # 配置ID
+    def GetActMark(self): return self.ActMark # 活动组标记
+    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
+    def GetServerIDList(self): return self.ServerIDList # 服务器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 GetRedPacketIDList(self): return self.RedPacketIDList # 每日对应红包ID列表[[第一天红包ID列表], ...]
+    def GetLVLimit(self): return self.LVLimit # 限制等级
 
 # 等级开启功能
 class IPY_FuncOpenLV():
@@ -526,38 +930,81 @@
     def GetLV(self): return self.LV # 玩家等级
     def GetReFightPower(self): return self.ReFightPower # 战斗力
 
+# 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
+        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对应的特权值
+
 # 限时特惠表
 class IPY_ActSpringSale():
     
     def __init__(self):
         self.CfgID = 0
         self.ActMark = ""
+        self.PlatformList = []
         self.ServerIDList = []
-        self.OpenServerDayLimit = 0
         self.StartDate = ""
         self.EndDate = ""
         self.StartTimeList = []
         self.EndTimeList = []
+        self.AdvanceMinutes = 0
         self.NotifyInfoStart = {}
         self.NotifyInfoEnd = {}
+        self.NotifyInfoLoop = []
         self.LVLimit = 0
-        self.IsDayReset = 0
-        self.ShopTypeList = []
+        self.IsDayReset = 0
         return
         
     def GetCfgID(self): return self.CfgID # 配置ID
     def GetActMark(self): return self.ActMark # 活动组标记
+    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
     def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
-    def GetOpenServerDayLimit(self): return self.OpenServerDayLimit # 开服X天后有效
     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 GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
     def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+    def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
     def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
-    def GetShopTypeList(self): return self.ShopTypeList # 商店类型列表
+    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
 
 # 限时礼包表
 class IPY_ActFlashGiftbag():
@@ -565,59 +1012,63 @@
     def __init__(self):
         self.CfgID = 0
         self.ActMark = ""
+        self.PlatformList = []
         self.ServerIDList = []
-        self.OpenServerDayLimit = 0
         self.StartDate = ""
         self.EndDate = ""
         self.StartTimeList = []
         self.EndTimeList = []
+        self.AdvanceMinutes = 0
         self.NotifyInfoStart = {}
         self.NotifyInfoEnd = {}
+        self.NotifyInfoLoop = []
         self.LVLimit = 0
-        self.IsDayReset = 0
-        self.GiftbagTypeList = []
+        self.IsDayReset = 0
         return
         
     def GetCfgID(self): return self.CfgID # 配置ID
     def GetActMark(self): return self.ActMark # 活动组标记
+    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
     def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
-    def GetOpenServerDayLimit(self): return self.OpenServerDayLimit # 开服X天后有效
     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 GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
     def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+    def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
     def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
-    def GetGiftbagTypeList(self): return self.GiftbagTypeList # 礼包类型列表
+    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
 
 # 双倍经验活动表
 class IPY_ActExpRate():
     
     def __init__(self):
         self.CfgID = 0
-        self.ActMark = ""
-        self.ServerIDList = []
+        self.ServerGroupIDList = []
+        self.ServerGroupIDListExcept = []
         self.StartDate = ""
         self.EndDate = ""
         self.StartTimeList = []
         self.EndTimeList = []
         self.NotifyInfoStart = {}
         self.NotifyInfoEnd = {}
+        self.NotifyInfoLoop = []
         self.LVLimit = 0
         self.AddExpRate = 0
         return
         
     def GetCfgID(self): return self.CfgID # 配置ID
-    def GetActMark(self): return self.ActMark # 活动组标记
-    def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
+    def GetServerGroupIDList(self): return self.ServerGroupIDList # 服务器组ID列表
+    def GetServerGroupIDListExcept(self): return self.ServerGroupIDListExcept # 排除的服务器组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 GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
     def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+    def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key, [可选参数1, ...]]
     def GetLVLimit(self): return self.LVLimit # 限制等级
     def GetAddExpRate(self): return self.AddExpRate # 经验倍率加成,万分率
 
@@ -627,49 +1078,53 @@
     def __init__(self):
         self.CfgID = 0
         self.ActMark = ""
+        self.PlatformList = []
         self.ServerIDList = []
         self.StartDate = ""
         self.EndDate = ""
         self.NotifyInfoStart = {}
         self.NotifyInfoEnd = {}
-        self.LVLimit = 0
-        self.IsDayReset = 0
-        self.TemplateIDList = []
+        self.NotifyInfoLoop = []
+        self.IsDayReset = 0
         return
         
     def GetCfgID(self): return self.CfgID # 配置ID
     def GetActMark(self): return self.ActMark # 活动组标记
+    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
     def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
     def GetStartDate(self): return self.StartDate # 开启日期
     def GetEndDate(self): return self.EndDate # 结束日期
     def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
     def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
-    def GetTemplateIDList(self): return self.TemplateIDList # 模板ID列表
+    def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
+    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
 
 # BOSS复活活动时间表
 class IPY_ActBossReborn():
     
     def __init__(self):
         self.CfgID = 0
-        self.ActMark = ""
-        self.ServerIDList = []
+        self.ServerGroupIDList = []
+        self.ServerGroupIDListExcept = []
         self.StartDate = ""
         self.EndDate = ""
+        self.ResetType = 0
         self.NotifyInfoStart = {}
         self.NotifyInfoEnd = {}
-        self.LVLimit = 0
+        self.LVLimit = 0
+        self.TemplateID = 0
         return
         
     def GetCfgID(self): return self.CfgID # 配置ID
-    def GetActMark(self): return self.ActMark # 活动组标记
-    def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
+    def GetServerGroupIDList(self): return self.ServerGroupIDList # 服务器组ID列表
+    def GetServerGroupIDListExcept(self): return self.ServerGroupIDListExcept # 排除的服务器组ID列表
     def GetStartDate(self): return self.StartDate # 开启日期
     def GetEndDate(self): return self.EndDate # 结束日期
+    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
     def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
     def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
-    def GetLVLimit(self): return self.LVLimit # 限制等级
+    def GetLVLimit(self): return self.LVLimit # 限制等级
+    def GetTemplateID(self): return self.TemplateID # 模板编号
 
 # 仙界盛典活动时间表
 class IPY_ActFairyCeremony():
@@ -677,9 +1132,11 @@
     def __init__(self):
         self.CfgID = 0
         self.ActMark = ""
+        self.PlatformList = []
         self.ServerIDList = []
         self.StartDate = ""
         self.EndDate = ""
+        self.ResetType = 0
         self.NotifyInfoStart = {}
         self.NotifyInfoEnd = {}
         self.LVLimit = 0
@@ -687,9 +1144,11 @@
         
     def GetCfgID(self): return self.CfgID # 配置ID
     def GetActMark(self): return self.ActMark # 活动组标记
+    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
     def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
     def GetStartDate(self): return self.StartDate # 开启日期
     def GetEndDate(self): return self.EndDate # 结束日期
+    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置;2-5点开始0点结束
     def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
     def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
     def GetLVLimit(self): return self.LVLimit # 限制等级
@@ -713,23 +1172,376 @@
     def __init__(self):
         self.CfgID = 0
         self.ActMark = ""
+        self.PlatformList = []
+        self.ServerIDList = []
+        self.StartDate = ""
+        self.EndDate = ""
+        self.ResetType = 0
+        self.NotifyInfoStart = {}
+        self.NotifyInfoEnd = {}
+        self.Multiple = 0
+        self.LVLimit = 0
+        self.PointLimit = 0
+        return
+        
+    def GetCfgID(self): return self.CfgID # 配置ID
+    def GetActMark(self): return self.ActMark # 活动组标记
+    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
+    def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
+    def GetStartDate(self): return self.StartDate # 开启日期
+    def GetEndDate(self): return self.EndDate # 结束日期
+    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
+    def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
+    def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+    def GetMultiple(self): return self.Multiple # 倍数
+    def GetLVLimit(self): return self.LVLimit # 限制等级
+    def GetPointLimit(self): return self.PointLimit # 限制额外修行点
+
+# 限时抢购表
+class IPY_ActFlashSale():
+    
+    def __init__(self):
+        self.CfgID = 0
+        self.ActMark = ""
+        self.PlatformList = []
+        self.ServerIDList = []
+        self.StartDate = ""
+        self.EndDate = ""
+        self.StartTimeList = []
+        self.EndTimeList = []
+        self.AdvanceMinutes = 0
+        self.NotifyInfoStart = {}
+        self.NotifyInfoEnd = {}
+        self.NotifyInfoLoop = []
+        self.LVLimit = 0
+        self.IsDayReset = 0
+        self.ShopTypeList = []
+        return
+        
+    def GetCfgID(self): return self.CfgID # 配置ID
+    def GetActMark(self): return self.ActMark # 活动组标记
+    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
+    def GetServerIDList(self): return self.ServerIDList # 服务器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 GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
+    def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+    def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
+    def GetLVLimit(self): return self.LVLimit # 限制等级
+    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
+    def GetShopTypeList(self): return self.ShopTypeList # 商店类型列表
+
+# 商城表
+class IPY_Store():
+    
+    def __init__(self):
+        self.ID = 0
+        self.ShopType = 0
+        self.RefreshType = 0
+        self.ServerLimitCnt = 0
+        return
+        
+    def GetID(self): return self.ID # ID
+    def GetShopType(self): return self.ShopType # 商店类型
+    def GetRefreshType(self): return self.RefreshType # 刷新类型 0-不重置,1-onWeek0点,2-onWeek5点,3-OnDay0点,4-OnDay5点
+    def GetServerLimitCnt(self): return self.ServerLimitCnt # 全服限制数量
+
+# 许愿池活动时间表
+class IPY_ActWishingWell():
+    
+    def __init__(self):
+        self.CfgID = 0
+        self.ServerGroupIDList = []
+        self.ServerGroupIDListExcept = []
+        self.StartDate = ""
+        self.EndDate = ""
+        self.IsDayReset = 0
+        self.ResetType = 0
+        self.NotifyInfoStart = {}
+        self.NotifyInfoEnd = {}
+        self.NotifyInfoLoop = []
+        self.LVLimit = 0
+        return
+        
+    def GetCfgID(self): return self.CfgID # 配置ID
+    def GetServerGroupIDList(self): return self.ServerGroupIDList # 服务器组ID列表
+    def GetServerGroupIDListExcept(self): return self.ServerGroupIDListExcept # 排除的服务器组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 GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
+    def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+    def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
+    def GetLVLimit(self): return self.LVLimit # 限制等级
+
+# 累计充值活动表
+class IPY_ActTotalRecharge():
+    
+    def __init__(self):
+        self.CfgID = 0
+        self.ActMark = ""
+        self.PlatformList = []
         self.ServerIDList = []
         self.StartDate = ""
         self.EndDate = ""
         self.NotifyInfoStart = {}
         self.NotifyInfoEnd = {}
-        self.Multiple = 0
-        self.LVLimit = 0
+        self.NotifyInfoLoop = []
+        self.IsDayReset = 0
         return
         
     def GetCfgID(self): return self.CfgID # 配置ID
     def GetActMark(self): return self.ActMark # 活动组标记
+    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
     def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
     def GetStartDate(self): return self.StartDate # 开启日期
     def GetEndDate(self): return self.EndDate # 结束日期
     def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
     def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
-    def GetMultiple(self): return self.Multiple # 倍数
+    def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
+    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
+
+# 跨服分区表通用
+class IPY_CrossZoneComm():
+    
+    def __init__(self):
+        self.CrossZoneName = ""
+        self.ZoneID = 0
+        self.ServerGroupIDList = []
+        return
+        
+    def GetCrossZoneName(self): return self.CrossZoneName # 跨服分区名
+    def GetZoneID(self): return self.ZoneID # 赛区ID
+    def GetServerGroupIDList(self): return self.ServerGroupIDList # 赛区服务器组ID列表
+
+# 跨服分区表竞技场
+class IPY_CrossZonePK():
+    
+    def __init__(self):
+        self.CrossZoneName = ""
+        self.ZoneID = 0
+        self.ZoneName = ""
+        self.ServerGroupIDList = []
+        return
+        
+    def GetCrossZoneName(self): return self.CrossZoneName # 跨服分区名
+    def GetZoneID(self): return self.ZoneID # 赛区ID
+    def GetZoneName(self): return self.ZoneName # 赛区名字
+    def GetServerGroupIDList(self): return self.ServerGroupIDList # 赛区服务器组ID列表
+
+# 跨服竞技场赛季表
+class IPY_CrossRealmPKSeason():
+    
+    def __init__(self):
+        self.CrossZoneName = ""
+        self.ZoneID = 0
+        self.SeasonID = 0
+        self.StartDate = ""
+        self.EndDate = ""
+        self.EndTime = ""
+        return
+        
+    def GetCrossZoneName(self): return self.CrossZoneName # 跨服分区名
+    def GetZoneID(self): return self.ZoneID # 赛区ID
+    def GetSeasonID(self): return self.SeasonID # 赛季ID
+    def GetStartDate(self): return self.StartDate # 开始日期	yyyy-MM-dd
+    def GetEndDate(self): return self.EndDate # 结束日期	yyyy-MM-dd
+    def GetEndTime(self): return self.EndTime # 结算时间	hh:mm
+
+# 跨服竞技场段位表
+class IPY_CrossRealmPKDan():
+    
+    def __init__(self):
+        self.DanLV = 0
+        self.LVUpScore = 0
+        self.MatchRange = []
+        return
+        
+    def GetDanLV(self): return self.DanLV # 段位等级
+    def GetLVUpScore(self): return self.LVUpScore # 升段位所需积分
+    def GetMatchRange(self): return self.MatchRange # 可匹配到的玩家段位区间 [从段位A, 到段位B],配[]代表只匹配本段位的
+
+# 跨服Boss蓬莱仙境分区地图表
+class IPY_CrossPenglaiZoneMap():
+    
+    def __init__(self):
+        self.ZoneID = 0
+        self.MapID = 0
+        self.DataMapID = 0
+        self.CopyMapID = 0
+        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
+
+# 周狂欢活动时间表
+class IPY_ActWeekParty():
+    
+    def __init__(self):
+        self.CfgID = 0
+        self.ActMark = ""
+        self.PlatformList = []
+        self.ServerIDList = []
+        self.StartDate = ""
+        self.EndDate = ""
+        self.AdvanceMinutes = 0
+        self.IsDayReset = 0
+        self.ResetType = 0
+        self.NotifyInfoStart = {}
+        self.NotifyInfoEnd = {}
+        self.LVLimit = 0
+        return
+        
+    def GetCfgID(self): return self.CfgID # 配置ID
+    def GetActMark(self): return self.ActMark # 活动组标记
+    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
+    def GetServerIDList(self): return self.ServerIDList # 服务器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 GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
+    def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+    def GetLVLimit(self): return self.LVLimit # 限制等级
+
+# 登录奖励时间表
+class IPY_ActLoginAward():
+    
+    def __init__(self):
+        self.CfgID = 0
+        self.ActMark = ""
+        self.PlatformList = []
+        self.ServerIDList = []
+        self.StartDate = ""
+        self.EndDate = ""
+        self.AdvanceMinutes = 0
+        self.IsDayReset = 0
+        self.ResetType = 0
+        self.NotifyInfoStart = {}
+        self.NotifyInfoEnd = {}
+        self.NotifyInfoLoop = []
+        self.LVLimit = 0
+        return
+        
+    def GetCfgID(self): return self.CfgID # 配置ID
+    def GetActMark(self): return self.ActMark # 活动组标记
+    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
+    def GetServerIDList(self): return self.ServerIDList # 服务器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 GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
+    def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+    def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
+    def GetLVLimit(self): return self.LVLimit # 限制等级
+
+# 节日巡礼活动时间表
+class IPY_ActFeastWeekParty():
+    
+    def __init__(self):
+        self.CfgID = 0
+        self.ActMark = ""
+        self.PlatformList = []
+        self.ServerIDList = []
+        self.StartDate = ""
+        self.EndDate = ""
+        self.AdvanceMinutes = 0
+        self.IsDayReset = 0
+        self.ResetType = 0
+        self.NotifyInfoStart = {}
+        self.NotifyInfoEnd = {}
+        self.LVLimit = 0
+        return
+        
+    def GetCfgID(self): return self.CfgID # 配置ID
+    def GetActMark(self): return self.ActMark # 活动组标记
+    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
+    def GetServerIDList(self): return self.ServerIDList # 服务器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 GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
+    def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+    def GetLVLimit(self): return self.LVLimit # 限制等级
+
+# 新仙界盛典活动时间表
+class IPY_ActNewFairyCeremony():
+    
+    def __init__(self):
+        self.CfgID = 0
+        self.ActMark = ""
+        self.PlatformList = []
+        self.ServerIDList = []
+        self.StartDate = ""
+        self.EndDate = ""
+        self.ResetType = 0
+        self.NotifyInfoStart = {}
+        self.NotifyInfoEnd = {}
+        self.LVLimit = 0
+        return
+        
+    def GetCfgID(self): return self.CfgID # 配置ID
+    def GetActMark(self): return self.ActMark # 活动组标记
+    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
+    def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
+    def GetStartDate(self): return self.StartDate # 开启日期
+    def GetEndDate(self): return self.EndDate # 结束日期
+    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置;2-5点开始0点结束
+    def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
+    def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+    def GetLVLimit(self): return self.LVLimit # 限制等级
+
+# 新仙界盛典-绝版降临表
+class IPY_NewUniquenessArrive():
+    
+    def __init__(self):
+        self.WorldLvNum = 0
+        self.Rank = 0
+        self.Award = {}
+        return
+        
+    def GetWorldLvNum(self): return self.WorldLvNum # 世界等级档
+    def GetRank(self): return self.Rank # 排名
+    def GetAward(self): return self.Award # 奖励 {"职业":[[物品ID,个数,是否绑定],...], ...}
+
+# 幸运鉴宝活动时间表
+class IPY_ActLuckyTreasure():
+    
+    def __init__(self):
+        self.CfgID = 0
+        self.ActMark = ""
+        self.PlatformList = []
+        self.ServerIDList = []
+        self.StartDate = ""
+        self.EndDate = ""
+        self.ResetType = 0
+        self.NotifyInfoStart = {}
+        self.NotifyInfoEnd = {}
+        self.NotifyInfoLoop = []
+        self.LVLimit = 0
+        return
+        
+    def GetCfgID(self): return self.CfgID # 配置ID
+    def GetActMark(self): return self.ActMark # 活动组标记
+    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
+    def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
+    def GetStartDate(self): return self.StartDate # 开启日期
+    def GetEndDate(self): return self.EndDate # 结束日期
+    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
+    def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
+    def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+    def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
     def GetLVLimit(self): return self.LVLimit # 限制等级
 
 
@@ -764,14 +1576,26 @@
         self.ipyFamilyLen = len(self.ipyFamilyCache)
         self.ipyMarketQueryCache = self.__LoadFileData("MarketQuery", IPY_MarketQuery)
         self.ipyMarketQueryLen = len(self.ipyMarketQueryCache)
-        self.ipyActionControlCache = self.__LoadFileData("ActionControl", IPY_ActionControl)
-        self.ipyActionControlLen = len(self.ipyActionControlCache)
+        self.ipyAuctionItemCache = self.__LoadFileData("AuctionItem", IPY_AuctionItem)
+        self.ipyAuctionItemLen = len(self.ipyAuctionItemCache)
         self.ipyDailyActionCache = self.__LoadFileData("DailyAction", IPY_DailyAction)
         self.ipyDailyActionLen = len(self.ipyDailyActionCache)
+        self.ipyDailyActionCustomCache = self.__LoadFileData("DailyActionCustom", IPY_DailyActionCustom)
+        self.ipyDailyActionCustomLen = len(self.ipyDailyActionCustomCache)
+        self.ipyDailyActionCustomMixCache = self.__LoadFileData("DailyActionCustomMix", IPY_DailyActionCustomMix)
+        self.ipyDailyActionCustomMixLen = len(self.ipyDailyActionCustomMixCache)
         self.ipyFBStateTimeCache = self.__LoadFileData("FBStateTime", IPY_FBStateTime)
         self.ipyFBStateTimeLen = len(self.ipyFBStateTimeCache)
+        self.ipyFBStateTimeCustomCache = self.__LoadFileData("FBStateTimeCustom", IPY_FBStateTimeCustom)
+        self.ipyFBStateTimeCustomLen = len(self.ipyFBStateTimeCustomCache)
+        self.ipyFBStateTimeCustomMixCache = self.__LoadFileData("FBStateTimeCustomMix", IPY_FBStateTimeCustomMix)
+        self.ipyFBStateTimeCustomMixLen = len(self.ipyFBStateTimeCustomMixCache)
+        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.ipyFBHelpBattleCache = self.__LoadFileData("FBHelpBattle", IPY_FBHelpBattle)
+        self.ipyFBHelpBattleLen = len(self.ipyFBHelpBattleCache)
         self.ipyChinMapCache = self.__LoadFileData("ChinMap", IPY_ChinMap)
         self.ipyChinMapLen = len(self.ipyChinMapCache)
         self.ipyBOSSInfoCache = self.__LoadFileData("BOSSInfo", IPY_BOSSInfo)
@@ -780,12 +1604,16 @@
         self.ipyQuestionBankLen = len(self.ipyQuestionBankCache)
         self.ipyFamilyRedPackCache = self.__LoadFileData("FamilyRedPack", IPY_FamilyRedPack)
         self.ipyFamilyRedPackLen = len(self.ipyFamilyRedPackCache)
+        self.ipyActFeastRedPacketCache = self.__LoadFileData("ActFeastRedPacket", IPY_ActFeastRedPacket)
+        self.ipyActFeastRedPacketLen = len(self.ipyActFeastRedPacketCache)
         self.ipyFuncOpenLVCache = self.__LoadFileData("FuncOpenLV", IPY_FuncOpenLV)
         self.ipyFuncOpenLVLen = len(self.ipyFuncOpenLVCache)
         self.ipyChinNPCCache = self.__LoadFileData("ChinNPC", IPY_ChinNPC)
         self.ipyChinNPCLen = len(self.ipyChinNPCCache)
         self.ipyPlayerLVCache = self.__LoadFileData("PlayerLV", IPY_PlayerLV)
         self.ipyPlayerLVLen = len(self.ipyPlayerLVCache)
+        self.ipyVipPrivilegeCache = self.__LoadFileData("VipPrivilege", IPY_VipPrivilege)
+        self.ipyVipPrivilegeLen = len(self.ipyVipPrivilegeCache)
         self.ipyActSpringSaleCache = self.__LoadFileData("ActSpringSale", IPY_ActSpringSale)
         self.ipyActSpringSaleLen = len(self.ipyActSpringSaleCache)
         self.ipyActFlashGiftbagCache = self.__LoadFileData("ActFlashGiftbag", IPY_ActFlashGiftbag)
@@ -802,6 +1630,36 @@
         self.ipyUniquenessArriveLen = len(self.ipyUniquenessArriveCache)
         self.ipyActRealmPointCache = self.__LoadFileData("ActRealmPoint", IPY_ActRealmPoint)
         self.ipyActRealmPointLen = len(self.ipyActRealmPointCache)
+        self.ipyActFlashSaleCache = self.__LoadFileData("ActFlashSale", IPY_ActFlashSale)
+        self.ipyActFlashSaleLen = len(self.ipyActFlashSaleCache)
+        self.ipyStoreCache = self.__LoadFileData("Store", IPY_Store)
+        self.ipyStoreLen = len(self.ipyStoreCache)
+        self.ipyActWishingWellCache = self.__LoadFileData("ActWishingWell", IPY_ActWishingWell)
+        self.ipyActWishingWellLen = len(self.ipyActWishingWellCache)
+        self.ipyActTotalRechargeCache = self.__LoadFileData("ActTotalRecharge", IPY_ActTotalRecharge)
+        self.ipyActTotalRechargeLen = len(self.ipyActTotalRechargeCache)
+        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.ipyCrossRealmPKSeasonCache = self.__LoadFileData("CrossRealmPKSeason", IPY_CrossRealmPKSeason)
+        self.ipyCrossRealmPKSeasonLen = len(self.ipyCrossRealmPKSeasonCache)
+        self.ipyCrossRealmPKDanCache = self.__LoadFileData("CrossRealmPKDan", IPY_CrossRealmPKDan)
+        self.ipyCrossRealmPKDanLen = len(self.ipyCrossRealmPKDanCache)
+        self.ipyCrossPenglaiZoneMapCache = self.__LoadFileData("CrossPenglaiZoneMap", IPY_CrossPenglaiZoneMap)
+        self.ipyCrossPenglaiZoneMapLen = len(self.ipyCrossPenglaiZoneMapCache)
+        self.ipyActWeekPartyCache = self.__LoadFileData("ActWeekParty", IPY_ActWeekParty)
+        self.ipyActWeekPartyLen = len(self.ipyActWeekPartyCache)
+        self.ipyActLoginAwardCache = self.__LoadFileData("ActLoginAward", IPY_ActLoginAward)
+        self.ipyActLoginAwardLen = len(self.ipyActLoginAwardCache)
+        self.ipyActFeastWeekPartyCache = self.__LoadFileData("ActFeastWeekParty", IPY_ActFeastWeekParty)
+        self.ipyActFeastWeekPartyLen = len(self.ipyActFeastWeekPartyCache)
+        self.ipyActNewFairyCeremonyCache = self.__LoadFileData("ActNewFairyCeremony", IPY_ActNewFairyCeremony)
+        self.ipyActNewFairyCeremonyLen = len(self.ipyActNewFairyCeremonyCache)
+        self.ipyNewUniquenessArriveCache = self.__LoadFileData("NewUniquenessArrive", IPY_NewUniquenessArrive)
+        self.ipyNewUniquenessArriveLen = len(self.ipyNewUniquenessArriveCache)
+        self.ipyActLuckyTreasureCache = self.__LoadFileData("ActLuckyTreasure", IPY_ActLuckyTreasure)
+        self.ipyActLuckyTreasureLen = len(self.ipyActLuckyTreasureCache)
         Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict))
         Log("IPY_DataMgr InitOK!")
         return
@@ -893,22 +1751,26 @@
         for i, strValue in enumerate(rowList):
             if i == 0:
                 continue
-            fieldName = fieldList[i][1]
-            strValue = strValue.lstrip().rstrip()
-            if strValue.isdigit():
-                configValue = int(strValue)
-            elif (strValue.startswith("{") and strValue.endswith("}")) \
-                or (strValue.startswith("[") and strValue.endswith("]")) \
-                or (strValue.startswith("(") and strValue.endswith(")")):
-                configValue = eval(strValue)
-            elif "_" in strValue and type(self.__StrToDict(strValue)) == dict:
-                configValue = self.__StrToDict(strValue)
-            elif ChConfig.Def_Str_Montant in strValue:
-                configValue = eval("(%s,)" % strValue.replace(ChConfig.Def_Str_Montant, ","))
-            elif strValue in ["-", ""]:
-                configValue = ""
-            else:
-                configValue = self.__ToFloat(strValue)
+            try:
+                fieldName = fieldList[i][1]
+                strValue = strValue.lstrip().rstrip()
+                if strValue.isdigit():
+                    configValue = int(strValue)
+                elif (strValue.startswith("{") and strValue.endswith("}")) \
+                    or (strValue.startswith("[") and strValue.endswith("]")) \
+                    or (strValue.startswith("(") and strValue.endswith(")")):
+                    configValue = eval(strValue)
+                elif "_" in strValue and type(self.__StrToDict(strValue)) == dict:
+                    configValue = self.__StrToDict(strValue)
+                elif ChConfig.Def_Str_Montant in strValue:
+                    configValue = eval("(%s,)" % strValue.replace(ChConfig.Def_Str_Montant, ","))
+                elif strValue in ["-", ""]:
+                    configValue = ""
+                else:
+                    configValue = self.__ToFloat(strValue)
+            except BaseException:
+                ErrLog("SetIpyDataError: tableName=%s,key=%s,i=%s,value=%s" % ("FuncConfig", key, i, strValue))
+                raise
             setattr(funcConfigObj, fieldName, configValue)
         self.ipyFuncConfigDict[key] = funcConfigObj
         return
@@ -972,14 +1834,26 @@
     def GetFamilyByIndex(self, index): return self.ipyFamilyCache[index]
     def GetMarketQueryCount(self): return self.ipyMarketQueryLen
     def GetMarketQueryByIndex(self, index): return self.ipyMarketQueryCache[index]
-    def GetActionControlCount(self): return self.ipyActionControlLen
-    def GetActionControlByIndex(self, index): return self.ipyActionControlCache[index]
+    def GetAuctionItemCount(self): return self.ipyAuctionItemLen
+    def GetAuctionItemByIndex(self, index): return self.ipyAuctionItemCache[index]
     def GetDailyActionCount(self): return self.ipyDailyActionLen
     def GetDailyActionByIndex(self, index): return self.ipyDailyActionCache[index]
+    def GetDailyActionCustomCount(self): return self.ipyDailyActionCustomLen
+    def GetDailyActionCustomByIndex(self, index): return self.ipyDailyActionCustomCache[index]
+    def GetDailyActionCustomMixCount(self): return self.ipyDailyActionCustomMixLen
+    def GetDailyActionCustomMixByIndex(self, index): return self.ipyDailyActionCustomMixCache[index]
     def GetFBStateTimeCount(self): return self.ipyFBStateTimeLen
     def GetFBStateTimeByIndex(self, index): return self.ipyFBStateTimeCache[index]
+    def GetFBStateTimeCustomCount(self): return self.ipyFBStateTimeCustomLen
+    def GetFBStateTimeCustomByIndex(self, index): return self.ipyFBStateTimeCustomCache[index]
+    def GetFBStateTimeCustomMixCount(self): return self.ipyFBStateTimeCustomMixLen
+    def GetFBStateTimeCustomMixByIndex(self, index): return self.ipyFBStateTimeCustomMixCache[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 GetFBHelpBattleCount(self): return self.ipyFBHelpBattleLen
+    def GetFBHelpBattleByIndex(self, index): return self.ipyFBHelpBattleCache[index]
     def GetChinMapCount(self): return self.ipyChinMapLen
     def GetChinMapByIndex(self, index): return self.ipyChinMapCache[index]
     def GetBOSSInfoCount(self): return self.ipyBOSSInfoLen
@@ -988,12 +1862,16 @@
     def GetQuestionBankByIndex(self, index): return self.ipyQuestionBankCache[index]
     def GetFamilyRedPackCount(self): return self.ipyFamilyRedPackLen
     def GetFamilyRedPackByIndex(self, index): return self.ipyFamilyRedPackCache[index]
+    def GetActFeastRedPacketCount(self): return self.ipyActFeastRedPacketLen
+    def GetActFeastRedPacketByIndex(self, index): return self.ipyActFeastRedPacketCache[index]
     def GetFuncOpenLVCount(self): return self.ipyFuncOpenLVLen
     def GetFuncOpenLVByIndex(self, index): return self.ipyFuncOpenLVCache[index]
     def GetChinNPCCount(self): return self.ipyChinNPCLen
     def GetChinNPCByIndex(self, index): return self.ipyChinNPCCache[index]
     def GetPlayerLVCount(self): return self.ipyPlayerLVLen
     def GetPlayerLVByIndex(self, index): return self.ipyPlayerLVCache[index]
+    def GetVipPrivilegeCount(self): return self.ipyVipPrivilegeLen
+    def GetVipPrivilegeByIndex(self, index): return self.ipyVipPrivilegeCache[index]
     def GetActSpringSaleCount(self): return self.ipyActSpringSaleLen
     def GetActSpringSaleByIndex(self, index): return self.ipyActSpringSaleCache[index]
     def GetActFlashGiftbagCount(self): return self.ipyActFlashGiftbagLen
@@ -1010,6 +1888,36 @@
     def GetUniquenessArriveByIndex(self, index): return self.ipyUniquenessArriveCache[index]
     def GetActRealmPointCount(self): return self.ipyActRealmPointLen
     def GetActRealmPointByIndex(self, index): return self.ipyActRealmPointCache[index]
+    def GetActFlashSaleCount(self): return self.ipyActFlashSaleLen
+    def GetActFlashSaleByIndex(self, index): return self.ipyActFlashSaleCache[index]
+    def GetStoreCount(self): return self.ipyStoreLen
+    def GetStoreByIndex(self, index): return self.ipyStoreCache[index]
+    def GetActWishingWellCount(self): return self.ipyActWishingWellLen
+    def GetActWishingWellByIndex(self, index): return self.ipyActWishingWellCache[index]
+    def GetActTotalRechargeCount(self): return self.ipyActTotalRechargeLen
+    def GetActTotalRechargeByIndex(self, index): return self.ipyActTotalRechargeCache[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 GetCrossRealmPKSeasonCount(self): return self.ipyCrossRealmPKSeasonLen
+    def GetCrossRealmPKSeasonByIndex(self, index): return self.ipyCrossRealmPKSeasonCache[index]
+    def GetCrossRealmPKDanCount(self): return self.ipyCrossRealmPKDanLen
+    def GetCrossRealmPKDanByIndex(self, index): return self.ipyCrossRealmPKDanCache[index]
+    def GetCrossPenglaiZoneMapCount(self): return self.ipyCrossPenglaiZoneMapLen
+    def GetCrossPenglaiZoneMapByIndex(self, index): return self.ipyCrossPenglaiZoneMapCache[index]
+    def GetActWeekPartyCount(self): return self.ipyActWeekPartyLen
+    def GetActWeekPartyByIndex(self, index): return self.ipyActWeekPartyCache[index]
+    def GetActLoginAwardCount(self): return self.ipyActLoginAwardLen
+    def GetActLoginAwardByIndex(self, index): return self.ipyActLoginAwardCache[index]
+    def GetActFeastWeekPartyCount(self): return self.ipyActFeastWeekPartyLen
+    def GetActFeastWeekPartyByIndex(self, index): return self.ipyActFeastWeekPartyCache[index]
+    def GetActNewFairyCeremonyCount(self): return self.ipyActNewFairyCeremonyLen
+    def GetActNewFairyCeremonyByIndex(self, index): return self.ipyActNewFairyCeremonyCache[index]
+    def GetNewUniquenessArriveCount(self): return self.ipyNewUniquenessArriveLen
+    def GetNewUniquenessArriveByIndex(self, index): return self.ipyNewUniquenessArriveCache[index]
+    def GetActLuckyTreasureCount(self): return self.ipyActLuckyTreasureLen
+    def GetActLuckyTreasureByIndex(self, index): return self.ipyActLuckyTreasureCache[index]
 
 IPYData = IPY_DataMgr()
 def IPY_Data(): return IPYData
@@ -1204,7 +2112,7 @@
     '''查询条件下与对应查询字段参考值相近的数据实例;参考值小于配置表最小值时返回none,大于最大值时返回最大值对应的实例
     @param dtName: 表名,不含tag
     @param keyName: 参考字段名
-    @param keyValue: 参考字段值
+    @param keyValue: 参考字段值,大于等于字段值时返回对应数据
     @param conditionDict: 查询条件,{查询字段名:字段值, ...}
     @return: 找不到数据返回 None , 否则返回对应的 ipyData 数据实例
     '''
@@ -1236,7 +2144,7 @@
         for i in xrange(near - 1, low - 1, -1):
             nearData = dataList[i]
             nearValue = getattr(nearData, "%s" % keyName)
-            if nearValue < keyValue:
+            if nearValue <= keyValue:
                 return nearData
             
     elif keyValue > nearValue:

--
Gitblit v1.8.0