xdh
2019-01-28 c060aabfb4621e897f7b69d6e537fc3ccf59d860
ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
@@ -173,6 +173,20 @@
                        ("BYTE", "MoneyType", 0),
                        ("BYTE", "PacketCnt", 0),
                        ("BYTE", "LeaderOwn", 0),
                        ("char", "PacketOpenTime", 0),
                        ("BYTE", "ValidMinutes", 0),
                        ),
                "ActFeastRedPacket":(
                        ("DWORD", "CfgID", 1),
                        ("char", "ActMark", 0),
                        ("list", "PlatformList", 0),
                        ("list", "ServerIDList", 0),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("BYTE", "ResetType", 0),
                        ("list", "RedPacketIDList", 0),
                        ("WORD", "LVLimit", 0),
                        ),
                "FuncOpenLV":(
@@ -394,6 +408,79 @@
                "CrossRealmPKDan":(
                        ("BYTE", "DanLV", 1),
                        ("WORD", "LVUpScore", 0),
                        ("list", "MatchRange", 0),
                        ),
                "CrossPenglaiZone":(
                        ("BYTE", "ZoneID", 0),
                        ("list", "ServerGroupIDList", 0),
                        ("DWORD", "MapID", 1),
                        ("DWORD", "DataMapID", 1),
                        ("BYTE", "CopyMapID", 1),
                        ),
                "ActWeekParty":(
                        ("DWORD", "CfgID", 1),
                        ("char", "ActMark", 0),
                        ("list", "PlatformList", 0),
                        ("list", "ServerIDList", 0),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("WORD", "AdvanceMinutes", 0),
                        ("BYTE", "IsDayReset", 0),
                        ("BYTE", "ResetType", 0),
                        ("dict", "NotifyInfoStart", 0),
                        ("dict", "NotifyInfoEnd", 0),
                        ("WORD", "LVLimit", 0),
                        ),
                "ActLoginAward":(
                        ("DWORD", "CfgID", 1),
                        ("char", "ActMark", 0),
                        ("list", "PlatformList", 0),
                        ("list", "ServerIDList", 0),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("WORD", "AdvanceMinutes", 0),
                        ("BYTE", "IsDayReset", 0),
                        ("BYTE", "ResetType", 0),
                        ("dict", "NotifyInfoStart", 0),
                        ("dict", "NotifyInfoEnd", 0),
                        ("WORD", "LVLimit", 0),
                        ),
                "ActFeastWeekParty":(
                        ("DWORD", "CfgID", 1),
                        ("char", "ActMark", 0),
                        ("list", "PlatformList", 0),
                        ("list", "ServerIDList", 0),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("WORD", "AdvanceMinutes", 0),
                        ("BYTE", "IsDayReset", 0),
                        ("BYTE", "ResetType", 0),
                        ("dict", "NotifyInfoStart", 0),
                        ("dict", "NotifyInfoEnd", 0),
                        ("WORD", "LVLimit", 0),
                        ),
                "ActNewFairyCeremony":(
                        ("DWORD", "CfgID", 1),
                        ("char", "ActMark", 0),
                        ("list", "PlatformList", 0),
                        ("list", "ServerIDList", 0),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("BYTE", "ResetType", 0),
                        ("dict", "NotifyInfoStart", 0),
                        ("dict", "NotifyInfoEnd", 0),
                        ("WORD", "LVLimit", 0),
                        ),
                "NewUniquenessArrive":(
                        ("BYTE", "WorldLvNum", 1),
                        ("DWORD", "Rank", 1),
                        ("dict", "Award", 0),
                        ),
                }
@@ -690,7 +777,9 @@
        self.MoneyNum = 0
        self.MoneyType = 0
        self.PacketCnt = 0
        self.LeaderOwn = 0
        self.LeaderOwn = 0
        self.PacketOpenTime = ""
        self.ValidMinutes = 0
        return
        
    def GetID(self): return self.ID # ID
