ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
@@ -98,6 +98,13 @@
                        ("list", "RandMailKeyList", 0),
                        ),
                "CrossDailyAction":(
                        ("DWORD", "DailyID", 1),
                        ("dict", "OpenTimeDict", 0),
                        ("DWORD", "Duration", 0),
                        ("dict", "NotifyInfo", 0),
                        ),
                "DailyAction":(
                        ("DWORD", "DailyID", 1),
                        ("dict", "OpenTimeDict", 0),
@@ -285,6 +292,7 @@
                        ("DWORD", "LimitLV", 0),
                        ("DWORD", "LimitMagicWeapon", 0),
                        ("WORD", "LimiRealmLV", 0),
                        ("BYTE", "LimitVIPLV", 0),
                        ),
                "ChinNPC":(
@@ -426,6 +434,19 @@
                        ("dict", "NotifyInfoEnd", 0),
                        ("list", "NotifyInfoLoop", 0),
                        ("BYTE", "ResetType", 0),
                        ),
                "ActGodGift":(
                        ("DWORD", "CfgID", 1),
                        ("list", "PlatformList", 0),
                        ("list", "ServerGroupIDList", 0),
                        ("BYTE", "ActNum", 0),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("dict", "NotifyInfoStart", 0),
                        ("dict", "NotifyInfoEnd", 0),
                        ("list", "NotifyInfoLoop", 0),
                        ("BYTE", "IsDayReset", 0),
                        ),
                "ActHorsePetFeast":(
@@ -627,10 +648,35 @@
                        ("list", "ServerGroupIDList", 0),
                        ),
                "ChampionshipTime":(
                        ("DWORD", "ID", 1),
                        ("BYTE", "StartDay", 0),
                        ("BYTE", "StartHour", 0),
                        ("BYTE", "StartMinute", 0),
                        ("BYTE", "EndDay", 0),
                        ("BYTE", "EndHour", 0),
                        ("BYTE", "EndMinute", 0),
                        ("WORD", "StateValue", 0),
                        ("dict", "NotifyInfo", 0),
                        ),
                "ChampionshipRank":(
                        ("BYTE", "Rank", 1),
                        ("list", "RankAwardItemList", 0),
                        ("WORD", "MainOfficialID", 0),
                        ),
                "ChampionshipOfficial":(
                        ("WORD", "OfficialID", 1),
                        ("list", "JuniorOfficialIDList", 0),
                        ("list", "DailyAwardItemList", 0),
                        ("BYTE", "CanBeReplace", 0),
                        ),
                "CrossRealmPKSeason":(
                        ("char", "CrossZoneName", 1),
                        ("BYTE", "ZoneID", 1),
                        ("BYTE", "SeasonID", 0),
                        ("WORD", "SeasonID", 0),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("char", "EndTime", 0),
@@ -772,6 +818,27 @@
                        ("list", "BaseAwardInfo", 0),
                        ("list", "RandAwardWeightInfo", 0),
                        ("list", "SuperItemWeightInfo", 0),
                        ),
                "CrossActAllRecharge":(
                        ("DWORD", "CfgID", 1),
                        ("char", "ActGroupName", 0),
                        ("BYTE", "ZoneID", 0),
                        ("list", "ServerIDRangeList", 0),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("dict", "NotifyInfoStart", 0),
                        ("dict", "NotifyInfoEnd", 0),
                        ("list", "NotifyInfoLoop", 0),
                        ("list", "TemplateIDList", 0),
                        ),
                "CrossActAllRechargeTemplate":(
                        ("DWORD", "TemplateID", 1),
                        ("DWORD", "CTGNeed", 0),
                        ("WORD", "NeedPlayerCount", 0),
                        ("BYTE", "AwardIndex", 0),
                        ("list", "AwardItemList", 0),
                        ),
                "CrossActCTGBillboard":(
@@ -963,6 +1030,21 @@
    def GetItemCountWeightList(self): return self.ItemCountWeightList # 指定上架随机件数权重列表, [[权重, 件数], ...]
    def GetAuctionItemWeightList(self): return self.AuctionItemWeightList # 指定上架物品随机权重, [[权重, 物品ID],[权重, [阶,颜色,部位集合,是否套装,星级]] ...]
    def GetRandMailKeyList(self): return self.RandMailKeyList # 指定上架随机邮件列表,有配置时上架的时候在线玩家会收到一封上架邮件提醒
# 跨服日常活动表
class IPY_CrossDailyAction():
    def __init__(self):
        self.DailyID = 0
        self.OpenTimeDict = {}
        self.Duration = 0
        self.NotifyInfo = {}
        return
    def GetDailyID(self): return self.DailyID # 活动ID
    def GetOpenTimeDict(self): return self.OpenTimeDict # 开启时间
    def GetDuration(self): return self.Duration # 持续时间, 0为不限制
    def GetNotifyInfo(self): return self.NotifyInfo # 广播提示信息
# 日常活动表
class IPY_DailyAction():
@@ -1354,13 +1436,15 @@
        self.FuncId = 0
        self.LimitLV = 0
        self.LimitMagicWeapon = 0
        self.LimiRealmLV = 0
        self.LimiRealmLV = 0
        self.LimitVIPLV = 0
        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 GetLimiRealmLV(self): return self.LimiRealmLV # 需要境界等级
    def GetLimitVIPLV(self): return self.LimitVIPLV # 需要VIP等级
# NPC表
class IPY_ChinNPC():
@@ -1654,6 +1738,33 @@
    def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
    def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
# 天帝礼包活动时间表
class IPY_ActGodGift():
    def __init__(self):
        self.CfgID = 0
        self.PlatformList = []
        self.ServerGroupIDList = []
        self.ActNum = 0
        self.StartDate = ""
        self.EndDate = ""
        self.NotifyInfoStart = {}
        self.NotifyInfoEnd = {}
        self.NotifyInfoLoop = []
        self.IsDayReset = 0
        return
    def GetCfgID(self): return self.CfgID # 配置ID
    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
    def GetServerGroupIDList(self): return self.ServerGroupIDList # 服务器ID列表
    def GetActNum(self): return self.ActNum # 活动分组编号, 活动类型 * 10 + 不同界面编号
    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 GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
# 骑宠盛宴活动
class IPY_ActHorsePetFeast():
@@ -2070,6 +2181,59 @@
    def GetZoneName(self): return self.ZoneName # 赛区名字
    def GetServerGroupIDList(self): return self.ServerGroupIDList # 赛区服务器组ID列表
# 跨服排位赛流程表
class IPY_ChampionshipTime():
    def __init__(self):
        self.ID = 0
        self.StartDay = 0
        self.StartHour = 0
        self.StartMinute = 0
        self.EndDay = 0
        self.EndHour = 0
        self.EndMinute = 0
        self.StateValue = 0
        self.NotifyInfo = {}
        return
    def GetID(self): return self.ID
    def GetStartDay(self): return self.StartDay # 开始天
    def GetStartHour(self): return self.StartHour # 开始时
    def GetStartMinute(self): return self.StartMinute # 开始分
    def GetEndDay(self): return self.EndDay # 结束天
    def GetEndHour(self): return self.EndHour # 结束时
    def GetEndMinute(self): return self.EndMinute # 结束分
    def GetStateValue(self): return self.StateValue # ״ֵ̬
    def GetNotifyInfo(self): return self.NotifyInfo # 广播提示信息
# 跨服排位奖励表
class IPY_ChampionshipRank():
    def __init__(self):
        self.Rank = 0
        self.RankAwardItemList = []
        self.MainOfficialID = 0
        return
    def GetRank(self): return self.Rank #  名次
    def GetRankAwardItemList(self): return self.RankAwardItemList # 名次奖励物品列表
    def GetMainOfficialID(self): return self.MainOfficialID # 主官职ID
# 跨服排位官职表
class IPY_ChampionshipOfficial():
    def __init__(self):
        self.OfficialID = 0
        self.JuniorOfficialIDList = []
        self.DailyAwardItemList = []
        self.CanBeReplace = 0
        return
    def GetOfficialID(self): return self.OfficialID #  官职ID
    def GetJuniorOfficialIDList(self): return self.JuniorOfficialIDList # 下级官职ID列表
    def GetDailyAwardItemList(self): return self.DailyAwardItemList # 官职每日邮件奖励物品列表
    def GetCanBeReplace(self): return self.CanBeReplace # 是否可被挑战替换
# 跨服竞技场赛季表
class IPY_CrossRealmPKSeason():
    
@@ -2378,6 +2542,50 @@
    def GetRandAwardWeightInfo(self): return self.RandAwardWeightInfo # 每次购买随机奖励权重信息 [[权重,物品ID,个数,是否拍品], ...]
    def GetSuperItemWeightInfo(self): return self.SuperItemWeightInfo # 大奖随机权重信息  [[权重,物品ID,个数,是否拍品,价值货币类型,货币值], ...]
# 跨服全民充值时间表
class IPY_CrossActAllRecharge():
    def __init__(self):
        self.CfgID = 0
        self.ActGroupName = ""
        self.ZoneID = 0
        self.ServerIDRangeList = []
        self.StartDate = ""
        self.EndDate = ""
        self.NotifyInfoStart = {}
        self.NotifyInfoEnd = {}
        self.NotifyInfoLoop = []
        self.TemplateIDList = []
        return
    def GetCfgID(self): return self.CfgID # 配置ID
    def GetActGroupName(self): return self.ActGroupName # 活动组名(同组活动的名字需相同)
    def GetZoneID(self): return self.ZoneID # 组内分组编号
    def GetServerIDRangeList(self): return self.ServerIDRangeList # 活动的账号服务器ID范围列表 [[serverIDA, serverIDB], ...]
    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 GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[循环分钟, 广播key, [广播参数列表可选]]
    def GetTemplateIDList(self): return self.TemplateIDList # 模板ID列表
# 跨服全民充值模板表
class IPY_CrossActAllRechargeTemplate():
    def __init__(self):
        self.TemplateID = 0
        self.CTGNeed = 0
        self.NeedPlayerCount = 0
        self.AwardIndex = 0
        self.AwardItemList = []
        return
    def GetTemplateID(self): return self.TemplateID # 模板ID
    def GetCTGNeed(self): return self.CTGNeed # 全民充值RMB
    def GetNeedPlayerCount(self): return self.NeedPlayerCount # 所需充值达到该档玩家数
    def GetAwardIndex(self): return self.AwardIndex # 奖励记录索引,从0开始,同个模板不可重复,不可变更
    def GetAwardItemList(self): return self.AwardItemList # 奖励物品列表[[物品ID,个数,是否拍品], ...]
# 跨服充值排行活动时间表
class IPY_CrossActCTGBillboard():
    
@@ -2520,6 +2728,8 @@
        self.ipyAuctionItemLen = len(self.ipyAuctionItemCache)
        self.ipyAuctionSystemItemCache = self.__LoadFileData("AuctionSystemItem", IPY_AuctionSystemItem)
        self.ipyAuctionSystemItemLen = len(self.ipyAuctionSystemItemCache)
        self.ipyCrossDailyActionCache = self.__LoadFileData("CrossDailyAction", IPY_CrossDailyAction)
        self.ipyCrossDailyActionLen = len(self.ipyCrossDailyActionCache)
        self.ipyDailyActionCache = self.__LoadFileData("DailyAction", IPY_DailyAction)
        self.ipyDailyActionLen = len(self.ipyDailyActionCache)
        self.ipyDailyActionCustomCache = self.__LoadFileData("DailyActionCustom", IPY_DailyActionCustom)
@@ -2582,6 +2792,8 @@
        self.ipyActGarbageSortingLen = len(self.ipyActGarbageSortingCache)
        self.ipyActXianXiaMJCache = self.__LoadFileData("ActXianXiaMJ", IPY_ActXianXiaMJ)
        self.ipyActXianXiaMJLen = len(self.ipyActXianXiaMJCache)
        self.ipyActGodGiftCache = self.__LoadFileData("ActGodGift", IPY_ActGodGift)
        self.ipyActGodGiftLen = len(self.ipyActGodGiftCache)
        self.ipyActHorsePetFeastCache = self.__LoadFileData("ActHorsePetFeast", IPY_ActHorsePetFeast)
        self.ipyActHorsePetFeastLen = len(self.ipyActHorsePetFeastCache)
        self.ipyActBossRebornCache = self.__LoadFileData("ActBossReborn", IPY_ActBossReborn)
@@ -2616,6 +2828,12 @@
        self.ipyCrossZoneCommLen = len(self.ipyCrossZoneCommCache)
        self.ipyCrossZonePKCache = self.__LoadFileData("CrossZonePK", IPY_CrossZonePK)
        self.ipyCrossZonePKLen = len(self.ipyCrossZonePKCache)
        self.ipyChampionshipTimeCache = self.__LoadFileData("ChampionshipTime", IPY_ChampionshipTime)
        self.ipyChampionshipTimeLen = len(self.ipyChampionshipTimeCache)
        self.ipyChampionshipRankCache = self.__LoadFileData("ChampionshipRank", IPY_ChampionshipRank)
        self.ipyChampionshipRankLen = len(self.ipyChampionshipRankCache)
        self.ipyChampionshipOfficialCache = self.__LoadFileData("ChampionshipOfficial", IPY_ChampionshipOfficial)
        self.ipyChampionshipOfficialLen = len(self.ipyChampionshipOfficialCache)
        self.ipyCrossRealmPKSeasonCache = self.__LoadFileData("CrossRealmPKSeason", IPY_CrossRealmPKSeason)
        self.ipyCrossRealmPKSeasonLen = len(self.ipyCrossRealmPKSeasonCache)
        self.ipyCrossRealmPKDanCache = self.__LoadFileData("CrossRealmPKDan", IPY_CrossRealmPKDan)
@@ -2644,6 +2862,10 @@
        self.ipyCrossActLuckyCloudBuyLen = len(self.ipyCrossActLuckyCloudBuyCache)
        self.ipyCrossActLuckyCloudBuyTemplateCache = self.__LoadFileData("CrossActLuckyCloudBuyTemplate", IPY_CrossActLuckyCloudBuyTemplate)
        self.ipyCrossActLuckyCloudBuyTemplateLen = len(self.ipyCrossActLuckyCloudBuyTemplateCache)
        self.ipyCrossActAllRechargeCache = self.__LoadFileData("CrossActAllRecharge", IPY_CrossActAllRecharge)
        self.ipyCrossActAllRechargeLen = len(self.ipyCrossActAllRechargeCache)
        self.ipyCrossActAllRechargeTemplateCache = self.__LoadFileData("CrossActAllRechargeTemplate", IPY_CrossActAllRechargeTemplate)
        self.ipyCrossActAllRechargeTemplateLen = len(self.ipyCrossActAllRechargeTemplateCache)
        self.ipyCrossActCTGBillboardCache = self.__LoadFileData("CrossActCTGBillboard", IPY_CrossActCTGBillboard)
        self.ipyCrossActCTGBillboardLen = len(self.ipyCrossActCTGBillboardCache)
        self.ipyCrossActCTGBillboardOrderCache = self.__LoadFileData("CrossActCTGBillboardOrder", IPY_CrossActCTGBillboardOrder)
@@ -2836,6 +3058,8 @@
    def GetAuctionItemByIndex(self, index): return self.ipyAuctionItemCache[index]
    def GetAuctionSystemItemCount(self): return self.ipyAuctionSystemItemLen
    def GetAuctionSystemItemByIndex(self, index): return self.ipyAuctionSystemItemCache[index]
    def GetCrossDailyActionCount(self): return self.ipyCrossDailyActionLen
    def GetCrossDailyActionByIndex(self, index): return self.ipyCrossDailyActionCache[index]
    def GetDailyActionCount(self): return self.ipyDailyActionLen
    def GetDailyActionByIndex(self, index): return self.ipyDailyActionCache[index]
    def GetDailyActionCustomCount(self): return self.ipyDailyActionCustomLen
@@ -2898,6 +3122,8 @@
    def GetActGarbageSortingByIndex(self, index): return self.ipyActGarbageSortingCache[index]
    def GetActXianXiaMJCount(self): return self.ipyActXianXiaMJLen
    def GetActXianXiaMJByIndex(self, index): return self.ipyActXianXiaMJCache[index]
    def GetActGodGiftCount(self): return self.ipyActGodGiftLen
    def GetActGodGiftByIndex(self, index): return self.ipyActGodGiftCache[index]
    def GetActHorsePetFeastCount(self): return self.ipyActHorsePetFeastLen
    def GetActHorsePetFeastByIndex(self, index): return self.ipyActHorsePetFeastCache[index]
    def GetActBossRebornCount(self): return self.ipyActBossRebornLen
@@ -2932,6 +3158,12 @@
    def GetCrossZoneCommByIndex(self, index): return self.ipyCrossZoneCommCache[index]
    def GetCrossZonePKCount(self): return self.ipyCrossZonePKLen
    def GetCrossZonePKByIndex(self, index): return self.ipyCrossZonePKCache[index]
    def GetChampionshipTimeCount(self): return self.ipyChampionshipTimeLen
    def GetChampionshipTimeByIndex(self, index): return self.ipyChampionshipTimeCache[index]
    def GetChampionshipRankCount(self): return self.ipyChampionshipRankLen
    def GetChampionshipRankByIndex(self, index): return self.ipyChampionshipRankCache[index]
    def GetChampionshipOfficialCount(self): return self.ipyChampionshipOfficialLen
    def GetChampionshipOfficialByIndex(self, index): return self.ipyChampionshipOfficialCache[index]
    def GetCrossRealmPKSeasonCount(self): return self.ipyCrossRealmPKSeasonLen
    def GetCrossRealmPKSeasonByIndex(self, index): return self.ipyCrossRealmPKSeasonCache[index]
    def GetCrossRealmPKDanCount(self): return self.ipyCrossRealmPKDanLen
@@ -2960,6 +3192,10 @@
    def GetCrossActLuckyCloudBuyByIndex(self, index): return self.ipyCrossActLuckyCloudBuyCache[index]
    def GetCrossActLuckyCloudBuyTemplateCount(self): return self.ipyCrossActLuckyCloudBuyTemplateLen
    def GetCrossActLuckyCloudBuyTemplateByIndex(self, index): return self.ipyCrossActLuckyCloudBuyTemplateCache[index]
    def GetCrossActAllRechargeCount(self): return self.ipyCrossActAllRechargeLen
    def GetCrossActAllRechargeByIndex(self, index): return self.ipyCrossActAllRechargeCache[index]
    def GetCrossActAllRechargeTemplateCount(self): return self.ipyCrossActAllRechargeTemplateLen
    def GetCrossActAllRechargeTemplateByIndex(self, index): return self.ipyCrossActAllRechargeTemplateCache[index]
    def GetCrossActCTGBillboardCount(self): return self.ipyCrossActCTGBillboardLen
    def GetCrossActCTGBillboardByIndex(self, index): return self.ipyCrossActCTGBillboardCache[index]
    def GetCrossActCTGBillboardOrderCount(self): return self.ipyCrossActCTGBillboardOrderLen