hxp
2025-05-08 6a9883b425e53e714b9a930ec70b7544999611a6
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -11,6 +11,8 @@
#
# 详细描述: 读取PY表
#
# @note: 本脚本由 \PySysDB\生成IpyGameDataPY 生成
#
#-------------------------------------------------------------------------------
#"""Version = 2018-05-10 12:00"""
#-------------------------------------------------------------------------------
@@ -33,6 +35,16 @@
}
'''
Def_IpyTable = {
                "DirtyList":(
                        ("WORD", "ID", 0),
                        ("char", "Word", 0),
                        ),
                "DirtyName":(
                        ("WORD", "ID", 0),
                        ("char", "Word", 0),
                        ),
                "Dienstgrad":(
                        ("DWORD", "ID", 1),
                        ("WORD", "Type", 0),
@@ -2417,6 +2429,35 @@
                        ("list", "AwardItemList", 0),
                        ),
                "Family":(
                        ("BYTE", "FamilyLV", 1),
                        ("BYTE", "MemberMax", 0),
                        ("BYTE", "DeputyLeaderMax", 0),
                        ("BYTE", "EliteMax", 0),
                        ("DWORD", "NeedExp", 0),
                        ("DWORD", "ZhenbaogeWeights", 0),
                        ),
                "FamilyEmblem":(
                        ("BYTE", "EmblemID", 1),
                        ("BYTE", "UnlockFamilyLV", 0),
                        ("DWORD", "ExpireMinutes", 0),
                        ("DWORD", "CustomFamilyID", 0),
                        ),
                "FamilyZhenbaogeCut":(
                        ("BYTE", "CutNum", 1),
                        ("DWORD", "CutWeight", 0),
                        ("float", "MinRatio", 0),
                        ("float", "RandRatio", 0),
                        ),
                "FamilyZhenbaogeItem":(
                        ("BYTE", "ItemGroupNum", 1),
                        ("DWORD", "ItemWeight", 0),
                        ("list", "ItemList", 0),
                        ),
                "FamilyZhenfa":(
                        ("BYTE", "ZhenfaType", 1),
                        ("WORD", "ZhenfaLV", 1),
@@ -2589,6 +2630,26 @@
                        ),
                }
# 屏蔽词
class IPY_DirtyList():
    def __init__(self):
        self.attrTuple = None
        return
    def GetID(self): return self.attrTuple[0] # WORD
    def GetWord(self): return self.attrTuple[1] # 屏蔽词 char
# 玩家名屏蔽词
class IPY_DirtyName():
    def __init__(self):
        self.attrTuple = None
        return
    def GetID(self): return self.attrTuple[0] # WORD
    def GetWord(self): return self.attrTuple[1] # 屏蔽词 char
# 称号表
class IPY_Dienstgrad():
@@ -6184,6 +6245,55 @@
    def GetNeedHurtTotal(self): return self.attrTuple[2] # 所需总伤血 DWORD
    def GetAwardItemList(self): return self.attrTuple[3] # 奖励物品列表[[物品ID,个数,是否拍品], ...] list
# 仙盟等级表
class IPY_Family():
    def __init__(self):
        self.attrTuple = None
        return
    def GetFamilyLV(self): return self.attrTuple[0] # 仙盟等级 BYTE
    def GetMemberMax(self): return self.attrTuple[1] # 成员数上限 BYTE
    def GetDeputyLeaderMax(self): return self.attrTuple[2] # 副盟主数上限 BYTE
    def GetEliteMax(self): return self.attrTuple[3] # 精英数上限 BYTE
    def GetNeedExp(self): return self.attrTuple[4] # 升级所需经验 DWORD
    def GetZhenbaogeWeights(self): return self.attrTuple[5] # 珍宝阁总权重 DWORD
# 仙盟徽章表
class IPY_FamilyEmblem():
    def __init__(self):
        self.attrTuple = None
        return
    def GetEmblemID(self): return self.attrTuple[0] # 徽章ID BYTE
    def GetUnlockFamilyLV(self): return self.attrTuple[1] # 解锁仙盟等级,为0时代表其他方式解锁 BYTE
    def GetExpireMinutes(self): return self.attrTuple[2] # 有效时长,分钟 DWORD
    def GetCustomFamilyID(self): return self.attrTuple[3] # 定制仙盟ID DWORD
# 仙盟珍宝阁砍价表
class IPY_FamilyZhenbaogeCut():
    def __init__(self):
        self.attrTuple = None
        return
    def GetCutNum(self): return self.attrTuple[0] # 砍价人次 BYTE
    def GetCutWeight(self): return self.attrTuple[1] # 砍价权重 DWORD
    def GetMinRatio(self): return self.attrTuple[2] # 保底比值 float
    def GetRandRatio(self): return self.attrTuple[3] # 随机比值 float
# 仙盟珍宝阁物品表
class IPY_FamilyZhenbaogeItem():
    def __init__(self):
        self.attrTuple = None
        return
    def GetItemGroupNum(self): return self.attrTuple[0] # 物品组编号 BYTE
    def GetItemWeight(self): return self.attrTuple[1] # 随机权重 DWORD
    def GetItemList(self): return self.attrTuple[2] # 物品列表[[物品ID,个数,是否拍品], ...] list
# 仙盟阵法表
class IPY_FamilyZhenfa():
    
@@ -6525,6 +6635,8 @@
        Log("IPY_DataMgr Reload... onlyCheck=%s" % onlyCheck)
        if not onlyCheck:
            self.ipyConfigEx = {}
        self.__LoadFileData("DirtyList", onlyCheck)
        self.__LoadFileData("DirtyName", onlyCheck)
        self.__LoadFileData("Dienstgrad", onlyCheck)
        self.__LoadFileData("TitleStarUp", onlyCheck)
        self.__LoadFileData("PlayerFace", onlyCheck)
@@ -6767,6 +6879,10 @@
        self.__LoadFileData("EquipPlusEvolve", onlyCheck)
        self.__LoadFileData("FamilyBossAward", onlyCheck)
        self.__LoadFileData("FamilyBossHurtAward", onlyCheck)
        self.__LoadFileData("Family", onlyCheck)
        self.__LoadFileData("FamilyEmblem", onlyCheck)
        self.__LoadFileData("FamilyZhenbaogeCut", onlyCheck)
        self.__LoadFileData("FamilyZhenbaogeItem", onlyCheck)
        self.__LoadFileData("FamilyZhenfa", onlyCheck)
        self.__LoadFileData("ItemWashMax", onlyCheck)
        self.__LoadFileData("HorsePetBossAward", onlyCheck)
@@ -6802,6 +6918,8 @@
    
    def __LoadFileData(self, tableName, onlyCheck=False):
        # @param onlyCheck: 是否仅检查格式,一般启动时用
        curPath = ChConfig.GetDBPath() + "\\PySysDB\\" + tableName + ".txt"
        if not os.path.isfile(curPath):
        curPath = ChConfig.GetDBPath() + "\\PySysDB\\tag" + tableName + ".txt"
        if not os.path.isfile(curPath):
            ErrLog("can not find file = %s,%s" % (tableName, curPath))
@@ -6998,6 +7116,20 @@
                setList = tuple(setList)
        return setList
    
    def GetDirtyListCount(self):
        self.CheckLoadData("DirtyList")
        return self.ipyDirtyListLen
    def GetDirtyListByIndex(self, index):
        self.CheckLoadData("DirtyList")
        return self.ipyDirtyListCache[index]
    def GetDirtyNameCount(self):
        self.CheckLoadData("DirtyName")
        return self.ipyDirtyNameLen
    def GetDirtyNameByIndex(self, index):
        self.CheckLoadData("DirtyName")
        return self.ipyDirtyNameCache[index]
    def GetDienstgradCount(self):
        self.CheckLoadData("Dienstgrad")
@@ -8693,6 +8825,34 @@
        self.CheckLoadData("FamilyBossHurtAward")
        return self.ipyFamilyBossHurtAwardCache[index]
    def GetFamilyCount(self):
        self.CheckLoadData("Family")
        return self.ipyFamilyLen
    def GetFamilyByIndex(self, index):
        self.CheckLoadData("Family")
        return self.ipyFamilyCache[index]
    def GetFamilyEmblemCount(self):
        self.CheckLoadData("FamilyEmblem")
        return self.ipyFamilyEmblemLen
    def GetFamilyEmblemByIndex(self, index):
        self.CheckLoadData("FamilyEmblem")
        return self.ipyFamilyEmblemCache[index]
    def GetFamilyZhenbaogeCutCount(self):
        self.CheckLoadData("FamilyZhenbaogeCut")
        return self.ipyFamilyZhenbaogeCutLen
    def GetFamilyZhenbaogeCutByIndex(self, index):
        self.CheckLoadData("FamilyZhenbaogeCut")
        return self.ipyFamilyZhenbaogeCutCache[index]
    def GetFamilyZhenbaogeItemCount(self):
        self.CheckLoadData("FamilyZhenbaogeItem")
        return self.ipyFamilyZhenbaogeItemLen
    def GetFamilyZhenbaogeItemByIndex(self, index):
        self.CheckLoadData("FamilyZhenbaogeItem")
        return self.ipyFamilyZhenbaogeItemCache[index]
    def GetFamilyZhenfaCount(self):
        self.CheckLoadData("FamilyZhenfa")
        return self.ipyFamilyZhenfaLen