@@ -698,7 +787,34 @@
    def GetMoneyNum(self): return self.MoneyNum # 红包额度
    def GetMoneyType(self): return self.MoneyType # 金钱类型
    def GetPacketCnt(self): return self.PacketCnt # 红包个数
    def GetLeaderOwn(self): return self.LeaderOwn # 是否归属盟主
    def GetLeaderOwn(self): return self.LeaderOwn # 是否归属盟主
    def GetPacketOpenTime(self): return self.PacketOpenTime # 发放红包时间yyyy-MM-dd hh:mm
    def GetValidMinutes(self): return self.ValidMinutes # 红包有效时长(分)
# 节日红包时间表
class IPY_ActFeastRedPacket():
    def __init__(self):
        self.CfgID = 0
        self.ActMark = ""
        self.PlatformList = []
        self.ServerIDList = []
        self.StartDate = ""
        self.EndDate = ""
        self.ResetType = 0
        self.RedPacketIDList = []
        self.LVLimit = 0
        return
    def GetCfgID(self): return self.CfgID # 配置ID
    def GetActMark(self): return self.ActMark # 活动组标记
    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
    def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
    def GetStartDate(self): return self.StartDate # 开启日期
    def GetEndDate(self): return self.EndDate # 结束日期
    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
    def GetRedPacketIDList(self): return self.RedPacketIDList # 每日对应红包ID列表[[第一天红包ID列表], ...]
    def GetLVLimit(self): return self.LVLimit # 限制等级
# 等级开启功能
class IPY_FuncOpenLV():
@@ -1155,11 +1271,163 @@
    
    def __init__(self):
        self.DanLV = 0
        self.LVUpScore = 0
        self.LVUpScore = 0
        self.MatchRange = []
        return
        
    def GetDanLV(self): return self.DanLV # 段位等级
    def GetLVUpScore(self): return self.LVUpScore # 升段位所需积分
    def GetLVUpScore(self): return self.LVUpScore # 升段位所需积分
    def GetMatchRange(self): return self.MatchRange # 可匹配到的玩家段位区间 [从段位A, 到段位B],配[]代表只匹配本段位的
# 跨服Boss蓬莱仙境分区表
class IPY_CrossPenglaiZone():
    def __init__(self):
        self.ZoneID = 0
        self.ServerGroupIDList = []
        self.MapID = 0
        self.DataMapID = 0
        self.CopyMapID = 0
        return
    def GetZoneID(self): return self.ZoneID # 分区ID
    def GetServerGroupIDList(self): return self.ServerGroupIDList # 服务器组ID列表
    def GetMapID(self): return self.MapID # 场景地图ID
    def GetDataMapID(self): return self.DataMapID # 数据地图ID
    def GetCopyMapID(self): return self.CopyMapID # 虚拟线路ID
# 周狂欢活动时间表
class IPY_ActWeekParty():
    def __init__(self):
        self.CfgID = 0
        self.ActMark = ""
        self.PlatformList = []
        self.ServerIDList = []
        self.StartDate = ""
        self.EndDate = ""
        self.AdvanceMinutes = 0
        self.IsDayReset = 0
        self.ResetType = 0
        self.NotifyInfoStart = {}
        self.NotifyInfoEnd = {}
        self.LVLimit = 0
        return
    def GetCfgID(self): return self.CfgID # 配置ID
    def GetActMark(self): return self.ActMark # 活动组标记
    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
    def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
    def GetStartDate(self): return self.StartDate # 开启日期
    def GetEndDate(self): return self.EndDate # 结束日期
    def GetAdvanceMinutes(self): return self.AdvanceMinutes # 前端提前X分钟展示活动
    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
    def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
    def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
    def GetLVLimit(self): return self.LVLimit # 限制等级
