ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
@@ -61,6 +61,19 @@
                        ("BYTE", "BossFBCnt", 0),
                        ),
                "FamilyBossHurtAward":(
                        ("BYTE", "AwardType", 1),
                        ("BYTE", "RecordIndex", 1),
                        ("DWORD", "NeedHurtTotal", 0),
                        ("list", "AwardItemList", 0),
                        ),
                "FamilyZhenfa":(
                        ("BYTE", "ZhenfaType", 1),
                        ("WORD", "ZhenfaLV", 1),
                        ("DWORD", "LVUpNeedExp", 0),
                        ),
                "MarketQuery":(
                        ("WORD", "QueryType", 1),
                        ("dict", "LimitInfo", 0),
@@ -96,6 +109,13 @@
                        ("list", "ItemCountWeightList", 0),
                        ("list", "AuctionItemWeightList", 0),
                        ("list", "RandMailKeyList", 0),
                        ),
                "CrossDailyAction":(
                        ("DWORD", "DailyID", 1),
                        ("dict", "OpenTimeDict", 0),
                        ("DWORD", "Duration", 0),
                        ("dict", "NotifyInfo", 0),
                        ),
                "DailyAction":(
@@ -391,6 +411,19 @@
                        ("BYTE", "IsDayReset", 0),
                        ),
                "ActBuyOne":(
                        ("DWORD", "CfgID", 1),
                        ("list", "PlatformList", 0),
                        ("list", "ServerGroupIDList", 0),
                        ("BYTE", "ActNum", 0),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("dict", "NotifyInfoStart", 0),
                        ("dict", "NotifyInfoEnd", 0),
                        ("list", "NotifyInfoLoop", 0),
                        ("BYTE", "IsDayReset", 0),
                        ),
                "ActCollectWords":(
                        ("DWORD", "CfgID", 1),
                        ("list", "PlatformList", 0),
@@ -416,6 +449,27 @@
                        ("BYTE", "ResetType", 0),
                        ),
                "ActBossTrial":(
                        ("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),
                        ("BYTE", "ResetType", 0),
                        ("list", "TemplateIDList", 0),
                        ),
                "ActBossTrialTemplate":(
                        ("DWORD", "TemplateID", 1),
                        ("BYTE", "Rank", 0),
                        ("list", "AwardItemList", 0),
                        ),
                "ActXianXiaMJ":(
                        ("DWORD", "CfgID", 1),
                        ("list", "PlatformList", 0),
@@ -427,6 +481,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":(
@@ -683,6 +750,13 @@
                        ("BYTE", "CopyMapID", 1),
                        ),
                "CrossFamilyFlagwarZoneMap":(
                        ("BYTE", "ZoneID", 0),
                        ("DWORD", "MapID", 1),
                        ("DWORD", "DataMapID", 1),
                        ("BYTE", "CopyMapID", 1),
                        ),
                "ActWeekParty":(
                        ("DWORD", "CfgID", 1),
                        ("char", "ActMark", 0),
@@ -789,6 +863,9 @@
                        ("list", "ServerIDRangeList", 0),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("list", "StartTimeList", 0),
                        ("list", "EndTimeList", 0),
                        ("list", "RoundMaxList", 0),
                        ("WORD", "LVLimit", 0),
                        ("list", "TemplateIDList", 0),
                        ),
@@ -934,6 +1011,34 @@
    def GetWeekMissionMoneyMax(self): return self.WeekMissionMoneyMax # 每周任务最大可获得仙盟资金
    def GetBossFBCnt(self): return self.BossFBCnt # BOSS副本次数
# 仙盟试炼伤血奖励表
class IPY_FamilyBossHurtAward():
    def __init__(self):
        self.AwardType = 0
        self.RecordIndex = 0
        self.NeedHurtTotal = 0
        self.AwardItemList = []
        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,个数,是否拍品], ...]
# 仙盟阵法表
class IPY_FamilyZhenfa():
    def __init__(self):
        self.ZhenfaType = 0
        self.ZhenfaLV = 0
        self.LVUpNeedExp = 0
        return
    def GetZhenfaType(self): return self.ZhenfaType #  阵法类型
    def GetZhenfaLV(self): return self.ZhenfaLV #  阵法等级
    def GetLVUpNeedExp(self): return self.LVUpNeedExp # 升下一级所需经验
# 集市查询表
class IPY_MarketQuery():
    
@@ -1010,6 +1115,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():
@@ -1625,6 +1745,33 @@
    def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
# 买一送多活动表
class IPY_ActBuyOne():
    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_ActCollectWords():
    
@@ -1677,6 +1824,50 @@
    def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
# Boss历练活动表
class IPY_ActBossTrial():
    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
        self.ResetType = 0
        self.TemplateIDList = []
        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 # 是否每天重置
    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
    def GetTemplateIDList(self): return self.TemplateIDList # 榜单模板编号列表
# Boss历练榜单模版表
class IPY_ActBossTrialTemplate():
    def __init__(self):
        self.TemplateID = 0
        self.Rank = 0
        self.AwardItemList = []
        return
    def GetTemplateID(self): return self.TemplateID # 模板编号
    def GetRank(self): return self.Rank # 名次
    def GetAwardItemList(self): return self.AwardItemList # 奖励物品信息列表 [[物品ID,个数,是否拍品], ...]
# 仙匣秘境活动时间表
class IPY_ActXianXiaMJ():
    
@@ -1703,6 +1894,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():
@@ -2236,6 +2454,21 @@
    def GetDataMapID(self): return self.DataMapID # 数据地图ID
    def GetCopyMapID(self): return self.CopyMapID # 虚拟线路ID
# 跨服分区地图逐鹿万界
class IPY_CrossFamilyFlagwarZoneMap():
    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():
    
