From 2cae939cd14f55ce8b4ab2b7289bc93bd558f5f6 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期三, 05 六月 2019 14:33:22 +0800 Subject: [PATCH] 7117 【后端】装备分解每次获得的道具开出概率配置 --- ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py | 188 ++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 161 insertions(+), 27 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py index 52e00c7..4c2fa49 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py @@ -61,6 +61,18 @@ ("dict", "LimitInfo", 0), ), + "AuctionItem":( + ("DWORD", "AuctionItemID", 1), + ("BYTE", "NoticeSaleMinutes", 0), + ("WORD", "FamilySaleMinutes", 0), + ("WORD", "WorldSaleMinutes", 0), + ("WORD", "BasePrice", 0), + ("WORD", "BuyoutPrice", 0), + ("WORD", "BiddingAdd", 0), + ("BYTE", "NeedWorldNotify", 0), + ("BYTE", "Sortpriority", 0), + ), + "DailyAction":( ("DWORD", "DailyID", 1), ("dict", "OpenTimeDict", 0), @@ -72,6 +84,15 @@ ("DWORD", "ID", 0), ("BYTE", "OpenServerWeek", 1), ("DWORD", "OpenServerDay", 0), + ("BYTE", "DailyID", 0), + ("list", "OpenTimeList", 0), + ("DWORD", "Duration", 0), + ("dict", "NotifyInfo", 0), + ), + + "DailyActionCustomMix":( + ("DWORD", "ID", 0), + ("DWORD", "MixServerDay", 1), ("BYTE", "DailyID", 0), ("list", "OpenTimeList", 0), ("DWORD", "Duration", 0), @@ -95,6 +116,19 @@ ("DWORD", "ID", 0), ("BYTE", "OpenServerWeek", 1), ("DWORD", "OpenServerDay", 0), + ("DWORD", "DataMapID", 0), + ("BYTE", "StartHour", 0), + ("BYTE", "StartMinute", 0), + ("BYTE", "EndHour", 0), + ("BYTE", "EndMinute", 0), + ("BYTE", "CanEnter", 0), + ("BYTE", "StateValue", 0), + ("dict", "NotifyInfoDict", 0), + ), + + "FBStateTimeCustomMix":( + ("DWORD", "ID", 0), + ("DWORD", "MixServerDay", 1), ("DWORD", "DataMapID", 0), ("BYTE", "StartHour", 0), ("BYTE", "StartMinute", 0), @@ -247,9 +281,8 @@ "ActExpRate":( ("DWORD", "CfgID", 1), - ("char", "ActMark", 0), - ("list", "PlatformList", 0), - ("list", "ServerIDList", 0), + ("list", "ServerGroupIDList", 0), + ("list", "ServerGroupIDListExcept", 0), ("char", "StartDate", 0), ("char", "EndDate", 0), ("list", "StartTimeList", 0), @@ -276,9 +309,8 @@ "ActBossReborn":( ("DWORD", "CfgID", 1), - ("char", "ActMark", 0), - ("list", "PlatformList", 0), - ("list", "ServerIDList", 0), + ("list", "ServerGroupIDList", 0), + ("list", "ServerGroupIDListExcept", 0), ("char", "StartDate", 0), ("char", "EndDate", 0), ("BYTE", "ResetType", 0), @@ -349,9 +381,8 @@ "ActWishingWell":( ("DWORD", "CfgID", 1), - ("char", "ActMark", 0), - ("list", "PlatformList", 0), - ("list", "ServerIDList", 0), + ("list", "ServerGroupIDList", 0), + ("list", "ServerGroupIDListExcept", 0), ("char", "StartDate", 0), ("char", "EndDate", 0), ("BYTE", "IsDayReset", 0), @@ -437,6 +468,7 @@ ("BYTE", "ResetType", 0), ("dict", "NotifyInfoStart", 0), ("dict", "NotifyInfoEnd", 0), + ("list", "NotifyInfoLoop", 0), ("WORD", "LVLimit", 0), ), @@ -486,6 +518,12 @@ ("dict", "NotifyInfoEnd", 0), ("list", "NotifyInfoLoop", 0), ("WORD", "LVLimit", 0), + ), + + "FairyDomain":( + ("WORD", "ID", 1), + ("DWORD", "HourCntPubLimit", 0), + ("DWORD", "DayCntPubLimit", 0), ), } @@ -552,6 +590,31 @@ def GetQueryType(self): return self.QueryType # 查询类型 def GetLimitInfo(self): return self.LimitInfo # 限制条件 +# 拍卖物品表 +class IPY_AuctionItem(): + + def __init__(self): + self.AuctionItemID = 0 + self.NoticeSaleMinutes = 0 + self.FamilySaleMinutes = 0 + self.WorldSaleMinutes = 0 + self.BasePrice = 0 + self.BuyoutPrice = 0 + self.BiddingAdd = 0 + self.NeedWorldNotify = 0 + self.Sortpriority = 0 + return + + def GetAuctionItemID(self): return self.AuctionItemID + def GetNoticeSaleMinutes(self): return self.NoticeSaleMinutes # 预告拍卖分钟 + def GetFamilySaleMinutes(self): return self.FamilySaleMinutes # 仙盟拍卖分钟 + def GetWorldSaleMinutes(self): return self.WorldSaleMinutes # 全服拍卖分钟 + def GetBasePrice(self): return self.BasePrice # 起拍价 + def GetBuyoutPrice(self): return self.BuyoutPrice # 一口价 + def GetBiddingAdd(self): return self.BiddingAdd # 竞价增加 + def GetNeedWorldNotify(self): return self.NeedWorldNotify # 是否需要广播 + def GetSortpriority(self): return self.Sortpriority # 排序优先级归组 + # 日常活动表 class IPY_DailyAction(): @@ -583,6 +646,25 @@ def GetID(self): return self.ID # ID def GetOpenServerWeek(self): return self.OpenServerWeek # 开服是周几 def GetOpenServerDay(self): return self.OpenServerDay # 开服第几天 + def GetDailyID(self): return self.DailyID # 日常活动ID + def GetOpenTimeList(self): return self.OpenTimeList # 开启时间列表 + def GetDuration(self): return self.Duration # 持续时间, 0为不限制 + def GetNotifyInfo(self): return self.NotifyInfo # 广播提示信息 + +# 日常活动表定制表合服 +class IPY_DailyActionCustomMix(): + + def __init__(self): + self.ID = 0 + self.MixServerDay = 0 + self.DailyID = 0 + self.OpenTimeList = [] + self.Duration = 0 + self.NotifyInfo = {} + return + + def GetID(self): return self.ID # ID + def GetMixServerDay(self): return self.MixServerDay # 合服第几天 def GetDailyID(self): return self.DailyID # 日常活动ID def GetOpenTimeList(self): return self.OpenTimeList # 开启时间列表 def GetDuration(self): return self.Duration # 持续时间, 0为不限制 @@ -635,6 +717,33 @@ def GetID(self): return self.ID # ID def GetOpenServerWeek(self): return self.OpenServerWeek # 开服是周几 def GetOpenServerDay(self): return self.OpenServerDay # 开服第几天 + def GetDataMapID(self): return self.DataMapID # 所属的玩法数据地图ID + def GetStartHour(self): return self.StartHour # 开始时 + def GetStartMinute(self): return self.StartMinute # 开始分 + def GetEndHour(self): return self.EndHour # 结束时 + def GetEndMinute(self): return self.EndMinute # 结束分 + def GetCanEnter(self): return self.CanEnter # 是否可进入副本 + def GetStateValue(self): return self.StateValue # 状态值 + def GetNotifyInfoDict(self): return self.NotifyInfoDict # 广播提示信息 + +# 副本状态时间定制表合服 +class IPY_FBStateTimeCustomMix(): + + def __init__(self): + self.ID = 0 + self.MixServerDay = 0 + self.DataMapID = 0 + self.StartHour = 0 + self.StartMinute = 0 + self.EndHour = 0 + self.EndMinute = 0 + self.CanEnter = 0 + self.StateValue = 0 + self.NotifyInfoDict = {} + return + + def GetID(self): return self.ID # ID + def GetMixServerDay(self): return self.MixServerDay # 合服第几天 def GetDataMapID(self): return self.DataMapID # 所属的玩法数据地图ID def GetStartHour(self): return self.StartHour # 开始时 def GetStartMinute(self): return self.StartMinute # 开始分 @@ -943,9 +1052,8 @@ def __init__(self): self.CfgID = 0 - self.ActMark = "" - self.PlatformList = [] - self.ServerIDList = [] + self.ServerGroupIDList = [] + self.ServerGroupIDListExcept = [] self.StartDate = "" self.EndDate = "" self.StartTimeList = [] @@ -958,9 +1066,8 @@ 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 GetServerGroupIDList(self): return self.ServerGroupIDList # 服务器组ID列表 + def GetServerGroupIDListExcept(self): return self.ServerGroupIDListExcept # 排除的服务器组ID列表 def GetStartDate(self): return self.StartDate # 开启日期 def GetEndDate(self): return self.EndDate # 结束日期 def GetStartTimeList(self): return self.StartTimeList # 开启时间列表, 支持多个时段 @@ -1003,9 +1110,8 @@ def __init__(self): self.CfgID = 0 - self.ActMark = "" - self.PlatformList = [] - self.ServerIDList = [] + self.ServerGroupIDList = [] + self.ServerGroupIDListExcept = [] self.StartDate = "" self.EndDate = "" self.ResetType = 0 @@ -1016,9 +1122,8 @@ 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 GetServerGroupIDList(self): return self.ServerGroupIDList # 服务器组ID列表 + def GetServerGroupIDListExcept(self): return self.ServerGroupIDListExcept # 排除的服务器组ID列表 def GetStartDate(self): return self.StartDate # 开启日期 def GetEndDate(self): return self.EndDate # 结束日期 def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置 @@ -1155,9 +1260,8 @@ def __init__(self): self.CfgID = 0 - self.ActMark = "" - self.PlatformList = [] - self.ServerIDList = [] + self.ServerGroupIDList = [] + self.ServerGroupIDListExcept = [] self.StartDate = "" self.EndDate = "" self.IsDayReset = 0 @@ -1169,9 +1273,8 @@ 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 GetServerGroupIDList(self): return self.ServerGroupIDList # 服务器组ID列表 + def GetServerGroupIDListExcept(self): return self.ServerGroupIDListExcept # 排除的服务器组ID列表 def GetStartDate(self): return self.StartDate # 开启日期 def GetEndDate(self): return self.EndDate # 结束日期 def GetIsDayReset(self): return self.IsDayReset # 是否每天重置 @@ -1329,6 +1432,7 @@ self.ResetType = 0 self.NotifyInfoStart = {} self.NotifyInfoEnd = {} + self.NotifyInfoLoop = [] self.LVLimit = 0 return @@ -1343,6 +1447,7 @@ def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置 def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间 def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间 + def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key] def GetLVLimit(self): return self.LVLimit # 限制等级 # 节日巡礼活动时间表 @@ -1444,6 +1549,19 @@ def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间 def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key] def GetLVLimit(self): return self.LVLimit # 限制等级 + +# 缥缈仙域表 +class IPY_FairyDomain(): + + def __init__(self): + self.ID = 0 + self.HourCntPubLimit = 0 + self.DayCntPubLimit = 0 + return + + def GetID(self): return self.ID # 事件编号 + def GetHourCntPubLimit(self): return self.HourCntPubLimit # 全服每小时次数限制 + def GetDayCntPubLimit(self): return self.DayCntPubLimit # 全服每天次数限制 def Log(msg, playerID=0, par=0): @@ -1477,14 +1595,20 @@ self.ipyFamilyLen = len(self.ipyFamilyCache) self.ipyMarketQueryCache = self.__LoadFileData("MarketQuery", IPY_MarketQuery) self.ipyMarketQueryLen = len(self.ipyMarketQueryCache) + self.ipyAuctionItemCache = self.__LoadFileData("AuctionItem", IPY_AuctionItem) + self.ipyAuctionItemLen = len(self.ipyAuctionItemCache) self.ipyDailyActionCache = self.__LoadFileData("DailyAction", IPY_DailyAction) self.ipyDailyActionLen = len(self.ipyDailyActionCache) self.ipyDailyActionCustomCache = self.__LoadFileData("DailyActionCustom", IPY_DailyActionCustom) self.ipyDailyActionCustomLen = len(self.ipyDailyActionCustomCache) + self.ipyDailyActionCustomMixCache = self.__LoadFileData("DailyActionCustomMix", IPY_DailyActionCustomMix) + self.ipyDailyActionCustomMixLen = len(self.ipyDailyActionCustomMixCache) self.ipyFBStateTimeCache = self.__LoadFileData("FBStateTime", IPY_FBStateTime) self.ipyFBStateTimeLen = len(self.ipyFBStateTimeCache) self.ipyFBStateTimeCustomCache = self.__LoadFileData("FBStateTimeCustom", IPY_FBStateTimeCustom) self.ipyFBStateTimeCustomLen = len(self.ipyFBStateTimeCustomCache) + self.ipyFBStateTimeCustomMixCache = self.__LoadFileData("FBStateTimeCustomMix", IPY_FBStateTimeCustomMix) + self.ipyFBStateTimeCustomMixLen = len(self.ipyFBStateTimeCustomMixCache) self.ipyFBFuncCache = self.__LoadFileData("FBFunc", IPY_FBFunc) self.ipyFBFuncLen = len(self.ipyFBFuncCache) self.ipyFBLineCache = self.__LoadFileData("FBLine", IPY_FBLine) @@ -1555,6 +1679,8 @@ self.ipyNewUniquenessArriveLen = len(self.ipyNewUniquenessArriveCache) self.ipyActLuckyTreasureCache = self.__LoadFileData("ActLuckyTreasure", IPY_ActLuckyTreasure) self.ipyActLuckyTreasureLen = len(self.ipyActLuckyTreasureCache) + self.ipyFairyDomainCache = self.__LoadFileData("FairyDomain", IPY_FairyDomain) + self.ipyFairyDomainLen = len(self.ipyFairyDomainCache) Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict)) Log("IPY_DataMgr InitOK!") return @@ -1729,14 +1855,20 @@ def GetFamilyByIndex(self, index): return self.ipyFamilyCache[index] def GetMarketQueryCount(self): return self.ipyMarketQueryLen def GetMarketQueryByIndex(self, index): return self.ipyMarketQueryCache[index] + def GetAuctionItemCount(self): return self.ipyAuctionItemLen + def GetAuctionItemByIndex(self, index): return self.ipyAuctionItemCache[index] def GetDailyActionCount(self): return self.ipyDailyActionLen def GetDailyActionByIndex(self, index): return self.ipyDailyActionCache[index] def GetDailyActionCustomCount(self): return self.ipyDailyActionCustomLen def GetDailyActionCustomByIndex(self, index): return self.ipyDailyActionCustomCache[index] + def GetDailyActionCustomMixCount(self): return self.ipyDailyActionCustomMixLen + def GetDailyActionCustomMixByIndex(self, index): return self.ipyDailyActionCustomMixCache[index] def GetFBStateTimeCount(self): return self.ipyFBStateTimeLen def GetFBStateTimeByIndex(self, index): return self.ipyFBStateTimeCache[index] def GetFBStateTimeCustomCount(self): return self.ipyFBStateTimeCustomLen def GetFBStateTimeCustomByIndex(self, index): return self.ipyFBStateTimeCustomCache[index] + def GetFBStateTimeCustomMixCount(self): return self.ipyFBStateTimeCustomMixLen + def GetFBStateTimeCustomMixByIndex(self, index): return self.ipyFBStateTimeCustomMixCache[index] def GetFBFuncCount(self): return self.ipyFBFuncLen def GetFBFuncByIndex(self, index): return self.ipyFBFuncCache[index] def GetFBLineCount(self): return self.ipyFBLineLen @@ -1807,6 +1939,8 @@ def GetNewUniquenessArriveByIndex(self, index): return self.ipyNewUniquenessArriveCache[index] def GetActLuckyTreasureCount(self): return self.ipyActLuckyTreasureLen def GetActLuckyTreasureByIndex(self, index): return self.ipyActLuckyTreasureCache[index] + def GetFairyDomainCount(self): return self.ipyFairyDomainLen + def GetFairyDomainByIndex(self, index): return self.ipyFairyDomainCache[index] IPYData = IPY_DataMgr() def IPY_Data(): return IPYData -- Gitblit v1.8.0