# 登录奖励时间表
class IPY_ActLoginAward():
    def __init__(self):
        self.CfgID = 0
        self.ActMark = ""
        self.PlatformList = []
        self.ServerIDList = []
        self.StartDate = ""
        self.EndDate = ""
        self.AdvanceMinutes = 0
        self.IsDayReset = 0
        self.ResetType = 0
        self.NotifyInfoStart = {}
        self.NotifyInfoEnd = {}
        self.LVLimit = 0
        return
    def GetCfgID(self): return self.CfgID # 配置ID
    def GetActMark(self): return self.ActMark # 活动组标记
    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
    def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
    def GetStartDate(self): return self.StartDate # 开启日期
    def GetEndDate(self): return self.EndDate # 结束日期
    def GetAdvanceMinutes(self): return self.AdvanceMinutes # 前端提前X分钟展示活动
    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
    def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
    def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
    def GetLVLimit(self): return self.LVLimit # 限制等级
# 节日巡礼活动时间表
class IPY_ActFeastWeekParty():
    def __init__(self):
        self.CfgID = 0
        self.ActMark = ""
        self.PlatformList = []
        self.ServerIDList = []
        self.StartDate = ""
        self.EndDate = ""
        self.AdvanceMinutes = 0
        self.IsDayReset = 0
        self.ResetType = 0
        self.NotifyInfoStart = {}
        self.NotifyInfoEnd = {}
        self.LVLimit = 0
        return
    def GetCfgID(self): return self.CfgID # 配置ID
    def GetActMark(self): return self.ActMark # 活动组标记
    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
    def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
    def GetStartDate(self): return self.StartDate # 开启日期
    def GetEndDate(self): return self.EndDate # 结束日期
    def GetAdvanceMinutes(self): return self.AdvanceMinutes # 前端提前X分钟展示活动
    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
    def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
    def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
    def GetLVLimit(self): return self.LVLimit # 限制等级
# 新仙界盛典活动时间表
class IPY_ActNewFairyCeremony():
    def __init__(self):
        self.CfgID = 0
        self.ActMark = ""
        self.PlatformList = []
        self.ServerIDList = []
        self.StartDate = ""
        self.EndDate = ""
        self.ResetType = 0
        self.NotifyInfoStart = {}
        self.NotifyInfoEnd = {}
        self.LVLimit = 0
        return
    def GetCfgID(self): return self.CfgID # 配置ID
    def GetActMark(self): return self.ActMark # 活动组标记
    def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
    def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
    def GetStartDate(self): return self.StartDate # 开启日期
    def GetEndDate(self): return self.EndDate # 结束日期
    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置;2-5点开始0点结束
    def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
    def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
    def GetLVLimit(self): return self.LVLimit # 限制等级
# 新仙界盛典-绝版降临表
class IPY_NewUniquenessArrive():
    def __init__(self):
        self.WorldLvNum = 0
        self.Rank = 0
        self.Award = {}
        return
    def GetWorldLvNum(self): return self.WorldLvNum # 世界等级档
    def GetRank(self): return self.Rank # 排名
    def GetAward(self): return self.Award # 奖励 {"职业":[[物品ID,个数,是否绑定],...], ...}
def Log(msg, playerID=0, par=0):
@@ -1217,6 +1485,8 @@
        self.ipyQuestionBankLen = len(self.ipyQuestionBankCache)
        self.ipyFamilyRedPackCache = self.__LoadFileData("FamilyRedPack", IPY_FamilyRedPack)
        self.ipyFamilyRedPackLen = len(self.ipyFamilyRedPackCache)
        self.ipyActFeastRedPacketCache = self.__LoadFileData("ActFeastRedPacket", IPY_ActFeastRedPacket)
        self.ipyActFeastRedPacketLen = len(self.ipyActFeastRedPacketCache)
        self.ipyFuncOpenLVCache = self.__LoadFileData("FuncOpenLV", IPY_FuncOpenLV)
        self.ipyFuncOpenLVLen = len(self.ipyFuncOpenLVCache)
        self.ipyChinNPCCache = self.__LoadFileData("ChinNPC", IPY_ChinNPC)
