xdh
2018-09-19 8dabd16a2b668b73b6139b0d4d443b896d7d312f
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":(
@@ -495,6 +496,7 @@
                        ("DWORD", "SkillAtkRateC", 0),
                        ("DWORD", "SpeedPerC", 0),
                        ("DWORD", "AtkSpeedC", 0),
                        ("DWORD", "SkillAtkRateReduceC", 0),
                        ),
                "Success":(
@@ -518,6 +520,7 @@
                        ("DWORD", "PreTreasure", 0),
                        ("list", "SuccID", 0),
                        ("list", "Potentials", 0),
                        ("list", "SkillPower", 0),
                        ("dict", "NeedItem", 0),
                        ),
@@ -529,6 +532,7 @@
                        ("list", "UnLockSkill", 0),
                        ("DWORD", "ActiveMWID", 0),
                        ("list", "ItemAward", 0),
                        ("DWORD", "ActiveSoulID", 0),
                        ),
                "TreasurePrivilege":(
@@ -632,9 +636,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":(
@@ -697,6 +704,9 @@
                        ("DWORD", "NPCID", 1),
                        ("DWORD", "MapID", 0),
                        ("BYTE", "RefreshMark", 0),
                        ("BYTE", "IsNeedShunt", 0),
                        ("BYTE", "RelatedType", 0),
                        ("WORD", "RelatedID", 0),
                        ("DWORD", "StoneNPCID", 0),
                        ),
@@ -745,7 +755,7 @@
                        ("DWORD", "DataMapID", 1),
                        ("BYTE", "InspireType", 1),
                        ("WORD", "InspireMaxLV", 0),
                        ("DWORD", "MoneyCount", 0),
                        ("char", "MoneyCount", 0),
                        ),
                "RuneCompound":(
@@ -900,9 +910,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":(
@@ -915,6 +928,21 @@
                        ("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),
@@ -923,12 +951,27 @@
                        ("char", "NotifyKey", 0),
                        ),
                "ActBossReborn":(
                        ("DWORD", "CfgID", 1),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("BYTE", "ResetType", 0),
                        ("WORD", "LVLimit", 0),
                        ("BYTE", "TemplateID", 0),
                        ),
                "BossReborn":(
                        ("BYTE", "TemplateID", 1),
                        ("BYTE", "ID", 1),
                        ("DWORD", "TotalTimes", 0),
                        ("WORD", "SingleTimes", 0),
                        ("list", "Reward", 0),
                        ),
                "ActRealmPoint":(
                        ("DWORD", "CfgID", 1),
                        ("WORD", "Multiple", 0),
                        ("WORD", "LVLimit", 0),
                        ),
                "TrialExchange":(
@@ -1082,7 +1125,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
@@ -1095,7 +1139,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():
@@ -1902,7 +1947,8 @@
        self.SuperHitReduceC = 0
        self.SkillAtkRateC = 0
        self.SpeedPerC = 0
        self.AtkSpeedC = 0
        self.AtkSpeedC = 0
        self.SkillAtkRateReduceC = 0
        return
        
    def GetClassLV(self): return self.ClassLV #  装备阶级
@@ -1929,7 +1975,8 @@
    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 #  技能减伤百分比系数
# 成就表
class IPY_Success():
@@ -1971,6 +2018,7 @@
        self.PreTreasure = 0
        self.SuccID = []
        self.Potentials = []
        self.SkillPower = []
        self.NeedItem = {}
        return
        
@@ -1979,6 +2027,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 # 需要消耗物品
# 法宝升级表
@@ -1991,7 +2040,8 @@
        self.AddAttr = {}
        self.UnLockSkill = []
        self.ActiveMWID = 0
        self.ItemAward = []
        self.ItemAward = []
        self.ActiveSoulID = 0
        return
        
    def GetMWID(self): return self.MWID # 法宝ID
@@ -2000,7 +2050,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():
@@ -2209,9 +2260,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
@@ -2219,9 +2273,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():
@@ -2348,12 +2405,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
# 古神禁地表
@@ -2451,7 +2514,7 @@
        self.DataMapID = 0
        self.InspireType = 0
        self.InspireMaxLV = 0
        self.MoneyCount = 0
        self.MoneyCount = ""
        return
        
    def GetDataMapID(self): return self.DataMapID # 地图ID
@@ -2777,9 +2840,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
@@ -2787,9 +2853,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():
@@ -2812,6 +2881,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():
    
@@ -2829,6 +2930,25 @@
    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():
    
@@ -2845,6 +2965,19 @@
    def GetTotalTimes(self): return self.TotalTimes # 可完成的总次数,0表示不限次数
    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():
@@ -3100,10 +3233,18 @@
        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)
@@ -3203,22 +3344,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
@@ -3440,10 +3585,18 @@
    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