| | |
| | | ("char", "Numerical5", 0),
|
| | | ),
|
| | |
|
| | | "CreateRoleLimitServer":(
|
| | | ("list", "LimitServerGroupIDRangeList", 0),
|
| | | ("list", "LimitServerGroupIDList", 0),
|
| | | ),
|
| | |
|
| | | "WorldLV":(
|
| | | ("WORD", "WorldLV", 1),
|
| | | ("DWORD", "OpenServerSecond", 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", "StoneNPCID", 0),
|
| | | ("WORD", "RebornPreNotifyTime", 0),
|
| | | ("char", "SourceName", 0),
|
| | | ),
|
| | |
|
| | | "BOSSFirstKill":(
|
| | | ("DWORD", "NPCID", 1),
|
| | | ("list", "ServerFirstKillPlayerAward", 0),
|
| | | ),
|
| | |
|
| | | "QuestionBank":(
|
| | |
| | | ("BYTE", "DanLV", 1),
|
| | | ("WORD", "LVUpScore", 0),
|
| | | ("list", "MatchRange", 0),
|
| | | ("BYTE", "MatchRobotRate", 0),
|
| | | ("BYTE", "MatchRobotRateEx", 0),
|
| | | ),
|
| | |
|
| | | "CrossPenglaiZoneMap":(
|
| | |
| | | ("list", "NotifyInfoLoop", 0),
|
| | | ("WORD", "LVLimit", 0),
|
| | | ),
|
| | |
|
| | | "EquipStarUp":(
|
| | | ("BYTE", "ClassLV", 1),
|
| | | ("BYTE", "EquipPlace", 1),
|
| | | ("BYTE", "Star", 1),
|
| | | ("list", "CostEquipPlace", 0),
|
| | | ("BYTE", "IsJobLimit", 0),
|
| | | ("list", "CostEquipColor", 0),
|
| | | ("BYTE", "UnSuitRate", 0),
|
| | | ),
|
| | |
|
| | | "FamilyWarRankAward":(
|
| | | ("WORD", "WarWorldLV", 1),
|
| | | ("BYTE", "WarRank", 0),
|
| | | ("list", "RankAuctionItem", 0),
|
| | | ),
|
| | |
|
| | | "FairyDomain":(
|
| | | ("WORD", "ID", 1),
|
| | | ("DWORD", "HourCntPubLimit", 0),
|
| | | ("DWORD", "DayCntPubLimit", 0),
|
| | | ),
|
| | | }
|
| | |
|
| | | |
| | |
| | | def GetNumerical3(self): return self.Numerical3 # 数据3
|
| | | def GetNumerical4(self): return self.Numerical4 # 数据4
|
| | | def GetNumerical5(self): return self.Numerical5 # 数据5 |
| | | |
| | | # 创角限制服务器配置表 |
| | | class IPY_CreateRoleLimitServer(): |
| | | |
| | | def __init__(self): |
| | | self.LimitServerGroupIDRangeList = []
|
| | | self.LimitServerGroupIDList = [] |
| | | return |
| | | |
| | | def GetLimitServerGroupIDRangeList(self): return self.LimitServerGroupIDRangeList # 限制创角的服务器组ID范围列表
|
| | | def GetLimitServerGroupIDList(self): return self.LimitServerGroupIDList # 限制创角的服务器组ID列表 |
| | | |
| | | # 世界等级表格 |
| | | class IPY_WorldLV(): |
| | |
| | | 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(): |
| | |
| | | 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(): |
| | |
| | | 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(): |
| | |
| | | def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
|
| | | def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
|
| | | def GetLVLimit(self): return self.LVLimit # 限制等级 |
| | | |
| | | # 装备升星表 |
| | | class IPY_EquipStarUp(): |
| | | |
| | | def __init__(self): |
| | | self.ClassLV = 0
|
| | | self.EquipPlace = 0
|
| | | self.Star = 0
|
| | | self.CostEquipPlace = []
|
| | | self.IsJobLimit = 0
|
| | | self.CostEquipColor = []
|
| | | self.UnSuitRate = 0 |
| | | return |
| | | |
| | | def GetClassLV(self): return self.ClassLV # 阶级
|
| | | def GetEquipPlace(self): return self.EquipPlace # 装备位
|
| | | def GetStar(self): return self.Star # 星数
|
| | | def GetCostEquipPlace(self): return self.CostEquipPlace # 可用装备部位
|
| | | def GetIsJobLimit(self): return self.IsJobLimit # 是否只用本职业装备材料
|
| | | def GetCostEquipColor(self): return self.CostEquipColor # 可用装备品质
|
| | | def GetUnSuitRate(self): return self.UnSuitRate # 单件非套装加成概率 |
| | | |
| | | # 仙盟联赛排名奖励表 |
| | | 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):
|
| | |
| | | self.ipyConfigEx = {}
|
| | | self.ipyFuncConfigCache = self.__LoadFileData("FuncConfig", IPY_FuncConfig)
|
| | | self.ipyFuncConfigLen = len(self.ipyFuncConfigCache)
|
| | | self.ipyCreateRoleLimitServerCache = self.__LoadFileData("CreateRoleLimitServer", IPY_CreateRoleLimitServer)
|
| | | self.ipyCreateRoleLimitServerLen = len(self.ipyCreateRoleLimitServerCache)
|
| | | self.ipyWorldLVCache = self.__LoadFileData("WorldLV", IPY_WorldLV)
|
| | | self.ipyWorldLVLen = len(self.ipyWorldLVCache)
|
| | | self.ipyFamilyCache = self.__LoadFileData("Family", IPY_Family)
|
| | |
| | | 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)
|
| | |
| | | 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)
|
| | |
| | | self.ipyNewUniquenessArriveLen = len(self.ipyNewUniquenessArriveCache)
|
| | | self.ipyActLuckyTreasureCache = self.__LoadFileData("ActLuckyTreasure", IPY_ActLuckyTreasure)
|
| | | self.ipyActLuckyTreasureLen = len(self.ipyActLuckyTreasureCache)
|
| | | self.ipyEquipStarUpCache = self.__LoadFileData("EquipStarUp", IPY_EquipStarUp)
|
| | | self.ipyEquipStarUpLen = len(self.ipyEquipStarUpCache)
|
| | | 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
|
| | |
| | |
|
| | | def GetFuncConfigCount(self): return self.ipyFuncConfigLen
|
| | | def GetFuncConfigByIndex(self, index): return self.ipyFuncConfigCache[index]
|
| | | def GetCreateRoleLimitServerCount(self): return self.ipyCreateRoleLimitServerLen
|
| | | def GetCreateRoleLimitServerByIndex(self, index): return self.ipyCreateRoleLimitServerCache[index]
|
| | | def GetWorldLVCount(self): return self.ipyWorldLVLen
|
| | | def GetWorldLVByIndex(self, index): return self.ipyWorldLVCache[index]
|
| | | def GetFamilyCount(self): return self.ipyFamilyLen
|
| | |
| | | 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
|
| | |
| | | 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
|
| | |
| | | def GetNewUniquenessArriveByIndex(self, index): return self.ipyNewUniquenessArriveCache[index]
|
| | | def GetActLuckyTreasureCount(self): return self.ipyActLuckyTreasureLen
|
| | | def GetActLuckyTreasureByIndex(self, index): return self.ipyActLuckyTreasureCache[index]
|
| | | def GetEquipStarUpCount(self): return self.ipyEquipStarUpLen
|
| | | def GetEquipStarUpByIndex(self, index): return self.ipyEquipStarUpCache[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
|