hxp
2021-02-03 602fe4f9eaf193ed5437b91206e02704fd298ce9
Tool/Robot/Protocol/PacketsSendPY.py
@@ -1304,6 +1304,54 @@
#------------------------------------------------------
# A9 A8 查看竞技场对战记录 #tagCGQueryArenaBattleRecord
class  tagCGQueryArenaBattleRecord(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA9
        self.SubCmd = 0xA8
        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 = 0xA8
        return
    def GetLength(self):
        return sizeof(tagCGQueryArenaBattleRecord)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A9 A8 查看竞技场对战记录 //tagCGQueryArenaBattleRecord:
                                Cmd:%s,
                                SubCmd:%s
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd
                                )
        return DumpString
m_NAtagCGQueryArenaBattleRecord=tagCGQueryArenaBattleRecord()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryArenaBattleRecord.Cmd,m_NAtagCGQueryArenaBattleRecord.SubCmd))] = m_NAtagCGQueryArenaBattleRecord
#------------------------------------------------------
# A9 04 查询boss信息 #tagCGQueryBossInfo
class  tagCGQueryBossInfo(Structure):
@@ -3567,6 +3615,58 @@
#------------------------------------------------------
# B9 11 请求加入队伍 #tagCGRequestJoinTeam
class  tagCGRequestJoinTeam(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("TeamID", c_int),    # 目标队伍ID
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xB9
        self.SubCmd = 0x11
        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 = 0xB9
        self.SubCmd = 0x11
        self.TeamID = 0
        return
    def GetLength(self):
        return sizeof(tagCGRequestJoinTeam)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B9 11 请求加入队伍 //tagCGRequestJoinTeam:
                                Cmd:%s,
                                SubCmd:%s,
                                TeamID:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.TeamID
                                )
        return DumpString
m_NAtagCGRequestJoinTeam=tagCGRequestJoinTeam()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGRequestJoinTeam.Cmd,m_NAtagCGRequestJoinTeam.SubCmd))] = m_NAtagCGRequestJoinTeam
#------------------------------------------------------
# B9 09 队员进入副本准备选择 #tagCGTeamMemberPrepare
class  tagCGTeamMemberPrepare(Structure):
@@ -3664,6 +3764,66 @@
m_NAtagCGForceQuitCrossState=tagCGForceQuitCrossState()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGForceQuitCrossState.Cmd,m_NAtagCGForceQuitCrossState.SubCmd))] = m_NAtagCGForceQuitCrossState
#------------------------------------------------------
# C0 04 查看跨服排行榜 #tagCGViewCrossBillboard
class  tagCGViewCrossBillboard(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("Type", c_ubyte),    #榜单类型
                  ("GroupValue1", c_ubyte),    # 分组值1
                  ("GroupValue2", c_ubyte),    # 分组值2,与分组值1组合归为同组榜单数据
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xC0
        self.SubCmd = 0x04
        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 = 0xC0
        self.SubCmd = 0x04
        self.Type = 0
        self.GroupValue1 = 0
        self.GroupValue2 = 0
        return
    def GetLength(self):
        return sizeof(tagCGViewCrossBillboard)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// C0 04 查看跨服排行榜 //tagCGViewCrossBillboard:
                                Cmd:%s,
                                SubCmd:%s,
                                Type:%d,
                                GroupValue1:%d,
                                GroupValue2:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.Type,
                                self.GroupValue1,
                                self.GroupValue2
                                )
        return DumpString
m_NAtagCGViewCrossBillboard=tagCGViewCrossBillboard()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGViewCrossBillboard.Cmd,m_NAtagCGViewCrossBillboard.SubCmd))] = m_NAtagCGViewCrossBillboard
#------------------------------------------------------
@@ -3896,6 +4056,58 @@
m_NAtagCMPCInfo=tagCMPCInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMPCInfo.Head.Cmd,m_NAtagCMPCInfo.Head.SubCmd))] = m_NAtagCMPCInfo
#------------------------------------------------------
# A1 23 查询充值次数 #tagCMQueryCoinToGoldCount
class  tagCMQueryCoinToGoldCount(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("RecordID", c_ubyte),    #充值记录ID,也就是充值ID,发0则查全部
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA1
        self.SubCmd = 0x23
        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 = 0xA1
        self.SubCmd = 0x23
        self.RecordID = 0
        return
    def GetLength(self):
        return sizeof(tagCMQueryCoinToGoldCount)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A1 23 查询充值次数 //tagCMQueryCoinToGoldCount:
                                Cmd:%s,
                                SubCmd:%s,
                                RecordID:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.RecordID
                                )
        return DumpString
