From 31a441bf2842217a4fb215ae25d6e836980f52d4 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期四, 24 一月 2019 10:17:34 +0800 Subject: [PATCH] 5924 【后端】【1.5.100】诛仙Boss功能(杀人不红名) --- ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py | 204 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 204 insertions(+), 0 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py index b20b719..16e8a41 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py @@ -376,6 +376,64 @@ ("list", "NotifyInfoLoop", 0), ("BYTE", "IsDayReset", 0), ), + + "CrossRealmPKZone":( + ("BYTE", "ZoneID", 1), + ("char", "ZoneName", 0), + ("list", "ServerGroupIDList", 0), + ), + + "CrossRealmPKSeason":( + ("BYTE", "ZoneID", 1), + ("BYTE", "SeasonID", 0), + ("char", "StartDate", 0), + ("char", "EndDate", 0), + ("char", "EndTime", 0), + ), + + "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), + ), } @@ -1100,6 +1158,128 @@ def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间 def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key] def GetIsDayReset(self): return self.IsDayReset # 是否每天重置 + +# 跨服竞技场赛区表 +class IPY_CrossRealmPKZone(): + + def __init__(self): + self.ZoneID = 0 + self.ZoneName = "" + self.ServerGroupIDList = [] + return + + def GetZoneID(self): return self.ZoneID # 赛区ID + def GetZoneName(self): return self.ZoneName # 赛区名字 + def GetServerGroupIDList(self): return self.ServerGroupIDList # 赛区服务器组ID列表 + +# 跨服竞技场赛季表 +class IPY_CrossRealmPKSeason(): + + def __init__(self): + self.ZoneID = 0 + self.SeasonID = 0 + self.StartDate = "" + self.EndDate = "" + self.EndTime = "" + return + + def GetZoneID(self): return self.ZoneID # 赛区ID + def GetSeasonID(self): return self.SeasonID # 赛季ID + def GetStartDate(self): return self.StartDate # 开始日期 yyyy-MM-dd + def GetEndDate(self): return self.EndDate # 结束日期 yyyy-MM-dd + def GetEndTime(self): return self.EndTime # 结算时间 hh:mm + +# 跨服竞技场段位表 +class IPY_CrossRealmPKDan(): + + def __init__(self): + self.DanLV = 0 + self.LVUpScore = 0 + self.MatchRange = [] + return + + def GetDanLV(self): return self.DanLV # 段位等级 + 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 # 限制等级 def Log(msg, playerID=0, par=0): @@ -1189,6 +1369,18 @@ self.ipyActWishingWellLen = len(self.ipyActWishingWellCache) self.ipyActTotalRechargeCache = self.__LoadFileData("ActTotalRecharge", IPY_ActTotalRecharge) self.ipyActTotalRechargeLen = len(self.ipyActTotalRechargeCache) + self.ipyCrossRealmPKZoneCache = self.__LoadFileData("CrossRealmPKZone", IPY_CrossRealmPKZone) + self.ipyCrossRealmPKZoneLen = len(self.ipyCrossRealmPKZoneCache) + 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.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) Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict)) Log("IPY_DataMgr InitOK!") return @@ -1419,6 +1611,18 @@ def GetActWishingWellByIndex(self, index): return self.ipyActWishingWellCache[index] def GetActTotalRechargeCount(self): return self.ipyActTotalRechargeLen def GetActTotalRechargeByIndex(self, index): return self.ipyActTotalRechargeCache[index] + def GetCrossRealmPKZoneCount(self): return self.ipyCrossRealmPKZoneLen + def GetCrossRealmPKZoneByIndex(self, index): return self.ipyCrossRealmPKZoneCache[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 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] IPYData = IPY_DataMgr() def IPY_Data(): return IPYData -- Gitblit v1.8.0