From a48e71a51cc890a6679ee5d304b13d36804b10fd Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 19 十月 2018 15:31:03 +0800 Subject: [PATCH] sefs --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 108 insertions(+), 11 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py index 8e23e21..c9510ea 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py @@ -131,7 +131,9 @@ ("list", "BaseAttrTypes", 0), ("list", "BaseAttrValues", 0), ("list", "HelpBattleSkills", 0), + ("DWORD", "FightPowerEx", 0), ("list", "EquipPlaceColorList", 0), + ("list", "HelpBattleNotify", 0), ), "DogzEquipPlus":( @@ -290,6 +292,7 @@ ("DWORD", "NPCID", 1), ("BYTE", "IsStrengthenByPlayerCount", 0), ("BYTE", "LVStrengthenType", 0), + ("BYTE", "CmpNPCBaseLV", 0), ("DWORD", "HitTime", 0), ("DWORD", "DefCoefficient", 0), ("DWORD", "AtkCoefficient", 0), @@ -372,6 +375,7 @@ ("DWORD", "CftFaintDefRate", 0), ("DWORD", "CftAtkSpeed", 0), ("DWORD", "CftLuckyHit", 0), + ("DWORD", "CftSpeedPer", 0), ), "NPCDropItem":( @@ -497,6 +501,8 @@ ("DWORD", "SpeedPerC", 0), ("DWORD", "AtkSpeedC", 0), ("DWORD", "SkillAtkRateReduceC", 0), + ("DWORD", "HitC", 0), + ("DWORD", "MissC", 0), ), "Success":( @@ -623,11 +629,13 @@ ("list", "LimitVIPLV", 0), ("DWORD", "LimitLV", 0), ("list", "LimitCnt", 0), + ("DWORD", "ServerLimitCnt", 0), ("BYTE", "MoneyType", 0), ("DWORD", "MoneyNum", 0), ("DWORD", "MoneyOriginal", 0), ("DWORD", "LimitValue", 0), ("char", "NotifyMark", 0), + ("char", "MailKey", 0), ), "ActSpringSale":( @@ -793,6 +801,7 @@ ("list", "RandTimeList1", 0), ("list", "RandItemList2", 0), ("list", "RandTimeList2", 0), + ("dict", "RandItemByUseCount", 0), ("list", "JobItemList", 0), ("BYTE", "MoneyType", 0), ("DWORD", "MoneyCount", 0), @@ -1003,6 +1012,26 @@ ("WORD", "HighestLV", 0), ("DWORD", "Defense", 0), ), + + "TalentSkill":( + ("DWORD", "SkillID", 1), + ("BYTE", "TalentType", 0), + ("BYTE", "Series", 0), + ), + + "ActFlashSale":( + ("DWORD", "CfgID", 1), + ("char", "StartDate", 0), + ("char", "EndDate", 0), + ("list", "StartTimeList", 0), + ("list", "EndTimeList", 0), + ("WORD", "AdvanceMinutes", 0), + ("WORD", "LVLimit", 0), + ("BYTE", "IsDayReset", 0), + ("list", "ShopTypeList", 0), + ("char", "MailKey", 0), + ("list", "MailItemPrize", 0), + ), } @@ -1212,14 +1241,18 @@ self.BaseAttrTypes = [] self.BaseAttrValues = [] self.HelpBattleSkills = [] - self.EquipPlaceColorList = [] + self.FightPowerEx = 0 + self.EquipPlaceColorList = [] + self.HelpBattleNotify = [] return def GetDogzID(self): return self.DogzID # 神兽ID def GetBaseAttrTypes(self): return self.BaseAttrTypes # 基础属性类型列表 def GetBaseAttrValues(self): return self.BaseAttrValues # 基础属性值列表 def GetHelpBattleSkills(self): return self.HelpBattleSkills # 助战技能ID列表 - def GetEquipPlaceColorList(self): return self.EquipPlaceColorList # 穿戴装备颜色限制 + def GetFightPowerEx(self): return self.FightPowerEx # 助战附加战力 + def GetEquipPlaceColorList(self): return self.EquipPlaceColorList # 穿戴装备颜色限制 + def GetHelpBattleNotify(self): return self.HelpBattleNotify # 助战广播 ["广播key",[参数1,参数2,...],广播CD分钟] # 神兽强化表 class IPY_DogzEquipPlus(): @@ -1545,6 +1578,7 @@ self.NPCID = 0 self.IsStrengthenByPlayerCount = 0 self.LVStrengthenType = 0 + self.CmpNPCBaseLV = 0 self.HitTime = 0 self.DefCoefficient = 0 self.AtkCoefficient = 0 @@ -1562,6 +1596,7 @@ def GetNPCID(self): return self.NPCID # NPCID def GetIsStrengthenByPlayerCount(self): return self.IsStrengthenByPlayerCount # 是否根据人数成长 def GetLVStrengthenType(self): return self.LVStrengthenType # 等级成长类型, 0-不按等级成长;1-按玩家平均等级;2-按玩家最大等级;3-按世界等级; + def GetCmpNPCBaseLV(self): return self.CmpNPCBaseLV # 是否比较NPC表等级, 是的话取NPC表配置等级与成长等级中较大等级 def GetHitTime(self): return self.HitTime # 受击次数 def GetDefCoefficient(self): return self.DefCoefficient # 人物防御系数 def GetAtkCoefficient(self): return self.AtkCoefficient # 人物攻击系数 @@ -1697,7 +1732,8 @@ self.CftIgnoreDefRateReduce = 0 self.CftFaintDefRate = 0 self.CftAtkSpeed = 0 - self.CftLuckyHit = 0 + self.CftLuckyHit = 0 + self.CftSpeedPer = 0 return def GetLV(self): return self.LV # 等级 @@ -1719,7 +1755,8 @@ def GetCftIgnoreDefRateReduce(self): return self.CftIgnoreDefRateReduce # 无视防御抗性系数 def GetCftFaintDefRate(self): return self.CftFaintDefRate # 控制抵抗系数 def GetCftAtkSpeed(self): return self.CftAtkSpeed # 攻速系数 - def GetCftLuckyHit(self): return self.CftLuckyHit # 会心一击系数 + def GetCftLuckyHit(self): return self.CftLuckyHit # 会心一击系数 + def GetCftSpeedPer(self): return self.CftSpeedPer # 移动速度百分比系数 # NPC掉落表 class IPY_NPCDropItem(): @@ -1948,7 +1985,9 @@ self.SkillAtkRateC = 0 self.SpeedPerC = 0 self.AtkSpeedC = 0 - self.SkillAtkRateReduceC = 0 + self.SkillAtkRateReduceC = 0 + self.HitC = 0 + self.MissC = 0 return def GetClassLV(self): return self.ClassLV # 装备阶级 @@ -1976,7 +2015,9 @@ def GetSkillAtkRateC(self): return self.SkillAtkRateC # 技能伤害百分比系数 def GetSpeedPerC(self): return self.SpeedPerC # 移动速度百分比系数 def GetAtkSpeedC(self): return self.AtkSpeedC # 攻击速度系数 - def GetSkillAtkRateReduceC(self): return self.SkillAtkRateReduceC # 技能减伤百分比系数 + def GetSkillAtkRateReduceC(self): return self.SkillAtkRateReduceC # 技能减伤百分比系数 + def GetHitC(self): return self.HitC # 命中系数 + def GetMissC(self): return self.MissC # 闪避系数 # 成就表 class IPY_Success(): @@ -2225,11 +2266,13 @@ self.LimitVIPLV = [] self.LimitLV = 0 self.LimitCnt = [] + self.ServerLimitCnt = 0 self.MoneyType = 0 self.MoneyNum = 0 self.MoneyOriginal = 0 self.LimitValue = 0 - self.NotifyMark = "" + self.NotifyMark = "" + self.MailKey = "" return def GetID(self): return self.ID # ID @@ -2244,12 +2287,14 @@ def GetRefreshType(self): return self.RefreshType # 刷新类型 0-不重置,1-onWeek0点,2-onWeek5点,3-OnDay0点,4-OnDay5点 def GetLimitVIPLV(self): return self.LimitVIPLV # VIP限制 def GetLimitLV(self): return self.LimitLV # 等级限制 - def GetLimitCnt(self): return self.LimitCnt # 限制数量 + def GetLimitCnt(self): return self.LimitCnt # 个人限制数量 + def GetServerLimitCnt(self): return self.ServerLimitCnt # 全服限制数量 def GetMoneyType(self): return self.MoneyType # 金钱类型 def GetMoneyNum(self): return self.MoneyNum # 金钱数量 def GetMoneyOriginal(self): return self.MoneyOriginal # 原价 def GetLimitValue(self): return self.LimitValue # 限制条件 - def GetNotifyMark(self): return self.NotifyMark # 广播提示 + def GetNotifyMark(self): return self.NotifyMark # 广播提示 + def GetMailKey(self): return self.MailKey # 背包不足时邮件KEY # 限时特惠表 class IPY_ActSpringSale(): @@ -2589,6 +2634,7 @@ self.RandTimeList1 = [] self.RandItemList2 = [] self.RandTimeList2 = [] + self.RandItemByUseCount = {} self.JobItemList = [] self.MoneyType = 0 self.MoneyCount = 0 @@ -2603,6 +2649,7 @@ def GetRandTimeList1(self): return self.RandTimeList1 # 随机次数饼图列表1 def GetRandItemList2(self): return self.RandItemList2 # 随机物品饼图列表2 def GetRandTimeList2(self): return self.RandTimeList2 # 随机次数饼图列表2 + def GetRandItemByUseCount(self): return self.RandItemByUseCount # 宝箱开启X次对应特殊产出,与饼图列表2互斥 def GetJobItemList(self): return self.JobItemList # 职业物品列表 def GetMoneyType(self): return self.MoneyType # 货币类型 def GetMoneyCount(self): return self.MoneyCount # 货币数量 @@ -3042,6 +3089,48 @@ def GetLowLV(self): return self.LowLV # 推荐最低等级 def GetHighestLV(self): return self.HighestLV # 推荐最高等级 def GetDefense(self): return self.Defense # 推荐防御 + +# 天赋技能表 +class IPY_TalentSkill(): + + def __init__(self): + self.SkillID = 0 + self.TalentType = 0 + self.Series = 0 + return + + def GetSkillID(self): return self.SkillID # 技能ID + def GetTalentType(self): return self.TalentType # 天赋类型 + def GetSeries(self): return self.Series # 天赋系别 + +# 限时抢购表 +class IPY_ActFlashSale(): + + def __init__(self): + self.CfgID = 0 + self.StartDate = "" + self.EndDate = "" + self.StartTimeList = [] + self.EndTimeList = [] + self.AdvanceMinutes = 0 + self.LVLimit = 0 + self.IsDayReset = 0 + self.ShopTypeList = [] + self.MailKey = "" + self.MailItemPrize = [] + return + + def GetCfgID(self): return self.CfgID # 配置ID + def GetStartDate(self): return self.StartDate # 开启日期 + def GetEndDate(self): return self.EndDate # 结束日期 + def GetStartTimeList(self): return self.StartTimeList # 开启时间列表, 支持多个时段 + def GetEndTimeList(self): return self.EndTimeList # 结束时间列表, 支持多个时段 + def GetAdvanceMinutes(self): return self.AdvanceMinutes # 前端提前X分钟展示活动 + def GetLVLimit(self): return self.LVLimit # 限制等级 + def GetIsDayReset(self): return self.IsDayReset # 是否每天重置 + def GetShopTypeList(self): return self.ShopTypeList # 商店类型列表 + def GetMailKey(self): return self.MailKey # 活动更新时发送邮件key + def GetMailItemPrize(self): return self.MailItemPrize # 活动更新时发送邮件奖励物品 def Log(msg, playerID=0, par=0): @@ -3253,6 +3342,10 @@ self.ipyAllPeoplePartyAwardLen = len(self.ipyAllPeoplePartyAwardCache) self.ipyMapEventPointCache = self.__LoadFileData("MapEventPoint", IPY_MapEventPoint) self.ipyMapEventPointLen = len(self.ipyMapEventPointCache) + self.ipyTalentSkillCache = self.__LoadFileData("TalentSkill", IPY_TalentSkill) + self.ipyTalentSkillLen = len(self.ipyTalentSkillCache) + self.ipyActFlashSaleCache = self.__LoadFileData("ActFlashSale", IPY_ActFlashSale) + self.ipyActFlashSaleLen = len(self.ipyActFlashSaleCache) Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict)) Log("IPY_DataMgr InitOK!") return @@ -3605,6 +3698,10 @@ def GetAllPeoplePartyAwardByIndex(self, index): return self.ipyAllPeoplePartyAwardCache[index] def GetMapEventPointCount(self): return self.ipyMapEventPointLen def GetMapEventPointByIndex(self, index): return self.ipyMapEventPointCache[index] + def GetTalentSkillCount(self): return self.ipyTalentSkillLen + def GetTalentSkillByIndex(self, index): return self.ipyTalentSkillCache[index] + def GetActFlashSaleCount(self): return self.ipyActFlashSaleLen + def GetActFlashSaleByIndex(self, index): return self.ipyActFlashSaleCache[index] IPYData = IPY_DataMgr() def IPY_Data(): return IPYData @@ -3799,7 +3896,7 @@ '''查询条件下与对应查询字段参考值相近的数据实例;参考值小于配置表最小值时返回none,大于最大值时返回最大值对应的实例 @param dtName: 表名,不含tag @param keyName: 参考字段名 - @param keyValue: 参考字段值 + @param keyValue: 参考字段值,大于等于字段值时返回对应数据 @param conditionDict: 查询条件,{查询字段名:字段值, ...} @return: 找不到数据返回 None , 否则返回对应的 ipyData 数据实例 ''' @@ -3831,7 +3928,7 @@ for i in xrange(near - 1, low - 1, -1): nearData = dataList[i] nearValue = getattr(nearData, "%s" % keyName) - if nearValue < keyValue: + if nearValue <= keyValue: return nearData elif keyValue > nearValue: -- Gitblit v1.8.0