m_NAtagCMQueryCoinToGoldCount=tagCMQueryCoinToGoldCount()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMQueryCoinToGoldCount.Cmd,m_NAtagCMQueryCoinToGoldCount.SubCmd))] = m_NAtagCMQueryCoinToGoldCount
#------------------------------------------------------
@@ -7155,6 +7367,7 @@
                  ("SubCmd", c_ubyte),
                  ("PackType", c_ubyte),    #背包类型
                  ("ItemIndex", c_ubyte),    #物品在背包中索引
                  ("IsAll", c_ubyte),    #是否处理所有过期物品
                  ]
    def __init__(self):
@@ -7173,6 +7386,7 @@
        self.SubCmd = 0x08
        self.PackType = 0
        self.ItemIndex = 0
        self.IsAll = 0
        return
    def GetLength(self):
@@ -7186,13 +7400,15 @@
                                Cmd:%s,
                                SubCmd:%s,
                                PackType:%d,
                                ItemIndex:%d
                                ItemIndex:%d,
                                IsAll:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.PackType,
                                self.ItemIndex
                                self.ItemIndex,
                                self.IsAll
                                )
        return DumpString
@@ -10500,7 +10716,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("UseItemCnt", c_ubyte),    #消耗材料个数
                  ("UseItemCnt", c_ushort),    #消耗材料个数
                  ("IsAutoBuy", c_ubyte),    #是否自动购买
                  ]
@@ -13042,6 +13258,62 @@
#------------------------------------------------------
# AA 09 集字活动兑换 #tagCMActCollectWordsExchange
class  tagCMActCollectWordsExchange(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("ActNum", c_ubyte),    #活动编号,1 或 2,相互独立的活动,可同时开启
                  ("ExchangeNum", c_ubyte),    #兑换编号
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xAA
        self.SubCmd = 0x09
        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 = 0xAA
        self.SubCmd = 0x09
        self.ActNum = 0
        self.ExchangeNum = 0
        return
    def GetLength(self):
        return sizeof(tagCMActCollectWordsExchange)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AA 09 集字活动兑换 //tagCMActCollectWordsExchange:
                                Cmd:%s,
                                SubCmd:%s,
                                ActNum:%d,
                                ExchangeNum:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.ActNum,
                                self.ExchangeNum
                                )
        return DumpString
m_NAtagCMActCollectWordsExchange=tagCMActCollectWordsExchange()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActCollectWordsExchange.Cmd,m_NAtagCMActCollectWordsExchange.SubCmd))] = m_NAtagCMActCollectWordsExchange
#------------------------------------------------------
# AA 07 许愿池活动刷新奖池 #tagCMActWishingRefresh
class  tagCMActWishingRefresh(Structure):
@@ -13155,6 +13427,114 @@
m_NAtagCMActWishing=tagCMActWishing()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActWishing.Cmd,m_NAtagCMActWishing.SubCmd))] = m_NAtagCMActWishing
#------------------------------------------------------
# AA 10 节日祝福瓶选择奖励物品 #tagCMFeastWishBottleChooseItem
class  tagCMFeastWishBottleChooseItem(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("BottleNum", c_ubyte),    #瓶子编号
                  ("RecordIndex", c_ubyte),    #物品索引,用于选择及记录是否已选择
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xAA
        self.SubCmd = 0x10
        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 = 0xAA
        self.SubCmd = 0x10
        self.BottleNum = 0
        self.RecordIndex = 0
        return
    def GetLength(self):
        return sizeof(tagCMFeastWishBottleChooseItem)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AA 10 节日祝福瓶选择奖励物品 //tagCMFeastWishBottleChooseItem:
                                Cmd:%s,
                                SubCmd:%s,
                                BottleNum:%d,
                                RecordIndex:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.BottleNum,
                                self.RecordIndex
                                )
        return DumpString
m_NAtagCMFeastWishBottleChooseItem=tagCMFeastWishBottleChooseItem()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFeastWishBottleChooseItem.Cmd,m_NAtagCMFeastWishBottleChooseItem.SubCmd))] = m_NAtagCMFeastWishBottleChooseItem
#------------------------------------------------------
# AA 11 节日祝福池祝福 #tagCMFeastWishPoolWish
class  tagCMFeastWishPoolWish(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("WishCount", c_ubyte),    #祝福次数
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xAA
        self.SubCmd = 0x11
        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 = 0xAA
        self.SubCmd = 0x11
        self.WishCount = 0
        return
    def GetLength(self):
        return sizeof(tagCMFeastWishPoolWish)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AA 11 节日祝福池祝福 //tagCMFeastWishPoolWish:
                                Cmd:%s,
                                SubCmd:%s,
                                WishCount:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.WishCount
                                )
        return DumpString
