From 665ab496dbb975f0088c00fbd70ffa0bbef7ddaf Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 27 九月 2022 17:21:06 +0800 Subject: [PATCH] 9701 【后端】【越南】【BT7】【主干】跨服竞技64位排位赛(增加可取消仙官申请) --- ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py | 211 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 210 insertions(+), 1 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py index 5b3fffb..27cfd99 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py @@ -209,6 +209,13 @@ ("list", "ServerFirstKillPlayerAward", 0), ), + "OSCBillRankAward":( + ("BYTE", "OSCBillType", 1), + ("BYTE", "RankA", 0), + ("BYTE", "RankB", 0), + ("dict", "RankAward", 0), + ), + "QuestionBank":( ("DWORD", "ID", 1), ("char", "Answer", 0), @@ -620,10 +627,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), @@ -637,6 +669,13 @@ ), "CrossPenglaiZoneMap":( + ("BYTE", "ZoneID", 0), + ("DWORD", "MapID", 1), + ("DWORD", "DataMapID", 1), + ("BYTE", "CopyMapID", 1), + ), + + "CrossDemonLandZoneMap":( ("BYTE", "ZoneID", 0), ("DWORD", "MapID", 1), ("DWORD", "DataMapID", 1), @@ -742,9 +781,28 @@ ("WORD", "LVLimit", 0), ), + "CrossActLuckyCloudBuy":( + ("DWORD", "CfgID", 1), + ("char", "ActGroupName", 0), + ("BYTE", "ZoneID", 0), + ("list", "ServerIDRangeList", 0), + ("char", "StartDate", 0), + ("char", "EndDate", 0), + ("WORD", "LVLimit", 0), + ("list", "TemplateIDList", 0), + ), + + "CrossActLuckyCloudBuyTemplate":( + ("DWORD", "TemplateID", 1), + ("list", "BaseAwardInfo", 0), + ("list", "RandAwardWeightInfo", 0), + ("list", "SuperItemWeightInfo", 0), + ), + "CrossActCTGBillboard":( ("DWORD", "CfgID", 1), ("char", "ActGroupName", 0), + ("BYTE", "ZoneID", 0), ("list", "ServerIDRangeList", 0), ("char", "StartDate", 0), ("char", "EndDate", 0), @@ -1164,6 +1222,21 @@ def GetNPCID(self): return self.NPCID # ID def GetServerFirstKillPlayerAward(self): return self.ServerFirstKillPlayerAward # 全服首杀玩家奖励 [[物品ID,个数,是否拍品], ...] + +# 全民冲榜排行奖励表 +class IPY_OSCBillRankAward(): + + def __init__(self): + self.OSCBillType = 0 + self.RankA = 0 + self.RankB = 0 + self.RankAward = {} + return + + def GetOSCBillType(self): return self.OSCBillType # 冲榜类型 + def GetRankA(self): return self.RankA # 排名A + def GetRankB(self): return self.RankB # 至排名B + def GetRankAward(self): return self.RankAward # 排名奖励 {"职业":[[物品ID,个数],...], ...} # 宴会题库表 class IPY_QuestionBank(): @@ -2022,6 +2095,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(): @@ -2058,6 +2184,21 @@ # 跨服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 + +# 跨服Boss魔化之地分区地图表 +class IPY_CrossDemonLandZoneMap(): def __init__(self): self.ZoneID = 0 @@ -2277,12 +2418,51 @@ def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key] def GetLVLimit(self): return self.LVLimit # 限制等级 +# 跨服幸运云购表 +class IPY_CrossActLuckyCloudBuy(): + + def __init__(self): + self.CfgID = 0 + self.ActGroupName = "" + self.ZoneID = 0 + self.ServerIDRangeList = [] + self.StartDate = "" + self.EndDate = "" + self.LVLimit = 0 + 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 GetLVLimit(self): return self.LVLimit # 限制等级 + def GetTemplateIDList(self): return self.TemplateIDList # 模板ID列表 + +# 跨服幸运云购模板表 +class IPY_CrossActLuckyCloudBuyTemplate(): + + def __init__(self): + self.TemplateID = 0 + self.BaseAwardInfo = [] + self.RandAwardWeightInfo = [] + self.SuperItemWeightInfo = [] + return + + def GetTemplateID(self): return self.TemplateID # 模板ID + def GetBaseAwardInfo(self): return self.BaseAwardInfo # 每次购买固定奖励 [[物品ID,个数,是否拍品], ...] + def GetRandAwardWeightInfo(self): return self.RandAwardWeightInfo # 每次购买随机奖励权重信息 [[权重,物品ID,个数,是否拍品], ...] + def GetSuperItemWeightInfo(self): return self.SuperItemWeightInfo # 大奖随机权重信息 [[权重,物品ID,个数,是否拍品,价值货币类型,货币值], ...] + # 跨服充值排行活动时间表 class IPY_CrossActCTGBillboard(): def __init__(self): self.CfgID = 0 self.ActGroupName = "" + self.ZoneID = 0 self.ServerIDRangeList = [] self.StartDate = "" self.EndDate = "" @@ -2295,6 +2475,7 @@ 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 # 结束日期 @@ -2441,6 +2622,8 @@ self.ipyBOSSInfoLen = len(self.ipyBOSSInfoCache) self.ipyBOSSFirstKillCache = self.__LoadFileData("BOSSFirstKill", IPY_BOSSFirstKill) self.ipyBOSSFirstKillLen = len(self.ipyBOSSFirstKillCache) + self.ipyOSCBillRankAwardCache = self.__LoadFileData("OSCBillRankAward", IPY_OSCBillRankAward) + self.ipyOSCBillRankAwardLen = len(self.ipyOSCBillRankAwardCache) self.ipyQuestionBankCache = self.__LoadFileData("QuestionBank", IPY_QuestionBank) self.ipyQuestionBankLen = len(self.ipyQuestionBankCache) self.ipyFamilyRedPackCache = self.__LoadFileData("FamilyRedPack", IPY_FamilyRedPack) @@ -2511,12 +2694,20 @@ 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) self.ipyCrossRealmPKDanLen = len(self.ipyCrossRealmPKDanCache) self.ipyCrossPenglaiZoneMapCache = self.__LoadFileData("CrossPenglaiZoneMap", IPY_CrossPenglaiZoneMap) self.ipyCrossPenglaiZoneMapLen = len(self.ipyCrossPenglaiZoneMapCache) + self.ipyCrossDemonLandZoneMapCache = self.__LoadFileData("CrossDemonLandZoneMap", IPY_CrossDemonLandZoneMap) + self.ipyCrossDemonLandZoneMapLen = len(self.ipyCrossDemonLandZoneMapCache) self.ipyActWeekPartyCache = self.__LoadFileData("ActWeekParty", IPY_ActWeekParty) self.ipyActWeekPartyLen = len(self.ipyActWeekPartyCache) self.ipyActLoginAwardCache = self.__LoadFileData("ActLoginAward", IPY_ActLoginAward) @@ -2533,6 +2724,10 @@ self.ipyMarryLen = len(self.ipyMarryCache) self.ipyActLuckyTreasureCache = self.__LoadFileData("ActLuckyTreasure", IPY_ActLuckyTreasure) self.ipyActLuckyTreasureLen = len(self.ipyActLuckyTreasureCache) + self.ipyCrossActLuckyCloudBuyCache = self.__LoadFileData("CrossActLuckyCloudBuy", IPY_CrossActLuckyCloudBuy) + self.ipyCrossActLuckyCloudBuyLen = len(self.ipyCrossActLuckyCloudBuyCache) + self.ipyCrossActLuckyCloudBuyTemplateCache = self.__LoadFileData("CrossActLuckyCloudBuyTemplate", IPY_CrossActLuckyCloudBuyTemplate) + self.ipyCrossActLuckyCloudBuyTemplateLen = len(self.ipyCrossActLuckyCloudBuyTemplateCache) self.ipyCrossActCTGBillboardCache = self.__LoadFileData("CrossActCTGBillboard", IPY_CrossActCTGBillboard) self.ipyCrossActCTGBillboardLen = len(self.ipyCrossActCTGBillboardCache) self.ipyCrossActCTGBillboardOrderCache = self.__LoadFileData("CrossActCTGBillboardOrder", IPY_CrossActCTGBillboardOrder) @@ -2749,6 +2944,8 @@ def GetBOSSInfoByIndex(self, index): return self.ipyBOSSInfoCache[index] def GetBOSSFirstKillCount(self): return self.ipyBOSSFirstKillLen def GetBOSSFirstKillByIndex(self, index): return self.ipyBOSSFirstKillCache[index] + def GetOSCBillRankAwardCount(self): return self.ipyOSCBillRankAwardLen + def GetOSCBillRankAwardByIndex(self, index): return self.ipyOSCBillRankAwardCache[index] def GetQuestionBankCount(self): return self.ipyQuestionBankLen def GetQuestionBankByIndex(self, index): return self.ipyQuestionBankCache[index] def GetFamilyRedPackCount(self): return self.ipyFamilyRedPackLen @@ -2819,12 +3016,20 @@ 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 def GetCrossRealmPKDanByIndex(self, index): return self.ipyCrossRealmPKDanCache[index] def GetCrossPenglaiZoneMapCount(self): return self.ipyCrossPenglaiZoneMapLen def GetCrossPenglaiZoneMapByIndex(self, index): return self.ipyCrossPenglaiZoneMapCache[index] + def GetCrossDemonLandZoneMapCount(self): return self.ipyCrossDemonLandZoneMapLen + def GetCrossDemonLandZoneMapByIndex(self, index): return self.ipyCrossDemonLandZoneMapCache[index] def GetActWeekPartyCount(self): return self.ipyActWeekPartyLen def GetActWeekPartyByIndex(self, index): return self.ipyActWeekPartyCache[index] def GetActLoginAwardCount(self): return self.ipyActLoginAwardLen @@ -2841,6 +3046,10 @@ def GetMarryByIndex(self, index): return self.ipyMarryCache[index] def GetActLuckyTreasureCount(self): return self.ipyActLuckyTreasureLen def GetActLuckyTreasureByIndex(self, index): return self.ipyActLuckyTreasureCache[index] + def GetCrossActLuckyCloudBuyCount(self): return self.ipyCrossActLuckyCloudBuyLen + def GetCrossActLuckyCloudBuyByIndex(self, index): return self.ipyCrossActLuckyCloudBuyCache[index] + def GetCrossActLuckyCloudBuyTemplateCount(self): return self.ipyCrossActLuckyCloudBuyTemplateLen + def GetCrossActLuckyCloudBuyTemplateByIndex(self, index): return self.ipyCrossActLuckyCloudBuyTemplateCache[index] def GetCrossActCTGBillboardCount(self): return self.ipyCrossActCTGBillboardLen def GetCrossActCTGBillboardByIndex(self, index): return self.ipyCrossActCTGBillboardCache[index] def GetCrossActCTGBillboardOrderCount(self): return self.ipyCrossActCTGBillboardOrderLen -- Gitblit v1.8.0