From e36d3d08ba14c81bfc159a2797d7c36b5f159ebc Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 18 十月 2019 13:29:08 +0800 Subject: [PATCH] 4597 【主干】拍品装备无法兑换活跃令(拍品改为可兑换) --- ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py | 182 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 180 insertions(+), 2 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py index b78a0ce..b5d1a56 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py @@ -61,6 +61,38 @@ ("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), + ), + + "AuctionSystemItem":( + ("DWORD", "CfgID", 1), + ("char", "StartDate", 0), + ("char", "EndDate", 0), + ("char", "StartTime", 0), + ("char", "EndTime", 0), + ("list", "WorldLVRange", 0), + ("list", "AddRandSecondRange", 0), + ("WORD", "ReplenishCDMinutes", 0), + ("BYTE", "ReplenishAuctionCount", 0), + ("DWORD", "ReplenishItemID", 0), + ("list", "ReplenishEquipInfo", 0), + ("list", "ReplenishEquipPlaces", 0), + ("BYTE", "AuctionCount", 0), + ("list", "RandMinuteRange", 0), + ("list", "ItemCountWeightList", 0), + ("list", "AuctionItemWeightList", 0), + ("list", "RandMailKeyList", 0), + ), + "DailyAction":( ("DWORD", "DailyID", 1), ("dict", "OpenTimeDict", 0), @@ -164,6 +196,11 @@ ("DWORD", "StoneNPCID", 0), ("WORD", "RebornPreNotifyTime", 0), ("char", "SourceName", 0), + ), + + "BOSSFirstKill":( + ("DWORD", "NPCID", 1), + ("list", "ServerFirstKillPlayerAward", 0), ), "QuestionBank":( @@ -420,6 +457,8 @@ ("BYTE", "DanLV", 1), ("WORD", "LVUpScore", 0), ("list", "MatchRange", 0), + ("BYTE", "MatchRobotRate", 0), + ("BYTE", "MatchRobotRateEx", 0), ), "CrossPenglaiZoneMap":( @@ -507,6 +546,18 @@ ("list", "NotifyInfoLoop", 0), ("WORD", "LVLimit", 0), ), + + "FamilyWarRankAward":( + ("WORD", "WarWorldLV", 1), + ("BYTE", "WarRank", 0), + ("list", "RankAuctionItem", 0), + ), + + "FairyDomain":( + ("WORD", "ID", 1), + ("DWORD", "HourCntPubLimit", 0), + ("DWORD", "DayCntPubLimit", 0), + ), } @@ -571,6 +622,72 @@ 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_AuctionSystemItem(): + + def __init__(self): + self.CfgID = 0 + self.StartDate = "" + self.EndDate = "" + self.StartTime = "" + self.EndTime = "" + self.WorldLVRange = [] + self.AddRandSecondRange = [] + self.ReplenishCDMinutes = 0 + self.ReplenishAuctionCount = 0 + self.ReplenishItemID = 0 + self.ReplenishEquipInfo = [] + self.ReplenishEquipPlaces = [] + self.AuctionCount = 0 + self.RandMinuteRange = [] + self.ItemCountWeightList = [] + self.AuctionItemWeightList = [] + self.RandMailKeyList = [] + return + + def GetCfgID(self): return self.CfgID + def GetStartDate(self): return self.StartDate # 开启日期 + def GetEndDate(self): return self.EndDate # 结束日期 + def GetStartTime(self): return self.StartTime # 开启时间 + def GetEndTime(self): return self.EndTime # 结束时间 + def GetWorldLVRange(self): return self.WorldLVRange # 世界等级范围限制 + def GetAddRandSecondRange(self): return self.AddRandSecondRange # 每件拍品随机间隔上架秒数 上限|下限 + def GetReplenishCDMinutes(self): return self.ReplenishCDMinutes # 动态补充拍品间隔分钟 + def GetReplenishAuctionCount(self): return self.ReplenishAuctionCount # 动态补充拍品保底数 + def GetReplenishItemID(self): return self.ReplenishItemID # 动态补充物品ID + def GetReplenishEquipInfo(self): return self.ReplenishEquipInfo # 动态补充装备信息 [阶,颜色,是否套装] + def GetReplenishEquipPlaces(self): return self.ReplenishEquipPlaces # 动态补充上架装备位列表 + def GetAuctionCount(self): return self.AuctionCount # 指定上架次数 + def GetRandMinuteRange(self): return self.RandMinuteRange # 指定上架随机间隔分钟下限|上限 + def GetItemCountWeightList(self): return self.ItemCountWeightList # 指定上架随机件数权重列表, [[权重, 件数], ...] + def GetAuctionItemWeightList(self): return self.AuctionItemWeightList # 指定上架物品随机权重, [[权重, 物品ID],[权重, [阶,颜色,部位集合,是否套装,星级]] ...] + def GetRandMailKeyList(self): return self.RandMailKeyList # 指定上架随机邮件列表,有配置时上架的时候在线玩家会收到一封上架邮件提醒 # 日常活动表 class IPY_DailyAction(): @@ -792,6 +909,17 @@ def GetStoneNPCID(self): return self.StoneNPCID # 墓碑NPCID def GetRebornPreNotifyTime(self): return self.RebornPreNotifyTime # 复活前X秒通知 def GetSourceName(self): return self.SourceName # BOSS来源 + +# Boss首杀 +class IPY_BOSSFirstKill(): + + def __init__(self): + self.NPCID = 0 + self.ServerFirstKillPlayerAward = [] + return + + def GetNPCID(self): return self.NPCID # ID + def GetServerFirstKillPlayerAward(self): return self.ServerFirstKillPlayerAward # 全服首杀玩家奖励 [[物品ID,个数,是否拍品], ...] # 宴会题库表 class IPY_QuestionBank(): @@ -1321,12 +1449,16 @@ def __init__(self): self.DanLV = 0 self.LVUpScore = 0 - self.MatchRange = [] + self.MatchRange = [] + self.MatchRobotRate = 0 + self.MatchRobotRateEx = 0 return def GetDanLV(self): return self.DanLV # 段位等级 def GetLVUpScore(self): return self.LVUpScore # 升段位所需积分 - def GetMatchRange(self): return self.MatchRange # 可匹配到的玩家段位区间 [从段位A, 到段位B],配[]代表只匹配本段位的 + def GetMatchRange(self): return self.MatchRange # 可匹配到的玩家段位区间 [从段位A, 到段位B],配[]代表只匹配本段位的 + def GetMatchRobotRate(self): return self.MatchRobotRate # 匹配机器人基础概率,百分率 + def GetMatchRobotRateEx(self): return self.MatchRobotRateEx # 匹配机器人失败次数附加概率,百分率 # 跨服Boss蓬莱仙境分区地图表 class IPY_CrossPenglaiZoneMap(): @@ -1506,6 +1638,32 @@ def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间 def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key] def GetLVLimit(self): return self.LVLimit # 限制等级 + +# 仙盟联赛排名奖励表 +class IPY_FamilyWarRankAward(): + + def __init__(self): + self.WarWorldLV = 0 + self.WarRank = 0 + self.RankAuctionItem = [] + return + + def GetWarWorldLV(self): return self.WarWorldLV # 联赛世界等级 + def GetWarRank(self): return self.WarRank # 联赛排名 + def GetRankAuctionItem(self): return self.RankAuctionItem # 拍品奖励[[拍品ID,个数], ...] + +# 缥缈仙域表 +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): @@ -1539,6 +1697,10 @@ 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.ipyAuctionSystemItemCache = self.__LoadFileData("AuctionSystemItem", IPY_AuctionSystemItem) + self.ipyAuctionSystemItemLen = len(self.ipyAuctionSystemItemCache) self.ipyDailyActionCache = self.__LoadFileData("DailyAction", IPY_DailyAction) self.ipyDailyActionLen = len(self.ipyDailyActionCache) self.ipyDailyActionCustomCache = self.__LoadFileData("DailyActionCustom", IPY_DailyActionCustom) @@ -1561,6 +1723,8 @@ self.ipyChinMapLen = len(self.ipyChinMapCache) self.ipyBOSSInfoCache = self.__LoadFileData("BOSSInfo", IPY_BOSSInfo) self.ipyBOSSInfoLen = len(self.ipyBOSSInfoCache) + self.ipyBOSSFirstKillCache = self.__LoadFileData("BOSSFirstKill", IPY_BOSSFirstKill) + self.ipyBOSSFirstKillLen = len(self.ipyBOSSFirstKillCache) self.ipyQuestionBankCache = self.__LoadFileData("QuestionBank", IPY_QuestionBank) self.ipyQuestionBankLen = len(self.ipyQuestionBankCache) self.ipyFamilyRedPackCache = self.__LoadFileData("FamilyRedPack", IPY_FamilyRedPack) @@ -1621,6 +1785,10 @@ self.ipyNewUniquenessArriveLen = len(self.ipyNewUniquenessArriveCache) self.ipyActLuckyTreasureCache = self.__LoadFileData("ActLuckyTreasure", IPY_ActLuckyTreasure) self.ipyActLuckyTreasureLen = len(self.ipyActLuckyTreasureCache) + self.ipyFamilyWarRankAwardCache = self.__LoadFileData("FamilyWarRankAward", IPY_FamilyWarRankAward) + self.ipyFamilyWarRankAwardLen = len(self.ipyFamilyWarRankAwardCache) + 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 @@ -1795,6 +1963,10 @@ 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 GetAuctionSystemItemCount(self): return self.ipyAuctionSystemItemLen + def GetAuctionSystemItemByIndex(self, index): return self.ipyAuctionSystemItemCache[index] def GetDailyActionCount(self): return self.ipyDailyActionLen def GetDailyActionByIndex(self, index): return self.ipyDailyActionCache[index] def GetDailyActionCustomCount(self): return self.ipyDailyActionCustomLen @@ -1817,6 +1989,8 @@ def GetChinMapByIndex(self, index): return self.ipyChinMapCache[index] def GetBOSSInfoCount(self): return self.ipyBOSSInfoLen def GetBOSSInfoByIndex(self, index): return self.ipyBOSSInfoCache[index] + def GetBOSSFirstKillCount(self): return self.ipyBOSSFirstKillLen + def GetBOSSFirstKillByIndex(self, index): return self.ipyBOSSFirstKillCache[index] def GetQuestionBankCount(self): return self.ipyQuestionBankLen def GetQuestionBankByIndex(self, index): return self.ipyQuestionBankCache[index] def GetFamilyRedPackCount(self): return self.ipyFamilyRedPackLen @@ -1877,6 +2051,10 @@ def GetNewUniquenessArriveByIndex(self, index): return self.ipyNewUniquenessArriveCache[index] def GetActLuckyTreasureCount(self): return self.ipyActLuckyTreasureLen def GetActLuckyTreasureByIndex(self, index): return self.ipyActLuckyTreasureCache[index] + def GetFamilyWarRankAwardCount(self): return self.ipyFamilyWarRankAwardLen + def GetFamilyWarRankAwardByIndex(self, index): return self.ipyFamilyWarRankAwardCache[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