From 03f617028885a2e8840500bb520f3418d54eb791 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 30 一月 2019 18:09:20 +0800 Subject: [PATCH] 2968 【1.6】本服打boss,中途传送到跨服,未清空本服归属 --- ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py | 307 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 303 insertions(+), 4 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py index cdc320f..ecae682 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py @@ -173,6 +173,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":( @@ -394,6 +409,79 @@ "CrossRealmPKDan":( ("BYTE", "DanLV", 1), ("WORD", "LVUpScore", 0), + ("list", "MatchRange", 0), + ), + + "CrossPenglaiZone":( + ("BYTE", "ZoneID", 0), + ("list", "ServerGroupIDList", 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), + ("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), ), } @@ -690,7 +778,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 @@ -698,7 +788,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(): @@ -1155,11 +1274,163 @@ def __init__(self): self.DanLV = 0 - self.LVUpScore = 0 + self.LVUpScore = 0 + self.MatchRange = [] return def GetDanLV(self): return self.DanLV # 段位等级 - def GetLVUpScore(self): return self.LVUpScore # 升段位所需积分 + def GetLVUpScore(self): return self.LVUpScore # 升段位所需积分 + def GetMatchRange(self): return self.MatchRange # 可匹配到的玩家段位区间 [从段位A, 到段位B],配[]代表只匹配本段位的 + +# 跨服Boss蓬莱仙境分区表 +class IPY_CrossPenglaiZone(): + + def __init__(self): + self.ZoneID = 0 + self.ServerGroupIDList = [] + self.MapID = 0 + self.DataMapID = 0 + self.CopyMapID = 0 + return + + def GetZoneID(self): return self.ZoneID # 分区ID + def GetServerGroupIDList(self): return self.ServerGroupIDList # 服务器组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.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_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,个数,是否绑定],...], ...} def Log(msg, playerID=0, par=0): @@ -1217,6 +1488,8 @@ 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) @@ -1255,6 +1528,18 @@ self.ipyCrossRealmPKSeasonLen = len(self.ipyCrossRealmPKSeasonCache) self.ipyCrossRealmPKDanCache = self.__LoadFileData("CrossRealmPKDan", IPY_CrossRealmPKDan) self.ipyCrossRealmPKDanLen = len(self.ipyCrossRealmPKDanCache) + self.ipyCrossPenglaiZoneCache = self.__LoadFileData("CrossPenglaiZone", IPY_CrossPenglaiZone) + self.ipyCrossPenglaiZoneLen = len(self.ipyCrossPenglaiZoneCache) + 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) Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict)) Log("IPY_DataMgr InitOK!") return @@ -1453,6 +1738,8 @@ 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 @@ -1491,6 +1778,18 @@ def GetCrossRealmPKSeasonByIndex(self, index): return self.ipyCrossRealmPKSeasonCache[index] def GetCrossRealmPKDanCount(self): return self.ipyCrossRealmPKDanLen def GetCrossRealmPKDanByIndex(self, index): return self.ipyCrossRealmPKDanCache[index] + def GetCrossPenglaiZoneCount(self): return self.ipyCrossPenglaiZoneLen + def GetCrossPenglaiZoneByIndex(self, index): return self.ipyCrossPenglaiZoneCache[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] IPYData = IPY_DataMgr() def IPY_Data(): return IPYData -- Gitblit v1.8.0