ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -22496,16 +22496,12 @@
#------------------------------------------------------
# B1 22 武将信息 #tagSCHeroInfo
class  tagSCHero(Structure):
class  tagSCHeroSkin(Structure):
    _pack_ = 1
    _fields_ = [
                  ("HeroID", c_int),    # 武将ID
                  ("SkinState", c_int),    # 武将皮肤已解锁状态信息,按皮肤所在索引二进制位运算判断是否解锁,0索引位默认皮肤,不用验证
                  ("BookInitState", c_ubyte),    # 图鉴激活状态:0-未激活;1-可激活;2-已激活
                  ("BookStarLV", c_ushort),    # 图鉴星级等级
                  ("BookBreakLV", c_ushort),    # 图鉴突破等级
                  ("BookStarLVH", c_ushort),    # 图鉴星级历史最高等级
                  ("BookBreakLVH", c_ushort),    # 图鉴突破历史最高等级
                  ("SkinID", c_int),    #皮肤ID,只通知非默认皮肤
                  ("State", c_ubyte),    #是否已激活
                  ("Star", c_ubyte),    #星级
                  ]
    def __init__(self):
@@ -22518,39 +22514,91 @@
        return _pos + self.GetLength()
    def Clear(self):
        self.HeroID = 0
        self.SkinState = 0
        self.BookInitState = 0
        self.BookStarLV = 0
        self.BookBreakLV = 0
        self.BookStarLVH = 0
        self.BookBreakLVH = 0
        self.SkinID = 0
        self.State = 0
        self.Star = 0
        return
    def GetLength(self):
        return sizeof(tagSCHero)
        return sizeof(tagSCHeroSkin)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B1 22 武将信息 //tagSCHeroInfo:
                                SkinID:%d,
                                State:%d,
                                Star:%d
                                '''\
                                %(
                                self.SkinID,
                                self.State,
                                self.Star
                                )
        return DumpString
class  tagSCHero(Structure):
    HeroID = 0    #(DWORD HeroID)// 武将ID
    BookInitState = 0    #(BYTE BookInitState)// 图鉴激活状态:0-未激活;1-可激活;2-已激活
    SkinCnt = 0    #(BYTE SkinCnt)
    SkinList = list()    #(vector<tagSCHeroSkin> SkinList)// 非默认皮肤信息列表
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.HeroID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.BookInitState,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.SkinCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.SkinCnt):
            temSkinList = tagSCHeroSkin()
            _pos = temSkinList.ReadData(_lpData, _pos)
            self.SkinList.append(temSkinList)
        return _pos
    def Clear(self):
        self.HeroID = 0
        self.BookInitState = 0
        self.SkinCnt = 0
        self.SkinList = list()
        return
    def GetLength(self):
        length = 0
        length += 4
        length += 1
        length += 1
        for i in range(self.SkinCnt):
            length += self.SkinList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteDWORD(data, self.HeroID)
        data = CommFunc.WriteBYTE(data, self.BookInitState)
        data = CommFunc.WriteBYTE(data, self.SkinCnt)
        for i in range(self.SkinCnt):
            data = CommFunc.WriteString(data, self.SkinList[i].GetLength(), self.SkinList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                HeroID:%d,
                                SkinState:%d,
                                BookInitState:%d,
                                BookStarLV:%d,
                                BookBreakLV:%d,
                                BookStarLVH:%d,
                                BookBreakLVH:%d
                                SkinCnt:%d,
                                SkinList:%s
                                '''\
                                %(
                                self.HeroID,
                                self.SkinState,
                                self.BookInitState,
                                self.BookStarLV,
                                self.BookBreakLV,
                                self.BookStarLVH,
                                self.BookBreakLVH
                                self.SkinCnt,
                                "..."
                                )
        return DumpString