From 71d77df560af421d106484e9276e89297b88e40a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 04 六月 2025 19:09:47 +0800
Subject: [PATCH] 0312 调整结构简化为 只有 Client和Server概念 导出
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py | 9723 ++++++++++++++++++++++++++++-------------------------------
1 files changed, 4,656 insertions(+), 5,067 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
index d2e2a50..e95e85e 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -327,5073 +327,6 @@
#------------------------------------------------------
-#A4 06 变更家族成员加入审核方式#tagCGChangeFamilyAcceptJoinType
-
-class tagCGChangeFamilyAcceptJoinType(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("Type", c_ubyte), #0 默认需要审核,1 自动同意申请,2 拒绝申请
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA4
- 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 = 0xA4
- self.SubCmd = 0x06
- self.Type = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGChangeFamilyAcceptJoinType)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//A4 06 变更家族成员加入审核方式//tagCGChangeFamilyAcceptJoinType:
- Cmd:%s,
- SubCmd:%s,
- Type:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.Type
- )
- return DumpString
-
-
-m_NAtagCGChangeFamilyAcceptJoinType=tagCGChangeFamilyAcceptJoinType()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChangeFamilyAcceptJoinType.Cmd,m_NAtagCGChangeFamilyAcceptJoinType.SubCmd))] = m_NAtagCGChangeFamilyAcceptJoinType
-
-
-#------------------------------------------------------
-# A4 13 修改家族徽章 #tagCGChangeFamilyEmblem
-
-class tagCGChangeFamilyEmblem(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("EmblemID", c_ubyte), # 更换的徽章ID
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA4
- self.SubCmd = 0x13
- 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 = 0xA4
- self.SubCmd = 0x13
- self.EmblemID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGChangeFamilyEmblem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A4 13 修改家族徽章 //tagCGChangeFamilyEmblem:
- Cmd:%s,
- SubCmd:%s,
- EmblemID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.EmblemID
- )
- return DumpString
-
-
-m_NAtagCGChangeFamilyEmblem=tagCGChangeFamilyEmblem()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChangeFamilyEmblem.Cmd,m_NAtagCGChangeFamilyEmblem.SubCmd))] = m_NAtagCGChangeFamilyEmblem
-
-
-#------------------------------------------------------
-# A4 08 查询家族行为信息 #tagCGQueryFamilyAction
-
-class tagCGQueryFamilyAction(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ActionType", c_ubyte), # 行为类型
- ("FamilyID", c_int), # 家族ID
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA4
- self.SubCmd = 0x08
- 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 = 0xA4
- self.SubCmd = 0x08
- self.ActionType = 0
- self.FamilyID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGQueryFamilyAction)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A4 08 查询家族行为信息 //tagCGQueryFamilyAction:
- Cmd:%s,
- SubCmd:%s,
- ActionType:%d,
- FamilyID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ActionType,
- self.FamilyID
- )
- return DumpString
-
-
-m_NAtagCGQueryFamilyAction=tagCGQueryFamilyAction()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryFamilyAction.Cmd,m_NAtagCGQueryFamilyAction.SubCmd))] = m_NAtagCGQueryFamilyAction
-
-
-#------------------------------------------------------
-#A4 07 升级家族#tagCGFamilyLVUp
-
-class tagCGFamilyLVUp(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA4
- 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 = 0xA4
- self.SubCmd = 0x07
- return
-
- def GetLength(self):
- return sizeof(tagCGFamilyLVUp)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//A4 07 升级家族//tagCGFamilyLVUp:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagCGFamilyLVUp=tagCGFamilyLVUp()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGFamilyLVUp.Cmd,m_NAtagCGFamilyLVUp.SubCmd))] = m_NAtagCGFamilyLVUp
-
-
-#------------------------------------------------------
-# A4 09 家族仓库删除物品 #tagCGFamilyStoreDel
-
-class tagCGFamilyStoreDel(Structure):
- Head = tagHead()
- IndexCount = 0 #(BYTE IndexCount)
- StoreItemIndex = list() #(vector<BYTE> StoreItemIndex)// 仓库物品索引,1代表索引0的物品,与兑换一致
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA4
- self.Head.SubCmd = 0x09
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.IndexCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.IndexCount):
- value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
- self.StoreItemIndex.append(value)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA4
- self.Head.SubCmd = 0x09
- self.IndexCount = 0
- self.StoreItemIndex = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 1 * self.IndexCount
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.IndexCount)
- for i in range(self.IndexCount):
- data = CommFunc.WriteBYTE(data, self.StoreItemIndex[i])
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- IndexCount:%d,
- StoreItemIndex:%s
- '''\
- %(
- self.Head.OutputString(),
- self.IndexCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagCGFamilyStoreDel=tagCGFamilyStoreDel()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGFamilyStoreDel.Head.Cmd,m_NAtagCGFamilyStoreDel.Head.SubCmd))] = m_NAtagCGFamilyStoreDel
-
-
-#------------------------------------------------------
-# A4 10 仙盟联赛连胜奖励分配 #tagCGFamilyWarWinRewardAllot
-
-class tagCGFamilyWarWinRewardAllot(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("MemPlayerID", c_int), #分配给的仙盟成员玩家ID
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA4
- 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 = 0xA4
- self.SubCmd = 0x10
- self.MemPlayerID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGFamilyWarWinRewardAllot)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A4 10 仙盟联赛连胜奖励分配 //tagCGFamilyWarWinRewardAllot:
- Cmd:%s,
- SubCmd:%s,
- MemPlayerID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.MemPlayerID
- )
- return DumpString
-
-
-m_NAtagCGFamilyWarWinRewardAllot=tagCGFamilyWarWinRewardAllot()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGFamilyWarWinRewardAllot.Cmd,m_NAtagCGFamilyWarWinRewardAllot.SubCmd))] = m_NAtagCGFamilyWarWinRewardAllot
-
-
-#------------------------------------------------------
-#A4 03 加入家族审核情况 #tagCGJoinFamilyReply
-
-class tagCGJoinFamilyReply(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("TagPlayerID", c_int), #被审核玩家ID 0则代表全部
- ("IsOK", c_ubyte), #是否同意加入
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA4
- self.SubCmd = 0x03
- 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 = 0xA4
- self.SubCmd = 0x03
- self.TagPlayerID = 0
- self.IsOK = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGJoinFamilyReply)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//A4 03 加入家族审核情况 //tagCGJoinFamilyReply:
- Cmd:%s,
- SubCmd:%s,
- TagPlayerID:%d,
- IsOK:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.TagPlayerID,
- self.IsOK
- )
- return DumpString
-
-
-m_NAtagCGJoinFamilyReply=tagCGJoinFamilyReply()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGJoinFamilyReply.Cmd,m_NAtagCGJoinFamilyReply.SubCmd))] = m_NAtagCGJoinFamilyReply
-
-
-#------------------------------------------------------
-# A4 11 一键申请入盟 #tagCGOneKeyJoinFamily
-
-class tagCGOneKeyJoinFamily(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA4
- 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 = 0xA4
- self.SubCmd = 0x11
- return
-
- def GetLength(self):
- return sizeof(tagCGOneKeyJoinFamily)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A4 11 一键申请入盟 //tagCGOneKeyJoinFamily:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagCGOneKeyJoinFamily=tagCGOneKeyJoinFamily()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGOneKeyJoinFamily.Cmd,m_NAtagCGOneKeyJoinFamily.SubCmd))] = m_NAtagCGOneKeyJoinFamily
-
-
-#------------------------------------------------------
-# A4 04 创建家族 #tagCGPyCreatFamily
-
-class tagCGPyCreatFamily(Structure):
- Head = tagHead()
- Name = "" #(char Name[33])
- FakeID = 0 #(WORD FakeID)//假仙盟编号
- EmblemID = 0 #(BYTE EmblemID)//选择徽章ID,解锁仙盟等级为1级的均为可选ID
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA4
- self.Head.SubCmd = 0x04
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.Name,_pos = CommFunc.ReadString(_lpData, _pos,33)
- self.FakeID,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.EmblemID,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA4
- self.Head.SubCmd = 0x04
- self.Name = ""
- self.FakeID = 0
- self.EmblemID = 0
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 33
- length += 2
- length += 1
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 33, self.Name)
- data = CommFunc.WriteWORD(data, self.FakeID)
- data = CommFunc.WriteBYTE(data, self.EmblemID)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Name:%s,
- FakeID:%d,
- EmblemID:%d
- '''\
- %(
- self.Head.OutputString(),
- self.Name,
- self.FakeID,
- self.EmblemID
- )
- return DumpString
-
-
-m_NAtagCGPyCreatFamily=tagCGPyCreatFamily()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGPyCreatFamily.Head.Cmd,m_NAtagCGPyCreatFamily.Head.SubCmd))] = m_NAtagCGPyCreatFamily
-
-
-#------------------------------------------------------
-# A4 12 搜索家族 #tagCGPySearchFamily
-
-class tagCGPySearchFamily(Structure):
- Head = tagHead()
- MsgLen = 0 #(BYTE MsgLen)//模糊搜索家族,如果输入为空,则为不限制该条件
- Msg = "" #(String Msg)//size = MsgLen
- LV = 0 #(BYTE LV)//最低家族等级,如果为0,则不限制该条件
- MaxCount = 0 #(BYTE MaxCount)//搜索结果所需最大条数,后端限制最多返回20条
- IsSearching = 0 #(BYTE IsSearching)//默认1,如果有指定其他值,则返回指定值
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA4
- self.Head.SubCmd = 0x12
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.MsgLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.Msg,_pos = CommFunc.ReadString(_lpData, _pos,self.MsgLen)
- self.LV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.MaxCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.IsSearching,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA4
- self.Head.SubCmd = 0x12
- self.MsgLen = 0
- self.Msg = ""
- self.LV = 0
- self.MaxCount = 0
- self.IsSearching = 0
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += len(self.Msg)
- length += 1
- length += 1
- length += 1
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.MsgLen)
- data = CommFunc.WriteString(data, self.MsgLen, self.Msg)
- data = CommFunc.WriteBYTE(data, self.LV)
- data = CommFunc.WriteBYTE(data, self.MaxCount)
- data = CommFunc.WriteBYTE(data, self.IsSearching)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- MsgLen:%d,
- Msg:%s,
- LV:%d,
- MaxCount:%d,
- IsSearching:%d
- '''\
- %(
- self.Head.OutputString(),
- self.MsgLen,
- self.Msg,
- self.LV,
- self.MaxCount,
- self.IsSearching
- )
- return DumpString
-
-
-m_NAtagCGPySearchFamily=tagCGPySearchFamily()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGPySearchFamily.Head.Cmd,m_NAtagCGPySearchFamily.Head.SubCmd))] = m_NAtagCGPySearchFamily
-
-
-#------------------------------------------------------
-#A4 01 查看家族第N页#tagCGViewFamilyPage
-
-class tagCGViewFamilyPage(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("PageIndex", c_ushort), #查询页数
- ("ShowCount", c_ubyte), #每页显示数量
- ("SortRulex", c_ubyte), #排序规则
- ("ViewType", c_ubyte), #查看类型
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA4
- self.SubCmd = 0x01
- 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 = 0xA4
- self.SubCmd = 0x01
- self.PageIndex = 0
- self.ShowCount = 0
- self.SortRulex = 0
- self.ViewType = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGViewFamilyPage)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//A4 01 查看家族第N页//tagCGViewFamilyPage:
- Cmd:%s,
- SubCmd:%s,
- PageIndex:%d,
- ShowCount:%d,
- SortRulex:%d,
- ViewType:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.PageIndex,
- self.ShowCount,
- self.SortRulex,
- self.ViewType
- )
- return DumpString
-
-
-m_NAtagCGViewFamilyPage=tagCGViewFamilyPage()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGViewFamilyPage.Cmd,m_NAtagCGViewFamilyPage.SubCmd))] = m_NAtagCGViewFamilyPage
-
-
-#------------------------------------------------------
-#A4 02 查看申请入会的玩家 #tagCGViewFamilyRequestInfo
-
-class tagCGViewFamilyRequestInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA4
- self.SubCmd = 0x02
- 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 = 0xA4
- self.SubCmd = 0x02
- return
-
- def GetLength(self):
- return sizeof(tagCGViewFamilyRequestInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//A4 02 查看申请入会的玩家 //tagCGViewFamilyRequestInfo:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagCGViewFamilyRequestInfo=tagCGViewFamilyRequestInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGViewFamilyRequestInfo.Cmd,m_NAtagCGViewFamilyRequestInfo.SubCmd))] = m_NAtagCGViewFamilyRequestInfo
-
-
-#------------------------------------------------------
-# A4 14 查看目标仙盟 #tagCGViewTagFamily
-
-class tagCGViewTagFamily(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("TagFamilyID", c_int), # 目标仙盟ID,支持查看跨服仙盟
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA4
- self.SubCmd = 0x14
- 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 = 0xA4
- self.SubCmd = 0x14
- self.TagFamilyID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGViewTagFamily)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A4 14 查看目标仙盟 //tagCGViewTagFamily:
- Cmd:%s,
- SubCmd:%s,
- TagFamilyID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.TagFamilyID
- )
- return DumpString
-
-
-m_NAtagCGViewTagFamily=tagCGViewTagFamily()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGViewTagFamily.Cmd,m_NAtagCGViewTagFamily.SubCmd))] = m_NAtagCGViewTagFamily
-
-
-#------------------------------------------------------
-# A9 03 关注BOSS刷新 #tagCGAttentionBoss
-
-class tagCGAttentionBoss(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("IsAdd", c_ubyte), #0-取消关注, 1-关注
- ("BossID", c_int),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA9
- self.SubCmd = 0x03
- 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 = 0x03
- self.IsAdd = 0
- self.BossID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGAttentionBoss)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A9 03 关注BOSS刷新 //tagCGAttentionBoss:
- Cmd:%s,
- SubCmd:%s,
- IsAdd:%d,
- BossID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.IsAdd,
- self.BossID
- )
- return DumpString
-
-
-m_NAtagCGAttentionBoss=tagCGAttentionBoss()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGAttentionBoss.Cmd,m_NAtagCGAttentionBoss.SubCmd))] = m_NAtagCGAttentionBoss
-
-
-#------------------------------------------------------
-# A9 02 渡劫护法 #tagCGRealmFBHelp
-
-class tagCGRealmFBHelp(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("PlayerID", c_int), #护法目标ID
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA9
- self.SubCmd = 0x02
- 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 = 0x02
- self.PlayerID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGRealmFBHelp)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A9 02 渡劫护法 //tagCGRealmFBHelp:
- Cmd:%s,
- SubCmd:%s,
- PlayerID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.PlayerID
- )
- return DumpString
-
-
-m_NAtagCGRealmFBHelp=tagCGRealmFBHelp()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGRealmFBHelp.Cmd,m_NAtagCGRealmFBHelp.SubCmd))] = m_NAtagCGRealmFBHelp
-
-
-#------------------------------------------------------
-# A9 A2 查看排行榜#tagCPYWatchBillboard
-
-class tagCPYWatchBillboard(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("Type", c_ubyte), #类型 TBillboardType
- ("StartIndex", c_int), #查看的起始名次索引, 默认0
- ("WatchCnt", c_ubyte), #查看条数,默认20,最大不超过100
- ("WatchID", c_int), #查看指定ID名次前后,如玩家ID、家族ID等
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA9
- self.SubCmd = 0xA2
- 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 = 0xA2
- self.Type = 0
- self.StartIndex = 0
- self.WatchCnt = 0
- self.WatchID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCPYWatchBillboard)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A9 A2 查看排行榜//tagCPYWatchBillboard:
- Cmd:%s,
- SubCmd:%s,
- Type:%d,
- StartIndex:%d,
- WatchCnt:%d,
- WatchID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.Type,
- self.StartIndex,
- self.WatchCnt,
- self.WatchID
- )
- return DumpString
-
-
-m_NAtagCPYWatchBillboard=tagCPYWatchBillboard()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCPYWatchBillboard.Cmd,m_NAtagCPYWatchBillboard.SubCmd))] = m_NAtagCPYWatchBillboard
-
-
-#------------------------------------------------------
-# A9 A4 查找玩家 #tagCGFuzzySearchPlayer
-
-class tagCGFuzzySearchPlayer(Structure):
- Head = tagHead()
- Name = "" #(char Name[33])
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA9
- self.Head.SubCmd = 0xA4
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.Name,_pos = CommFunc.ReadString(_lpData, _pos,33)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA9
- self.Head.SubCmd = 0xA4
- self.Name = ""
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 33
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 33, self.Name)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Name:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Name
- )
- return DumpString
-
-
-m_NAtagCGFuzzySearchPlayer=tagCGFuzzySearchPlayer()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGFuzzySearchPlayer.Head.Cmd,m_NAtagCGFuzzySearchPlayer.Head.SubCmd))] = m_NAtagCGFuzzySearchPlayer
-
-
-#------------------------------------------------------
-# A9 01 获取Boss首杀奖励 #tagCGGetBossFirstKillAward
-
-class tagCGGetBossFirstKillAward(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("NPCID", c_int),
- ("AwardType", c_ubyte), # 0-首杀红包奖励;1-个人首杀奖励
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA9
- self.SubCmd = 0x01
- 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 = 0x01
- self.NPCID = 0
- self.AwardType = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGGetBossFirstKillAward)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A9 01 获取Boss首杀奖励 //tagCGGetBossFirstKillAward:
- Cmd:%s,
- SubCmd:%s,
- NPCID:%d,
- AwardType:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.NPCID,
- self.AwardType
- )
- return DumpString
-
-
-m_NAtagCGGetBossFirstKillAward=tagCGGetBossFirstKillAward()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGGetBossFirstKillAward.Cmd,m_NAtagCGGetBossFirstKillAward.SubCmd))] = m_NAtagCGGetBossFirstKillAward
-
-
-#------------------------------------------------------
-# 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):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("PlayerID", c_int), #目标玩家ID,仅支持查真实玩家
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA9
- self.SubCmd = 0xA5
- 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 = 0xA5
- self.PlayerID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGQueryArenaBattlePlayer)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A9 A5 查看竞技场对战玩家最新信息 //tagCGQueryArenaBattlePlayer:
- Cmd:%s,
- SubCmd:%s,
- PlayerID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.PlayerID
- )
- return DumpString
-
-
-m_NAtagCGQueryArenaBattlePlayer=tagCGQueryArenaBattlePlayer()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryArenaBattlePlayer.Cmd,m_NAtagCGQueryArenaBattlePlayer.SubCmd))] = m_NAtagCGQueryArenaBattlePlayer
-
-
-#------------------------------------------------------
-# 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):
- Head = tagHead()
- Count = 0 #(BYTE Count)//数量
- BossIDList = list() #(vector<DWORD> BossIDList)//boosid
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA9
- self.Head.SubCmd = 0x04
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Count):
- value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
- self.BossIDList.append(value)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA9
- self.Head.SubCmd = 0x04
- self.Count = 0
- self.BossIDList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 4 * self.Count
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.Count)
- for i in range(self.Count):
- data = CommFunc.WriteDWORD(data, self.BossIDList[i])
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Count:%d,
- BossIDList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagCGQueryBossInfo=tagCGQueryBossInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryBossInfo.Head.Cmd,m_NAtagCGQueryBossInfo.Head.SubCmd))] = m_NAtagCGQueryBossInfo
-
-
-#------------------------------------------------------
-#A9 A1 查询玩家补偿#tagCGQueryCompensation
-
-class tagCGQueryCompensation(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA9
- self.SubCmd = 0xA1
- 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 = 0xA1
- return
-
- def GetLength(self):
- return sizeof(tagCGQueryCompensation)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//A9 A1 查询玩家补偿//tagCGQueryCompensation:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagCGQueryCompensation=tagCGQueryCompensation()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryCompensation.Cmd,m_NAtagCGQueryCompensation.SubCmd))] = m_NAtagCGQueryCompensation
-
-
-#------------------------------------------------------
-# A9 05 查询广播装备详细信息 #tagCGQueryNotifyEquipDetailInfo
-
-class tagCGQueryNotifyEquipDetailInfo(Structure):
- Head = tagHead()
- ItemGUID = "" #(char ItemGUID[40])
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA9
- self.Head.SubCmd = 0x05
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA9
- self.Head.SubCmd = 0x05
- self.ItemGUID = ""
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 40
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 40, self.ItemGUID)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ItemGUID:%s
- '''\
- %(
- self.Head.OutputString(),
- self.ItemGUID
- )
- return DumpString
-
-
-m_NAtagCGQueryNotifyEquipDetailInfo=tagCGQueryNotifyEquipDetailInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryNotifyEquipDetailInfo.Head.Cmd,m_NAtagCGQueryNotifyEquipDetailInfo.Head.SubCmd))] = m_NAtagCGQueryNotifyEquipDetailInfo
-
-
-#------------------------------------------------------
-# A9 A3 查看推荐好友 #tagCGQueryRecommendFriends
-
-class tagCGQueryRecommendFriends(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA9
- self.SubCmd = 0xA3
- 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 = 0xA3
- return
-
- def GetLength(self):
- return sizeof(tagCGQueryRecommendFriends)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A9 A3 查看推荐好友 //tagCGQueryRecommendFriends:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-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
-
-
-#------------------------------------------------------
-#A9 A6 设置邮件(补偿)已读状态 #tagCGReadCompensation
-
-class tagCGReadCompensation(Structure):
- Head = tagHead()
- GUID = "" #(char GUID[40])
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA9
- self.Head.SubCmd = 0xA6
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.GUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA9
- self.Head.SubCmd = 0xA6
- self.GUID = ""
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 40
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 40, self.GUID)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- GUID:%s
- '''\
- %(
- self.Head.OutputString(),
- self.GUID
- )
- return DumpString
-
-
-m_NAtagCGReadCompensation=tagCGReadCompensation()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGReadCompensation.Head.Cmd,m_NAtagCGReadCompensation.Head.SubCmd))] = m_NAtagCGReadCompensation
-
-
-#------------------------------------------------------
-#A9 A7 删除邮件(补偿) #tagCGDelCompensation
-
-class tagCGDelCompensation(Structure):
- Head = tagHead()
- GUID = "" #(char GUID[40])
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA9
- self.Head.SubCmd = 0xA7
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.GUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA9
- self.Head.SubCmd = 0xA7
- self.GUID = ""
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 40
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 40, self.GUID)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- GUID:%s
- '''\
- %(
- self.Head.OutputString(),
- self.GUID
- )
- return DumpString
-
-
-m_NAtagCGDelCompensation=tagCGDelCompensation()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGDelCompensation.Head.Cmd,m_NAtagCGDelCompensation.Head.SubCmd))] = m_NAtagCGDelCompensation
-
-
-#------------------------------------------------------
-# AC 05 召集仙盟成员打boss #tagCGCallupFamilyMemberToBoss
-
-class tagCGCallupFamilyMemberToBoss(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("NPCID", c_int),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAC
- self.SubCmd = 0x05
- 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 = 0xAC
- self.SubCmd = 0x05
- self.NPCID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGCallupFamilyMemberToBoss)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AC 05 召集仙盟成员打boss //tagCGCallupFamilyMemberToBoss:
- Cmd:%s,
- SubCmd:%s,
- NPCID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.NPCID
- )
- return DumpString
-
-
-m_NAtagCGCallupFamilyMemberToBoss=tagCGCallupFamilyMemberToBoss()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCallupFamilyMemberToBoss.Cmd,m_NAtagCGCallupFamilyMemberToBoss.SubCmd))] = m_NAtagCGCallupFamilyMemberToBoss
-
-
-#------------------------------------------------------
-# AC 02 仙魔之争战斗结束 #tagCGXMZZOver
-
-class tagCGXMZZOver(Structure):
- Head = tagHead()
- IsWin = 0 #(BYTE IsWin)//是否胜利
- IsEnd = 0 #(BYTE IsEnd)//是否结束
- HPPer = 0 #(BYTE HPPer)//剩余血量百分比
- VSName = "" #(char VSName[33])//对手名字
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAC
- self.Head.SubCmd = 0x02
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.IsWin,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.IsEnd,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.HPPer,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.VSName,_pos = CommFunc.ReadString(_lpData, _pos,33)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAC
- self.Head.SubCmd = 0x02
- self.IsWin = 0
- self.IsEnd = 0
- self.HPPer = 0
- self.VSName = ""
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 1
- length += 1
- length += 33
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.IsWin)
- data = CommFunc.WriteBYTE(data, self.IsEnd)
- data = CommFunc.WriteBYTE(data, self.HPPer)
- data = CommFunc.WriteString(data, 33, self.VSName)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- IsWin:%d,
- IsEnd:%d,
- HPPer:%d,
- VSName:%s
- '''\
- %(
- self.Head.OutputString(),
- self.IsWin,
- self.IsEnd,
- self.HPPer,
- self.VSName
- )
- return DumpString
-
-
-m_NAtagCGXMZZOver=tagCGXMZZOver()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGXMZZOver.Head.Cmd,m_NAtagCGXMZZOver.Head.SubCmd))] = m_NAtagCGXMZZOver
-
-
-#------------------------------------------------------
-# AC 01 仙魔之争报名 #tagCGJoinXMZZ
-
-class tagCGJoinXMZZ(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAC
- self.SubCmd = 0x01
- 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 = 0xAC
- self.SubCmd = 0x01
- return
-
- def GetLength(self):
- return sizeof(tagCGJoinXMZZ)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AC 01 仙魔之争报名 //tagCGJoinXMZZ:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagCGJoinXMZZ=tagCGJoinXMZZ()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGJoinXMZZ.Cmd,m_NAtagCGJoinXMZZ.SubCmd))] = m_NAtagCGJoinXMZZ
-
-
-#------------------------------------------------------
-# AC 04 查询仙盟抢Boss所有Boss当前进度 #tagCGQueryAllFamilyBossHurt
-
-class tagCGQueryAllFamilyBossHurt(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAC
- 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 = 0xAC
- self.SubCmd = 0x04
- return
-
- def GetLength(self):
- return sizeof(tagCGQueryAllFamilyBossHurt)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AC 04 查询仙盟抢Boss所有Boss当前进度 //tagCGQueryAllFamilyBossHurt:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagCGQueryAllFamilyBossHurt=tagCGQueryAllFamilyBossHurt()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryAllFamilyBossHurt.Cmd,m_NAtagCGQueryAllFamilyBossHurt.SubCmd))] = m_NAtagCGQueryAllFamilyBossHurt
-
-
-#------------------------------------------------------
-# AC 03 仙魔之争信息查询 #tagCGXMZZInfoQuery
-
-class tagCGXMZZInfoQuery(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAC
- self.SubCmd = 0x03
- 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 = 0xAC
- self.SubCmd = 0x03
- return
-
- def GetLength(self):
- return sizeof(tagCGXMZZInfoQuery)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AC 03 仙魔之争信息查询 //tagCGXMZZInfoQuery:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagCGXMZZInfoQuery=tagCGXMZZInfoQuery()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGXMZZInfoQuery.Cmd,m_NAtagCGXMZZInfoQuery.SubCmd))] = m_NAtagCGXMZZInfoQuery
-
-
-#------------------------------------------------------
-# B0 13 取消协助Boss #tagCGCancelAssistBoss
-
-class tagCGCancelAssistBoss(Structure):
- Head = tagHead()
- AssistGUID = "" #(char AssistGUID[40])//协助GUID
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xB0
- self.Head.SubCmd = 0x13
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.AssistGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB0
- self.Head.SubCmd = 0x13
- self.AssistGUID = ""
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 40
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 40, self.AssistGUID)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- AssistGUID:%s
- '''\
- %(
- self.Head.OutputString(),
- self.AssistGUID
- )
- return DumpString
-
-
-m_NAtagCGCancelAssistBoss=tagCGCancelAssistBoss()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCancelAssistBoss.Head.Cmd,m_NAtagCGCancelAssistBoss.Head.SubCmd))] = m_NAtagCGCancelAssistBoss
-
-
-#------------------------------------------------------
-# B0 15 接收协助感谢礼物 #tagCGGetAssistThanksGift
-
-class tagCGGetAssistThanksGift(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("IsPreview", c_ubyte), #是否预览,非预览即确认领取,无额外奖励确认时也需要回复领取包代表已读
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB0
- self.SubCmd = 0x15
- 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 = 0xB0
- self.SubCmd = 0x15
- self.IsPreview = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGGetAssistThanksGift)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B0 15 接收协助感谢礼物 //tagCGGetAssistThanksGift:
- Cmd:%s,
- SubCmd:%s,
- IsPreview:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.IsPreview
- )
- return DumpString
-
-
-m_NAtagCGGetAssistThanksGift=tagCGGetAssistThanksGift()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGGetAssistThanksGift.Cmd,m_NAtagCGGetAssistThanksGift.SubCmd))] = m_NAtagCGGetAssistThanksGift
-
-
-#------------------------------------------------------
-# B0 34 福地请求结算奖励 #tagCGMineAreaAwardGet
-
-class tagCGMineAreaAwardGet(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB0
- self.SubCmd = 0x34
- 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 = 0xB0
- self.SubCmd = 0x34
- return
-
- def GetLength(self):
- return sizeof(tagCGMineAreaAwardGet)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B0 34 福地请求结算奖励 //tagCGMineAreaAwardGet:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagCGMineAreaAwardGet=tagCGMineAreaAwardGet()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGMineAreaAwardGet.Cmd,m_NAtagCGMineAreaAwardGet.SubCmd))] = m_NAtagCGMineAreaAwardGet
-
-
-#------------------------------------------------------
-# B0 33 福地查看 #tagCGMineAreaView
-
-class tagCGMineAreaView(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("QueryType", c_ubyte), # 查询同步类型:0-后端主动同步;1-查看指定福地;2-查看道友福地列表;3-查看周围随机福地列表;4-退出他人福地;5-查看记录
- ("QueryValue", c_int), # 查询值,类型1时-发送目标玩家ID;3时-发送是否重新随机
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB0
- self.SubCmd = 0x33
- 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 = 0xB0
- self.SubCmd = 0x33
- self.QueryType = 0
- self.QueryValue = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGMineAreaView)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B0 33 福地查看 //tagCGMineAreaView:
- Cmd:%s,
- SubCmd:%s,
- QueryType:%d,
- QueryValue:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.QueryType,
- self.QueryValue
- )
- return DumpString
-
-
-m_NAtagCGMineAreaView=tagCGMineAreaView()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGMineAreaView.Cmd,m_NAtagCGMineAreaView.SubCmd))] = m_NAtagCGMineAreaView
-
-
-#------------------------------------------------------
-#B0 25 请求家族悬赏任务完成情况 #tagQueryFamilyArrestOverState
-
-class tagQueryFamilyArrestOverState(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB0
- self.SubCmd = 0x25
- 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 = 0xB0
- self.SubCmd = 0x25
- return
-
- def GetLength(self):
- return sizeof(tagQueryFamilyArrestOverState)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//B0 25 请求家族悬赏任务完成情况 //tagQueryFamilyArrestOverState:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagQueryFamilyArrestOverState=tagQueryFamilyArrestOverState()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagQueryFamilyArrestOverState.Cmd,m_NAtagQueryFamilyArrestOverState.SubCmd))] = m_NAtagQueryFamilyArrestOverState
-
-
-#------------------------------------------------------
-# B0 12 开始协助Boss #tagCGStartAssistBoss
-
-class tagCGStartAssistBoss(Structure):
- Head = tagHead()
- AssistGUID = "" #(char AssistGUID[40])//协助GUID
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xB0
- self.Head.SubCmd = 0x12
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.AssistGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB0
- self.Head.SubCmd = 0x12
- self.AssistGUID = ""
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 40
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 40, self.AssistGUID)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- AssistGUID:%s
- '''\
- %(
- self.Head.OutputString(),
- self.AssistGUID
- )
- return DumpString
-
-
-m_NAtagCGStartAssistBoss=tagCGStartAssistBoss()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGStartAssistBoss.Head.Cmd,m_NAtagCGStartAssistBoss.Head.SubCmd))] = m_NAtagCGStartAssistBoss
-
-
-#------------------------------------------------------
-# B0 14 使用协助感谢礼盒 #tagCGUseAssistThanksGift
-
-class tagCGUseAssistThanksGift(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ItemID", c_int),
- ("IsPreview", c_ubyte), #是否预览,非预览即确认使用
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB0
- self.SubCmd = 0x14
- 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 = 0xB0
- self.SubCmd = 0x14
- self.ItemID = 0
- self.IsPreview = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGUseAssistThanksGift)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B0 14 使用协助感谢礼盒 //tagCGUseAssistThanksGift:
- Cmd:%s,
- SubCmd:%s,
- ItemID:%d,
- IsPreview:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ItemID,
- self.IsPreview
- )
- return DumpString
-
-
-m_NAtagCGUseAssistThanksGift=tagCGUseAssistThanksGift()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGUseAssistThanksGift.Cmd,m_NAtagCGUseAssistThanksGift.SubCmd))] = m_NAtagCGUseAssistThanksGift
-
-
-#------------------------------------------------------
-# B0 20 请求膜拜玩家 #tagCGWorship
-
-class tagCGWorship(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("PlayerID", c_int), # 目标玩家ID
- ("WorshipType", c_ubyte), # 膜拜类型
- ("WorshipValue", c_int), # 膜拜类型对应的功能值,如名次或其他,由具体膜拜类型定义对应值含义
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB0
- self.SubCmd = 0x20
- 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 = 0xB0
- self.SubCmd = 0x20
- self.PlayerID = 0
- self.WorshipType = 0
- self.WorshipValue = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGWorship)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B0 20 请求膜拜玩家 //tagCGWorship:
- Cmd:%s,
- SubCmd:%s,
- PlayerID:%d,
- WorshipType:%d,
- WorshipValue:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.PlayerID,
- self.WorshipType,
- self.WorshipValue
- )
- return DumpString
-
-
-m_NAtagCGWorship=tagCGWorship()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGWorship.Cmd,m_NAtagCGWorship.SubCmd))] = m_NAtagCGWorship
-
-
-#------------------------------------------------------
-# B3 19 提升魅力等级 #tagCGCharmLVUp
-
-class tagCGCharmLVUp(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB3
- self.SubCmd = 0x19
- 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 = 0xB3
- self.SubCmd = 0x19
- return
-
- def GetLength(self):
- return sizeof(tagCGCharmLVUp)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B3 19 提升魅力等级 //tagCGCharmLVUp:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagCGCharmLVUp=tagCGCharmLVUp()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCharmLVUp.Cmd,m_NAtagCGCharmLVUp.SubCmd))] = m_NAtagCGCharmLVUp
-
-
-#------------------------------------------------------
-# B3 09 魅力贡献榜查看 #tagCGCharmOfferBillboardQuery
-
-class tagCGCharmOfferBillboardQuery(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("PlayerID", c_int), # 魅力玩家ID
- ("QueryType", c_ubyte), # 查看类型: 1-总榜,2-周榜,3-日榜
- ("QueryCount", c_ubyte), # 查看名次数量,最大255
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB3
- 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 = 0xB3
- self.SubCmd = 0x09
- self.PlayerID = 0
- self.QueryType = 0
- self.QueryCount = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGCharmOfferBillboardQuery)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B3 09 魅力贡献榜查看 //tagCGCharmOfferBillboardQuery:
- Cmd:%s,
- SubCmd:%s,
- PlayerID:%d,
- QueryType:%d,
- QueryCount:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.PlayerID,
- self.QueryType,
- self.QueryCount
- )
- return DumpString
-
-
-m_NAtagCGCharmOfferBillboardQuery=tagCGCharmOfferBillboardQuery()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCharmOfferBillboardQuery.Cmd,m_NAtagCGCharmOfferBillboardQuery.SubCmd))] = m_NAtagCGCharmOfferBillboardQuery
-
-
-#------------------------------------------------------
-# B3 16 和平离婚回应 #tagGCMarryBreakResponse
-
-class tagGCMarryBreakResponse(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("IsOK", c_ubyte), # 是否同意,0-否,1-是
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB3
- self.SubCmd = 0x16
- 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 = 0xB3
- self.SubCmd = 0x16
- self.IsOK = 0
- return
-
- def GetLength(self):
- return sizeof(tagGCMarryBreakResponse)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B3 16 和平离婚回应 //tagGCMarryBreakResponse:
- Cmd:%s,
- SubCmd:%s,
- IsOK:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.IsOK
- )
- return DumpString
-
-
-m_NAtagGCMarryBreakResponse=tagGCMarryBreakResponse()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCMarryBreakResponse.Cmd,m_NAtagGCMarryBreakResponse.SubCmd))] = m_NAtagGCMarryBreakResponse
-
-
-#------------------------------------------------------
-# B3 12 提亲回应 #tagCGMarryResponse
-
-class tagCGMarryResponse(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ReqPlayerID", c_int), # 提亲的玩家ID
- ("IsOK", c_ubyte), # 是否同意,0-否,1-是
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB3
- self.SubCmd = 0x12
- 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 = 0xB3
- self.SubCmd = 0x12
- self.ReqPlayerID = 0
- self.IsOK = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGMarryResponse)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B3 12 提亲回应 //tagCGMarryResponse:
- Cmd:%s,
- SubCmd:%s,
- ReqPlayerID:%d,
- IsOK:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ReqPlayerID,
- self.IsOK
- )
- return DumpString
-
-
-m_NAtagCGMarryResponse=tagCGMarryResponse()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGMarryResponse.Cmd,m_NAtagCGMarryResponse.SubCmd))] = m_NAtagCGMarryResponse
-
-
-#------------------------------------------------------
-#B3 04 加入黑名单 #tagCGAddBlackList
-
-class tagCGAddBlackList(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("TagID", c_int), #玩家ID
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB3
- 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 = 0xB3
- self.SubCmd = 0x04
- self.TagID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGAddBlackList)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//B3 04 加入黑名单 //tagCGAddBlackList:
- Cmd:%s,
- SubCmd:%s,
- TagID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.TagID
- )
- return DumpString
-
-
-m_NAtagCGAddBlackList=tagCGAddBlackList()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGAddBlackList.Cmd,m_NAtagCGAddBlackList.SubCmd))] = m_NAtagCGAddBlackList
-
-
-#------------------------------------------------------
-#B3 01 添加好友#tagCGAddFriend
-
-class tagCGAddFriend(Structure):
- Head = tagHead()
- TagName = "" #(char TagName[33])//玩家名称
- TagID = 0 #(DWORD TagID)//玩家ID
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xB3
- self.Head.SubCmd = 0x01
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.TagName,_pos = CommFunc.ReadString(_lpData, _pos,33)
- self.TagID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB3
- self.Head.SubCmd = 0x01
- self.TagName = ""
- self.TagID = 0
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 33
- length += 4
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 33, self.TagName)
- data = CommFunc.WriteDWORD(data, self.TagID)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- TagName:%s,
- TagID:%d
- '''\
- %(
- self.Head.OutputString(),
- self.TagName,
- self.TagID
- )
- return DumpString
-
-
-m_NAtagCGAddFriend=tagCGAddFriend()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGAddFriend.Head.Cmd,m_NAtagCGAddFriend.Head.SubCmd))] = m_NAtagCGAddFriend
-
-
-#------------------------------------------------------
-#B3 05 移除黑名单 #tagCGDelBlackList
-
-class tagCGDelBlackList(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("TagID", c_int),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB3
- self.SubCmd = 0x05
- 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 = 0xB3
- self.SubCmd = 0x05
- self.TagID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGDelBlackList)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//B3 05 移除黑名单 //tagCGDelBlackList:
- Cmd:%s,
- SubCmd:%s,
- TagID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.TagID
- )
- return DumpString
-
-
-m_NAtagCGDelBlackList=tagCGDelBlackList()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGDelBlackList.Cmd,m_NAtagCGDelBlackList.SubCmd))] = m_NAtagCGDelBlackList
-
-
-#------------------------------------------------------
-#B3 02 删除好友#tagCGDeleteFriend
-
-class tagCGDeleteFriend(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("FriendID", c_int),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB3
- self.SubCmd = 0x02
- 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 = 0xB3
- self.SubCmd = 0x02
- self.FriendID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGDeleteFriend)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//B3 02 删除好友//tagCGDeleteFriend:
- Cmd:%s,
- SubCmd:%s,
- FriendID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.FriendID
- )
- return DumpString
-
-
-m_NAtagCGDeleteFriend=tagCGDeleteFriend()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGDeleteFriend.Cmd,m_NAtagCGDeleteFriend.SubCmd))] = m_NAtagCGDeleteFriend
-
-
-#------------------------------------------------------
-#B3 06 查询玩家的简短信息 #tagCGViewPlayerShortInfo
-
-class tagCGViewPlayerShortInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("PlayerID", c_int),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB3
- 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 = 0xB3
- self.SubCmd = 0x06
- self.PlayerID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGViewPlayerShortInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//B3 06 查询玩家的简短信息 //tagCGViewPlayerShortInfo:
- Cmd:%s,
- SubCmd:%s,
- PlayerID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.PlayerID
- )
- return DumpString
-
-
-m_NAtagCGViewPlayerShortInfo=tagCGViewPlayerShortInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGViewPlayerShortInfo.Cmd,m_NAtagCGViewPlayerShortInfo.SubCmd))] = m_NAtagCGViewPlayerShortInfo
-
-
-#------------------------------------------------------
-#B3 03 是否允许加入好友的回应#tagCGJoinFriendAnswer
-
-class tagCGJoinFriendAnswer(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("TagID", c_int),
- ("Answer", c_ubyte), #0: 拒绝 1: 接受
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB3
- self.SubCmd = 0x03
- 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 = 0xB3
- self.SubCmd = 0x03
- self.TagID = 0
- self.Answer = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGJoinFriendAnswer)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//B3 03 是否允许加入好友的回应//tagCGJoinFriendAnswer:
- Cmd:%s,
- SubCmd:%s,
- TagID:%d,
- Answer:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.TagID,
- self.Answer
- )
- return DumpString
-
-
-m_NAtagCGJoinFriendAnswer=tagCGJoinFriendAnswer()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGJoinFriendAnswer.Cmd,m_NAtagCGJoinFriendAnswer.SubCmd))] = m_NAtagCGJoinFriendAnswer
-
-
-#------------------------------------------------------
-# B5 18 拍卖行修改关注物品 #tagCGAttentionAuctionItemChange
-
-class tagCGAttentionAuctionItemChange(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ItemID", c_int),
- ("IsAttention", c_ubyte), #是否关注,取消关注发0
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB5
- self.SubCmd = 0x18
- 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 = 0xB5
- self.SubCmd = 0x18
- self.ItemID = 0
- self.IsAttention = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGAttentionAuctionItemChange)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B5 18 拍卖行修改关注物品 //tagCGAttentionAuctionItemChange:
- Cmd:%s,
- SubCmd:%s,
- ItemID:%d,
- IsAttention:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ItemID,
- self.IsAttention
- )
- return DumpString
-
-
-m_NAtagCGAttentionAuctionItemChange=tagCGAttentionAuctionItemChange()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGAttentionAuctionItemChange.Cmd,m_NAtagCGAttentionAuctionItemChange.SubCmd))] = m_NAtagCGAttentionAuctionItemChange
-
-
-#------------------------------------------------------
-# B5 03 交易所查询上架物品#tagCGPYQueryBourseItemOnSale
-
-class tagCGPYQueryBourseItemOnSale(Structure):
- Head = tagHead()
- QueryType = 0 #(DWORD QueryType)//查询的分类标识
- ItemName = "" #(char ItemName[33])//物品名(模糊查询)
- ItemID = 0 #(DWORD ItemID)//物品ID
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xB5
- self.Head.SubCmd = 0x03
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.QueryType,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ItemName,_pos = CommFunc.ReadString(_lpData, _pos,33)
- self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB5
- self.Head.SubCmd = 0x03
- self.QueryType = 0
- self.ItemName = ""
- self.ItemID = 0
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 4
- length += 33
- length += 4
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteDWORD(data, self.QueryType)
- data = CommFunc.WriteString(data, 33, self.ItemName)
- data = CommFunc.WriteDWORD(data, self.ItemID)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- QueryType:%d,
- ItemName:%s,
- ItemID:%d
- '''\
- %(
- self.Head.OutputString(),
- self.QueryType,
- self.ItemName,
- self.ItemID
- )
- return DumpString
-
-
-m_NAtagCGPYQueryBourseItemOnSale=tagCGPYQueryBourseItemOnSale()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGPYQueryBourseItemOnSale.Head.Cmd,m_NAtagCGPYQueryBourseItemOnSale.Head.SubCmd))] = m_NAtagCGPYQueryBourseItemOnSale
-
-
-#------------------------------------------------------
-# B5 16 拍卖行查询关注中的拍品 #tagCGQueryAttentionAuctionItem
-
-class tagCGQueryAttentionAuctionItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB5
- self.SubCmd = 0x16
- 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 = 0xB5
- self.SubCmd = 0x16
- return
-
- def GetLength(self):
- return sizeof(tagCGQueryAttentionAuctionItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B5 16 拍卖行查询关注中的拍品 //tagCGQueryAttentionAuctionItem:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagCGQueryAttentionAuctionItem=tagCGQueryAttentionAuctionItem()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryAttentionAuctionItem.Cmd,m_NAtagCGQueryAttentionAuctionItem.SubCmd))] = m_NAtagCGQueryAttentionAuctionItem
-
-
-#------------------------------------------------------
-# B5 10 拍卖行查询拍卖中的物品 #tagCGQueryAuctionItem
-
-class tagCGQueryAuctionItem(Structure):
- Head = tagHead()
- Job = 0 #(BYTE Job)//过滤职业,0为不限制
- ItemTypeCount = 0 #(BYTE ItemTypeCount)
- ItemTypeList = list() #(vector<DWORD> ItemTypeList)//指定的物品类型
- ClassLV = 0 #(BYTE ClassLV)//过滤阶数,0为不限制
- SpecItemIDCount = 0 #(BYTE SpecItemIDCount)//指定物品ID个数
- SpecItemIDList = list() #(vector<DWORD> SpecItemIDList)//指定物品ID
- FromItemGUID = "" #(char FromItemGUID[40])//从哪个物品开始查询
- QueryDir = 0 #(BYTE QueryDir)//查询方向,1-往后查,2-往前查
- QueryCount = 0 #(BYTE QueryCount)//查询个数,0为全部
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xB5
- self.Head.SubCmd = 0x10
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ItemTypeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.ItemTypeCount):
- value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
- self.ItemTypeList.append(value)
- self.ClassLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.SpecItemIDCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.SpecItemIDCount):
- value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
- self.SpecItemIDList.append(value)
- self.FromItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
- self.QueryDir,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.QueryCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB5
- self.Head.SubCmd = 0x10
- self.Job = 0
- self.ItemTypeCount = 0
- self.ItemTypeList = list()
- self.ClassLV = 0
- self.SpecItemIDCount = 0
- self.SpecItemIDList = list()
- self.FromItemGUID = ""
- self.QueryDir = 0
- self.QueryCount = 0
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 1
- length += 4 * self.ItemTypeCount
- length += 1
- length += 1
- length += 4 * self.SpecItemIDCount
- length += 40
- length += 1
- length += 1
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.Job)
- data = CommFunc.WriteBYTE(data, self.ItemTypeCount)
- for i in range(self.ItemTypeCount):
- data = CommFunc.WriteDWORD(data, self.ItemTypeList[i])
- data = CommFunc.WriteBYTE(data, self.ClassLV)
- data = CommFunc.WriteBYTE(data, self.SpecItemIDCount)
- for i in range(self.SpecItemIDCount):
- data = CommFunc.WriteDWORD(data, self.SpecItemIDList[i])
- data = CommFunc.WriteString(data, 40, self.FromItemGUID)
- data = CommFunc.WriteBYTE(data, self.QueryDir)
- data = CommFunc.WriteBYTE(data, self.QueryCount)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Job:%d,
- ItemTypeCount:%d,
- ItemTypeList:%s,
- ClassLV:%d,
- SpecItemIDCount:%d,
- SpecItemIDList:%s,
- FromItemGUID:%s,
- QueryDir:%d,
- QueryCount:%d
- '''\
- %(
- self.Head.OutputString(),
- self.Job,
- self.ItemTypeCount,
- "...",
- self.ClassLV,
- self.SpecItemIDCount,
- "...",
- self.FromItemGUID,
- self.QueryDir,
- self.QueryCount
- )
- return DumpString
-
-
-m_NAtagCGQueryAuctionItem=tagCGQueryAuctionItem()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryAuctionItem.Head.Cmd,m_NAtagCGQueryAuctionItem.Head.SubCmd))] = m_NAtagCGQueryAuctionItem
-
-
-#------------------------------------------------------
-# B5 12 拍卖行查询拍卖记录 #tagCGQueryAuctionRecord
-
-class tagCGQueryAuctionRecord(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("RecordType", c_ubyte), #记录类型 0-我的拍品记录 1-仙盟拍品记录 2-我的竞拍记录
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB5
- self.SubCmd = 0x12
- 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 = 0xB5
- self.SubCmd = 0x12
- self.RecordType = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGQueryAuctionRecord)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B5 12 拍卖行查询拍卖记录 //tagCGQueryAuctionRecord:
- Cmd:%s,
- SubCmd:%s,
- RecordType:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.RecordType
- )
- return DumpString
-
-
-m_NAtagCGQueryAuctionRecord=tagCGQueryAuctionRecord()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryAuctionRecord.Cmd,m_NAtagCGQueryAuctionRecord.SubCmd))] = m_NAtagCGQueryAuctionRecord
-
-
-#------------------------------------------------------
-# B5 17 拍卖行查询定位目标拍品 #tagCGQueryTagAuctionItem
-
-class tagCGQueryTagAuctionItem(Structure):
- Head = tagHead()
- ItemGUID = "" #(char ItemGUID[40])
- ItemID = 0 #(DWORD ItemID)
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xB5
- self.Head.SubCmd = 0x17
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
- self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB5
- self.Head.SubCmd = 0x17
- self.ItemGUID = ""
- self.ItemID = 0
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 40
- length += 4
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 40, self.ItemGUID)
- data = CommFunc.WriteDWORD(data, self.ItemID)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ItemGUID:%s,
- ItemID:%d
- '''\
- %(
- self.Head.OutputString(),
- self.ItemGUID,
- self.ItemID
- )
- return DumpString
-
-
-m_NAtagCGQueryTagAuctionItem=tagCGQueryTagAuctionItem()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryTagAuctionItem.Head.Cmd,m_NAtagCGQueryTagAuctionItem.Head.SubCmd))] = m_NAtagCGQueryTagAuctionItem
-
-
-#------------------------------------------------------
-# B9 07 自动匹配队伍或玩家 #tagCGAutoMatchTeam
-
-class tagCGAutoMatchTeam(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("TagMapID", c_int), # 目标地图; 发0代表匹配当前场景的
- ("TagMapEx", c_ushort), # 目标地图扩展
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB9
- 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 = 0xB9
- self.SubCmd = 0x07
- self.TagMapID = 0
- self.TagMapEx = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGAutoMatchTeam)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B9 07 自动匹配队伍或玩家 //tagCGAutoMatchTeam:
- Cmd:%s,
- SubCmd:%s,
- TagMapID:%d,
- TagMapEx:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.TagMapID,
- self.TagMapEx
- )
- return DumpString
-
-
-m_NAtagCGAutoMatchTeam=tagCGAutoMatchTeam()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGAutoMatchTeam.Cmd,m_NAtagCGAutoMatchTeam.SubCmd))] = m_NAtagCGAutoMatchTeam
-
-
-#------------------------------------------------------
-# B9 08 取消匹配队伍或玩家 #tagCGCancelMatchTeam
-
-class tagCGCancelMatchTeam(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB9
- self.SubCmd = 0x08
- 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 = 0x08
- return
-
- def GetLength(self):
- return sizeof(tagCGCancelMatchTeam)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B9 08 取消匹配队伍或玩家 //tagCGCancelMatchTeam:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagCGCancelMatchTeam=tagCGCancelMatchTeam()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCancelMatchTeam.Cmd,m_NAtagCGCancelMatchTeam.SubCmd))] = m_NAtagCGCancelMatchTeam
-
-
-#------------------------------------------------------
-# B9 21 修改功能队伍 #tagCGChangeFuncTeam
-
-class tagCGChangeFuncTeam(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("TeamID", c_int),
- ("FuncMapID", c_int), # 功能地图ID或自定义的活动功能ID
- ("MinLV", c_ushort), #最低等级限制
- ("MinFightPower", c_int), #最低战力限制,求余亿
- ("MinFightPowerEx", c_int), #最低战力限制,整除亿
- ("ServerOnly", c_ubyte), #是否仅本服玩家可加入,0-否,1-是
- ("NeedCheck", c_ubyte), #是否需要审核
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB9
- self.SubCmd = 0x21
- 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 = 0x21
- self.TeamID = 0
- self.FuncMapID = 0
- self.MinLV = 0
- self.MinFightPower = 0
- self.MinFightPowerEx = 0
- self.ServerOnly = 0
- self.NeedCheck = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGChangeFuncTeam)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B9 21 修改功能队伍 //tagCGChangeFuncTeam:
- Cmd:%s,
- SubCmd:%s,
- TeamID:%d,
- FuncMapID:%d,
- MinLV:%d,
- MinFightPower:%d,
- MinFightPowerEx:%d,
- ServerOnly:%d,
- NeedCheck:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.TeamID,
- self.FuncMapID,
- self.MinLV,
- self.MinFightPower,
- self.MinFightPowerEx,
- self.ServerOnly,
- self.NeedCheck
- )
- return DumpString
-
-
-m_NAtagCGChangeFuncTeam=tagCGChangeFuncTeam()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChangeFuncTeam.Cmd,m_NAtagCGChangeFuncTeam.SubCmd))] = m_NAtagCGChangeFuncTeam
-
-
-#------------------------------------------------------
-# B9 03 修改队伍信息 #tagCGChangeTeamInfo
-
-class tagCGChangeTeamInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("TagMapID", c_int), # 目标地图
- ("TagMapEx", c_ushort), # 目标地图扩展
- ("ReqMinLV", c_ushort), # 队员最低等级限制
- ("ReqMaxLV", c_ushort), # 队员最高等级限制
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB9
- self.SubCmd = 0x03
- 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 = 0x03
- self.TagMapID = 0
- self.TagMapEx = 0
- self.ReqMinLV = 0
- self.ReqMaxLV = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGChangeTeamInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B9 03 修改队伍信息 //tagCGChangeTeamInfo:
- Cmd:%s,
- SubCmd:%s,
- TagMapID:%d,
- TagMapEx:%d,
- ReqMinLV:%d,
- ReqMaxLV:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.TagMapID,
- self.TagMapEx,
- self.ReqMinLV,
- self.ReqMaxLV
- )
- return DumpString
-
-
-m_NAtagCGChangeTeamInfo=tagCGChangeTeamInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChangeTeamInfo.Cmd,m_NAtagCGChangeTeamInfo.SubCmd))] = m_NAtagCGChangeTeamInfo
-
-
-#------------------------------------------------------
-# B9 20 创建功能队伍 #tagCGCreateFuncTeam
-
-class tagCGCreateFuncTeam(Structure):
- Head = tagHead()
- FuncMapID = 0 #(DWORD FuncMapID)// 功能地图ID或自定义的活动功能ID
- FuncMapEx = 0 #(DWORD FuncMapEx)// 功能地图扩展,如不同的层级
- NameLen = 0 #(BYTE NameLen)
- TeamName = "" #(String TeamName)// 队伍名称,可为空
- MinLV = 0 #(WORD MinLV)//最低等级限制
- MinFightPower = 0 #(DWORD MinFightPower)//最低战力限制,求余亿
- MinFightPowerEx = 0 #(DWORD MinFightPowerEx)//最低战力限制,整除亿
- ServerOnly = 0 #(BYTE ServerOnly)//是否仅本服玩家可加入,0-否,1-是
- NeedCheck = 0 #(BYTE NeedCheck)//是否需要审核
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xB9
- self.Head.SubCmd = 0x20
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.FuncMapID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.FuncMapEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.TeamName,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
- self.MinLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.MinFightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.MinFightPowerEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ServerOnly,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.NeedCheck,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB9
- self.Head.SubCmd = 0x20
- self.FuncMapID = 0
- self.FuncMapEx = 0
- self.NameLen = 0
- self.TeamName = ""
- self.MinLV = 0
- self.MinFightPower = 0
- self.MinFightPowerEx = 0
- self.ServerOnly = 0
- self.NeedCheck = 0
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 4
- length += 4
- length += 1
- length += len(self.TeamName)
- length += 2
- length += 4
- length += 4
- length += 1
- length += 1
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteDWORD(data, self.FuncMapID)
- data = CommFunc.WriteDWORD(data, self.FuncMapEx)
- data = CommFunc.WriteBYTE(data, self.NameLen)
- data = CommFunc.WriteString(data, self.NameLen, self.TeamName)
- data = CommFunc.WriteWORD(data, self.MinLV)
- data = CommFunc.WriteDWORD(data, self.MinFightPower)
- data = CommFunc.WriteDWORD(data, self.MinFightPowerEx)
- data = CommFunc.WriteBYTE(data, self.ServerOnly)
- data = CommFunc.WriteBYTE(data, self.NeedCheck)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- FuncMapID:%d,
- FuncMapEx:%d,
- NameLen:%d,
- TeamName:%s,
- MinLV:%d,
- MinFightPower:%d,
- MinFightPowerEx:%d,
- ServerOnly:%d,
- NeedCheck:%d
- '''\
- %(
- self.Head.OutputString(),
- self.FuncMapID,
- self.FuncMapEx,
- self.NameLen,
- self.TeamName,
- self.MinLV,
- self.MinFightPower,
- self.MinFightPowerEx,
- self.ServerOnly,
- self.NeedCheck
- )
- return DumpString
-
-
-m_NAtagCGCreateFuncTeam=tagCGCreateFuncTeam()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCreateFuncTeam.Head.Cmd,m_NAtagCGCreateFuncTeam.Head.SubCmd))] = m_NAtagCGCreateFuncTeam
-
-
-#------------------------------------------------------
-# B9 01 创建队伍 #tagCGCreateTeam
-
-class tagCGCreateTeam(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("TagMapID", c_int), # 目标地图
- ("TagMapEx", c_ushort), # 目标地图扩展
- ("ReqMinLV", c_ushort), # 队员最低等级限制
- ("ReqMaxLV", c_ushort), # 队员最高等级限制
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB9
- self.SubCmd = 0x01
- 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 = 0x01
- self.TagMapID = 0
- self.TagMapEx = 0
- self.ReqMinLV = 0
- self.ReqMaxLV = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGCreateTeam)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B9 01 创建队伍 //tagCGCreateTeam:
- Cmd:%s,
- SubCmd:%s,
- TagMapID:%d,
- TagMapEx:%d,
- ReqMinLV:%d,
- ReqMaxLV:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.TagMapID,
- self.TagMapEx,
- self.ReqMinLV,
- self.ReqMaxLV
- )
- return DumpString
-
-
-m_NAtagCGCreateTeam=tagCGCreateTeam()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCreateTeam.Cmd,m_NAtagCGCreateTeam.SubCmd))] = m_NAtagCGCreateTeam
-
-
-#------------------------------------------------------
-# B9 22 功能队伍成员操作 #tagCGFuncTeamMemOP
-
-class tagCGFuncTeamMemOP(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("TeamID", c_int),
- ("FuncMapID", c_int), # 功能地图ID或自定义的活动功能ID
- ("OPType", c_ubyte), # 1-申请加入;2-申请取消;3-同意入队;4-拒绝入队;5-退出队伍;6-踢出队伍;7-转让队长;8-解散队伍;
- ("OPData", c_int), # 可选
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB9
- self.SubCmd = 0x22
- 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 = 0x22
- self.TeamID = 0
- self.FuncMapID = 0
- self.OPType = 0
- self.OPData = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGFuncTeamMemOP)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B9 22 功能队伍成员操作 //tagCGFuncTeamMemOP:
- Cmd:%s,
- SubCmd:%s,
- TeamID:%d,
- FuncMapID:%d,
- OPType:%d,
- OPData:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.TeamID,
- self.FuncMapID,
- self.OPType,
- self.OPData
- )
- return DumpString
-
-
-m_NAtagCGFuncTeamMemOP=tagCGFuncTeamMemOP()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGFuncTeamMemOP.Cmd,m_NAtagCGFuncTeamMemOP.SubCmd))] = m_NAtagCGFuncTeamMemOP
-
-
-#------------------------------------------------------
-# B9 02 邀请玩家加入队伍 #tagCGInvitePlayerJoinTeam
-
-class tagCGInvitePlayerJoinTeam(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("PlayerID", c_int), # 目标玩家ID
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB9
- self.SubCmd = 0x02
- 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 = 0x02
- self.PlayerID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGInvitePlayerJoinTeam)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B9 02 邀请玩家加入队伍 //tagCGInvitePlayerJoinTeam:
- Cmd:%s,
- SubCmd:%s,
- PlayerID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.PlayerID
- )
- return DumpString
-
-
-m_NAtagCGInvitePlayerJoinTeam=tagCGInvitePlayerJoinTeam()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGInvitePlayerJoinTeam.Cmd,m_NAtagCGInvitePlayerJoinTeam.SubCmd))] = m_NAtagCGInvitePlayerJoinTeam
-
-
-#------------------------------------------------------
-# B9 0A 按条件邀请玩家加入队伍 #tagCGInvitePlayerJoinTeamByLV
-
-class tagCGInvitePlayerJoinTeamByLV(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("LVLimit", c_ushort), # 目标玩家大于等于此等级
- ("InviteCnt", c_ubyte), # 邀请玩家个数
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB9
- self.SubCmd = 0x0A
- 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 = 0x0A
- self.LVLimit = 0
- self.InviteCnt = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGInvitePlayerJoinTeamByLV)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B9 0A 按条件邀请玩家加入队伍 //tagCGInvitePlayerJoinTeamByLV:
- Cmd:%s,
- SubCmd:%s,
- LVLimit:%d,
- InviteCnt:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.LVLimit,
- self.InviteCnt
- )
- return DumpString
-
-
-m_NAtagCGInvitePlayerJoinTeamByLV=tagCGInvitePlayerJoinTeamByLV()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGInvitePlayerJoinTeamByLV.Cmd,m_NAtagCGInvitePlayerJoinTeamByLV.SubCmd))] = m_NAtagCGInvitePlayerJoinTeamByLV
-
-
-#------------------------------------------------------
-# B9 23 查找功能队伍列表 #tagCGQueryFuncTeam
-
-class tagCGQueryFuncTeam(Structure):
- Head = tagHead()
- FuncMapID = 0 #(DWORD FuncMapID)// 功能地图ID或自定义的活动功能ID
- FuncMapEx = 0 #(DWORD FuncMapEx)// 功能地图扩展,如不同的层级,0代表所有
- StartIndex = 0 #(DWORD StartIndex)// 查看的起始索引, 默认0
- QueryCnt = 0 #(BYTE QueryCnt)// 查看条数,默认20,最大不超过100
- HaveSpace = 0 #(BYTE HaveSpace)// 是否只查看有空位置的队伍
- IDLimitType = 0 #(BYTE IDLimitType)// ID限制类型:1-同仙盟队长;2-同ServerGroupID队长;3-同ServerID队长
- SearchLen = 0 #(BYTE SearchLen)
- SearchMsg = "" #(String SearchMsg)// 指定搜索时有用,可搜索指定队伍ID或模糊搜索队伍名称,搜索时返回最多QueryCnt个数的队伍
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xB9
- self.Head.SubCmd = 0x23
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.FuncMapID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.FuncMapEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.StartIndex,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.QueryCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.HaveSpace,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.IDLimitType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.SearchLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.SearchMsg,_pos = CommFunc.ReadString(_lpData, _pos,self.SearchLen)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB9
- self.Head.SubCmd = 0x23
- self.FuncMapID = 0
- self.FuncMapEx = 0
- self.StartIndex = 0
- self.QueryCnt = 0
- self.HaveSpace = 0
- self.IDLimitType = 0
- self.SearchLen = 0
- self.SearchMsg = ""
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 4
- length += 4
- length += 4
- length += 1
- length += 1
- length += 1
- length += 1
- length += len(self.SearchMsg)
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteDWORD(data, self.FuncMapID)
- data = CommFunc.WriteDWORD(data, self.FuncMapEx)
- data = CommFunc.WriteDWORD(data, self.StartIndex)
- data = CommFunc.WriteBYTE(data, self.QueryCnt)
- data = CommFunc.WriteBYTE(data, self.HaveSpace)
- data = CommFunc.WriteBYTE(data, self.IDLimitType)
- data = CommFunc.WriteBYTE(data, self.SearchLen)
- data = CommFunc.WriteString(data, self.SearchLen, self.SearchMsg)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- FuncMapID:%d,
- FuncMapEx:%d,
- StartIndex:%d,
- QueryCnt:%d,
- HaveSpace:%d,
- IDLimitType:%d,
- SearchLen:%d,
- SearchMsg:%s
- '''\
- %(
- self.Head.OutputString(),
- self.FuncMapID,
- self.FuncMapEx,
- self.StartIndex,
- self.QueryCnt,
- self.HaveSpace,
- self.IDLimitType,
- self.SearchLen,
- self.SearchMsg
- )
- return DumpString
-
-
-m_NAtagCGQueryFuncTeam=tagCGQueryFuncTeam()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryFuncTeam.Head.Cmd,m_NAtagCGQueryFuncTeam.Head.SubCmd))] = m_NAtagCGQueryFuncTeam
-
-
-#------------------------------------------------------
-# B9 24 查找玩家功能队伍 #tagCGQueryPlayerFuncTeam
-
-class tagCGQueryPlayerFuncTeam(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("FuncMapID", c_int), # 功能地图ID或自定义的活动功能ID
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB9
- self.SubCmd = 0x24
- 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 = 0x24
- self.FuncMapID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGQueryPlayerFuncTeam)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B9 24 查找玩家功能队伍 //tagCGQueryPlayerFuncTeam:
- Cmd:%s,
- SubCmd:%s,
- FuncMapID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.FuncMapID
- )
- return DumpString
-
-
-m_NAtagCGQueryPlayerFuncTeam=tagCGQueryPlayerFuncTeam()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryPlayerFuncTeam.Cmd,m_NAtagCGQueryPlayerFuncTeam.SubCmd))] = m_NAtagCGQueryPlayerFuncTeam
-
-
-#------------------------------------------------------
-# B9 05 查询推荐组队的附近玩家 #tagCGQueryRecommendNearbyPlayer
-
-class tagCGQueryRecommendNearbyPlayer(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB9
- self.SubCmd = 0x05
- 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 = 0x05
- return
-
- def GetLength(self):
- return sizeof(tagCGQueryRecommendNearbyPlayer)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B9 05 查询推荐组队的附近玩家 //tagCGQueryRecommendNearbyPlayer:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagCGQueryRecommendNearbyPlayer=tagCGQueryRecommendNearbyPlayer()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryRecommendNearbyPlayer.Cmd,m_NAtagCGQueryRecommendNearbyPlayer.SubCmd))] = m_NAtagCGQueryRecommendNearbyPlayer
-
-
-#------------------------------------------------------
-# B9 06 查询对应组队目标的队伍 #tagCGQueryTagMapTeam
-
-class tagCGQueryTagMapTeam(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("TagMapID", c_int), # 目标地图
- ("TagMapEx", c_ushort), # 目标地图扩展
- ("IsTagEx", c_ubyte), # 是否查询对应目标扩展的; 0否1是
- ("MatchState", c_ubyte), # 0-全部;1-匹配中的;
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB9
- 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 = 0xB9
- self.SubCmd = 0x06
- self.TagMapID = 0
- self.TagMapEx = 0
- self.IsTagEx = 0
- self.MatchState = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGQueryTagMapTeam)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B9 06 查询对应组队目标的队伍 //tagCGQueryTagMapTeam:
- Cmd:%s,
- SubCmd:%s,
- TagMapID:%d,
- TagMapEx:%d,
- IsTagEx:%d,
- MatchState:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.TagMapID,
- self.TagMapEx,
- self.IsTagEx,
- self.MatchState
- )
- return DumpString
-
-
-m_NAtagCGQueryTagMapTeam=tagCGQueryTagMapTeam()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryTagMapTeam.Cmd,m_NAtagCGQueryTagMapTeam.SubCmd))] = m_NAtagCGQueryTagMapTeam
-
-
-#------------------------------------------------------
-# B9 10 查询在线队员对应功能数据 #tagCGQueryTeamMemFuncData
-
-class tagCGQueryTeamMemFuncData(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("TeamMemFuncType", c_ubyte), # 查询队员的功能数据类型
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB9
- 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 = 0xB9
- self.SubCmd = 0x10
- self.TeamMemFuncType = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGQueryTeamMemFuncData)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B9 10 查询在线队员对应功能数据 //tagCGQueryTeamMemFuncData:
- Cmd:%s,
- SubCmd:%s,
- TeamMemFuncType:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.TeamMemFuncType
- )
- return DumpString
-
-
-m_NAtagCGQueryTeamMemFuncData=tagCGQueryTeamMemFuncData()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryTeamMemFuncData.Cmd,m_NAtagCGQueryTeamMemFuncData.SubCmd))] = m_NAtagCGQueryTeamMemFuncData
-
-
-#------------------------------------------------------
-# 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):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("PrepareState", c_ubyte), # 1-准备;2-拒绝
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB9
- 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 = 0xB9
- self.SubCmd = 0x09
- self.PrepareState = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGTeamMemberPrepare)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B9 09 队员进入副本准备选择 //tagCGTeamMemberPrepare:
- Cmd:%s,
- SubCmd:%s,
- PrepareState:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.PrepareState
- )
- return DumpString
-
-
-m_NAtagCGTeamMemberPrepare=tagCGTeamMemberPrepare()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGTeamMemberPrepare.Cmd,m_NAtagCGTeamMemberPrepare.SubCmd))] = m_NAtagCGTeamMemberPrepare
-
-
-#------------------------------------------------------
-# C0 21 跨服排位仙官申请回应 #tagCGChampionshipOfficialApplyReply
-
-class tagCGChampionshipOfficialApplyReply(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("MainOfficialID", c_ushort), #界主官职ID
- ("OfficialID", c_ushort), #申请官职ID
- ("PlayerID", c_int), #申请的玩家ID
- ("IsOK", c_ubyte), #是否同意;1-是;0-否
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xC0
- self.SubCmd = 0x21
- 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 = 0x21
- self.MainOfficialID = 0
- self.OfficialID = 0
- self.PlayerID = 0
- self.IsOK = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGChampionshipOfficialApplyReply)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// C0 21 跨服排位仙官申请回应 //tagCGChampionshipOfficialApplyReply:
- Cmd:%s,
- SubCmd:%s,
- MainOfficialID:%d,
- OfficialID:%d,
- PlayerID:%d,
- IsOK:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.MainOfficialID,
- self.OfficialID,
- self.PlayerID,
- self.IsOK
- )
- return DumpString
-
-
-m_NAtagCGChampionshipOfficialApplyReply=tagCGChampionshipOfficialApplyReply()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChampionshipOfficialApplyReply.Cmd,m_NAtagCGChampionshipOfficialApplyReply.SubCmd))] = m_NAtagCGChampionshipOfficialApplyReply
-
-
-#------------------------------------------------------
-# C0 23 跨服排位仙官挑战记录查询 #tagCGChampionshipOfficialChallengeQuery
-
-class tagCGChampionshipOfficialChallengeQuery(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("MainOfficialID", c_ushort), #界主官职ID
- ("OfficialID", c_ushort), #查询官职ID
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xC0
- 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 = 0xC0
- self.SubCmd = 0x23
- self.MainOfficialID = 0
- self.OfficialID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGChampionshipOfficialChallengeQuery)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// C0 23 跨服排位仙官挑战记录查询 //tagCGChampionshipOfficialChallengeQuery:
- Cmd:%s,
- SubCmd:%s,
- MainOfficialID:%d,
- OfficialID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.MainOfficialID,
- self.OfficialID
- )
- return DumpString
-
-
-m_NAtagCGChampionshipOfficialChallengeQuery=tagCGChampionshipOfficialChallengeQuery()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChampionshipOfficialChallengeQuery.Cmd,m_NAtagCGChampionshipOfficialChallengeQuery.SubCmd))] = m_NAtagCGChampionshipOfficialChallengeQuery
-
-
-#------------------------------------------------------
-# C0 24 跨服排位辞退下级仙官 #tagCGChampionshipOfficialKick
-
-class tagCGChampionshipOfficialKick(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("MainOfficialID", c_ushort), #界主官职ID
- ("OfficialID", c_ushort), #目标官职ID
- ("PlayerID", c_int), #目标玩家ID
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xC0
- self.SubCmd = 0x24
- 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 = 0x24
- self.MainOfficialID = 0
- self.OfficialID = 0
- self.PlayerID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGChampionshipOfficialKick)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// C0 24 跨服排位辞退下级仙官 //tagCGChampionshipOfficialKick:
- Cmd:%s,
- SubCmd:%s,
- MainOfficialID:%d,
- OfficialID:%d,
- PlayerID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.MainOfficialID,
- self.OfficialID,
- self.PlayerID
- )
- return DumpString
-
-
-m_NAtagCGChampionshipOfficialKick=tagCGChampionshipOfficialKick()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChampionshipOfficialKick.Cmd,m_NAtagCGChampionshipOfficialKick.SubCmd))] = m_NAtagCGChampionshipOfficialKick
-
-
-#------------------------------------------------------
-# C0 25 跨服排位主动离任仙官 #tagCGChampionshipOfficialLeave
-
-class tagCGChampionshipOfficialLeave(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("MainOfficialID", c_ushort), #界主官职ID
- ("OfficialID", c_ushort), #离任官职ID
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xC0
- self.SubCmd = 0x25
- 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 = 0x25
- self.MainOfficialID = 0
- self.OfficialID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGChampionshipOfficialLeave)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// C0 25 跨服排位主动离任仙官 //tagCGChampionshipOfficialLeave:
- Cmd:%s,
- SubCmd:%s,
- MainOfficialID:%d,
- OfficialID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.MainOfficialID,
- self.OfficialID
- )
- return DumpString
-
-
-m_NAtagCGChampionshipOfficialLeave=tagCGChampionshipOfficialLeave()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChampionshipOfficialLeave.Cmd,m_NAtagCGChampionshipOfficialLeave.SubCmd))] = m_NAtagCGChampionshipOfficialLeave
-
-
-#------------------------------------------------------
-# C0 09 跨服战场召集场次修改 #tagCGCrossBattlefieldCallChange
-
-class tagCGCrossBattlefieldCallChange(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("Hour", c_ubyte), #战场开启时
- ("Minute", c_ubyte), #战场开启分
- ("ServerOnly", c_ubyte), #是否仅本服玩家可加入,0-否,1-是
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xC0
- 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 = 0xC0
- self.SubCmd = 0x09
- self.Hour = 0
- self.Minute = 0
- self.ServerOnly = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGCrossBattlefieldCallChange)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// C0 09 跨服战场召集场次修改 //tagCGCrossBattlefieldCallChange:
- Cmd:%s,
- SubCmd:%s,
- Hour:%d,
- Minute:%d,
- ServerOnly:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.Hour,
- self.Minute,
- self.ServerOnly
- )
- return DumpString
-
-
-m_NAtagCGCrossBattlefieldCallChange=tagCGCrossBattlefieldCallChange()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCrossBattlefieldCallChange.Cmd,m_NAtagCGCrossBattlefieldCallChange.SubCmd))] = m_NAtagCGCrossBattlefieldCallChange
-
-
-#------------------------------------------------------
-# C0 08 跨服战场召集场次踢人 #tagCGCrossBattlefieldCallKick
-
-class tagCGCrossBattlefieldCallKick(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("Hour", c_ubyte), #战场开启时
- ("Minute", c_ubyte), #战场开启分
- ("TagPlayerID", c_int), #目标玩家ID,即要被踢出去的玩家ID
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xC0
- self.SubCmd = 0x08
- 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 = 0x08
- self.Hour = 0
- self.Minute = 0
- self.TagPlayerID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGCrossBattlefieldCallKick)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// C0 08 跨服战场召集场次踢人 //tagCGCrossBattlefieldCallKick:
- Cmd:%s,
- SubCmd:%s,
- Hour:%d,
- Minute:%d,
- TagPlayerID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.Hour,
- self.Minute,
- self.TagPlayerID
- )
- return DumpString
-
-
-m_NAtagCGCrossBattlefieldCallKick=tagCGCrossBattlefieldCallKick()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCrossBattlefieldCallKick.Cmd,m_NAtagCGCrossBattlefieldCallKick.SubCmd))] = m_NAtagCGCrossBattlefieldCallKick
-
-
-#------------------------------------------------------
-# C0 07 跨服战场加入召集场次 #tagCGCrossBattlefieldJoinByCall
-
-class tagCGCrossBattlefieldJoinByCall(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("Hour", c_ubyte), #战场开启时
- ("Minute", c_ubyte), #战场开启分
- ("BuyPlayerID", c_int), #加入目标玩家的召集队伍,即购买召集场的玩家ID
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xC0
- 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 = 0xC0
- self.SubCmd = 0x07
- self.Hour = 0
- self.Minute = 0
- self.BuyPlayerID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGCrossBattlefieldJoinByCall)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// C0 07 跨服战场加入召集场次 //tagCGCrossBattlefieldJoinByCall:
- Cmd:%s,
- SubCmd:%s,
- Hour:%d,
- Minute:%d,
- BuyPlayerID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.Hour,
- self.Minute,
- self.BuyPlayerID
- )
- return DumpString
-
-
-m_NAtagCGCrossBattlefieldJoinByCall=tagCGCrossBattlefieldJoinByCall()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCrossBattlefieldJoinByCall.Cmd,m_NAtagCGCrossBattlefieldJoinByCall.SubCmd))] = m_NAtagCGCrossBattlefieldJoinByCall
-
-
-#------------------------------------------------------
-# C0 26 仙盟攻城战查询 #tagCGFamilyGCZQuery
-
-class tagCGFamilyGCZQuery(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("QueryType", c_ubyte), #查询类型:1-成员捐献值;2-进入城池场景;3-退出城池场景;4-进入城池;5-退出城池;6-战报;7-分组仙盟成员伤害;
- ("BatType", c_ubyte), #指定战场类型,需要发送的查询类型: 2、4
- ("GroupNum", c_ubyte), #指定分组编号,需要发送的查询类型: 2、4
- ("FamilyID", c_int), #指定仙盟ID或城池ID,查自己盟的可不发,需要发的类型:2、4、6、7
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xC0
- self.SubCmd = 0x26
- 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 = 0x26
- self.QueryType = 0
- self.BatType = 0
- self.GroupNum = 0
- self.FamilyID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGFamilyGCZQuery)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// C0 26 仙盟攻城战查询 //tagCGFamilyGCZQuery:
- Cmd:%s,
- SubCmd:%s,
- QueryType:%d,
- BatType:%d,
- GroupNum:%d,
- FamilyID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.QueryType,
- self.BatType,
- self.GroupNum,
- self.FamilyID
- )
- return DumpString
-
-
-m_NAtagCGFamilyGCZQuery=tagCGFamilyGCZQuery()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGFamilyGCZQuery.Cmd,m_NAtagCGFamilyGCZQuery.SubCmd))] = m_NAtagCGFamilyGCZQuery
-
-
-#------------------------------------------------------
-# C0 03 强制退出跨服状态 #tagCGForceQuitCrossState
-
-class tagCGForceQuitCrossState(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xC0
- self.SubCmd = 0x03
- 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 = 0x03
- return
-
- def GetLength(self):
- return sizeof(tagCGForceQuitCrossState)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// C0 03 强制退出跨服状态 //tagCGForceQuitCrossState:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagCGForceQuitCrossState=tagCGForceQuitCrossState()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGForceQuitCrossState.Cmd,m_NAtagCGForceQuitCrossState.SubCmd))] = m_NAtagCGForceQuitCrossState
-
-
-#------------------------------------------------------
-# C0 06 查询幸运云购开奖记录 #tagCGQueryLuckyCloudBuyLotteryRec
-
-class tagCGQueryLuckyCloudBuyLotteryRec(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ZoneID", c_ubyte), #查询分区ID
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xC0
- 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 = 0xC0
- self.SubCmd = 0x06
- self.ZoneID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGQueryLuckyCloudBuyLotteryRec)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// C0 06 查询幸运云购开奖记录 //tagCGQueryLuckyCloudBuyLotteryRec:
- Cmd:%s,
- SubCmd:%s,
- ZoneID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ZoneID
- )
- return DumpString
-
-
-m_NAtagCGQueryLuckyCloudBuyLotteryRec=tagCGQueryLuckyCloudBuyLotteryRec()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryLuckyCloudBuyLotteryRec.Cmd,m_NAtagCGQueryLuckyCloudBuyLotteryRec.SubCmd))] = m_NAtagCGQueryLuckyCloudBuyLotteryRec
-
-
-#------------------------------------------------------
-# C0 05 查询幸运云购购买号码记录 #tagCGQueryLuckyCloudBuyNumRec
-
-class tagCGQueryLuckyCloudBuyNumRec(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xC0
- self.SubCmd = 0x05
- 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 = 0x05
- return
-
- def GetLength(self):
- return sizeof(tagCGQueryLuckyCloudBuyNumRec)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// C0 05 查询幸运云购购买号码记录 //tagCGQueryLuckyCloudBuyNumRec:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagCGQueryLuckyCloudBuyNumRec=tagCGQueryLuckyCloudBuyNumRec()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryLuckyCloudBuyNumRec.Cmd,m_NAtagCGQueryLuckyCloudBuyNumRec.SubCmd))] = m_NAtagCGQueryLuckyCloudBuyNumRec
-
-
-#------------------------------------------------------
-# C0 04 查看跨服排行榜 #tagCGViewCrossBillboard
-
-class tagCGViewCrossBillboard(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("Type", c_ubyte), #榜单类型
- ("GroupValue1", c_int), # 分组值1
- ("GroupValue2", c_int), # 分组值2,与分组值1组合归为同组榜单数据
- ("StartIndex", c_int), #查看的起始名次索引, 默认0
- ("WatchCnt", c_ubyte), #查看条数,默认20,最大不超过100
- ("WatchID", c_int), #查看指定ID名次前后,如玩家ID、家族ID等
- ]
-
- 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
- self.StartIndex = 0
- self.WatchCnt = 0
- self.WatchID = 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,
- StartIndex:%d,
- WatchCnt:%d,
- WatchID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.Type,
- self.GroupValue1,
- self.GroupValue2,
- self.StartIndex,
- self.WatchCnt,
- self.WatchID
- )
- return DumpString
-
-
-m_NAtagCGViewCrossBillboard=tagCGViewCrossBillboard()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGViewCrossBillboard.Cmd,m_NAtagCGViewCrossBillboard.SubCmd))] = m_NAtagCGViewCrossBillboard
-
-
-#------------------------------------------------------
-# C0 01 查看跨服竞技场赛季排行榜 #tagCGViewCrossPKBillboard
-
-class tagCGViewCrossPKBillboard(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ZoneID", c_ubyte), # 赛区ID
- ("SeasonID", c_ubyte), # 赛季ID
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xC0
- self.SubCmd = 0x01
- 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 = 0x01
- self.ZoneID = 0
- self.SeasonID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGViewCrossPKBillboard)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// C0 01 查看跨服竞技场赛季排行榜 //tagCGViewCrossPKBillboard:
- Cmd:%s,
- SubCmd:%s,
- ZoneID:%d,
- SeasonID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ZoneID,
- self.SeasonID
- )
- return DumpString
-
-
-m_NAtagCGViewCrossPKBillboard=tagCGViewCrossPKBillboard()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGViewCrossPKBillboard.Cmd,m_NAtagCGViewCrossPKBillboard.SubCmd))] = m_NAtagCGViewCrossPKBillboard
-
-
-#------------------------------------------------------
-# C0 02 查看跨服玩家信息 #tagCGViewCrossPlayerInfo
-
-class tagCGViewCrossPlayerInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("PlayerID", c_int), # 跨服玩家ID
- ("EquipClassLV", c_ubyte), #大于0为查看指定境界阶装备信息, 0为查看默认信息
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xC0
- self.SubCmd = 0x02
- 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 = 0x02
- self.PlayerID = 0
- self.EquipClassLV = 0
- return
-
- def GetLength(self):
- return sizeof(tagCGViewCrossPlayerInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// C0 02 查看跨服玩家信息 //tagCGViewCrossPlayerInfo:
- Cmd:%s,
- SubCmd:%s,
- PlayerID:%d,
- EquipClassLV:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.PlayerID,
- self.EquipClassLV
- )
- return DumpString
-
-
-m_NAtagCGViewCrossPlayerInfo=tagCGViewCrossPlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGViewCrossPlayerInfo.Cmd,m_NAtagCGViewCrossPlayerInfo.SubCmd))] = m_NAtagCGViewCrossPlayerInfo
-
-
-#------------------------------------------------------
# A1 21 转职业 #tagCMChangeJob
class tagCMChangeJob(Structure):
@@ -9804,6 +4737,757 @@
m_NAtagCMWingUp=tagCMWingUp()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMWingUp.Head.Cmd,m_NAtagCMWingUp.Head.SubCmd))] = m_NAtagCMWingUp
+
+
+#------------------------------------------------------
+#A4 06 变更家族成员加入审核方式#tagCGChangeFamilyAcceptJoinType
+
+class tagCGChangeFamilyAcceptJoinType(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("Type", c_ubyte), #0 默认需要审核,1 自动同意申请,2 拒绝申请
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA4
+ 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 = 0xA4
+ self.SubCmd = 0x06
+ self.Type = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGChangeFamilyAcceptJoinType)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''//A4 06 变更家族成员加入审核方式//tagCGChangeFamilyAcceptJoinType:
+ Cmd:%s,
+ SubCmd:%s,
+ Type:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.Type
+ )
+ return DumpString
+
+
+m_NAtagCGChangeFamilyAcceptJoinType=tagCGChangeFamilyAcceptJoinType()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChangeFamilyAcceptJoinType.Cmd,m_NAtagCGChangeFamilyAcceptJoinType.SubCmd))] = m_NAtagCGChangeFamilyAcceptJoinType
+
+
+#------------------------------------------------------
+# A4 13 修改家族徽章 #tagCGChangeFamilyEmblem
+
+class tagCGChangeFamilyEmblem(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("EmblemID", c_ubyte), # 更换的徽章ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA4
+ self.SubCmd = 0x13
+ 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 = 0xA4
+ self.SubCmd = 0x13
+ self.EmblemID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGChangeFamilyEmblem)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A4 13 修改家族徽章 //tagCGChangeFamilyEmblem:
+ Cmd:%s,
+ SubCmd:%s,
+ EmblemID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.EmblemID
+ )
+ return DumpString
+
+
+m_NAtagCGChangeFamilyEmblem=tagCGChangeFamilyEmblem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChangeFamilyEmblem.Cmd,m_NAtagCGChangeFamilyEmblem.SubCmd))] = m_NAtagCGChangeFamilyEmblem
+
+
+#------------------------------------------------------
+# A4 08 查询家族行为信息 #tagCGQueryFamilyAction
+
+class tagCGQueryFamilyAction(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ActionType", c_ubyte), # 行为类型
+ ("FamilyID", c_int), # 家族ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA4
+ self.SubCmd = 0x08
+ 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 = 0xA4
+ self.SubCmd = 0x08
+ self.ActionType = 0
+ self.FamilyID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryFamilyAction)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A4 08 查询家族行为信息 //tagCGQueryFamilyAction:
+ Cmd:%s,
+ SubCmd:%s,
+ ActionType:%d,
+ FamilyID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ActionType,
+ self.FamilyID
+ )
+ return DumpString
+
+
+m_NAtagCGQueryFamilyAction=tagCGQueryFamilyAction()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryFamilyAction.Cmd,m_NAtagCGQueryFamilyAction.SubCmd))] = m_NAtagCGQueryFamilyAction
+
+
+#------------------------------------------------------
+#A4 07 升级家族#tagCGFamilyLVUp
+
+class tagCGFamilyLVUp(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA4
+ 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 = 0xA4
+ self.SubCmd = 0x07
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGFamilyLVUp)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''//A4 07 升级家族//tagCGFamilyLVUp:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGFamilyLVUp=tagCGFamilyLVUp()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGFamilyLVUp.Cmd,m_NAtagCGFamilyLVUp.SubCmd))] = m_NAtagCGFamilyLVUp
+
+
+#------------------------------------------------------
+# A4 09 家族仓库删除物品 #tagCGFamilyStoreDel
+
+class tagCGFamilyStoreDel(Structure):
+ Head = tagHead()
+ IndexCount = 0 #(BYTE IndexCount)
+ StoreItemIndex = list() #(vector<BYTE> StoreItemIndex)// 仓库物品索引,1代表索引0的物品,与兑换一致
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xA4
+ self.Head.SubCmd = 0x09
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.IndexCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.IndexCount):
+ value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
+ self.StoreItemIndex.append(value)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xA4
+ self.Head.SubCmd = 0x09
+ self.IndexCount = 0
+ self.StoreItemIndex = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ length += 1 * self.IndexCount
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteBYTE(data, self.IndexCount)
+ for i in range(self.IndexCount):
+ data = CommFunc.WriteBYTE(data, self.StoreItemIndex[i])
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ IndexCount:%d,
+ StoreItemIndex:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.IndexCount,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagCGFamilyStoreDel=tagCGFamilyStoreDel()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGFamilyStoreDel.Head.Cmd,m_NAtagCGFamilyStoreDel.Head.SubCmd))] = m_NAtagCGFamilyStoreDel
+
+
+#------------------------------------------------------
+# A4 10 仙盟联赛连胜奖励分配 #tagCGFamilyWarWinRewardAllot
+
+class tagCGFamilyWarWinRewardAllot(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("MemPlayerID", c_int), #分配给的仙盟成员玩家ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA4
+ 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 = 0xA4
+ self.SubCmd = 0x10
+ self.MemPlayerID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGFamilyWarWinRewardAllot)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A4 10 仙盟联赛连胜奖励分配 //tagCGFamilyWarWinRewardAllot:
+ Cmd:%s,
+ SubCmd:%s,
+ MemPlayerID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.MemPlayerID
+ )
+ return DumpString
+
+
+m_NAtagCGFamilyWarWinRewardAllot=tagCGFamilyWarWinRewardAllot()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGFamilyWarWinRewardAllot.Cmd,m_NAtagCGFamilyWarWinRewardAllot.SubCmd))] = m_NAtagCGFamilyWarWinRewardAllot
+
+
+#------------------------------------------------------
+#A4 03 加入家族审核情况 #tagCGJoinFamilyReply
+
+class tagCGJoinFamilyReply(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TagPlayerID", c_int), #被审核玩家ID 0则代表全部
+ ("IsOK", c_ubyte), #是否同意加入
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA4
+ self.SubCmd = 0x03
+ 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 = 0xA4
+ self.SubCmd = 0x03
+ self.TagPlayerID = 0
+ self.IsOK = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGJoinFamilyReply)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''//A4 03 加入家族审核情况 //tagCGJoinFamilyReply:
+ Cmd:%s,
+ SubCmd:%s,
+ TagPlayerID:%d,
+ IsOK:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TagPlayerID,
+ self.IsOK
+ )
+ return DumpString
+
+
+m_NAtagCGJoinFamilyReply=tagCGJoinFamilyReply()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGJoinFamilyReply.Cmd,m_NAtagCGJoinFamilyReply.SubCmd))] = m_NAtagCGJoinFamilyReply
+
+
+#------------------------------------------------------
+# A4 11 一键申请入盟 #tagCGOneKeyJoinFamily
+
+class tagCGOneKeyJoinFamily(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA4
+ 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 = 0xA4
+ self.SubCmd = 0x11
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGOneKeyJoinFamily)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A4 11 一键申请入盟 //tagCGOneKeyJoinFamily:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGOneKeyJoinFamily=tagCGOneKeyJoinFamily()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGOneKeyJoinFamily.Cmd,m_NAtagCGOneKeyJoinFamily.SubCmd))] = m_NAtagCGOneKeyJoinFamily
+
+
+#------------------------------------------------------
+# A4 04 创建家族 #tagCGPyCreatFamily
+
+class tagCGPyCreatFamily(Structure):
+ Head = tagHead()
+ Name = "" #(char Name[33])
+ FakeID = 0 #(WORD FakeID)//假仙盟编号
+ EmblemID = 0 #(BYTE EmblemID)//选择徽章ID,解锁仙盟等级为1级的均为可选ID
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xA4
+ self.Head.SubCmd = 0x04
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.Name,_pos = CommFunc.ReadString(_lpData, _pos,33)
+ self.FakeID,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.EmblemID,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xA4
+ self.Head.SubCmd = 0x04
+ self.Name = ""
+ self.FakeID = 0
+ self.EmblemID = 0
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 33
+ length += 2
+ length += 1
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteString(data, 33, self.Name)
+ data = CommFunc.WriteWORD(data, self.FakeID)
+ data = CommFunc.WriteBYTE(data, self.EmblemID)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ Name:%s,
+ FakeID:%d,
+ EmblemID:%d
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.Name,
+ self.FakeID,
+ self.EmblemID
+ )
+ return DumpString
+
+
+m_NAtagCGPyCreatFamily=tagCGPyCreatFamily()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGPyCreatFamily.Head.Cmd,m_NAtagCGPyCreatFamily.Head.SubCmd))] = m_NAtagCGPyCreatFamily
+
+
+#------------------------------------------------------
+# A4 12 搜索家族 #tagCGPySearchFamily
+
+class tagCGPySearchFamily(Structure):
+ Head = tagHead()
+ MsgLen = 0 #(BYTE MsgLen)//模糊搜索家族,如果输入为空,则为不限制该条件
+ Msg = "" #(String Msg)//size = MsgLen
+ LV = 0 #(BYTE LV)//最低家族等级,如果为0,则不限制该条件
+ MaxCount = 0 #(BYTE MaxCount)//搜索结果所需最大条数,后端限制最多返回20条
+ IsSearching = 0 #(BYTE IsSearching)//默认1,如果有指定其他值,则返回指定值
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xA4
+ self.Head.SubCmd = 0x12
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.MsgLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.Msg,_pos = CommFunc.ReadString(_lpData, _pos,self.MsgLen)
+ self.LV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.MaxCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.IsSearching,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xA4
+ self.Head.SubCmd = 0x12
+ self.MsgLen = 0
+ self.Msg = ""
+ self.LV = 0
+ self.MaxCount = 0
+ self.IsSearching = 0
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ length += len(self.Msg)
+ length += 1
+ length += 1
+ length += 1
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteBYTE(data, self.MsgLen)
+ data = CommFunc.WriteString(data, self.MsgLen, self.Msg)
+ data = CommFunc.WriteBYTE(data, self.LV)
+ data = CommFunc.WriteBYTE(data, self.MaxCount)
+ data = CommFunc.WriteBYTE(data, self.IsSearching)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ MsgLen:%d,
+ Msg:%s,
+ LV:%d,
+ MaxCount:%d,
+ IsSearching:%d
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.MsgLen,
+ self.Msg,
+ self.LV,
+ self.MaxCount,
+ self.IsSearching
+ )
+ return DumpString
+
+
+m_NAtagCGPySearchFamily=tagCGPySearchFamily()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGPySearchFamily.Head.Cmd,m_NAtagCGPySearchFamily.Head.SubCmd))] = m_NAtagCGPySearchFamily
+
+
+#------------------------------------------------------
+#A4 01 查看家族第N页#tagCGViewFamilyPage
+
+class tagCGViewFamilyPage(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("PageIndex", c_ushort), #查询页数
+ ("ShowCount", c_ubyte), #每页显示数量
+ ("SortRulex", c_ubyte), #排序规则
+ ("ViewType", c_ubyte), #查看类型
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA4
+ self.SubCmd = 0x01
+ 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 = 0xA4
+ self.SubCmd = 0x01
+ self.PageIndex = 0
+ self.ShowCount = 0
+ self.SortRulex = 0
+ self.ViewType = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGViewFamilyPage)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''//A4 01 查看家族第N页//tagCGViewFamilyPage:
+ Cmd:%s,
+ SubCmd:%s,
+ PageIndex:%d,
+ ShowCount:%d,
+ SortRulex:%d,
+ ViewType:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.PageIndex,
+ self.ShowCount,
+ self.SortRulex,
+ self.ViewType
+ )
+ return DumpString
+
+
+m_NAtagCGViewFamilyPage=tagCGViewFamilyPage()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGViewFamilyPage.Cmd,m_NAtagCGViewFamilyPage.SubCmd))] = m_NAtagCGViewFamilyPage
+
+
+#------------------------------------------------------
+#A4 02 查看申请入会的玩家 #tagCGViewFamilyRequestInfo
+
+class tagCGViewFamilyRequestInfo(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA4
+ self.SubCmd = 0x02
+ 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 = 0xA4
+ self.SubCmd = 0x02
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGViewFamilyRequestInfo)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''//A4 02 查看申请入会的玩家 //tagCGViewFamilyRequestInfo:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGViewFamilyRequestInfo=tagCGViewFamilyRequestInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGViewFamilyRequestInfo.Cmd,m_NAtagCGViewFamilyRequestInfo.SubCmd))] = m_NAtagCGViewFamilyRequestInfo
+
+
+#------------------------------------------------------
+# A4 14 查看目标仙盟 #tagCGViewTagFamily
+
+class tagCGViewTagFamily(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TagFamilyID", c_int), # 目标仙盟ID,支持查看跨服仙盟
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA4
+ self.SubCmd = 0x14
+ 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 = 0xA4
+ self.SubCmd = 0x14
+ self.TagFamilyID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGViewTagFamily)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A4 14 查看目标仙盟 //tagCGViewTagFamily:
+ Cmd:%s,
+ SubCmd:%s,
+ TagFamilyID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TagFamilyID
+ )
+ return DumpString
+
+
+m_NAtagCGViewTagFamily=tagCGViewTagFamily()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGViewTagFamily.Cmd,m_NAtagCGViewTagFamily.SubCmd))] = m_NAtagCGViewTagFamily
#------------------------------------------------------
@@ -16469,6 +12153,829 @@
#------------------------------------------------------
+# A9 03 关注BOSS刷新 #tagCGAttentionBoss
+
+class tagCGAttentionBoss(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("IsAdd", c_ubyte), #0-取消关注, 1-关注
+ ("BossID", c_int),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA9
+ self.SubCmd = 0x03
+ 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 = 0x03
+ self.IsAdd = 0
+ self.BossID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGAttentionBoss)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A9 03 关注BOSS刷新 //tagCGAttentionBoss:
+ Cmd:%s,
+ SubCmd:%s,
+ IsAdd:%d,
+ BossID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.IsAdd,
+ self.BossID
+ )
+ return DumpString
+
+
+m_NAtagCGAttentionBoss=tagCGAttentionBoss()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGAttentionBoss.Cmd,m_NAtagCGAttentionBoss.SubCmd))] = m_NAtagCGAttentionBoss
+
+
+#------------------------------------------------------
+# A9 02 渡劫护法 #tagCGRealmFBHelp
+
+class tagCGRealmFBHelp(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("PlayerID", c_int), #护法目标ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA9
+ self.SubCmd = 0x02
+ 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 = 0x02
+ self.PlayerID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGRealmFBHelp)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A9 02 渡劫护法 //tagCGRealmFBHelp:
+ Cmd:%s,
+ SubCmd:%s,
+ PlayerID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.PlayerID
+ )
+ return DumpString
+
+
+m_NAtagCGRealmFBHelp=tagCGRealmFBHelp()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGRealmFBHelp.Cmd,m_NAtagCGRealmFBHelp.SubCmd))] = m_NAtagCGRealmFBHelp
+
+
+#------------------------------------------------------
+# A9 A2 查看排行榜#tagCPYWatchBillboard
+
+class tagCPYWatchBillboard(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("Type", c_ubyte), #类型 TBillboardType
+ ("StartIndex", c_int), #查看的起始名次索引, 默认0
+ ("WatchCnt", c_ubyte), #查看条数,默认20,最大不超过100
+ ("WatchID", c_int), #查看指定ID名次前后,如玩家ID、家族ID等
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA9
+ self.SubCmd = 0xA2
+ 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 = 0xA2
+ self.Type = 0
+ self.StartIndex = 0
+ self.WatchCnt = 0
+ self.WatchID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCPYWatchBillboard)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A9 A2 查看排行榜//tagCPYWatchBillboard:
+ Cmd:%s,
+ SubCmd:%s,
+ Type:%d,
+ StartIndex:%d,
+ WatchCnt:%d,
+ WatchID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.Type,
+ self.StartIndex,
+ self.WatchCnt,
+ self.WatchID
+ )
+ return DumpString
+
+
+m_NAtagCPYWatchBillboard=tagCPYWatchBillboard()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCPYWatchBillboard.Cmd,m_NAtagCPYWatchBillboard.SubCmd))] = m_NAtagCPYWatchBillboard
+
+
+#------------------------------------------------------
+# A9 A4 查找玩家 #tagCGFuzzySearchPlayer
+
+class tagCGFuzzySearchPlayer(Structure):
+ Head = tagHead()
+ Name = "" #(char Name[33])
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xA9
+ self.Head.SubCmd = 0xA4
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.Name,_pos = CommFunc.ReadString(_lpData, _pos,33)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xA9
+ self.Head.SubCmd = 0xA4
+ self.Name = ""
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 33
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteString(data, 33, self.Name)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ Name:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.Name
+ )
+ return DumpString
+
+
+m_NAtagCGFuzzySearchPlayer=tagCGFuzzySearchPlayer()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGFuzzySearchPlayer.Head.Cmd,m_NAtagCGFuzzySearchPlayer.Head.SubCmd))] = m_NAtagCGFuzzySearchPlayer
+
+
+#------------------------------------------------------
+# A9 01 获取Boss首杀奖励 #tagCGGetBossFirstKillAward
+
+class tagCGGetBossFirstKillAward(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("NPCID", c_int),
+ ("AwardType", c_ubyte), # 0-首杀红包奖励;1-个人首杀奖励
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA9
+ self.SubCmd = 0x01
+ 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 = 0x01
+ self.NPCID = 0
+ self.AwardType = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGGetBossFirstKillAward)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A9 01 获取Boss首杀奖励 //tagCGGetBossFirstKillAward:
+ Cmd:%s,
+ SubCmd:%s,
+ NPCID:%d,
+ AwardType:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.NPCID,
+ self.AwardType
+ )
+ return DumpString
+
+
+m_NAtagCGGetBossFirstKillAward=tagCGGetBossFirstKillAward()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGGetBossFirstKillAward.Cmd,m_NAtagCGGetBossFirstKillAward.SubCmd))] = m_NAtagCGGetBossFirstKillAward
+
+
+#------------------------------------------------------
+# 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):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("PlayerID", c_int), #目标玩家ID,仅支持查真实玩家
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA9
+ self.SubCmd = 0xA5
+ 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 = 0xA5
+ self.PlayerID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryArenaBattlePlayer)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A9 A5 查看竞技场对战玩家最新信息 //tagCGQueryArenaBattlePlayer:
+ Cmd:%s,
+ SubCmd:%s,
+ PlayerID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.PlayerID
+ )
+ return DumpString
+
+
+m_NAtagCGQueryArenaBattlePlayer=tagCGQueryArenaBattlePlayer()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryArenaBattlePlayer.Cmd,m_NAtagCGQueryArenaBattlePlayer.SubCmd))] = m_NAtagCGQueryArenaBattlePlayer
+
+
+#------------------------------------------------------
+# 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):
+ Head = tagHead()
+ Count = 0 #(BYTE Count)//数量
+ BossIDList = list() #(vector<DWORD> BossIDList)//boosid
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xA9
+ self.Head.SubCmd = 0x04
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.Count):
+ value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
+ self.BossIDList.append(value)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xA9
+ self.Head.SubCmd = 0x04
+ self.Count = 0
+ self.BossIDList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ length += 4 * self.Count
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteBYTE(data, self.Count)
+ for i in range(self.Count):
+ data = CommFunc.WriteDWORD(data, self.BossIDList[i])
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ Count:%d,
+ BossIDList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.Count,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagCGQueryBossInfo=tagCGQueryBossInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryBossInfo.Head.Cmd,m_NAtagCGQueryBossInfo.Head.SubCmd))] = m_NAtagCGQueryBossInfo
+
+
+#------------------------------------------------------
+#A9 A1 查询玩家补偿#tagCGQueryCompensation
+
+class tagCGQueryCompensation(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA9
+ self.SubCmd = 0xA1
+ 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 = 0xA1
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryCompensation)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''//A9 A1 查询玩家补偿//tagCGQueryCompensation:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGQueryCompensation=tagCGQueryCompensation()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryCompensation.Cmd,m_NAtagCGQueryCompensation.SubCmd))] = m_NAtagCGQueryCompensation
+
+
+#------------------------------------------------------
+# A9 05 查询广播装备详细信息 #tagCGQueryNotifyEquipDetailInfo
+
+class tagCGQueryNotifyEquipDetailInfo(Structure):
+ Head = tagHead()
+ ItemGUID = "" #(char ItemGUID[40])
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xA9
+ self.Head.SubCmd = 0x05
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xA9
+ self.Head.SubCmd = 0x05
+ self.ItemGUID = ""
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 40
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteString(data, 40, self.ItemGUID)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ ItemGUID:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.ItemGUID
+ )
+ return DumpString
+
+
+m_NAtagCGQueryNotifyEquipDetailInfo=tagCGQueryNotifyEquipDetailInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryNotifyEquipDetailInfo.Head.Cmd,m_NAtagCGQueryNotifyEquipDetailInfo.Head.SubCmd))] = m_NAtagCGQueryNotifyEquipDetailInfo
+
+
+#------------------------------------------------------
+# A9 A3 查看推荐好友 #tagCGQueryRecommendFriends
+
+class tagCGQueryRecommendFriends(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA9
+ self.SubCmd = 0xA3
+ 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 = 0xA3
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryRecommendFriends)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A9 A3 查看推荐好友 //tagCGQueryRecommendFriends:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+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
+
+
+#------------------------------------------------------
+#A9 A6 设置邮件(补偿)已读状态 #tagCGReadCompensation
+
+class tagCGReadCompensation(Structure):
+ Head = tagHead()
+ GUID = "" #(char GUID[40])
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xA9
+ self.Head.SubCmd = 0xA6
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.GUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xA9
+ self.Head.SubCmd = 0xA6
+ self.GUID = ""
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 40
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteString(data, 40, self.GUID)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ GUID:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.GUID
+ )
+ return DumpString
+
+
+m_NAtagCGReadCompensation=tagCGReadCompensation()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGReadCompensation.Head.Cmd,m_NAtagCGReadCompensation.Head.SubCmd))] = m_NAtagCGReadCompensation
+
+
+#------------------------------------------------------
+#A9 A7 删除邮件(补偿) #tagCGDelCompensation
+
+class tagCGDelCompensation(Structure):
+ Head = tagHead()
+ GUID = "" #(char GUID[40])
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xA9
+ self.Head.SubCmd = 0xA7
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.GUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xA9
+ self.Head.SubCmd = 0xA7
+ self.GUID = ""
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 40
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteString(data, 40, self.GUID)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ GUID:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.GUID
+ )
+ return DumpString
+
+
+m_NAtagCGDelCompensation=tagCGDelCompensation()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGDelCompensation.Head.Cmd,m_NAtagCGDelCompensation.Head.SubCmd))] = m_NAtagCGDelCompensation
+
+
+#------------------------------------------------------
# AA 24 Boss历练领奖 #tagCMActBossTrialGetAward
class tagCMActBossTrialGetAward(Structure):
@@ -17954,6 +14461,280 @@
#------------------------------------------------------
+# AC 05 召集仙盟成员打boss #tagCGCallupFamilyMemberToBoss
+
+class tagCGCallupFamilyMemberToBoss(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("NPCID", c_int),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xAC
+ self.SubCmd = 0x05
+ 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 = 0xAC
+ self.SubCmd = 0x05
+ self.NPCID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGCallupFamilyMemberToBoss)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// AC 05 召集仙盟成员打boss //tagCGCallupFamilyMemberToBoss:
+ Cmd:%s,
+ SubCmd:%s,
+ NPCID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.NPCID
+ )
+ return DumpString
+
+
+m_NAtagCGCallupFamilyMemberToBoss=tagCGCallupFamilyMemberToBoss()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCallupFamilyMemberToBoss.Cmd,m_NAtagCGCallupFamilyMemberToBoss.SubCmd))] = m_NAtagCGCallupFamilyMemberToBoss
+
+
+#------------------------------------------------------
+# AC 02 仙魔之争战斗结束 #tagCGXMZZOver
+
+class tagCGXMZZOver(Structure):
+ Head = tagHead()
+ IsWin = 0 #(BYTE IsWin)//是否胜利
+ IsEnd = 0 #(BYTE IsEnd)//是否结束
+ HPPer = 0 #(BYTE HPPer)//剩余血量百分比
+ VSName = "" #(char VSName[33])//对手名字
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xAC
+ self.Head.SubCmd = 0x02
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.IsWin,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.IsEnd,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.HPPer,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.VSName,_pos = CommFunc.ReadString(_lpData, _pos,33)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xAC
+ self.Head.SubCmd = 0x02
+ self.IsWin = 0
+ self.IsEnd = 0
+ self.HPPer = 0
+ self.VSName = ""
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ length += 1
+ length += 1
+ length += 33
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteBYTE(data, self.IsWin)
+ data = CommFunc.WriteBYTE(data, self.IsEnd)
+ data = CommFunc.WriteBYTE(data, self.HPPer)
+ data = CommFunc.WriteString(data, 33, self.VSName)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ IsWin:%d,
+ IsEnd:%d,
+ HPPer:%d,
+ VSName:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.IsWin,
+ self.IsEnd,
+ self.HPPer,
+ self.VSName
+ )
+ return DumpString
+
+
+m_NAtagCGXMZZOver=tagCGXMZZOver()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGXMZZOver.Head.Cmd,m_NAtagCGXMZZOver.Head.SubCmd))] = m_NAtagCGXMZZOver
+
+
+#------------------------------------------------------
+# AC 01 仙魔之争报名 #tagCGJoinXMZZ
+
+class tagCGJoinXMZZ(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xAC
+ self.SubCmd = 0x01
+ 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 = 0xAC
+ self.SubCmd = 0x01
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGJoinXMZZ)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// AC 01 仙魔之争报名 //tagCGJoinXMZZ:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGJoinXMZZ=tagCGJoinXMZZ()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGJoinXMZZ.Cmd,m_NAtagCGJoinXMZZ.SubCmd))] = m_NAtagCGJoinXMZZ
+
+
+#------------------------------------------------------
+# AC 04 查询仙盟抢Boss所有Boss当前进度 #tagCGQueryAllFamilyBossHurt
+
+class tagCGQueryAllFamilyBossHurt(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xAC
+ 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 = 0xAC
+ self.SubCmd = 0x04
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryAllFamilyBossHurt)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// AC 04 查询仙盟抢Boss所有Boss当前进度 //tagCGQueryAllFamilyBossHurt:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGQueryAllFamilyBossHurt=tagCGQueryAllFamilyBossHurt()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryAllFamilyBossHurt.Cmd,m_NAtagCGQueryAllFamilyBossHurt.SubCmd))] = m_NAtagCGQueryAllFamilyBossHurt
+
+
+#------------------------------------------------------
+# AC 03 仙魔之争信息查询 #tagCGXMZZInfoQuery
+
+class tagCGXMZZInfoQuery(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xAC
+ self.SubCmd = 0x03
+ 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 = 0xAC
+ self.SubCmd = 0x03
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGXMZZInfoQuery)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// AC 03 仙魔之争信息查询 //tagCGXMZZInfoQuery:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGXMZZInfoQuery=tagCGXMZZInfoQuery()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGXMZZInfoQuery.Cmd,m_NAtagCGXMZZInfoQuery.SubCmd))] = m_NAtagCGXMZZInfoQuery
+
+
+#------------------------------------------------------
# AF 01 领取合服当天登陆奖励 # tagCMGetMixLoginDayAward
class tagCMGetMixLoginDayAward(Structure):
@@ -18214,6 +14995,63 @@
#------------------------------------------------------
+# B0 13 取消协助Boss #tagCGCancelAssistBoss
+
+class tagCGCancelAssistBoss(Structure):
+ Head = tagHead()
+ AssistGUID = "" #(char AssistGUID[40])//协助GUID
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB0
+ self.Head.SubCmd = 0x13
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.AssistGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB0
+ self.Head.SubCmd = 0x13
+ self.AssistGUID = ""
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 40
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteString(data, 40, self.AssistGUID)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ AssistGUID:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.AssistGUID
+ )
+ return DumpString
+
+
+m_NAtagCGCancelAssistBoss=tagCGCancelAssistBoss()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCancelAssistBoss.Head.Cmd,m_NAtagCGCancelAssistBoss.Head.SubCmd))] = m_NAtagCGCancelAssistBoss
+
+
+#------------------------------------------------------
# B0 50 钓鱼收杆 #tagCMDoFish
class tagCMDoFish(Structure):
@@ -18267,6 +15105,162 @@
m_NAtagCMDoFish=tagCMDoFish()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMDoFish.Cmd,m_NAtagCMDoFish.SubCmd))] = m_NAtagCMDoFish
+
+
+#------------------------------------------------------
+# B0 15 接收协助感谢礼物 #tagCGGetAssistThanksGift
+
+class tagCGGetAssistThanksGift(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("IsPreview", c_ubyte), #是否预览,非预览即确认领取,无额外奖励确认时也需要回复领取包代表已读
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB0
+ self.SubCmd = 0x15
+ 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 = 0xB0
+ self.SubCmd = 0x15
+ self.IsPreview = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGGetAssistThanksGift)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B0 15 接收协助感谢礼物 //tagCGGetAssistThanksGift:
+ Cmd:%s,
+ SubCmd:%s,
+ IsPreview:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.IsPreview
+ )
+ return DumpString
+
+
+m_NAtagCGGetAssistThanksGift=tagCGGetAssistThanksGift()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGGetAssistThanksGift.Cmd,m_NAtagCGGetAssistThanksGift.SubCmd))] = m_NAtagCGGetAssistThanksGift
+
+
+#------------------------------------------------------
+# B0 34 福地请求结算奖励 #tagCGMineAreaAwardGet
+
+class tagCGMineAreaAwardGet(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB0
+ self.SubCmd = 0x34
+ 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 = 0xB0
+ self.SubCmd = 0x34
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGMineAreaAwardGet)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B0 34 福地请求结算奖励 //tagCGMineAreaAwardGet:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGMineAreaAwardGet=tagCGMineAreaAwardGet()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGMineAreaAwardGet.Cmd,m_NAtagCGMineAreaAwardGet.SubCmd))] = m_NAtagCGMineAreaAwardGet
+
+
+#------------------------------------------------------
+# B0 33 福地查看 #tagCGMineAreaView
+
+class tagCGMineAreaView(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("QueryType", c_ubyte), # 查询同步类型:0-后端主动同步;1-查看指定福地;2-查看道友福地列表;3-查看周围随机福地列表;4-退出他人福地;5-查看记录
+ ("QueryValue", c_int), # 查询值,类型1时-发送目标玩家ID;3时-发送是否重新随机
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB0
+ self.SubCmd = 0x33
+ 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 = 0xB0
+ self.SubCmd = 0x33
+ self.QueryType = 0
+ self.QueryValue = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGMineAreaView)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B0 33 福地查看 //tagCGMineAreaView:
+ Cmd:%s,
+ SubCmd:%s,
+ QueryType:%d,
+ QueryValue:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.QueryType,
+ self.QueryValue
+ )
+ return DumpString
+
+
+m_NAtagCGMineAreaView=tagCGMineAreaView()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGMineAreaView.Cmd,m_NAtagCGMineAreaView.SubCmd))] = m_NAtagCGMineAreaView
#------------------------------------------------------
@@ -18530,6 +15524,54 @@
#------------------------------------------------------
+#B0 25 请求家族悬赏任务完成情况 #tagQueryFamilyArrestOverState
+
+class tagQueryFamilyArrestOverState(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB0
+ self.SubCmd = 0x25
+ 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 = 0xB0
+ self.SubCmd = 0x25
+ return
+
+ def GetLength(self):
+ return sizeof(tagQueryFamilyArrestOverState)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''//B0 25 请求家族悬赏任务完成情况 //tagQueryFamilyArrestOverState:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagQueryFamilyArrestOverState=tagQueryFamilyArrestOverState()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagQueryFamilyArrestOverState.Cmd,m_NAtagQueryFamilyArrestOverState.SubCmd))] = m_NAtagQueryFamilyArrestOverState
+
+
+#------------------------------------------------------
#B0 24 领取家族悬赏奖励 #tagReceiveFamilyArrestAward
class tagReceiveFamilyArrestAward(Structure):
@@ -18694,6 +15736,119 @@
#------------------------------------------------------
+# B0 12 开始协助Boss #tagCGStartAssistBoss
+
+class tagCGStartAssistBoss(Structure):
+ Head = tagHead()
+ AssistGUID = "" #(char AssistGUID[40])//协助GUID
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB0
+ self.Head.SubCmd = 0x12
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.AssistGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB0
+ self.Head.SubCmd = 0x12
+ self.AssistGUID = ""
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 40
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteString(data, 40, self.AssistGUID)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ AssistGUID:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.AssistGUID
+ )
+ return DumpString
+
+
+m_NAtagCGStartAssistBoss=tagCGStartAssistBoss()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGStartAssistBoss.Head.Cmd,m_NAtagCGStartAssistBoss.Head.SubCmd))] = m_NAtagCGStartAssistBoss
+
+
+#------------------------------------------------------
+# B0 14 使用协助感谢礼盒 #tagCGUseAssistThanksGift
+
+class tagCGUseAssistThanksGift(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ItemID", c_int),
+ ("IsPreview", c_ubyte), #是否预览,非预览即确认使用
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB0
+ self.SubCmd = 0x14
+ 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 = 0xB0
+ self.SubCmd = 0x14
+ self.ItemID = 0
+ self.IsPreview = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGUseAssistThanksGift)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B0 14 使用协助感谢礼盒 //tagCGUseAssistThanksGift:
+ Cmd:%s,
+ SubCmd:%s,
+ ItemID:%d,
+ IsPreview:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ItemID,
+ self.IsPreview
+ )
+ return DumpString
+
+
+m_NAtagCGUseAssistThanksGift=tagCGUseAssistThanksGift()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGUseAssistThanksGift.Cmd,m_NAtagCGUseAssistThanksGift.SubCmd))] = m_NAtagCGUseAssistThanksGift
+
+
+#------------------------------------------------------
# B0 05 开始世界传送 #tagCMWorldTransfer
class tagCMWorldTransfer(Structure):
@@ -18763,6 +15918,66 @@
m_NAtagCMWorldTransfer=tagCMWorldTransfer()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMWorldTransfer.Cmd,m_NAtagCMWorldTransfer.SubCmd))] = m_NAtagCMWorldTransfer
+
+
+#------------------------------------------------------
+# B0 20 请求膜拜玩家 #tagCGWorship
+
+class tagCGWorship(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("PlayerID", c_int), # 目标玩家ID
+ ("WorshipType", c_ubyte), # 膜拜类型
+ ("WorshipValue", c_int), # 膜拜类型对应的功能值,如名次或其他,由具体膜拜类型定义对应值含义
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB0
+ self.SubCmd = 0x20
+ 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 = 0xB0
+ self.SubCmd = 0x20
+ self.PlayerID = 0
+ self.WorshipType = 0
+ self.WorshipValue = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGWorship)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B0 20 请求膜拜玩家 //tagCGWorship:
+ Cmd:%s,
+ SubCmd:%s,
+ PlayerID:%d,
+ WorshipType:%d,
+ WorshipValue:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.PlayerID,
+ self.WorshipType,
+ self.WorshipValue
+ )
+ return DumpString
+
+
+m_NAtagCGWorship=tagCGWorship()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGWorship.Cmd,m_NAtagCGWorship.SubCmd))] = m_NAtagCGWorship
#------------------------------------------------------
@@ -20324,6 +17539,114 @@
#------------------------------------------------------
+# B3 19 提升魅力等级 #tagCGCharmLVUp
+
+class tagCGCharmLVUp(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB3
+ self.SubCmd = 0x19
+ 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 = 0xB3
+ self.SubCmd = 0x19
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGCharmLVUp)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B3 19 提升魅力等级 //tagCGCharmLVUp:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGCharmLVUp=tagCGCharmLVUp()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCharmLVUp.Cmd,m_NAtagCGCharmLVUp.SubCmd))] = m_NAtagCGCharmLVUp
+
+
+#------------------------------------------------------
+# B3 09 魅力贡献榜查看 #tagCGCharmOfferBillboardQuery
+
+class tagCGCharmOfferBillboardQuery(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("PlayerID", c_int), # 魅力玩家ID
+ ("QueryType", c_ubyte), # 查看类型: 1-总榜,2-周榜,3-日榜
+ ("QueryCount", c_ubyte), # 查看名次数量,最大255
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB3
+ 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 = 0xB3
+ self.SubCmd = 0x09
+ self.PlayerID = 0
+ self.QueryType = 0
+ self.QueryCount = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGCharmOfferBillboardQuery)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B3 09 魅力贡献榜查看 //tagCGCharmOfferBillboardQuery:
+ Cmd:%s,
+ SubCmd:%s,
+ PlayerID:%d,
+ QueryType:%d,
+ QueryCount:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.PlayerID,
+ self.QueryType,
+ self.QueryCount
+ )
+ return DumpString
+
+
+m_NAtagCGCharmOfferBillboardQuery=tagCGCharmOfferBillboardQuery()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCharmOfferBillboardQuery.Cmd,m_NAtagCGCharmOfferBillboardQuery.SubCmd))] = m_NAtagCGCharmOfferBillboardQuery
+
+
+#------------------------------------------------------
# B3 17 情戒解锁 #tagCMLoveRingUnlock
class tagCMLoveRingUnlock(Structure):
@@ -20473,6 +17796,58 @@
m_NAtagCMMarryBreak=tagCMMarryBreak()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMarryBreak.Cmd,m_NAtagCMMarryBreak.SubCmd))] = m_NAtagCMMarryBreak
+
+
+#------------------------------------------------------
+# B3 16 和平离婚回应 #tagGCMarryBreakResponse
+
+class tagGCMarryBreakResponse(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("IsOK", c_ubyte), # 是否同意,0-否,1-是
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB3
+ self.SubCmd = 0x16
+ 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 = 0xB3
+ self.SubCmd = 0x16
+ self.IsOK = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagGCMarryBreakResponse)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B3 16 和平离婚回应 //tagGCMarryBreakResponse:
+ Cmd:%s,
+ SubCmd:%s,
+ IsOK:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.IsOK
+ )
+ return DumpString
+
+
+m_NAtagGCMarryBreakResponse=tagGCMarryBreakResponse()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCMarryBreakResponse.Cmd,m_NAtagGCMarryBreakResponse.SubCmd))] = m_NAtagGCMarryBreakResponse
#------------------------------------------------------
@@ -20644,6 +18019,62 @@
#------------------------------------------------------
+# B3 12 提亲回应 #tagCGMarryResponse
+
+class tagCGMarryResponse(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ReqPlayerID", c_int), # 提亲的玩家ID
+ ("IsOK", c_ubyte), # 是否同意,0-否,1-是
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB3
+ self.SubCmd = 0x12
+ 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 = 0xB3
+ self.SubCmd = 0x12
+ self.ReqPlayerID = 0
+ self.IsOK = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGMarryResponse)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B3 12 提亲回应 //tagCGMarryResponse:
+ Cmd:%s,
+ SubCmd:%s,
+ ReqPlayerID:%d,
+ IsOK:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ReqPlayerID,
+ self.IsOK
+ )
+ return DumpString
+
+
+m_NAtagCGMarryResponse=tagCGMarryResponse()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGMarryResponse.Cmd,m_NAtagCGMarryResponse.SubCmd))] = m_NAtagCGMarryResponse
+
+
+#------------------------------------------------------
# B3 10 送礼物 #tagCMSendGifts
class tagCMSendGifts(Structure):
@@ -20705,6 +18136,334 @@
m_NAtagCMSendGifts=tagCMSendGifts()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSendGifts.Cmd,m_NAtagCMSendGifts.SubCmd))] = m_NAtagCMSendGifts
+
+
+#------------------------------------------------------
+#B3 04 加入黑名单 #tagCGAddBlackList
+
+class tagCGAddBlackList(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TagID", c_int), #玩家ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB3
+ 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 = 0xB3
+ self.SubCmd = 0x04
+ self.TagID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGAddBlackList)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''//B3 04 加入黑名单 //tagCGAddBlackList:
+ Cmd:%s,
+ SubCmd:%s,
+ TagID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TagID
+ )
+ return DumpString
+
+
+m_NAtagCGAddBlackList=tagCGAddBlackList()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGAddBlackList.Cmd,m_NAtagCGAddBlackList.SubCmd))] = m_NAtagCGAddBlackList
+
+
+#------------------------------------------------------
+#B3 01 添加好友#tagCGAddFriend
+
+class tagCGAddFriend(Structure):
+ Head = tagHead()
+ TagName = "" #(char TagName[33])//玩家名称
+ TagID = 0 #(DWORD TagID)//玩家ID
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB3
+ self.Head.SubCmd = 0x01
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.TagName,_pos = CommFunc.ReadString(_lpData, _pos,33)
+ self.TagID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB3
+ self.Head.SubCmd = 0x01
+ self.TagName = ""
+ self.TagID = 0
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 33
+ length += 4
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteString(data, 33, self.TagName)
+ data = CommFunc.WriteDWORD(data, self.TagID)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ TagName:%s,
+ TagID:%d
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.TagName,
+ self.TagID
+ )
+ return DumpString
+
+
+m_NAtagCGAddFriend=tagCGAddFriend()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGAddFriend.Head.Cmd,m_NAtagCGAddFriend.Head.SubCmd))] = m_NAtagCGAddFriend
+
+
+#------------------------------------------------------
+#B3 05 移除黑名单 #tagCGDelBlackList
+
+class tagCGDelBlackList(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TagID", c_int),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB3
+ self.SubCmd = 0x05
+ 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 = 0xB3
+ self.SubCmd = 0x05
+ self.TagID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGDelBlackList)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''//B3 05 移除黑名单 //tagCGDelBlackList:
+ Cmd:%s,
+ SubCmd:%s,
+ TagID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TagID
+ )
+ return DumpString
+
+
+m_NAtagCGDelBlackList=tagCGDelBlackList()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGDelBlackList.Cmd,m_NAtagCGDelBlackList.SubCmd))] = m_NAtagCGDelBlackList
+
+
+#------------------------------------------------------
+#B3 02 删除好友#tagCGDeleteFriend
+
+class tagCGDeleteFriend(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("FriendID", c_int),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB3
+ self.SubCmd = 0x02
+ 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 = 0xB3
+ self.SubCmd = 0x02
+ self.FriendID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGDeleteFriend)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''//B3 02 删除好友//tagCGDeleteFriend:
+ Cmd:%s,
+ SubCmd:%s,
+ FriendID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.FriendID
+ )
+ return DumpString
+
+
+m_NAtagCGDeleteFriend=tagCGDeleteFriend()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGDeleteFriend.Cmd,m_NAtagCGDeleteFriend.SubCmd))] = m_NAtagCGDeleteFriend
+
+
+#------------------------------------------------------
+#B3 06 查询玩家的简短信息 #tagCGViewPlayerShortInfo
+
+class tagCGViewPlayerShortInfo(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("PlayerID", c_int),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB3
+ 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 = 0xB3
+ self.SubCmd = 0x06
+ self.PlayerID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGViewPlayerShortInfo)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''//B3 06 查询玩家的简短信息 //tagCGViewPlayerShortInfo:
+ Cmd:%s,
+ SubCmd:%s,
+ PlayerID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.PlayerID
+ )
+ return DumpString
+
+
+m_NAtagCGViewPlayerShortInfo=tagCGViewPlayerShortInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGViewPlayerShortInfo.Cmd,m_NAtagCGViewPlayerShortInfo.SubCmd))] = m_NAtagCGViewPlayerShortInfo
+
+
+#------------------------------------------------------
+#B3 03 是否允许加入好友的回应#tagCGJoinFriendAnswer
+
+class tagCGJoinFriendAnswer(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TagID", c_int),
+ ("Answer", c_ubyte), #0: 拒绝 1: 接受
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB3
+ self.SubCmd = 0x03
+ 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 = 0xB3
+ self.SubCmd = 0x03
+ self.TagID = 0
+ self.Answer = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGJoinFriendAnswer)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''//B3 03 是否允许加入好友的回应//tagCGJoinFriendAnswer:
+ Cmd:%s,
+ SubCmd:%s,
+ TagID:%d,
+ Answer:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TagID,
+ self.Answer
+ )
+ return DumpString
+
+
+m_NAtagCGJoinFriendAnswer=tagCGJoinFriendAnswer()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGJoinFriendAnswer.Cmd,m_NAtagCGJoinFriendAnswer.SubCmd))] = m_NAtagCGJoinFriendAnswer
#------------------------------------------------------
@@ -21963,6 +19722,520 @@
#------------------------------------------------------
+# B5 18 拍卖行修改关注物品 #tagCGAttentionAuctionItemChange
+
+class tagCGAttentionAuctionItemChange(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ItemID", c_int),
+ ("IsAttention", c_ubyte), #是否关注,取消关注发0
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB5
+ self.SubCmd = 0x18
+ 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 = 0xB5
+ self.SubCmd = 0x18
+ self.ItemID = 0
+ self.IsAttention = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGAttentionAuctionItemChange)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B5 18 拍卖行修改关注物品 //tagCGAttentionAuctionItemChange:
+ Cmd:%s,
+ SubCmd:%s,
+ ItemID:%d,
+ IsAttention:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ItemID,
+ self.IsAttention
+ )
+ return DumpString
+
+
+m_NAtagCGAttentionAuctionItemChange=tagCGAttentionAuctionItemChange()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGAttentionAuctionItemChange.Cmd,m_NAtagCGAttentionAuctionItemChange.SubCmd))] = m_NAtagCGAttentionAuctionItemChange
+
+
+#------------------------------------------------------
+# B5 03 交易所查询上架物品#tagCGPYQueryBourseItemOnSale
+
+class tagCGPYQueryBourseItemOnSale(Structure):
+ Head = tagHead()
+ QueryType = 0 #(DWORD QueryType)//查询的分类标识
+ ItemName = "" #(char ItemName[33])//物品名(模糊查询)
+ ItemID = 0 #(DWORD ItemID)//物品ID
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x03
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.QueryType,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.ItemName,_pos = CommFunc.ReadString(_lpData, _pos,33)
+ self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x03
+ self.QueryType = 0
+ self.ItemName = ""
+ self.ItemID = 0
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 4
+ length += 33
+ length += 4
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteDWORD(data, self.QueryType)
+ data = CommFunc.WriteString(data, 33, self.ItemName)
+ data = CommFunc.WriteDWORD(data, self.ItemID)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ QueryType:%d,
+ ItemName:%s,
+ ItemID:%d
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.QueryType,
+ self.ItemName,
+ self.ItemID
+ )
+ return DumpString
+
+
+m_NAtagCGPYQueryBourseItemOnSale=tagCGPYQueryBourseItemOnSale()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGPYQueryBourseItemOnSale.Head.Cmd,m_NAtagCGPYQueryBourseItemOnSale.Head.SubCmd))] = m_NAtagCGPYQueryBourseItemOnSale
+
+
+#------------------------------------------------------
+# B5 16 拍卖行查询关注中的拍品 #tagCGQueryAttentionAuctionItem
+
+class tagCGQueryAttentionAuctionItem(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB5
+ self.SubCmd = 0x16
+ 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 = 0xB5
+ self.SubCmd = 0x16
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryAttentionAuctionItem)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B5 16 拍卖行查询关注中的拍品 //tagCGQueryAttentionAuctionItem:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGQueryAttentionAuctionItem=tagCGQueryAttentionAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryAttentionAuctionItem.Cmd,m_NAtagCGQueryAttentionAuctionItem.SubCmd))] = m_NAtagCGQueryAttentionAuctionItem
+
+
+#------------------------------------------------------
+# B5 10 拍卖行查询拍卖中的物品 #tagCGQueryAuctionItem
+
+class tagCGQueryAuctionItem(Structure):
+ Head = tagHead()
+ Job = 0 #(BYTE Job)//过滤职业,0为不限制
+ ItemTypeCount = 0 #(BYTE ItemTypeCount)
+ ItemTypeList = list() #(vector<DWORD> ItemTypeList)//指定的物品类型
+ ClassLV = 0 #(BYTE ClassLV)//过滤阶数,0为不限制
+ SpecItemIDCount = 0 #(BYTE SpecItemIDCount)//指定物品ID个数
+ SpecItemIDList = list() #(vector<DWORD> SpecItemIDList)//指定物品ID
+ FromItemGUID = "" #(char FromItemGUID[40])//从哪个物品开始查询
+ QueryDir = 0 #(BYTE QueryDir)//查询方向,1-往后查,2-往前查
+ QueryCount = 0 #(BYTE QueryCount)//查询个数,0为全部
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x10
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.ItemTypeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.ItemTypeCount):
+ value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
+ self.ItemTypeList.append(value)
+ self.ClassLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.SpecItemIDCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.SpecItemIDCount):
+ value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
+ self.SpecItemIDList.append(value)
+ self.FromItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+ self.QueryDir,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.QueryCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x10
+ self.Job = 0
+ self.ItemTypeCount = 0
+ self.ItemTypeList = list()
+ self.ClassLV = 0
+ self.SpecItemIDCount = 0
+ self.SpecItemIDList = list()
+ self.FromItemGUID = ""
+ self.QueryDir = 0
+ self.QueryCount = 0
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ length += 1
+ length += 4 * self.ItemTypeCount
+ length += 1
+ length += 1
+ length += 4 * self.SpecItemIDCount
+ length += 40
+ length += 1
+ length += 1
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteBYTE(data, self.Job)
+ data = CommFunc.WriteBYTE(data, self.ItemTypeCount)
+ for i in range(self.ItemTypeCount):
+ data = CommFunc.WriteDWORD(data, self.ItemTypeList[i])
+ data = CommFunc.WriteBYTE(data, self.ClassLV)
+ data = CommFunc.WriteBYTE(data, self.SpecItemIDCount)
+ for i in range(self.SpecItemIDCount):
+ data = CommFunc.WriteDWORD(data, self.SpecItemIDList[i])
+ data = CommFunc.WriteString(data, 40, self.FromItemGUID)
+ data = CommFunc.WriteBYTE(data, self.QueryDir)
+ data = CommFunc.WriteBYTE(data, self.QueryCount)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ Job:%d,
+ ItemTypeCount:%d,
+ ItemTypeList:%s,
+ ClassLV:%d,
+ SpecItemIDCount:%d,
+ SpecItemIDList:%s,
+ FromItemGUID:%s,
+ QueryDir:%d,
+ QueryCount:%d
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.Job,
+ self.ItemTypeCount,
+ "...",
+ self.ClassLV,
+ self.SpecItemIDCount,
+ "...",
+ self.FromItemGUID,
+ self.QueryDir,
+ self.QueryCount
+ )
+ return DumpString
+
+
+m_NAtagCGQueryAuctionItem=tagCGQueryAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryAuctionItem.Head.Cmd,m_NAtagCGQueryAuctionItem.Head.SubCmd))] = m_NAtagCGQueryAuctionItem
+
+
+#------------------------------------------------------
+# B5 12 拍卖行查询拍卖记录 #tagCGQueryAuctionRecord
+
+class tagCGQueryAuctionRecord(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("RecordType", c_ubyte), #记录类型 0-我的拍品记录 1-仙盟拍品记录 2-我的竞拍记录
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB5
+ self.SubCmd = 0x12
+ 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 = 0xB5
+ self.SubCmd = 0x12
+ self.RecordType = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryAuctionRecord)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B5 12 拍卖行查询拍卖记录 //tagCGQueryAuctionRecord:
+ Cmd:%s,
+ SubCmd:%s,
+ RecordType:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.RecordType
+ )
+ return DumpString
+
+
+m_NAtagCGQueryAuctionRecord=tagCGQueryAuctionRecord()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryAuctionRecord.Cmd,m_NAtagCGQueryAuctionRecord.SubCmd))] = m_NAtagCGQueryAuctionRecord
+
+
+#------------------------------------------------------
+# B5 17 拍卖行查询定位目标拍品 #tagCGQueryTagAuctionItem
+
+class tagCGQueryTagAuctionItem(Structure):
+ Head = tagHead()
+ ItemGUID = "" #(char ItemGUID[40])
+ ItemID = 0 #(DWORD ItemID)
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x17
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+ self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x17
+ self.ItemGUID = ""
+ self.ItemID = 0
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 40
+ length += 4
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteString(data, 40, self.ItemGUID)
+ data = CommFunc.WriteDWORD(data, self.ItemID)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ ItemGUID:%s,
+ ItemID:%d
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.ItemGUID,
+ self.ItemID
+ )
+ return DumpString
+
+
+m_NAtagCGQueryTagAuctionItem=tagCGQueryTagAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryTagAuctionItem.Head.Cmd,m_NAtagCGQueryTagAuctionItem.Head.SubCmd))] = m_NAtagCGQueryTagAuctionItem
+
+
+#------------------------------------------------------
+# B9 07 自动匹配队伍或玩家 #tagCGAutoMatchTeam
+
+class tagCGAutoMatchTeam(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TagMapID", c_int), # 目标地图; 发0代表匹配当前场景的
+ ("TagMapEx", c_ushort), # 目标地图扩展
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB9
+ 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 = 0xB9
+ self.SubCmd = 0x07
+ self.TagMapID = 0
+ self.TagMapEx = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGAutoMatchTeam)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B9 07 自动匹配队伍或玩家 //tagCGAutoMatchTeam:
+ Cmd:%s,
+ SubCmd:%s,
+ TagMapID:%d,
+ TagMapEx:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TagMapID,
+ self.TagMapEx
+ )
+ return DumpString
+
+
+m_NAtagCGAutoMatchTeam=tagCGAutoMatchTeam()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGAutoMatchTeam.Cmd,m_NAtagCGAutoMatchTeam.SubCmd))] = m_NAtagCGAutoMatchTeam
+
+
+#------------------------------------------------------
+# B9 08 取消匹配队伍或玩家 #tagCGCancelMatchTeam
+
+class tagCGCancelMatchTeam(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB9
+ self.SubCmd = 0x08
+ 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 = 0x08
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGCancelMatchTeam)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B9 08 取消匹配队伍或玩家 //tagCGCancelMatchTeam:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGCancelMatchTeam=tagCGCancelMatchTeam()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCancelMatchTeam.Cmd,m_NAtagCGCancelMatchTeam.SubCmd))] = m_NAtagCGCancelMatchTeam
+
+
+#------------------------------------------------------
# B9 21 修改功能队伍 #tagCMChangeFuncTeam
class tagCMChangeFuncTeam(Structure):
@@ -22095,6 +20368,70 @@
#------------------------------------------------------
+# B9 03 修改队伍信息 #tagCGChangeTeamInfo
+
+class tagCGChangeTeamInfo(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TagMapID", c_int), # 目标地图
+ ("TagMapEx", c_ushort), # 目标地图扩展
+ ("ReqMinLV", c_ushort), # 队员最低等级限制
+ ("ReqMaxLV", c_ushort), # 队员最高等级限制
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB9
+ self.SubCmd = 0x03
+ 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 = 0x03
+ self.TagMapID = 0
+ self.TagMapEx = 0
+ self.ReqMinLV = 0
+ self.ReqMaxLV = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGChangeTeamInfo)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B9 03 修改队伍信息 //tagCGChangeTeamInfo:
+ Cmd:%s,
+ SubCmd:%s,
+ TagMapID:%d,
+ TagMapEx:%d,
+ ReqMinLV:%d,
+ ReqMaxLV:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TagMapID,
+ self.TagMapEx,
+ self.ReqMinLV,
+ self.ReqMaxLV
+ )
+ return DumpString
+
+
+m_NAtagCGChangeTeamInfo=tagCGChangeTeamInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChangeTeamInfo.Cmd,m_NAtagCGChangeTeamInfo.SubCmd))] = m_NAtagCGChangeTeamInfo
+
+
+#------------------------------------------------------
# B9 20 创建功能队伍 #tagCMCreateFuncTeam
class tagCMCreateFuncTeam(Structure):
@@ -22208,6 +20545,70 @@
#------------------------------------------------------
+# B9 01 创建队伍 #tagCGCreateTeam
+
+class tagCGCreateTeam(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TagMapID", c_int), # 目标地图
+ ("TagMapEx", c_ushort), # 目标地图扩展
+ ("ReqMinLV", c_ushort), # 队员最低等级限制
+ ("ReqMaxLV", c_ushort), # 队员最高等级限制
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB9
+ self.SubCmd = 0x01
+ 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 = 0x01
+ self.TagMapID = 0
+ self.TagMapEx = 0
+ self.ReqMinLV = 0
+ self.ReqMaxLV = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGCreateTeam)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B9 01 创建队伍 //tagCGCreateTeam:
+ Cmd:%s,
+ SubCmd:%s,
+ TagMapID:%d,
+ TagMapEx:%d,
+ ReqMinLV:%d,
+ ReqMaxLV:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TagMapID,
+ self.TagMapEx,
+ self.ReqMinLV,
+ self.ReqMaxLV
+ )
+ return DumpString
+
+
+m_NAtagCGCreateTeam=tagCGCreateTeam()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCreateTeam.Cmd,m_NAtagCGCreateTeam.SubCmd))] = m_NAtagCGCreateTeam
+
+
+#------------------------------------------------------
# B9 22 功能队伍成员操作 #tagCMFuncTeamMemOP
class tagCMFuncTeamMemOP(Structure):
@@ -22269,6 +20670,114 @@
m_NAtagCMFuncTeamMemOP=tagCMFuncTeamMemOP()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFuncTeamMemOP.Cmd,m_NAtagCMFuncTeamMemOP.SubCmd))] = m_NAtagCMFuncTeamMemOP
+
+
+#------------------------------------------------------
+# B9 02 邀请玩家加入队伍 #tagCGInvitePlayerJoinTeam
+
+class tagCGInvitePlayerJoinTeam(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("PlayerID", c_int), # 目标玩家ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB9
+ self.SubCmd = 0x02
+ 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 = 0x02
+ self.PlayerID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGInvitePlayerJoinTeam)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B9 02 邀请玩家加入队伍 //tagCGInvitePlayerJoinTeam:
+ Cmd:%s,
+ SubCmd:%s,
+ PlayerID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.PlayerID
+ )
+ return DumpString
+
+
+m_NAtagCGInvitePlayerJoinTeam=tagCGInvitePlayerJoinTeam()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGInvitePlayerJoinTeam.Cmd,m_NAtagCGInvitePlayerJoinTeam.SubCmd))] = m_NAtagCGInvitePlayerJoinTeam
+
+
+#------------------------------------------------------
+# B9 0A 按条件邀请玩家加入队伍 #tagCGInvitePlayerJoinTeamByLV
+
+class tagCGInvitePlayerJoinTeamByLV(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("LVLimit", c_ushort), # 目标玩家大于等于此等级
+ ("InviteCnt", c_ubyte), # 邀请玩家个数
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB9
+ self.SubCmd = 0x0A
+ 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 = 0x0A
+ self.LVLimit = 0
+ self.InviteCnt = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGInvitePlayerJoinTeamByLV)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B9 0A 按条件邀请玩家加入队伍 //tagCGInvitePlayerJoinTeamByLV:
+ Cmd:%s,
+ SubCmd:%s,
+ LVLimit:%d,
+ InviteCnt:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.LVLimit,
+ self.InviteCnt
+ )
+ return DumpString
+
+
+m_NAtagCGInvitePlayerJoinTeamByLV=tagCGInvitePlayerJoinTeamByLV()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGInvitePlayerJoinTeamByLV.Cmd,m_NAtagCGInvitePlayerJoinTeamByLV.SubCmd))] = m_NAtagCGInvitePlayerJoinTeamByLV
#------------------------------------------------------
@@ -22430,6 +20939,1086 @@
#------------------------------------------------------
+# B9 05 查询推荐组队的附近玩家 #tagCGQueryRecommendNearbyPlayer
+
+class tagCGQueryRecommendNearbyPlayer(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB9
+ self.SubCmd = 0x05
+ 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 = 0x05
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryRecommendNearbyPlayer)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B9 05 查询推荐组队的附近玩家 //tagCGQueryRecommendNearbyPlayer:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGQueryRecommendNearbyPlayer=tagCGQueryRecommendNearbyPlayer()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryRecommendNearbyPlayer.Cmd,m_NAtagCGQueryRecommendNearbyPlayer.SubCmd))] = m_NAtagCGQueryRecommendNearbyPlayer
+
+
+#------------------------------------------------------
+# B9 06 查询对应组队目标的队伍 #tagCGQueryTagMapTeam
+
+class tagCGQueryTagMapTeam(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TagMapID", c_int), # 目标地图
+ ("TagMapEx", c_ushort), # 目标地图扩展
+ ("IsTagEx", c_ubyte), # 是否查询对应目标扩展的; 0否1是
+ ("MatchState", c_ubyte), # 0-全部;1-匹配中的;
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB9
+ 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 = 0xB9
+ self.SubCmd = 0x06
+ self.TagMapID = 0
+ self.TagMapEx = 0
+ self.IsTagEx = 0
+ self.MatchState = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryTagMapTeam)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B9 06 查询对应组队目标的队伍 //tagCGQueryTagMapTeam:
+ Cmd:%s,
+ SubCmd:%s,
+ TagMapID:%d,
+ TagMapEx:%d,
+ IsTagEx:%d,
+ MatchState:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TagMapID,
+ self.TagMapEx,
+ self.IsTagEx,
+ self.MatchState
+ )
+ return DumpString
+
+
+m_NAtagCGQueryTagMapTeam=tagCGQueryTagMapTeam()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryTagMapTeam.Cmd,m_NAtagCGQueryTagMapTeam.SubCmd))] = m_NAtagCGQueryTagMapTeam
+
+
+#------------------------------------------------------
+# B9 10 查询在线队员对应功能数据 #tagCGQueryTeamMemFuncData
+
+class tagCGQueryTeamMemFuncData(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TeamMemFuncType", c_ubyte), # 查询队员的功能数据类型
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB9
+ 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 = 0xB9
+ self.SubCmd = 0x10
+ self.TeamMemFuncType = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryTeamMemFuncData)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B9 10 查询在线队员对应功能数据 //tagCGQueryTeamMemFuncData:
+ Cmd:%s,
+ SubCmd:%s,
+ TeamMemFuncType:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TeamMemFuncType
+ )
+ return DumpString
+
+
+m_NAtagCGQueryTeamMemFuncData=tagCGQueryTeamMemFuncData()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryTeamMemFuncData.Cmd,m_NAtagCGQueryTeamMemFuncData.SubCmd))] = m_NAtagCGQueryTeamMemFuncData
+
+
+#------------------------------------------------------
+# 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):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("PrepareState", c_ubyte), # 1-准备;2-拒绝
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB9
+ 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 = 0xB9
+ self.SubCmd = 0x09
+ self.PrepareState = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGTeamMemberPrepare)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B9 09 队员进入副本准备选择 //tagCGTeamMemberPrepare:
+ Cmd:%s,
+ SubCmd:%s,
+ PrepareState:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.PrepareState
+ )
+ return DumpString
+
+
+m_NAtagCGTeamMemberPrepare=tagCGTeamMemberPrepare()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGTeamMemberPrepare.Cmd,m_NAtagCGTeamMemberPrepare.SubCmd))] = m_NAtagCGTeamMemberPrepare
+
+
+#------------------------------------------------------
+# C0 21 跨服排位仙官申请回应 #tagCGChampionshipOfficialApplyReply
+
+class tagCGChampionshipOfficialApplyReply(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("MainOfficialID", c_ushort), #界主官职ID
+ ("OfficialID", c_ushort), #申请官职ID
+ ("PlayerID", c_int), #申请的玩家ID
+ ("IsOK", c_ubyte), #是否同意;1-是;0-否
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xC0
+ self.SubCmd = 0x21
+ 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 = 0x21
+ self.MainOfficialID = 0
+ self.OfficialID = 0
+ self.PlayerID = 0
+ self.IsOK = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGChampionshipOfficialApplyReply)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// C0 21 跨服排位仙官申请回应 //tagCGChampionshipOfficialApplyReply:
+ Cmd:%s,
+ SubCmd:%s,
+ MainOfficialID:%d,
+ OfficialID:%d,
+ PlayerID:%d,
+ IsOK:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.MainOfficialID,
+ self.OfficialID,
+ self.PlayerID,
+ self.IsOK
+ )
+ return DumpString
+
+
+m_NAtagCGChampionshipOfficialApplyReply=tagCGChampionshipOfficialApplyReply()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChampionshipOfficialApplyReply.Cmd,m_NAtagCGChampionshipOfficialApplyReply.SubCmd))] = m_NAtagCGChampionshipOfficialApplyReply
+
+
+#------------------------------------------------------
+# C0 23 跨服排位仙官挑战记录查询 #tagCGChampionshipOfficialChallengeQuery
+
+class tagCGChampionshipOfficialChallengeQuery(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("MainOfficialID", c_ushort), #界主官职ID
+ ("OfficialID", c_ushort), #查询官职ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xC0
+ 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 = 0xC0
+ self.SubCmd = 0x23
+ self.MainOfficialID = 0
+ self.OfficialID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGChampionshipOfficialChallengeQuery)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// C0 23 跨服排位仙官挑战记录查询 //tagCGChampionshipOfficialChallengeQuery:
+ Cmd:%s,
+ SubCmd:%s,
+ MainOfficialID:%d,
+ OfficialID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.MainOfficialID,
+ self.OfficialID
+ )
+ return DumpString
+
+
+m_NAtagCGChampionshipOfficialChallengeQuery=tagCGChampionshipOfficialChallengeQuery()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChampionshipOfficialChallengeQuery.Cmd,m_NAtagCGChampionshipOfficialChallengeQuery.SubCmd))] = m_NAtagCGChampionshipOfficialChallengeQuery
+
+
+#------------------------------------------------------
+# C0 24 跨服排位辞退下级仙官 #tagCGChampionshipOfficialKick
+
+class tagCGChampionshipOfficialKick(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("MainOfficialID", c_ushort), #界主官职ID
+ ("OfficialID", c_ushort), #目标官职ID
+ ("PlayerID", c_int), #目标玩家ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xC0
+ self.SubCmd = 0x24
+ 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 = 0x24
+ self.MainOfficialID = 0
+ self.OfficialID = 0
+ self.PlayerID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGChampionshipOfficialKick)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// C0 24 跨服排位辞退下级仙官 //tagCGChampionshipOfficialKick:
+ Cmd:%s,
+ SubCmd:%s,
+ MainOfficialID:%d,
+ OfficialID:%d,
+ PlayerID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.MainOfficialID,
+ self.OfficialID,
+ self.PlayerID
+ )
+ return DumpString
+
+
+m_NAtagCGChampionshipOfficialKick=tagCGChampionshipOfficialKick()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChampionshipOfficialKick.Cmd,m_NAtagCGChampionshipOfficialKick.SubCmd))] = m_NAtagCGChampionshipOfficialKick
+
+
+#------------------------------------------------------
+# C0 25 跨服排位主动离任仙官 #tagCGChampionshipOfficialLeave
+
+class tagCGChampionshipOfficialLeave(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("MainOfficialID", c_ushort), #界主官职ID
+ ("OfficialID", c_ushort), #离任官职ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xC0
+ self.SubCmd = 0x25
+ 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 = 0x25
+ self.MainOfficialID = 0
+ self.OfficialID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGChampionshipOfficialLeave)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// C0 25 跨服排位主动离任仙官 //tagCGChampionshipOfficialLeave:
+ Cmd:%s,
+ SubCmd:%s,
+ MainOfficialID:%d,
+ OfficialID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.MainOfficialID,
+ self.OfficialID
+ )
+ return DumpString
+
+
+m_NAtagCGChampionshipOfficialLeave=tagCGChampionshipOfficialLeave()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChampionshipOfficialLeave.Cmd,m_NAtagCGChampionshipOfficialLeave.SubCmd))] = m_NAtagCGChampionshipOfficialLeave
+
+
+#------------------------------------------------------
+# C0 09 跨服战场召集场次修改 #tagCGCrossBattlefieldCallChange
+
+class tagCGCrossBattlefieldCallChange(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("Hour", c_ubyte), #战场开启时
+ ("Minute", c_ubyte), #战场开启分
+ ("ServerOnly", c_ubyte), #是否仅本服玩家可加入,0-否,1-是
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xC0
+ 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 = 0xC0
+ self.SubCmd = 0x09
+ self.Hour = 0
+ self.Minute = 0
+ self.ServerOnly = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGCrossBattlefieldCallChange)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// C0 09 跨服战场召集场次修改 //tagCGCrossBattlefieldCallChange:
+ Cmd:%s,
+ SubCmd:%s,
+ Hour:%d,
+ Minute:%d,
+ ServerOnly:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.Hour,
+ self.Minute,
+ self.ServerOnly
+ )
+ return DumpString
+
+
+m_NAtagCGCrossBattlefieldCallChange=tagCGCrossBattlefieldCallChange()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCrossBattlefieldCallChange.Cmd,m_NAtagCGCrossBattlefieldCallChange.SubCmd))] = m_NAtagCGCrossBattlefieldCallChange
+
+
+#------------------------------------------------------
+# C0 08 跨服战场召集场次踢人 #tagCGCrossBattlefieldCallKick
+
+class tagCGCrossBattlefieldCallKick(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("Hour", c_ubyte), #战场开启时
+ ("Minute", c_ubyte), #战场开启分
+ ("TagPlayerID", c_int), #目标玩家ID,即要被踢出去的玩家ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xC0
+ self.SubCmd = 0x08
+ 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 = 0x08
+ self.Hour = 0
+ self.Minute = 0
+ self.TagPlayerID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGCrossBattlefieldCallKick)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// C0 08 跨服战场召集场次踢人 //tagCGCrossBattlefieldCallKick:
+ Cmd:%s,
+ SubCmd:%s,
+ Hour:%d,
+ Minute:%d,
+ TagPlayerID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.Hour,
+ self.Minute,
+ self.TagPlayerID
+ )
+ return DumpString
+
+
+m_NAtagCGCrossBattlefieldCallKick=tagCGCrossBattlefieldCallKick()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCrossBattlefieldCallKick.Cmd,m_NAtagCGCrossBattlefieldCallKick.SubCmd))] = m_NAtagCGCrossBattlefieldCallKick
+
+
+#------------------------------------------------------
+# C0 07 跨服战场加入召集场次 #tagCGCrossBattlefieldJoinByCall
+
+class tagCGCrossBattlefieldJoinByCall(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("Hour", c_ubyte), #战场开启时
+ ("Minute", c_ubyte), #战场开启分
+ ("BuyPlayerID", c_int), #加入目标玩家的召集队伍,即购买召集场的玩家ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xC0
+ 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 = 0xC0
+ self.SubCmd = 0x07
+ self.Hour = 0
+ self.Minute = 0
+ self.BuyPlayerID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGCrossBattlefieldJoinByCall)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// C0 07 跨服战场加入召集场次 //tagCGCrossBattlefieldJoinByCall:
+ Cmd:%s,
+ SubCmd:%s,
+ Hour:%d,
+ Minute:%d,
+ BuyPlayerID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.Hour,
+ self.Minute,
+ self.BuyPlayerID
+ )
+ return DumpString
+
+
+m_NAtagCGCrossBattlefieldJoinByCall=tagCGCrossBattlefieldJoinByCall()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCrossBattlefieldJoinByCall.Cmd,m_NAtagCGCrossBattlefieldJoinByCall.SubCmd))] = m_NAtagCGCrossBattlefieldJoinByCall
+
+
+#------------------------------------------------------
+# C0 26 仙盟攻城战查询 #tagCGFamilyGCZQuery
+
+class tagCGFamilyGCZQuery(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("QueryType", c_ubyte), #查询类型:1-成员捐献值;2-进入城池场景;3-退出城池场景;4-进入城池;5-退出城池;6-战报;7-分组仙盟成员伤害;
+ ("BatType", c_ubyte), #指定战场类型,需要发送的查询类型: 2、4
+ ("GroupNum", c_ubyte), #指定分组编号,需要发送的查询类型: 2、4
+ ("FamilyID", c_int), #指定仙盟ID或城池ID,查自己盟的可不发,需要发的类型:2、4、6、7
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xC0
+ self.SubCmd = 0x26
+ 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 = 0x26
+ self.QueryType = 0
+ self.BatType = 0
+ self.GroupNum = 0
+ self.FamilyID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGFamilyGCZQuery)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// C0 26 仙盟攻城战查询 //tagCGFamilyGCZQuery:
+ Cmd:%s,
+ SubCmd:%s,
+ QueryType:%d,
+ BatType:%d,
+ GroupNum:%d,
+ FamilyID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.QueryType,
+ self.BatType,
+ self.GroupNum,
+ self.FamilyID
+ )
+ return DumpString
+
+
+m_NAtagCGFamilyGCZQuery=tagCGFamilyGCZQuery()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGFamilyGCZQuery.Cmd,m_NAtagCGFamilyGCZQuery.SubCmd))] = m_NAtagCGFamilyGCZQuery
+
+
+#------------------------------------------------------
+# C0 03 强制退出跨服状态 #tagCGForceQuitCrossState
+
+class tagCGForceQuitCrossState(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xC0
+ self.SubCmd = 0x03
+ 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 = 0x03
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGForceQuitCrossState)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// C0 03 强制退出跨服状态 //tagCGForceQuitCrossState:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGForceQuitCrossState=tagCGForceQuitCrossState()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGForceQuitCrossState.Cmd,m_NAtagCGForceQuitCrossState.SubCmd))] = m_NAtagCGForceQuitCrossState
+
+
+#------------------------------------------------------
+# C0 06 查询幸运云购开奖记录 #tagCGQueryLuckyCloudBuyLotteryRec
+
+class tagCGQueryLuckyCloudBuyLotteryRec(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ZoneID", c_ubyte), #查询分区ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xC0
+ 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 = 0xC0
+ self.SubCmd = 0x06
+ self.ZoneID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryLuckyCloudBuyLotteryRec)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// C0 06 查询幸运云购开奖记录 //tagCGQueryLuckyCloudBuyLotteryRec:
+ Cmd:%s,
+ SubCmd:%s,
+ ZoneID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ZoneID
+ )
+ return DumpString
+
+
+m_NAtagCGQueryLuckyCloudBuyLotteryRec=tagCGQueryLuckyCloudBuyLotteryRec()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryLuckyCloudBuyLotteryRec.Cmd,m_NAtagCGQueryLuckyCloudBuyLotteryRec.SubCmd))] = m_NAtagCGQueryLuckyCloudBuyLotteryRec
+
+
+#------------------------------------------------------
+# C0 05 查询幸运云购购买号码记录 #tagCGQueryLuckyCloudBuyNumRec
+
+class tagCGQueryLuckyCloudBuyNumRec(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xC0
+ self.SubCmd = 0x05
+ 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 = 0x05
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryLuckyCloudBuyNumRec)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// C0 05 查询幸运云购购买号码记录 //tagCGQueryLuckyCloudBuyNumRec:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGQueryLuckyCloudBuyNumRec=tagCGQueryLuckyCloudBuyNumRec()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryLuckyCloudBuyNumRec.Cmd,m_NAtagCGQueryLuckyCloudBuyNumRec.SubCmd))] = m_NAtagCGQueryLuckyCloudBuyNumRec
+
+
+#------------------------------------------------------
+# C0 04 查看跨服排行榜 #tagCGViewCrossBillboard
+
+class tagCGViewCrossBillboard(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("Type", c_ubyte), #榜单类型
+ ("GroupValue1", c_int), # 分组值1
+ ("GroupValue2", c_int), # 分组值2,与分组值1组合归为同组榜单数据
+ ("StartIndex", c_int), #查看的起始名次索引, 默认0
+ ("WatchCnt", c_ubyte), #查看条数,默认20,最大不超过100
+ ("WatchID", c_int), #查看指定ID名次前后,如玩家ID、家族ID等
+ ]
+
+ 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
+ self.StartIndex = 0
+ self.WatchCnt = 0
+ self.WatchID = 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,
+ StartIndex:%d,
+ WatchCnt:%d,
+ WatchID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.Type,
+ self.GroupValue1,
+ self.GroupValue2,
+ self.StartIndex,
+ self.WatchCnt,
+ self.WatchID
+ )
+ return DumpString
+
+
+m_NAtagCGViewCrossBillboard=tagCGViewCrossBillboard()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGViewCrossBillboard.Cmd,m_NAtagCGViewCrossBillboard.SubCmd))] = m_NAtagCGViewCrossBillboard
+
+
+#------------------------------------------------------
+# C0 01 查看跨服竞技场赛季排行榜 #tagCGViewCrossPKBillboard
+
+class tagCGViewCrossPKBillboard(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ZoneID", c_ubyte), # 赛区ID
+ ("SeasonID", c_ubyte), # 赛季ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xC0
+ self.SubCmd = 0x01
+ 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 = 0x01
+ self.ZoneID = 0
+ self.SeasonID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGViewCrossPKBillboard)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// C0 01 查看跨服竞技场赛季排行榜 //tagCGViewCrossPKBillboard:
+ Cmd:%s,
+ SubCmd:%s,
+ ZoneID:%d,
+ SeasonID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ZoneID,
+ self.SeasonID
+ )
+ return DumpString
+
+
+m_NAtagCGViewCrossPKBillboard=tagCGViewCrossPKBillboard()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGViewCrossPKBillboard.Cmd,m_NAtagCGViewCrossPKBillboard.SubCmd))] = m_NAtagCGViewCrossPKBillboard
+
+
+#------------------------------------------------------
+# C0 02 查看跨服玩家信息 #tagCGViewCrossPlayerInfo
+
+class tagCGViewCrossPlayerInfo(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("PlayerID", c_int), # 跨服玩家ID
+ ("EquipClassLV", c_ubyte), #大于0为查看指定境界阶装备信息, 0为查看默认信息
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xC0
+ self.SubCmd = 0x02
+ 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 = 0x02
+ self.PlayerID = 0
+ self.EquipClassLV = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGViewCrossPlayerInfo)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// C0 02 查看跨服玩家信息 //tagCGViewCrossPlayerInfo:
+ Cmd:%s,
+ SubCmd:%s,
+ PlayerID:%d,
+ EquipClassLV:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.PlayerID,
+ self.EquipClassLV
+ )
+ return DumpString
+
+
+m_NAtagCGViewCrossPlayerInfo=tagCGViewCrossPlayerInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGViewCrossPlayerInfo.Cmd,m_NAtagCGViewCrossPlayerInfo.SubCmd))] = m_NAtagCGViewCrossPlayerInfo
+
+
+#------------------------------------------------------
# C1 22 跨服排位竞猜 #tagCMChampionshipGuess
class tagCMChampionshipGuess(Structure):
--
Gitblit v1.8.0