m_NAtagCMFeastWishPoolWish=tagCMFeastWishPoolWish()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFeastWishPoolWish.Cmd,m_NAtagCMFeastWishPoolWish.SubCmd))] = m_NAtagCMFeastWishPoolWish
#------------------------------------------------------
@@ -15063,6 +15443,114 @@
#------------------------------------------------------
# B2 10 竞技场挑战玩家 #tagCMArenaBattle
class  tagCMArenaBattle(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("TagPlayerID", c_int),    # 目标玩家ID或机器人ID
                  ("Result", c_ubyte),    # 0-进入自定义场景发送通知后端;1-胜利(后端处理,暂时不需要发送此状态);2-失败(前端被对手击杀需要发送此状态)
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xB2
        self.SubCmd = 0x10
        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 = 0xB2
        self.SubCmd = 0x10
        self.TagPlayerID = 0
        self.Result = 0
        return
    def GetLength(self):
        return sizeof(tagCMArenaBattle)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B2 10 竞技场挑战玩家 //tagCMArenaBattle:
                                Cmd:%s,
                                SubCmd:%s,
                                TagPlayerID:%d,
                                Result:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.TagPlayerID,
                                self.Result
                                )
        return DumpString
m_NAtagCMArenaBattle=tagCMArenaBattle()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMArenaBattle.Cmd,m_NAtagCMArenaBattle.SubCmd))] = m_NAtagCMArenaBattle
#------------------------------------------------------
# B2 09 竞技场匹配玩家 #tagCMArenaMatch
class  tagCMArenaMatch(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("IsRefresh", c_ubyte),    # 0-打开界面无匹配数据时时查询,1-强制刷新匹配列表
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xB2
        self.SubCmd = 0x09
        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 = 0xB2
        self.SubCmd = 0x09
        self.IsRefresh = 0
        return
    def GetLength(self):
        return sizeof(tagCMArenaMatch)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B2 09 竞技场匹配玩家 //tagCMArenaMatch:
                                Cmd:%s,
                                SubCmd:%s,
                                IsRefresh:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.IsRefresh
                                )
        return DumpString
m_NAtagCMArenaMatch=tagCMArenaMatch()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMArenaMatch.Cmd,m_NAtagCMArenaMatch.SubCmd))] = m_NAtagCMArenaMatch
#------------------------------------------------------
# B2 07 重置加点 #tagCMResetAttrPoint
class  tagCMResetAttrPoint(Structure):
@@ -16467,7 +16955,7 @@
class  tagCMBiddingAuctionItem(Structure):
    Head = tagHead()
    ItemGUID = ""    #(char ItemGUID[40])
    BiddingPrice = 0    #(WORD BiddingPrice)//竞价价格
    BiddingPrice = 0    #(DWORD BiddingPrice)//竞价价格
    data = None
    def __init__(self):
@@ -16480,7 +16968,7 @@
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
        self.BiddingPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.BiddingPrice,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        return _pos
    def Clear(self):
@@ -16496,7 +16984,7 @@
        length = 0
        length += self.Head.GetLength()
        length += 40
        length += 2
        length += 4
        return length
@@ -16504,7 +16992,7 @@
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteString(data, 40, self.ItemGUID)
        data = CommFunc.WriteWORD(data, self.BiddingPrice)
        data = CommFunc.WriteDWORD(data, self.BiddingPrice)
        return data
    def OutputString(self):
@@ -16683,6 +17171,7 @@
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("ItemIndex", c_ubyte),    #物品在背包中索引
                  ("SellCount", c_ushort),    #上架个数,0代表全部上架
                  ]
    def __init__(self):
@@ -16700,6 +17189,7 @@
        self.Cmd = 0xB5
        self.SubCmd = 0x13
        self.ItemIndex = 0
        self.SellCount = 0
        return
    def GetLength(self):
@@ -16712,12 +17202,14 @@
        DumpString = '''// B5 13 拍卖行上架拍品 //tagCMSellAuctionItem:
                                Cmd:%s,
                                SubCmd:%s,
                                ItemIndex:%d
                                ItemIndex:%d,
                                SellCount:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.ItemIndex
                                self.ItemIndex,
                                self.SellCount
                                )
        return DumpString