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 | 136 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 134 insertions(+), 2 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py index cdc320f..16e8a41 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py @@ -394,6 +394,45 @@ "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), ), } @@ -1155,11 +1194,92 @@ 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 # 限制等级 def Log(msg, playerID=0, par=0): @@ -1255,6 +1375,12 @@ 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 @@ -1491,6 +1617,12 @@ 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