From 1ea73e1885835466265ce788d93556b7030ee0e8 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期日, 30 十二月 2018 18:42:00 +0800 Subject: [PATCH] 5424 【后端】【1.4】跨服竞技场开发(GM工具增加子服服务器维护,文字翻译版) --- ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py | 199 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 197 insertions(+), 2 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py index 0f0d821..f717018 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py @@ -122,10 +122,24 @@ ("dict", "NotifyInfoDict", 0), ), + "FBFunc":( + ("DWORD", "DataMapID", 1), + ("WORD", "HelpPoint", 0), + ), + "FBLine":( ("DWORD", "DataMapID", 1), ("BYTE", "LineID", 1), ("DWORD", "MapID", 0), + ), + + "FBHelpBattle":( + ("DWORD", "DataMapID", 1), + ("BYTE", "LineID", 1), + ("DWORD", "FightPowerMin", 0), + ("DWORD", "FightPowerMax", 0), + ("WORD", "LVLimit", 0), + ("list", "DayFreeHelpCount", 0), ), "ChinMap":( @@ -177,6 +191,26 @@ "PlayerLV":( ("WORD", "LV", 1), ("DWORD", "ReFightPower", 0), + ), + + "VipPrivilege":( + ("DWORD", "VIPPriID", 1), + ("DWORD", "VIP0", 0), + ("DWORD", "VIP1", 0), + ("DWORD", "VIP2", 0), + ("DWORD", "VIP3", 0), + ("DWORD", "VIP4", 0), + ("DWORD", "VIP5", 0), + ("DWORD", "VIP6", 0), + ("DWORD", "VIP7", 0), + ("DWORD", "VIP8", 0), + ("DWORD", "VIP9", 0), + ("DWORD", "VIP10", 0), + ("DWORD", "VIP11", 0), + ("DWORD", "VIP12", 0), + ("DWORD", "VIP13", 0), + ("DWORD", "VIP14", 0), + ("DWORD", "VIP15", 0), ), "ActSpringSale":( @@ -287,6 +321,7 @@ ("dict", "NotifyInfoEnd", 0), ("WORD", "Multiple", 0), ("WORD", "LVLimit", 0), + ("DWORD", "PointLimit", 0), ), "ActFlashSale":( @@ -340,6 +375,26 @@ ("dict", "NotifyInfoEnd", 0), ("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), ), } @@ -533,6 +588,17 @@ def GetStateValue(self): return self.StateValue # 状态值 def GetNotifyInfoDict(self): return self.NotifyInfoDict # 广播提示信息 +# 副本总表 +class IPY_FBFunc(): + + def __init__(self): + self.DataMapID = 0 + self.HelpPoint = 0 + return + + def GetDataMapID(self): return self.DataMapID # 数据地图ID + def GetHelpPoint(self): return self.HelpPoint # 助战仙缘币(0代表不可助战) + # 副本功能线路表 class IPY_FBLine(): @@ -545,6 +611,25 @@ def GetDataMapID(self): return self.DataMapID # 数据地图ID def GetLineID(self): return self.LineID # 功能线路ID def GetMapID(self): return self.MapID # 场景地图ID + +# 副本助战表 +class IPY_FBHelpBattle(): + + def __init__(self): + self.DataMapID = 0 + self.LineID = 0 + self.FightPowerMin = 0 + self.FightPowerMax = 0 + self.LVLimit = 0 + self.DayFreeHelpCount = [] + return + + def GetDataMapID(self): return self.DataMapID # 数据地图ID + def GetLineID(self): return self.LineID # 功能线路ID + def GetFightPowerMin(self): return self.FightPowerMin # 助战最低战力,也是副本战力 + def GetFightPowerMax(self): return self.FightPowerMax # 助战最高战力,0为不限制 + def GetLVLimit(self): return self.LVLimit # 助战等级限制, 0为不限制 + def GetDayFreeHelpCount(self): return self.DayFreeHelpCount # 每日免费助战次数,[每日免费助战次数, 是否所有层通用] # 地图表 class IPY_ChinMap(): @@ -654,6 +739,47 @@ def GetLV(self): return self.LV # 玩家等级 def GetReFightPower(self): return self.ReFightPower # 战斗力 + +# VIP特权表 +class IPY_VipPrivilege(): + + def __init__(self): + self.VIPPriID = 0 + self.VIP0 = 0 + self.VIP1 = 0 + self.VIP2 = 0 + self.VIP3 = 0 + self.VIP4 = 0 + self.VIP5 = 0 + self.VIP6 = 0 + self.VIP7 = 0 + self.VIP8 = 0 + self.VIP9 = 0 + self.VIP10 = 0 + self.VIP11 = 0 + self.VIP12 = 0 + self.VIP13 = 0 + self.VIP14 = 0 + self.VIP15 = 0 + return + + def GetVIPPriID(self): return self.VIPPriID # 特权ID + def GetVIP0(self): return self.VIP0 # VIP0对应的特权值 + def GetVIP1(self): return self.VIP1 # VIP1对应的特权值 + def GetVIP2(self): return self.VIP2 # VIP2对应的特权值 + def GetVIP3(self): return self.VIP3 # VIP3对应的特权值 + def GetVIP4(self): return self.VIP4 # VIP4对应的特权值 + def GetVIP5(self): return self.VIP5 # VIP5对应的特权值 + def GetVIP6(self): return self.VIP6 # VIP6对应的特权值 + def GetVIP7(self): return self.VIP7 # VIP7对应的特权值 + def GetVIP8(self): return self.VIP8 # VIP8对应的特权值 + def GetVIP9(self): return self.VIP9 # VIP9对应的特权值 + def GetVIP10(self): return self.VIP10 # VIP10对应的特权值 + def GetVIP11(self): return self.VIP11 # VIP11对应的特权值 + def GetVIP12(self): return self.VIP12 # VIP12对应的特权值 + def GetVIP13(self): return self.VIP13 # VIP13对应的特权值 + def GetVIP14(self): return self.VIP14 # VIP14对应的特权值 + def GetVIP15(self): return self.VIP15 # VIP15对应的特权值 # 限时特惠表 class IPY_ActSpringSale(): @@ -868,7 +994,8 @@ self.NotifyInfoStart = {} self.NotifyInfoEnd = {} self.Multiple = 0 - self.LVLimit = 0 + self.LVLimit = 0 + self.PointLimit = 0 return def GetCfgID(self): return self.CfgID # 配置ID @@ -881,7 +1008,8 @@ def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间 def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间 def GetMultiple(self): return self.Multiple # 倍数 - def GetLVLimit(self): return self.LVLimit # 限制等级 + def GetLVLimit(self): return self.LVLimit # 限制等级 + def GetPointLimit(self): return self.PointLimit # 限制额外修行点 # 限时抢购表 class IPY_ActFlashSale(): @@ -992,6 +1120,49 @@ 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],配[]代表只匹配本段位的 def Log(msg, playerID=0, par=0): @@ -1035,8 +1206,12 @@ self.ipyFBStateTimeLen = len(self.ipyFBStateTimeCache) self.ipyFBStateTimeCustomCache = self.__LoadFileData("FBStateTimeCustom", IPY_FBStateTimeCustom) self.ipyFBStateTimeCustomLen = len(self.ipyFBStateTimeCustomCache) + self.ipyFBFuncCache = self.__LoadFileData("FBFunc", IPY_FBFunc) + self.ipyFBFuncLen = len(self.ipyFBFuncCache) self.ipyFBLineCache = self.__LoadFileData("FBLine", IPY_FBLine) self.ipyFBLineLen = len(self.ipyFBLineCache) + self.ipyFBHelpBattleCache = self.__LoadFileData("FBHelpBattle", IPY_FBHelpBattle) + self.ipyFBHelpBattleLen = len(self.ipyFBHelpBattleCache) self.ipyChinMapCache = self.__LoadFileData("ChinMap", IPY_ChinMap) self.ipyChinMapLen = len(self.ipyChinMapCache) self.ipyBOSSInfoCache = self.__LoadFileData("BOSSInfo", IPY_BOSSInfo) @@ -1051,6 +1226,8 @@ self.ipyChinNPCLen = len(self.ipyChinNPCCache) self.ipyPlayerLVCache = self.__LoadFileData("PlayerLV", IPY_PlayerLV) self.ipyPlayerLVLen = len(self.ipyPlayerLVCache) + self.ipyVipPrivilegeCache = self.__LoadFileData("VipPrivilege", IPY_VipPrivilege) + self.ipyVipPrivilegeLen = len(self.ipyVipPrivilegeCache) self.ipyActSpringSaleCache = self.__LoadFileData("ActSpringSale", IPY_ActSpringSale) self.ipyActSpringSaleLen = len(self.ipyActSpringSaleCache) self.ipyActFlashGiftbagCache = self.__LoadFileData("ActFlashGiftbag", IPY_ActFlashGiftbag) @@ -1075,6 +1252,12 @@ 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) Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict)) Log("IPY_DataMgr InitOK!") return @@ -1259,8 +1442,12 @@ def GetFBStateTimeByIndex(self, index): return self.ipyFBStateTimeCache[index] def GetFBStateTimeCustomCount(self): return self.ipyFBStateTimeCustomLen def GetFBStateTimeCustomByIndex(self, index): return self.ipyFBStateTimeCustomCache[index] + def GetFBFuncCount(self): return self.ipyFBFuncLen + def GetFBFuncByIndex(self, index): return self.ipyFBFuncCache[index] def GetFBLineCount(self): return self.ipyFBLineLen def GetFBLineByIndex(self, index): return self.ipyFBLineCache[index] + def GetFBHelpBattleCount(self): return self.ipyFBHelpBattleLen + def GetFBHelpBattleByIndex(self, index): return self.ipyFBHelpBattleCache[index] def GetChinMapCount(self): return self.ipyChinMapLen def GetChinMapByIndex(self, index): return self.ipyChinMapCache[index] def GetBOSSInfoCount(self): return self.ipyBOSSInfoLen @@ -1275,6 +1462,8 @@ def GetChinNPCByIndex(self, index): return self.ipyChinNPCCache[index] def GetPlayerLVCount(self): return self.ipyPlayerLVLen def GetPlayerLVByIndex(self, index): return self.ipyPlayerLVCache[index] + def GetVipPrivilegeCount(self): return self.ipyVipPrivilegeLen + def GetVipPrivilegeByIndex(self, index): return self.ipyVipPrivilegeCache[index] def GetActSpringSaleCount(self): return self.ipyActSpringSaleLen def GetActSpringSaleByIndex(self, index): return self.ipyActSpringSaleCache[index] def GetActFlashGiftbagCount(self): return self.ipyActFlashGiftbagLen @@ -1299,6 +1488,12 @@ 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] IPYData = IPY_DataMgr() def IPY_Data(): return IPYData -- Gitblit v1.8.0