@@ -1255,6 +1525,18 @@
        self.ipyCrossRealmPKSeasonLen = len(self.ipyCrossRealmPKSeasonCache)
        self.ipyCrossRealmPKDanCache = self.__LoadFileData("CrossRealmPKDan", IPY_CrossRealmPKDan)
        self.ipyCrossRealmPKDanLen = len(self.ipyCrossRealmPKDanCache)
        self.ipyCrossPenglaiZoneCache = self.__LoadFileData("CrossPenglaiZone", IPY_CrossPenglaiZone)
        self.ipyCrossPenglaiZoneLen = len(self.ipyCrossPenglaiZoneCache)
        self.ipyActWeekPartyCache = self.__LoadFileData("ActWeekParty", IPY_ActWeekParty)
        self.ipyActWeekPartyLen = len(self.ipyActWeekPartyCache)
        self.ipyActLoginAwardCache = self.__LoadFileData("ActLoginAward", IPY_ActLoginAward)
        self.ipyActLoginAwardLen = len(self.ipyActLoginAwardCache)
        self.ipyActFeastWeekPartyCache = self.__LoadFileData("ActFeastWeekParty", IPY_ActFeastWeekParty)
        self.ipyActFeastWeekPartyLen = len(self.ipyActFeastWeekPartyCache)
        self.ipyActNewFairyCeremonyCache = self.__LoadFileData("ActNewFairyCeremony", IPY_ActNewFairyCeremony)
        self.ipyActNewFairyCeremonyLen = len(self.ipyActNewFairyCeremonyCache)
        self.ipyNewUniquenessArriveCache = self.__LoadFileData("NewUniquenessArrive", IPY_NewUniquenessArrive)
        self.ipyNewUniquenessArriveLen = len(self.ipyNewUniquenessArriveCache)
        Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict))
        Log("IPY_DataMgr InitOK!")
        return
@@ -1453,6 +1735,8 @@
    def GetQuestionBankByIndex(self, index): return self.ipyQuestionBankCache[index]
    def GetFamilyRedPackCount(self): return self.ipyFamilyRedPackLen
    def GetFamilyRedPackByIndex(self, index): return self.ipyFamilyRedPackCache[index]
    def GetActFeastRedPacketCount(self): return self.ipyActFeastRedPacketLen
    def GetActFeastRedPacketByIndex(self, index): return self.ipyActFeastRedPacketCache[index]
    def GetFuncOpenLVCount(self): return self.ipyFuncOpenLVLen
    def GetFuncOpenLVByIndex(self, index): return self.ipyFuncOpenLVCache[index]
    def GetChinNPCCount(self): return self.ipyChinNPCLen
@@ -1491,6 +1775,18 @@
    def GetCrossRealmPKSeasonByIndex(self, index): return self.ipyCrossRealmPKSeasonCache[index]
    def GetCrossRealmPKDanCount(self): return self.ipyCrossRealmPKDanLen
    def GetCrossRealmPKDanByIndex(self, index): return self.ipyCrossRealmPKDanCache[index]
    def GetCrossPenglaiZoneCount(self): return self.ipyCrossPenglaiZoneLen
    def GetCrossPenglaiZoneByIndex(self, index): return self.ipyCrossPenglaiZoneCache[index]
    def GetActWeekPartyCount(self): return self.ipyActWeekPartyLen
    def GetActWeekPartyByIndex(self, index): return self.ipyActWeekPartyCache[index]
    def GetActLoginAwardCount(self): return self.ipyActLoginAwardLen
    def GetActLoginAwardByIndex(self, index): return self.ipyActLoginAwardCache[index]
    def GetActFeastWeekPartyCount(self): return self.ipyActFeastWeekPartyLen
    def GetActFeastWeekPartyByIndex(self, index): return self.ipyActFeastWeekPartyCache[index]
    def GetActNewFairyCeremonyCount(self): return self.ipyActNewFairyCeremonyLen
    def GetActNewFairyCeremonyByIndex(self, index): return self.ipyActNewFairyCeremonyCache[index]
    def GetNewUniquenessArriveCount(self): return self.ipyNewUniquenessArriveLen
    def GetNewUniquenessArriveByIndex(self, index): return self.ipyNewUniquenessArriveCache[index]
IPYData = IPY_DataMgr()
def IPY_Data(): return IPYData