From 6659b46d965cba41be704127d9be92962e50be3d Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期二, 16 十月 2018 15:03:51 +0800
Subject: [PATCH] 4075 限时抢购邮件加参数
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 407 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 372 insertions(+), 35 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 5319ed9..a6ee6f5 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -94,6 +94,7 @@
("WORD", "SuccessRateMax", 0),
("BYTE", "AddonsCountMax", 0),
("char", "SysMark", 0),
+ ("BYTE", "SysMarkParamType", 0),
),
"ItemPlus":(
@@ -123,6 +124,24 @@
("BYTE", "StarsNeed", 1),
("list", "AttrType", 0),
("list", "AttrValue", 0),
+ ),
+
+ "Dogz":(
+ ("BYTE", "DogzID", 1),
+ ("list", "BaseAttrTypes", 0),
+ ("list", "BaseAttrValues", 0),
+ ("list", "HelpBattleSkills", 0),
+ ("DWORD", "FightPowerEx", 0),
+ ("list", "EquipPlaceColorList", 0),
+ ("list", "HelpBattleNotify", 0),
+ ),
+
+ "DogzEquipPlus":(
+ ("BYTE", "EquipPlace", 1),
+ ("BYTE", "PlusLV", 1),
+ ("list", "PlusAttrTypes", 0),
+ ("list", "PlusAttrValues", 0),
+ ("DWORD", "PlusLVUPTotalExp", 0),
),
"Rune":(
@@ -273,6 +292,7 @@
("DWORD", "NPCID", 1),
("BYTE", "IsStrengthenByPlayerCount", 0),
("BYTE", "LVStrengthenType", 0),
+ ("BYTE", "CmpNPCBaseLV", 0),
("DWORD", "HitTime", 0),
("DWORD", "DefCoefficient", 0),
("DWORD", "AtkCoefficient", 0),
@@ -479,6 +499,9 @@
("DWORD", "SkillAtkRateC", 0),
("DWORD", "SpeedPerC", 0),
("DWORD", "AtkSpeedC", 0),
+ ("DWORD", "SkillAtkRateReduceC", 0),
+ ("DWORD", "HitC", 0),
+ ("DWORD", "MissC", 0),
),
"Success":(
@@ -502,6 +525,7 @@
("DWORD", "PreTreasure", 0),
("list", "SuccID", 0),
("list", "Potentials", 0),
+ ("list", "SkillPower", 0),
("dict", "NeedItem", 0),
),
@@ -513,6 +537,7 @@
("list", "UnLockSkill", 0),
("DWORD", "ActiveMWID", 0),
("list", "ItemAward", 0),
+ ("DWORD", "ActiveSoulID", 0),
),
"TreasurePrivilege":(
@@ -603,6 +628,7 @@
("list", "LimitVIPLV", 0),
("DWORD", "LimitLV", 0),
("list", "LimitCnt", 0),
+ ("DWORD", "ServerLimitCnt", 0),
("BYTE", "MoneyType", 0),
("DWORD", "MoneyNum", 0),
("DWORD", "MoneyOriginal", 0),
@@ -616,9 +642,12 @@
("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),
),
"DailyQuest":(
@@ -681,6 +710,9 @@
("DWORD", "NPCID", 1),
("DWORD", "MapID", 0),
("BYTE", "RefreshMark", 0),
+ ("BYTE", "IsNeedShunt", 0),
+ ("BYTE", "RelatedType", 0),
+ ("WORD", "RelatedID", 0),
("DWORD", "StoneNPCID", 0),
),
@@ -729,7 +761,7 @@
("DWORD", "DataMapID", 1),
("BYTE", "InspireType", 1),
("WORD", "InspireMaxLV", 0),
- ("DWORD", "MoneyCount", 0),
+ ("char", "MoneyCount", 0),
),
"RuneCompound":(
@@ -767,6 +799,7 @@
("list", "RandTimeList1", 0),
("list", "RandItemList2", 0),
("list", "RandTimeList2", 0),
+ ("dict", "RandItemByUseCount", 0),
("list", "JobItemList", 0),
("BYTE", "MoneyType", 0),
("DWORD", "MoneyCount", 0),
@@ -863,6 +896,8 @@
("dict", "GridItemInfo", 0),
("list", "JobItemList", 0),
("list", "GridItemRateListFree", 0),
+ ("list", "FreeGridItemRateList2", 0),
+ ("dict", "FreeGridItemRateList3", 0),
("list", "GridItemRateList1", 0),
("list", "GridItemRateList2", 0),
("dict", "GridItemRateList3", 0),
@@ -882,9 +917,12 @@
("char", "EndDate", 0),
("list", "StartTimeList", 0),
("list", "EndTimeList", 0),
+ ("WORD", "AdvanceMinutes", 0),
("WORD", "LVLimit", 0),
("BYTE", "IsDayReset", 0),
- ("list", "GiftbagList", 0),
+ ("list", "GiftbagTypeList", 0),
+ ("char", "MailKey", 0),
+ ("list", "MailItemPrize", 0),
),
"FlashGiftbag":(
@@ -897,12 +935,36 @@
("char", "NotifyKey", 0),
),
+ "ActExpRate":(
+ ("DWORD", "CfgID", 1),
+ ("WORD", "LVLimit", 0),
+ ("DWORD", "AddExpRate", 0),
+ ),
+
+ "ActCostRebate":(
+ ("DWORD", "CfgID", 1),
+ ("char", "StartDate", 0),
+ ("char", "EndDate", 0),
+ ("WORD", "LVLimit", 0),
+ ("BYTE", "IsDayReset", 0),
+ ("list", "TemplateIDList", 0),
+ ),
+
"CostRebateTemplate":(
("DWORD", "TemplateID", 1),
("DWORD", "NeedCostGold", 0),
("BYTE", "AwardIndex", 0),
("list", "AwardItemList", 0),
("char", "NotifyKey", 0),
+ ),
+
+ "ActBossReborn":(
+ ("DWORD", "CfgID", 1),
+ ("char", "StartDate", 0),
+ ("char", "EndDate", 0),
+ ("BYTE", "ResetType", 0),
+ ("WORD", "LVLimit", 0),
+ ("BYTE", "TemplateID", 0),
),
"BossReborn":(
@@ -913,9 +975,15 @@
("list", "Reward", 0),
),
+ "ActRealmPoint":(
+ ("DWORD", "CfgID", 1),
+ ("WORD", "Multiple", 0),
+ ("WORD", "LVLimit", 0),
+ ),
+
"TrialExchange":(
("DWORD", "ID", 1),
- ("DWORD", "ExchangeItemID", 0),
+ ("list", "ExchangeItemIDList", 0),
("DWORD", "ExchangeItemCount", 0),
("DWORD", "ExchangeItemIsBind", 0),
("DWORD", "CostItemID", 0),
@@ -933,6 +1001,34 @@
("DWORD", "Index", 1),
("DWORD", "NeedPoint", 0),
("dict", "Award", 0),
+ ),
+
+ "MapEventPoint":(
+ ("DWORD", "MapID", 1),
+ ("DWORD", "NPCID", 1),
+ ("WORD", "LowLV", 0),
+ ("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),
),
}
@@ -1056,7 +1152,8 @@
self.SuccessRate = 0
self.SuccessRateMax = 0
self.AddonsCountMax = 0
- self.SysMark = ""
+ self.SysMark = ""
+ self.SysMarkParamType = 0
return
def GetID(self): return self.ID # 合成配置编号ID
@@ -1069,7 +1166,8 @@
def GetSuccessRate(self): return self.SuccessRate # 成功率万分率
def GetSuccessRateMax(self): return self.SuccessRateMax # 最大成功率万分率
def GetAddonsCountMax(self): return self.AddonsCountMax # 最大可附加材料数, 增加概率用, 非必须, 0代表不可附加材料
- def GetSysMark(self): return self.SysMark # 提示mark
+ def GetSysMark(self): return self.SysMark # 提示mark
+ def GetSysMarkParamType(self): return self.SysMarkParamType # 系统提示参数组合类型
# 物品强化效果表
class IPY_ItemPlus():
@@ -1132,6 +1230,44 @@
def GetStarsNeed(self): return self.StarsNeed # 全身星数
def GetAttrType(self): return self.AttrType # 属性类型
def GetAttrValue(self): return self.AttrValue # 属性值
+
+# 神兽表
+class IPY_Dogz():
+
+ def __init__(self):
+ self.DogzID = 0
+ self.BaseAttrTypes = []
+ self.BaseAttrValues = []
+ self.HelpBattleSkills = []
+ 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 GetFightPowerEx(self): return self.FightPowerEx # 助战附加战力
+ def GetEquipPlaceColorList(self): return self.EquipPlaceColorList # 穿戴装备颜色限制
+ def GetHelpBattleNotify(self): return self.HelpBattleNotify # 助战广播 ["广播key",[参数1,参数2,...],广播CD分钟]
+
+# 神兽强化表
+class IPY_DogzEquipPlus():
+
+ def __init__(self):
+ self.EquipPlace = 0
+ self.PlusLV = 0
+ self.PlusAttrTypes = []
+ self.PlusAttrValues = []
+ self.PlusLVUPTotalExp = 0
+ return
+
+ def GetEquipPlace(self): return self.EquipPlace # 装备位
+ def GetPlusLV(self): return self.PlusLV # 强化等级
+ def GetPlusAttrTypes(self): return self.PlusAttrTypes # 强化属性类型列表
+ def GetPlusAttrValues(self): return self.PlusAttrValues # 强化属性值列表
+ def GetPlusLVUPTotalExp(self): return self.PlusLVUPTotalExp # 升级所需累计熟练度总值
# 符印表
class IPY_Rune():
@@ -1440,6 +1576,7 @@
self.NPCID = 0
self.IsStrengthenByPlayerCount = 0
self.LVStrengthenType = 0
+ self.CmpNPCBaseLV = 0
self.HitTime = 0
self.DefCoefficient = 0
self.AtkCoefficient = 0
@@ -1457,6 +1594,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 # 人物攻击系数
@@ -1842,7 +1980,10 @@
self.SuperHitReduceC = 0
self.SkillAtkRateC = 0
self.SpeedPerC = 0
- self.AtkSpeedC = 0
+ self.AtkSpeedC = 0
+ self.SkillAtkRateReduceC = 0
+ self.HitC = 0
+ self.MissC = 0
return
def GetClassLV(self): return self.ClassLV # 装备阶级
@@ -1869,7 +2010,10 @@
def GetSuperHitReduceC(self): return self.SuperHitReduceC # 暴击抗性百分比系数
def GetSkillAtkRateC(self): return self.SkillAtkRateC # 技能伤害百分比系数
def GetSpeedPerC(self): return self.SpeedPerC # 移动速度百分比系数
- def GetAtkSpeedC(self): return self.AtkSpeedC # 攻击速度系数
+ def GetAtkSpeedC(self): return self.AtkSpeedC # 攻击速度系数
+ def GetSkillAtkRateReduceC(self): return self.SkillAtkRateReduceC # 技能减伤百分比系数
+ def GetHitC(self): return self.HitC # 命中系数
+ def GetMissC(self): return self.MissC # 闪避系数
# 成就表
class IPY_Success():
@@ -1911,6 +2055,7 @@
self.PreTreasure = 0
self.SuccID = []
self.Potentials = []
+ self.SkillPower = []
self.NeedItem = {}
return
@@ -1919,6 +2064,7 @@
def GetPreTreasure(self): return self.PreTreasure # 前置法宝
def GetSuccID(self): return self.SuccID # 成就ID
def GetPotentials(self): return self.Potentials # 技能潜力升级
+ def GetSkillPower(self): return self.SkillPower # 技能解锁战力
def GetNeedItem(self): return self.NeedItem # 需要消耗物品
# 法宝升级表
@@ -1931,7 +2077,8 @@
self.AddAttr = {}
self.UnLockSkill = []
self.ActiveMWID = 0
- self.ItemAward = []
+ self.ItemAward = []
+ self.ActiveSoulID = 0
return
def GetMWID(self): return self.MWID # 法宝ID
@@ -1940,7 +2087,8 @@
def GetAddAttr(self): return self.AddAttr # 属性
def GetUnLockSkill(self): return self.UnLockSkill # 解锁的技能
def GetActiveMWID(self): return self.ActiveMWID # 激活法宝ID
- def GetItemAward(self): return self.ItemAward # 物品奖励[itemID,cnt,isbind]
+ def GetItemAward(self): return self.ItemAward # 物品奖励[itemID,cnt,isbind]
+ def GetActiveSoulID(self): return self.ActiveSoulID # 激活魂ID
# 法宝特权表
class IPY_TreasurePrivilege():
@@ -2114,6 +2262,7 @@
self.LimitVIPLV = []
self.LimitLV = 0
self.LimitCnt = []
+ self.ServerLimitCnt = 0
self.MoneyType = 0
self.MoneyNum = 0
self.MoneyOriginal = 0
@@ -2133,7 +2282,8 @@
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 # 原价
@@ -2149,9 +2299,12 @@
self.EndDate = ""
self.StartTimeList = []
self.EndTimeList = []
+ self.AdvanceMinutes = 0
self.LVLimit = 0
self.IsDayReset = 0
- self.ShopTypeList = []
+ self.ShopTypeList = []
+ self.MailKey = ""
+ self.MailItemPrize = []
return
def GetCfgID(self): return self.CfgID # 配置ID
@@ -2159,9 +2312,12 @@
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 GetShopTypeList(self): return self.ShopTypeList # 商店类型列表
+ def GetMailKey(self): return self.MailKey # 活动更新时发送邮件key
+ def GetMailItemPrize(self): return self.MailItemPrize # 活动更新时发送邮件奖励物品
# 日常任务表
class IPY_DailyQuest():
@@ -2288,12 +2444,18 @@
self.NPCID = 0
self.MapID = 0
self.RefreshMark = 0
+ self.IsNeedShunt = 0
+ self.RelatedType = 0
+ self.RelatedID = 0
self.StoneNPCID = 0
return
def GetNPCID(self): return self.NPCID # ID
def GetMapID(self): return self.MapID # 地图ID
def GetRefreshMark(self): return self.RefreshMark # 刷新标识点
+ def GetIsNeedShunt(self): return self.IsNeedShunt # 是否需要分流
+ def GetRelatedType(self): return self.RelatedType # 刷怪关联类型
+ def GetRelatedID(self): return self.RelatedID # 关联ID
def GetStoneNPCID(self): return self.StoneNPCID # 墓碑NPCID
# 古神禁地表
@@ -2391,7 +2553,7 @@
self.DataMapID = 0
self.InspireType = 0
self.InspireMaxLV = 0
- self.MoneyCount = 0
+ self.MoneyCount = ""
return
def GetDataMapID(self): return self.DataMapID # 地图ID
@@ -2466,6 +2628,7 @@
self.RandTimeList1 = []
self.RandItemList2 = []
self.RandTimeList2 = []
+ self.RandItemByUseCount = {}
self.JobItemList = []
self.MoneyType = 0
self.MoneyCount = 0
@@ -2480,6 +2643,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 # 货币数量
@@ -2673,6 +2837,8 @@
self.GridItemInfo = {}
self.JobItemList = []
self.GridItemRateListFree = []
+ self.FreeGridItemRateList2 = []
+ self.FreeGridItemRateList3 = {}
self.GridItemRateList1 = []
self.GridItemRateList2 = []
self.GridItemRateList3 = {}
@@ -2684,6 +2850,8 @@
def GetGridItemInfo(self): return self.GridItemInfo # 格子编号对应物品信息 {"编号":[物品ID, 个数], ...}
def GetJobItemList(self): return self.JobItemList # 职业物品组列表 [[职业1物品, 职业2物品, ...], ...]
def GetGridItemRateListFree(self): return self.GridItemRateListFree # 免费产出格子编号饼图 [[概率, 格子编号], ...]
+ def GetFreeGridItemRateList2(self): return self.FreeGridItemRateList2 # 免费每满x次保底产出格子编号饼图 [[概率, 格子编号], ...]
+ def GetFreeGridItemRateList3(self): return self.FreeGridItemRateList3 # 免费第x次必出产出格子编号饼图 {次数:[[概率, 格子编号], ...], ...}
def GetGridItemRateList1(self): return self.GridItemRateList1 # 常规产出格子编号饼图 [[概率, 格子编号], ...]
def GetGridItemRateList2(self): return self.GridItemRateList2 # 每满x次保底产出格子编号饼图 [[概率, 格子编号], ...]
def GetGridItemRateList3(self): return self.GridItemRateList3 # 第x次必出产出格子编号饼图 {次数:[[概率, 格子编号], ...], ...}
@@ -2713,9 +2881,12 @@
self.EndDate = ""
self.StartTimeList = []
self.EndTimeList = []
+ self.AdvanceMinutes = 0
self.LVLimit = 0
self.IsDayReset = 0
- self.GiftbagList = []
+ self.GiftbagTypeList = []
+ self.MailKey = ""
+ self.MailItemPrize = []
return
def GetCfgID(self): return self.CfgID # 配置ID
@@ -2723,9 +2894,12 @@
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 GetGiftbagList(self): return self.GiftbagList # 礼包模板类型列表
+ def GetGiftbagTypeList(self): return self.GiftbagTypeList # 礼包类型列表
+ def GetMailKey(self): return self.MailKey # 活动更新时发送邮件key
+ def GetMailItemPrize(self): return self.MailItemPrize # 活动更新时发送邮件奖励物品
# 限时礼包模板表
class IPY_FlashGiftbag():
@@ -2748,6 +2922,38 @@
def GetMainItemID(self): return self.MainItemID # 标的物品ID
def GetNotifyKey(self): return self.NotifyKey # 全服广播key,默认两个参数(玩家名, 档位额度)
+# 双倍经验活动表
+class IPY_ActExpRate():
+
+ def __init__(self):
+ self.CfgID = 0
+ self.LVLimit = 0
+ self.AddExpRate = 0
+ return
+
+ def GetCfgID(self): return self.CfgID # 配置ID
+ def GetLVLimit(self): return self.LVLimit # 限制等级
+ def GetAddExpRate(self): return self.AddExpRate # 经验倍率加成,万分率
+
+# 消费返利活动表
+class IPY_ActCostRebate():
+
+ def __init__(self):
+ self.CfgID = 0
+ self.StartDate = ""
+ self.EndDate = ""
+ self.LVLimit = 0
+ self.IsDayReset = 0
+ self.TemplateIDList = []
+ return
+
+ def GetCfgID(self): return self.CfgID # 配置ID
+ def GetStartDate(self): return self.StartDate # 开启日期
+ def GetEndDate(self): return self.EndDate # 结束日期
+ def GetLVLimit(self): return self.LVLimit # 限制等级
+ def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
+ def GetTemplateIDList(self): return self.TemplateIDList # 模板ID列表
+
# 消费返利模板表
class IPY_CostRebateTemplate():
@@ -2764,6 +2970,25 @@
def GetAwardIndex(self): return self.AwardIndex # 返利奖励索引0~31,同个模板中不重复
def GetAwardItemList(self): return self.AwardItemList # 返利物品信息列表 [(物品ID,个数,是否绑定),...]
def GetNotifyKey(self): return self.NotifyKey # 全服广播key,默认两个参数(玩家名, 档位额度)
+
+# BOSS复活活动时间表
+class IPY_ActBossReborn():
+
+ def __init__(self):
+ self.CfgID = 0
+ self.StartDate = ""
+ self.EndDate = ""
+ self.ResetType = 0
+ self.LVLimit = 0
+ self.TemplateID = 0
+ return
+
+ def GetCfgID(self): return self.CfgID # 配置ID
+ def GetStartDate(self): return self.StartDate # 开启日期
+ def GetEndDate(self): return self.EndDate # 结束日期
+ def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
+ def GetLVLimit(self): return self.LVLimit # 限制等级
+ def GetTemplateID(self): return self.TemplateID # 模板编号
# BOSS复活表
class IPY_BossReborn():
@@ -2782,12 +3007,25 @@
def GetSingleTimes(self): return self.SingleTimes # 单次领奖需要的次数
def GetReward(self): return self.Reward # 奖励物品ID1
+# 多倍修行点活动时间表
+class IPY_ActRealmPoint():
+
+ def __init__(self):
+ self.CfgID = 0
+ self.Multiple = 0
+ self.LVLimit = 0
+ return
+
+ def GetCfgID(self): return self.CfgID # 配置ID
+ def GetMultiple(self): return self.Multiple # 倍数
+ def GetLVLimit(self): return self.LVLimit # 限制等级
+
# 宗门试炼兑换表
class IPY_TrialExchange():
def __init__(self):
self.ID = 0
- self.ExchangeItemID = 0
+ self.ExchangeItemIDList = []
self.ExchangeItemCount = 0
self.ExchangeItemIsBind = 0
self.CostItemID = 0
@@ -2795,7 +3033,7 @@
return
def GetID(self): return self.ID # 兑换ID
- def GetExchangeItemID(self): return self.ExchangeItemID # 兑换物品ID
+ def GetExchangeItemIDList(self): return self.ExchangeItemIDList # 兑换物品ID
def GetExchangeItemCount(self): return self.ExchangeItemCount # 兑换物品个数
def GetExchangeItemIsBind(self): return self.ExchangeItemIsBind # 兑换物品是否绑定
def GetCostItemID(self): return self.CostItemID # 消耗物品ID
@@ -2828,6 +3066,65 @@
def GetIndex(self): return self.Index # 索引
def GetNeedPoint(self): return self.NeedPoint # 需要点数
def GetAward(self): return self.Award # 奖励 {"职业":[[物品ID,个数,是否绑定],...], ...}
+
+# 地图NPC配置表-挂机点
+class IPY_MapEventPoint():
+
+ def __init__(self):
+ self.MapID = 0
+ self.NPCID = 0
+ self.LowLV = 0
+ self.HighestLV = 0
+ self.Defense = 0
+ return
+
+ def GetMapID(self): return self.MapID
+ def GetNPCID(self): return self.NPCID
+ 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):
@@ -2873,6 +3170,10 @@
self.ipyItemPlusSumAttrLen = len(self.ipyItemPlusSumAttrCache)
self.ipyRoleEquipStarsCache = self.__LoadFileData("RoleEquipStars", IPY_RoleEquipStars)
self.ipyRoleEquipStarsLen = len(self.ipyRoleEquipStarsCache)
+ self.ipyDogzCache = self.__LoadFileData("Dogz", IPY_Dogz)
+ self.ipyDogzLen = len(self.ipyDogzCache)
+ self.ipyDogzEquipPlusCache = self.__LoadFileData("DogzEquipPlus", IPY_DogzEquipPlus)
+ self.ipyDogzEquipPlusLen = len(self.ipyDogzEquipPlusCache)
self.ipyRuneCache = self.__LoadFileData("Rune", IPY_Rune)
self.ipyRuneLen = len(self.ipyRuneCache)
self.ipyEquipWashCache = self.__LoadFileData("EquipWash", IPY_EquipWash)
@@ -3015,16 +3316,30 @@
self.ipyActFlashGiftbagLen = len(self.ipyActFlashGiftbagCache)
self.ipyFlashGiftbagCache = self.__LoadFileData("FlashGiftbag", IPY_FlashGiftbag)
self.ipyFlashGiftbagLen = len(self.ipyFlashGiftbagCache)
+ self.ipyActExpRateCache = self.__LoadFileData("ActExpRate", IPY_ActExpRate)
+ self.ipyActExpRateLen = len(self.ipyActExpRateCache)
+ self.ipyActCostRebateCache = self.__LoadFileData("ActCostRebate", IPY_ActCostRebate)
+ self.ipyActCostRebateLen = len(self.ipyActCostRebateCache)
self.ipyCostRebateTemplateCache = self.__LoadFileData("CostRebateTemplate", IPY_CostRebateTemplate)
self.ipyCostRebateTemplateLen = len(self.ipyCostRebateTemplateCache)
+ self.ipyActBossRebornCache = self.__LoadFileData("ActBossReborn", IPY_ActBossReborn)
+ self.ipyActBossRebornLen = len(self.ipyActBossRebornCache)
self.ipyBossRebornCache = self.__LoadFileData("BossReborn", IPY_BossReborn)
self.ipyBossRebornLen = len(self.ipyBossRebornCache)
+ self.ipyActRealmPointCache = self.__LoadFileData("ActRealmPoint", IPY_ActRealmPoint)
+ self.ipyActRealmPointLen = len(self.ipyActRealmPointCache)
self.ipyTrialExchangeCache = self.__LoadFileData("TrialExchange", IPY_TrialExchange)
self.ipyTrialExchangeLen = len(self.ipyTrialExchangeCache)
self.ipyAllPeoplePartyCache = self.__LoadFileData("AllPeopleParty", IPY_AllPeopleParty)
self.ipyAllPeoplePartyLen = len(self.ipyAllPeoplePartyCache)
self.ipyAllPeoplePartyAwardCache = self.__LoadFileData("AllPeoplePartyAward", IPY_AllPeoplePartyAward)
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
@@ -3116,22 +3431,26 @@
for i, strValue in enumerate(rowList):
if i == 0:
continue
- fieldName = fieldList[i][1]
- strValue = strValue.lstrip().rstrip()
- if strValue.isdigit():
- configValue = int(strValue)
- elif (strValue.startswith("{") and strValue.endswith("}")) \
- or (strValue.startswith("[") and strValue.endswith("]")) \
- or (strValue.startswith("(") and strValue.endswith(")")):
- configValue = eval(strValue)
- elif "_" in strValue and type(self.__StrToDict(strValue)) == dict:
- configValue = self.__StrToDict(strValue)
- elif ChConfig.Def_Str_Montant in strValue:
- configValue = eval("(%s,)" % strValue.replace(ChConfig.Def_Str_Montant, ","))
- elif strValue in ["-", ""]:
- configValue = ""
- else:
- configValue = self.__ToFloat(strValue)
+ try:
+ fieldName = fieldList[i][1]
+ strValue = strValue.lstrip().rstrip()
+ if strValue.isdigit():
+ configValue = int(strValue)
+ elif (strValue.startswith("{") and strValue.endswith("}")) \
+ or (strValue.startswith("[") and strValue.endswith("]")) \
+ or (strValue.startswith("(") and strValue.endswith(")")):
+ configValue = eval(strValue)
+ elif "_" in strValue and type(self.__StrToDict(strValue)) == dict:
+ configValue = self.__StrToDict(strValue)
+ elif ChConfig.Def_Str_Montant in strValue:
+ configValue = eval("(%s,)" % strValue.replace(ChConfig.Def_Str_Montant, ","))
+ elif strValue in ["-", ""]:
+ configValue = ""
+ else:
+ configValue = self.__ToFloat(strValue)
+ except BaseException:
+ ErrLog("SetIpyDataError: tableName=%s,key=%s,i=%s,value=%s" % ("FuncConfig", key, i, strValue))
+ raise
setattr(funcConfigObj, fieldName, configValue)
self.ipyFuncConfigDict[key] = funcConfigObj
return
@@ -3207,6 +3526,10 @@
def GetItemPlusSumAttrByIndex(self, index): return self.ipyItemPlusSumAttrCache[index]
def GetRoleEquipStarsCount(self): return self.ipyRoleEquipStarsLen
def GetRoleEquipStarsByIndex(self, index): return self.ipyRoleEquipStarsCache[index]
+ def GetDogzCount(self): return self.ipyDogzLen
+ def GetDogzByIndex(self, index): return self.ipyDogzCache[index]
+ def GetDogzEquipPlusCount(self): return self.ipyDogzEquipPlusLen
+ def GetDogzEquipPlusByIndex(self, index): return self.ipyDogzEquipPlusCache[index]
def GetRuneCount(self): return self.ipyRuneLen
def GetRuneByIndex(self, index): return self.ipyRuneCache[index]
def GetEquipWashCount(self): return self.ipyEquipWashLen
@@ -3349,16 +3672,30 @@
def GetActFlashGiftbagByIndex(self, index): return self.ipyActFlashGiftbagCache[index]
def GetFlashGiftbagCount(self): return self.ipyFlashGiftbagLen
def GetFlashGiftbagByIndex(self, index): return self.ipyFlashGiftbagCache[index]
+ def GetActExpRateCount(self): return self.ipyActExpRateLen
+ def GetActExpRateByIndex(self, index): return self.ipyActExpRateCache[index]
+ def GetActCostRebateCount(self): return self.ipyActCostRebateLen
+ def GetActCostRebateByIndex(self, index): return self.ipyActCostRebateCache[index]
def GetCostRebateTemplateCount(self): return self.ipyCostRebateTemplateLen
def GetCostRebateTemplateByIndex(self, index): return self.ipyCostRebateTemplateCache[index]
+ def GetActBossRebornCount(self): return self.ipyActBossRebornLen
+ def GetActBossRebornByIndex(self, index): return self.ipyActBossRebornCache[index]
def GetBossRebornCount(self): return self.ipyBossRebornLen
def GetBossRebornByIndex(self, index): return self.ipyBossRebornCache[index]
+ def GetActRealmPointCount(self): return self.ipyActRealmPointLen
+ def GetActRealmPointByIndex(self, index): return self.ipyActRealmPointCache[index]
def GetTrialExchangeCount(self): return self.ipyTrialExchangeLen
def GetTrialExchangeByIndex(self, index): return self.ipyTrialExchangeCache[index]
def GetAllPeoplePartyCount(self): return self.ipyAllPeoplePartyLen
def GetAllPeoplePartyByIndex(self, index): return self.ipyAllPeoplePartyCache[index]
def GetAllPeoplePartyAwardCount(self): return self.ipyAllPeoplePartyAwardLen
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
@@ -3553,7 +3890,7 @@
'''查询条件下与对应查询字段参考值相近的数据实例;参考值小于配置表最小值时返回none,大于最大值时返回最大值对应的实例
@param dtName: 表名,不含tag
@param keyName: 参考字段名
- @param keyValue: 参考字段值
+ @param keyValue: 参考字段值,大于等于字段值时返回对应数据
@param conditionDict: 查询条件,{查询字段名:字段值, ...}
@return: 找不到数据返回 None , 否则返回对应的 ipyData 数据实例
'''
@@ -3585,7 +3922,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