@@ -2452,6 +2685,9 @@
        self.ServerIDRangeList = []
        self.StartDate = ""
        self.EndDate = ""
        self.StartTimeList = []
        self.EndTimeList = []
        self.RoundMaxList = []
        self.LVLimit = 0
        self.TemplateIDList = []
        return
@@ -2462,6 +2698,9 @@
    def GetServerIDRangeList(self): return self.ServerIDRangeList # 活动的账号服务器ID范围列表 [[serverIDA, serverIDB], ...]
    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 GetRoundMaxList(self): return self.RoundMaxList # 开启轮次列表
    def GetLVLimit(self): return self.LVLimit # 限制等级
    def GetTemplateIDList(self): return self.TemplateIDList # 模板ID列表
@@ -2660,12 +2899,18 @@
        self.ipyWorldLVLen = len(self.ipyWorldLVCache)
        self.ipyFamilyCache = self.__LoadFileData("Family", IPY_Family)
        self.ipyFamilyLen = len(self.ipyFamilyCache)
        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.ipyMarketQueryCache = self.__LoadFileData("MarketQuery", IPY_MarketQuery)
        self.ipyMarketQueryLen = len(self.ipyMarketQueryCache)
        self.ipyAuctionItemCache = self.__LoadFileData("AuctionItem", IPY_AuctionItem)
        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)
@@ -2722,12 +2967,20 @@
        self.ipyActExpRateLen = len(self.ipyActExpRateCache)
        self.ipyActCostRebateCache = self.__LoadFileData("ActCostRebate", IPY_ActCostRebate)
        self.ipyActCostRebateLen = len(self.ipyActCostRebateCache)
        self.ipyActBuyOneCache = self.__LoadFileData("ActBuyOne", IPY_ActBuyOne)
        self.ipyActBuyOneLen = len(self.ipyActBuyOneCache)
        self.ipyActCollectWordsCache = self.__LoadFileData("ActCollectWords", IPY_ActCollectWords)
        self.ipyActCollectWordsLen = len(self.ipyActCollectWordsCache)
        self.ipyActGarbageSortingCache = self.__LoadFileData("ActGarbageSorting", IPY_ActGarbageSorting)
        self.ipyActGarbageSortingLen = len(self.ipyActGarbageSortingCache)
        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.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)
@@ -2776,6 +3029,8 @@
        self.ipyCrossPenglaiZoneMapLen = len(self.ipyCrossPenglaiZoneMapCache)
        self.ipyCrossDemonLandZoneMapCache = self.__LoadFileData("CrossDemonLandZoneMap", IPY_CrossDemonLandZoneMap)
        self.ipyCrossDemonLandZoneMapLen = len(self.ipyCrossDemonLandZoneMapCache)
        self.ipyCrossFamilyFlagwarZoneMapCache = self.__LoadFileData("CrossFamilyFlagwarZoneMap", IPY_CrossFamilyFlagwarZoneMap)
        self.ipyCrossFamilyFlagwarZoneMapLen = len(self.ipyCrossFamilyFlagwarZoneMapCache)
        self.ipyActWeekPartyCache = self.__LoadFileData("ActWeekParty", IPY_ActWeekParty)
        self.ipyActWeekPartyLen = len(self.ipyActWeekPartyCache)
        self.ipyActLoginAwardCache = self.__LoadFileData("ActLoginAward", IPY_ActLoginAward)
@@ -2986,12 +3241,18 @@
    def GetWorldLVByIndex(self, index): return self.ipyWorldLVCache[index]
    def GetFamilyCount(self): return self.ipyFamilyLen
    def GetFamilyByIndex(self, index): return self.ipyFamilyCache[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 GetMarketQueryCount(self): return self.ipyMarketQueryLen
    def GetMarketQueryByIndex(self, index): return self.ipyMarketQueryCache[index]
    def GetAuctionItemCount(self): return self.ipyAuctionItemLen
    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
@@ -3048,12 +3309,20 @@
    def GetActExpRateByIndex(self, index): return self.ipyActExpRateCache[index]
    def GetActCostRebateCount(self): return self.ipyActCostRebateLen
    def GetActCostRebateByIndex(self, index): return self.ipyActCostRebateCache[index]
    def GetActBuyOneCount(self): return self.ipyActBuyOneLen
    def GetActBuyOneByIndex(self, index): return self.ipyActBuyOneCache[index]
    def GetActCollectWordsCount(self): return self.ipyActCollectWordsLen
    def GetActCollectWordsByIndex(self, index): return self.ipyActCollectWordsCache[index]
    def GetActGarbageSortingCount(self): return self.ipyActGarbageSortingLen
    def GetActGarbageSortingByIndex(self, index): return self.ipyActGarbageSortingCache[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 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
@@ -3102,6 +3371,8 @@
    def GetCrossPenglaiZoneMapByIndex(self, index): return self.ipyCrossPenglaiZoneMapCache[index]
    def GetCrossDemonLandZoneMapCount(self): return self.ipyCrossDemonLandZoneMapLen
    def GetCrossDemonLandZoneMapByIndex(self, index): return self.ipyCrossDemonLandZoneMapCache[index]
    def GetCrossFamilyFlagwarZoneMapCount(self): return self.ipyCrossFamilyFlagwarZoneMapLen
    def GetCrossFamilyFlagwarZoneMapByIndex(self, index): return self.ipyCrossFamilyFlagwarZoneMapCache[index]
    def GetActWeekPartyCount(self): return self.ipyActWeekPartyLen
    def GetActWeekPartyByIndex(self, index): return self.ipyActWeekPartyCache[index]
    def GetActLoginAwardCount(self): return self.ipyActLoginAwardLen