hxp
2024-09-04 c7de89ae0c2999d9d2585dc63df28eac36a443e1
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -1252,6 +1252,58 @@
#------------------------------------------------------
# A9 07 点赞仙宫 #tagCGLikeXiangong
class  tagCGLikeXiangong(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("XiangongID", c_ushort),    # 仙宫ID,为0时代表每日的仙宫点赞
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA9
        self.SubCmd = 0x07
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.Cmd = 0xA9
        self.SubCmd = 0x07
        self.XiangongID = 0
        return
    def GetLength(self):
        return sizeof(tagCGLikeXiangong)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A9 07 点赞仙宫 //tagCGLikeXiangong:
                                Cmd:%s,
                                SubCmd:%s,
                                XiangongID:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.XiangongID
                                )
        return DumpString
m_NAtagCGLikeXiangong=tagCGLikeXiangong()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGLikeXiangong.Cmd,m_NAtagCGLikeXiangong.SubCmd))] = m_NAtagCGLikeXiangong
#------------------------------------------------------
# A9 A5 查看竞技场对战玩家最新信息 #tagCGQueryArenaBattlePlayer
class  tagCGQueryArenaBattlePlayer(Structure):
@@ -1569,6 +1621,58 @@
m_NAtagCGQueryRecommendFriends=tagCGQueryRecommendFriends()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryRecommendFriends.Cmd,m_NAtagCGQueryRecommendFriends.SubCmd))] = m_NAtagCGQueryRecommendFriends
#------------------------------------------------------
# A9 06 查看仙宫仙名录 #tagCGQueryXiangongRecPlayers
class  tagCGQueryXiangongRecPlayers(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("XiangongID", c_ushort),    # 仙宫ID
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA9
        self.SubCmd = 0x06
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.Cmd = 0xA9
        self.SubCmd = 0x06
        self.XiangongID = 0
        return
    def GetLength(self):
        return sizeof(tagCGQueryXiangongRecPlayers)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A9 06 查看仙宫仙名录 //tagCGQueryXiangongRecPlayers:
                                Cmd:%s,
                                SubCmd:%s,
                                XiangongID:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.XiangongID
                                )
        return DumpString
m_NAtagCGQueryXiangongRecPlayers=tagCGQueryXiangongRecPlayers()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryXiangongRecPlayers.Cmd,m_NAtagCGQueryXiangongRecPlayers.SubCmd))] = m_NAtagCGQueryXiangongRecPlayers
#------------------------------------------------------
@@ -19471,18 +19575,15 @@
#------------------------------------------------------
# B2 17 古宝升星 #tagCMGubaoStarUp
class  tagCMGubaoStarUp(Structure):
class  tagCMGubaoPieceUse(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("GubaoID", c_ushort),
                  ("GubaoID", c_ushort),    # 通用碎片古宝ID
                  ("PieceCount", c_ushort),    # 使用碎片个数
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xB2
        self.SubCmd = 0x17
        return
    def ReadData(self, stringData, _pos=0, _len=0):
@@ -19491,33 +19592,99 @@
        return _pos + self.GetLength()
    def Clear(self):
        self.Cmd = 0xB2
        self.SubCmd = 0x17
        self.GubaoID = 0
        self.PieceCount = 0
        return
    def GetLength(self):
        return sizeof(tagCMGubaoStarUp)
        return sizeof(tagCMGubaoPieceUse)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B2 17 古宝升星 //tagCMGubaoStarUp:
                                Cmd:%s,
                                SubCmd:%s,
                                GubaoID:%d
                                GubaoID:%d,
                                PieceCount:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.GubaoID
                                self.GubaoID,
                                self.PieceCount
                                )
        return DumpString
class  tagCMGubaoStarUp(Structure):
    Head = tagHead()
    GubaoID = 0    #(WORD GubaoID)
    PieceSelectCount = 0    #(BYTE PieceSelectCount)
    CommPieceUseList = list()    #(vector<tagCMGubaoPieceUse> CommPieceUseList)// 通用古宝碎片使用列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xB2
        self.Head.SubCmd = 0x17
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.GubaoID,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.PieceSelectCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.PieceSelectCount):
            temCommPieceUseList = tagCMGubaoPieceUse()
            _pos = temCommPieceUseList.ReadData(_lpData, _pos)
            self.CommPieceUseList.append(temCommPieceUseList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xB2
        self.Head.SubCmd = 0x17
        self.GubaoID = 0
        self.PieceSelectCount = 0
        self.CommPieceUseList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 2
        length += 1
        for i in range(self.PieceSelectCount):
            length += self.CommPieceUseList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteWORD(data, self.GubaoID)
        data = CommFunc.WriteBYTE(data, self.PieceSelectCount)
        for i in range(self.PieceSelectCount):
            data = CommFunc.WriteString(data, self.CommPieceUseList[i].GetLength(), self.CommPieceUseList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                GubaoID:%d,
                                PieceSelectCount:%d,
                                CommPieceUseList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.GubaoID,
                                self.PieceSelectCount,
                                "..."
                                )
        return DumpString
m_NAtagCMGubaoStarUp=tagCMGubaoStarUp()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGubaoStarUp.Cmd,m_NAtagCMGubaoStarUp.SubCmd))] = m_NAtagCMGubaoStarUp
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGubaoStarUp.Head.Cmd,m_NAtagCMGubaoStarUp.Head.SubCmd))] = m_NAtagCMGubaoStarUp
#------------------------------------------------------