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 | 253 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 251 insertions(+), 2 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py index e3da4dc..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":( @@ -397,6 +412,14 @@ ("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), @@ -404,11 +427,61 @@ ("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), ), } @@ -705,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 @@ -713,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(): @@ -1178,6 +1282,23 @@ 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(): @@ -1188,6 +1309,7 @@ self.ServerIDList = [] self.StartDate = "" self.EndDate = "" + self.AdvanceMinutes = 0 self.IsDayReset = 0 self.ResetType = 0 self.NotifyInfoStart = {} @@ -1201,11 +1323,114 @@ 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): @@ -1263,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) @@ -1301,8 +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 @@ -1501,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 @@ -1539,8 +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