From 14f52c46d49b1654c783c5fa5c1480a09de4432e Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期日, 19 一月 2020 15:44:09 +0800
Subject: [PATCH] 8372 VIP特权修改(增加个人BOSS购买次数权限38、缥缈仙域购买次数权限39;日常活动支持VIP特权额外购买次数)
---
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 1303 +++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 1,092 insertions(+), 211 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
index 4a9855a..a044623 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -1248,6 +1248,62 @@
#------------------------------------------------------
+# 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 04 查询boss信息 #tagCGQueryBossInfo
class tagCGQueryBossInfo(Structure):
@@ -1904,6 +1960,115 @@
#------------------------------------------------------
+# 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 25 请求家族悬赏任务完成情况 #tagQueryFamilyArrestOverState
class tagQueryFamilyArrestOverState(Structure):
@@ -1949,6 +2114,119 @@
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
#------------------------------------------------------
@@ -2228,7 +2506,7 @@
class tagCGVoiceChat(Structure):
Head = tagHead()
- ChannelType = 0 #(BYTE ChannelType)// 1 世界 2 仙盟 3 私聊(好友) 4 队伍 -------查看封包tagCMVoiceChat 5 区域
+ ChannelType = 0 #(BYTE ChannelType)// 1 世界 2 仙盟 3 私聊(好友) 4 队伍 -------查看封包tagCMVoiceChat 5 区域
TargetNameLen = 0 #(BYTE TargetNameLen)
TargetName = "" #(String TargetName)//size = TargetNameLen
TargetID = 0 #(DWORD TargetID)// 默认发玩家ID,没有ID才发名称
@@ -3396,8 +3674,8 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("ZoneID", c_ubyte), # 赛区ID
- ("SeasonID", c_ubyte), # 赛季ID
+ ("ZoneID", c_ubyte), # 赛区ID
+ ("SeasonID", c_ubyte), # 赛季ID
]
def __init__(self):
@@ -5659,6 +5937,58 @@
#------------------------------------------------------
+# A2 07 接受任务 #tagCMTakeTask
+
+class tagCMTakeTask(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TaskID", c_int),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA2
+ 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 = 0xA2
+ self.SubCmd = 0x07
+ self.TaskID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMTakeTask)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A2 07 接受任务 //tagCMTakeTask:
+ Cmd:%s,
+ SubCmd:%s,
+ TaskID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TaskID
+ )
+ return DumpString
+
+
+m_NAtagCMTakeTask=tagCMTakeTask()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMTakeTask.Cmd,m_NAtagCMTakeTask.SubCmd))] = m_NAtagCMTakeTask
+
+
+#------------------------------------------------------
#A2 12 查看玩家详细信息#tagCMViewPlayerInfo
class tagCMViewPlayerInfo(Structure):
@@ -5953,7 +6283,7 @@
("SrcBackpack", c_ubyte), #源背包类型
("DesBackPack", c_ubyte), #目标背包类型
("SrcIndex", c_ushort), #转移物品索引位置;当全部转移时此值无效
- ("IsAll", c_ubyte), #是否全部转移
+ ("IsAll", c_ubyte), #是否全部转移
]
def __init__(self):
@@ -6208,6 +6538,104 @@
m_NAtagCMEquipEnchase=tagCMEquipEnchase()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipEnchase.Cmd,m_NAtagCMEquipEnchase.SubCmd))] = m_NAtagCMEquipEnchase
+
+
+#------------------------------------------------------
+# A3 30 装备神装进阶 #tagCMEquipEvolve
+
+class tagCMEquipEvolve(Structure):
+ Head = tagHead()
+ EquipIndex = 0 #(BYTE EquipIndex)// 要进阶的装备在装备背包中索引
+ NeedEquipIDIndex = 0 #(BYTE NeedEquipIDIndex)// 所需固定装备B在背包中索引
+ NeedItemIDIndexCnt = 0 #(BYTE NeedItemIDIndexCnt)// 附加材料在背包中索引个数
+ NeedItemIDIndex = list() #(vector<BYTE> NeedItemIDIndex)// 附加材料在背包的索引列表
+ NeedSuitIndexCnt = 0 #(BYTE NeedSuitIndexCnt)// 所需套装材料在背包中索引个数
+ NeedSuitIndex = list() #(vector<BYTE> NeedSuitIndex)// 所需套装材料在背包的索引列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xA3
+ self.Head.SubCmd = 0x30
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.EquipIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.NeedEquipIDIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.NeedItemIDIndexCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.NeedItemIDIndexCnt):
+ value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
+ self.NeedItemIDIndex.append(value)
+ self.NeedSuitIndexCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.NeedSuitIndexCnt):
+ value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
+ self.NeedSuitIndex.append(value)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xA3
+ self.Head.SubCmd = 0x30
+ self.EquipIndex = 0
+ self.NeedEquipIDIndex = 0
+ self.NeedItemIDIndexCnt = 0
+ self.NeedItemIDIndex = list()
+ self.NeedSuitIndexCnt = 0
+ self.NeedSuitIndex = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ length += 1
+ length += 1
+ length += 1 * self.NeedItemIDIndexCnt
+ length += 1
+ length += 1 * self.NeedSuitIndexCnt
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteBYTE(data, self.EquipIndex)
+ data = CommFunc.WriteBYTE(data, self.NeedEquipIDIndex)
+ data = CommFunc.WriteBYTE(data, self.NeedItemIDIndexCnt)
+ for i in range(self.NeedItemIDIndexCnt):
+ data = CommFunc.WriteBYTE(data, self.NeedItemIDIndex[i])
+ data = CommFunc.WriteBYTE(data, self.NeedSuitIndexCnt)
+ for i in range(self.NeedSuitIndexCnt):
+ data = CommFunc.WriteBYTE(data, self.NeedSuitIndex[i])
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ EquipIndex:%d,
+ NeedEquipIDIndex:%d,
+ NeedItemIDIndexCnt:%d,
+ NeedItemIDIndex:%s,
+ NeedSuitIndexCnt:%d,
+ NeedSuitIndex:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.EquipIndex,
+ self.NeedEquipIDIndex,
+ self.NeedItemIDIndexCnt,
+ "...",
+ self.NeedSuitIndexCnt,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagCMEquipEvolve=tagCMEquipEvolve()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipEvolve.Head.Cmd,m_NAtagCMEquipEvolve.Head.SubCmd))] = m_NAtagCMEquipEvolve
#------------------------------------------------------
@@ -6599,62 +7027,6 @@
#------------------------------------------------------
-# A3 30 装备诛仙装备 #tagCMEquipZhuXianItem
-
-class tagCMEquipZhuXianItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("EquipIndex", c_ubyte), #装备在诛仙装备背包中的索引
- ("ItemIndex", c_ubyte), #装备在诛仙物品背包中的索引
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA3
- self.SubCmd = 0x30
- 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 = 0xA3
- self.SubCmd = 0x30
- self.EquipIndex = 0
- self.ItemIndex = 0
- return
-
- def GetLength(self):
- return sizeof(tagCMEquipZhuXianItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A3 30 装备诛仙装备 //tagCMEquipZhuXianItem:
- Cmd:%s,
- SubCmd:%s,
- EquipIndex:%d,
- ItemIndex:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.EquipIndex,
- self.ItemIndex
- )
- return DumpString
-
-
-m_NAtagCMEquipZhuXianItem=tagCMEquipZhuXianItem()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipZhuXianItem.Cmd,m_NAtagCMEquipZhuXianItem.SubCmd))] = m_NAtagCMEquipZhuXianItem
-
-
-#------------------------------------------------------
# A3 12 守护拾取物品 #tagCMGuardPickupItem
class tagCMGuardPickupItem(Structure):
@@ -6827,6 +7199,58 @@
m_NAtagCMItemTimeout=tagCMItemTimeout()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMItemTimeout.Cmd,m_NAtagCMItemTimeout.SubCmd))] = m_NAtagCMItemTimeout
+
+
+#------------------------------------------------------
+# A3 18 灵器突破 #tagCMLingQiEquipBreak
+
+class tagCMLingQiEquipBreak(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ItemID", c_int), #突破的物品ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA3
+ 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 = 0xA3
+ self.SubCmd = 0x18
+ self.ItemID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMLingQiEquipBreak)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A3 18 灵器突破 //tagCMLingQiEquipBreak:
+ Cmd:%s,
+ SubCmd:%s,
+ ItemID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ItemID
+ )
+ return DumpString
+
+
+m_NAtagCMLingQiEquipBreak=tagCMLingQiEquipBreak()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMLingQiEquipBreak.Cmd,m_NAtagCMLingQiEquipBreak.SubCmd))] = m_NAtagCMLingQiEquipBreak
#------------------------------------------------------
@@ -7295,58 +7719,6 @@
#------------------------------------------------------
-# A3 31 卸下诛仙装备 #tagCMUnEquipZhuXianItem
-
-class tagCMUnEquipZhuXianItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("EquipIndex", c_ubyte), #装备在诛仙装备背包中的索引
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA3
- self.SubCmd = 0x31
- 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 = 0xA3
- self.SubCmd = 0x31
- self.EquipIndex = 0
- return
-
- def GetLength(self):
- return sizeof(tagCMUnEquipZhuXianItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A3 31 卸下诛仙装备 //tagCMUnEquipZhuXianItem:
- Cmd:%s,
- SubCmd:%s,
- EquipIndex:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.EquipIndex
- )
- return DumpString
-
-
-m_NAtagCMUnEquipZhuXianItem=tagCMUnEquipZhuXianItem()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMUnEquipZhuXianItem.Cmd,m_NAtagCMUnEquipZhuXianItem.SubCmd))] = m_NAtagCMUnEquipZhuXianItem
-
-
-#------------------------------------------------------
# A3 2B 一键使用属性果实 #tagCMUseAllAttrFruit
class tagCMUseAllAttrFruit(Structure):
@@ -7526,90 +7898,6 @@
#------------------------------------------------------
-# A3 32 诛仙装备分解 #tagCMZhuXianEquipDecompose
-
-class tagCMZhuXianEquipDecompose(Structure):
- Head = tagHead()
- Count = 0 #(BYTE Count)//材料所在背包索引的数量
- IndexList = list() #(vector<WORD> IndexList)//材料所在背包索引列表
- ItemIDList = list() #(vector<DWORD> ItemIDList)//材料所在背包物品ID列表
- IsAuto = 0 #(BYTE IsAuto)//是否自动分解
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x32
- 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.ReadWORD(_lpData,_pos)
- self.IndexList.append(value)
- for i in range(self.Count):
- value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
- self.ItemIDList.append(value)
- self.IsAuto,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x32
- self.Count = 0
- self.IndexList = list()
- self.ItemIDList = list()
- self.IsAuto = 0
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 2 * self.Count
- length += 4 * self.Count
- length += 1
-
- 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.WriteWORD(data, self.IndexList[i])
- for i in range(self.Count):
- data = CommFunc.WriteDWORD(data, self.ItemIDList[i])
- data = CommFunc.WriteBYTE(data, self.IsAuto)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Count:%d,
- IndexList:%s,
- ItemIDList:%s,
- IsAuto:%d
- '''\
- %(
- self.Head.OutputString(),
- self.Count,
- "...",
- "...",
- self.IsAuto
- )
- return DumpString
-
-
-m_NAtagCMZhuXianEquipDecompose=tagCMZhuXianEquipDecompose()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMZhuXianEquipDecompose.Head.Cmd,m_NAtagCMZhuXianEquipDecompose.Head.SubCmd))] = m_NAtagCMZhuXianEquipDecompose
-
-
-#------------------------------------------------------
# A5 30 购买魔魂铜钱经验什么的 #tagCMBuySomething
class tagCMBuySomething(Structure):
@@ -7669,7 +7957,7 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("HorseID", c_int), #坐骑ID
+ ("HorseID", c_int), #坐骑幻化ID
]
def __init__(self):
@@ -7711,6 +7999,62 @@
m_NAtagPlayerActivateHorse=tagPlayerActivateHorse()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagPlayerActivateHorse.Cmd,m_NAtagPlayerActivateHorse.SubCmd))] = m_NAtagPlayerActivateHorse
+
+
+#------------------------------------------------------
+# A5 C7 激活大师强化等级 #tagCMActivateMasterPlusLV
+
+class tagCMActivateMasterPlusLV(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ClassLV", c_ubyte), # 所属装备阶
+ ("MasterPlusLV", c_ushort), # 大师强化等级
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA5
+ self.SubCmd = 0xC7
+ 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 = 0xA5
+ self.SubCmd = 0xC7
+ self.ClassLV = 0
+ self.MasterPlusLV = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMActivateMasterPlusLV)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A5 C7 激活大师强化等级 //tagCMActivateMasterPlusLV:
+ Cmd:%s,
+ SubCmd:%s,
+ ClassLV:%d,
+ MasterPlusLV:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ClassLV,
+ self.MasterPlusLV
+ )
+ return DumpString
+
+
+m_NAtagCMActivateMasterPlusLV=tagCMActivateMasterPlusLV()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActivateMasterPlusLV.Cmd,m_NAtagCMActivateMasterPlusLV.SubCmd))] = m_NAtagCMActivateMasterPlusLV
#------------------------------------------------------
@@ -9276,6 +9620,7 @@
CostEquipCnt = 0 #(BYTE CostEquipCnt)// 装备个数
CostEquipIndex = list() #(vector<WORD> CostEquipIndex)// 装备索引
CostEquipID = list() #(vector<DWORD> CostEquipID)// 装备物品ID
+ AutoBuy = 0 #(BYTE AutoBuy)// 自动购买 0-不自动购买,1-自动购买并升星,2-自动购买预览(未满概率时预览消耗时使用)
data = None
def __init__(self):
@@ -9295,6 +9640,7 @@
for i in range(self.CostEquipCnt):
value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
self.CostEquipID.append(value)
+ self.AutoBuy,_pos = CommFunc.ReadBYTE(_lpData, _pos)
return _pos
def Clear(self):
@@ -9306,6 +9652,7 @@
self.CostEquipCnt = 0
self.CostEquipIndex = list()
self.CostEquipID = list()
+ self.AutoBuy = 0
return
def GetLength(self):
@@ -9315,6 +9662,7 @@
length += 1
length += 2 * self.CostEquipCnt
length += 4 * self.CostEquipCnt
+ length += 1
return length
@@ -9327,6 +9675,7 @@
data = CommFunc.WriteWORD(data, self.CostEquipIndex[i])
for i in range(self.CostEquipCnt):
data = CommFunc.WriteDWORD(data, self.CostEquipID[i])
+ data = CommFunc.WriteBYTE(data, self.AutoBuy)
return data
def OutputString(self):
@@ -9335,20 +9684,86 @@
EquipPackIndex:%d,
CostEquipCnt:%d,
CostEquipIndex:%s,
- CostEquipID:%s
+ CostEquipID:%s,
+ AutoBuy:%d
'''\
%(
self.Head.OutputString(),
self.EquipPackIndex,
self.CostEquipCnt,
"...",
- "..."
+ "...",
+ self.AutoBuy
)
return DumpString
m_NAtagCMEquipPartStarUp=tagCMEquipPartStarUp()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipPartStarUp.Head.Cmd,m_NAtagCMEquipPartStarUp.Head.SubCmd))] = m_NAtagCMEquipPartStarUp
+
+
+#------------------------------------------------------
+# A5 C6 装备部位星级套装激活 #tagCMEquipPartSuiteActivate
+
+class tagCMEquipPartSuiteActivate(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ClassLV", c_ubyte), # 所属装备阶
+ ("SuiteID", c_ushort), # 套装ID
+ ("SuiteCount", c_ubyte), # 件数
+ ("Star", c_ubyte), # 星数
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA5
+ self.SubCmd = 0xC6
+ 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 = 0xA5
+ self.SubCmd = 0xC6
+ self.ClassLV = 0
+ self.SuiteID = 0
+ self.SuiteCount = 0
+ self.Star = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMEquipPartSuiteActivate)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A5 C6 装备部位星级套装激活 //tagCMEquipPartSuiteActivate:
+ Cmd:%s,
+ SubCmd:%s,
+ ClassLV:%d,
+ SuiteID:%d,
+ SuiteCount:%d,
+ Star:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ClassLV,
+ self.SuiteID,
+ self.SuiteCount,
+ self.Star
+ )
+ return DumpString
+
+
+m_NAtagCMEquipPartSuiteActivate=tagCMEquipPartSuiteActivate()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipPartSuiteActivate.Cmd,m_NAtagCMEquipPartSuiteActivate.SubCmd))] = m_NAtagCMEquipPartSuiteActivate
#------------------------------------------------------
@@ -9954,6 +10369,126 @@
#------------------------------------------------------
+# A5 29 骑宠觉醒 #tagCMHorsePetAwake
+
+class tagCMHorsePetAwake(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("Type", c_ushort), # 1-坐骑 2-灵宠
+ ("ID", c_int), # 对应坐骑表灵宠表ID
+ ("EatItemID", c_int), # 吞噬的物品ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA5
+ self.SubCmd = 0x29
+ 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 = 0xA5
+ self.SubCmd = 0x29
+ self.Type = 0
+ self.ID = 0
+ self.EatItemID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMHorsePetAwake)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A5 29 骑宠觉醒 //tagCMHorsePetAwake:
+ Cmd:%s,
+ SubCmd:%s,
+ Type:%d,
+ ID:%d,
+ EatItemID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.Type,
+ self.ID,
+ self.EatItemID
+ )
+ return DumpString
+
+
+m_NAtagCMHorsePetAwake=tagCMHorsePetAwake()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMHorsePetAwake.Cmd,m_NAtagCMHorsePetAwake.SubCmd))] = m_NAtagCMHorsePetAwake
+
+
+#------------------------------------------------------
+# A5 30 骑宠外观选择 #tagCMHorsePetSkinSelect
+
+class tagCMHorsePetSkinSelect(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("Type", c_ushort), # 1-坐骑 2-灵宠
+ ("ID", c_int), # 对应坐骑表灵宠表ID
+ ("SkinIndex", c_ubyte), # 外观索引
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA5
+ self.SubCmd = 0x30
+ 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 = 0xA5
+ self.SubCmd = 0x30
+ self.Type = 0
+ self.ID = 0
+ self.SkinIndex = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMHorsePetSkinSelect)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A5 30 骑宠外观选择 //tagCMHorsePetSkinSelect:
+ Cmd:%s,
+ SubCmd:%s,
+ Type:%d,
+ ID:%d,
+ SkinIndex:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.Type,
+ self.ID,
+ self.SkinIndex
+ )
+ return DumpString
+
+
+m_NAtagCMHorsePetSkinSelect=tagCMHorsePetSkinSelect()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMHorsePetSkinSelect.Cmd,m_NAtagCMHorsePetSkinSelect.SubCmd))] = m_NAtagCMHorsePetSkinSelect
+
+
+#------------------------------------------------------
# A5 27 坐骑提升 #tagCMHorseUp
class tagCMHorseUp(Structure):
@@ -9961,7 +10496,6 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("HorseID", c_int), #坐骑ID
("UseItemCnt", c_ubyte), #消耗材料个数
("IsAutoBuy", c_ubyte), #是否自动购买
]
@@ -9980,7 +10514,6 @@
def Clear(self):
self.Cmd = 0xA5
self.SubCmd = 0x27
- self.HorseID = 0
self.UseItemCnt = 0
self.IsAutoBuy = 0
return
@@ -9995,14 +10528,12 @@
DumpString = '''// A5 27 坐骑提升 //tagCMHorseUp:
Cmd:%s,
SubCmd:%s,
- HorseID:%d,
UseItemCnt:%d,
IsAutoBuy:%d
'''\
%(
self.Cmd,
self.SubCmd,
- self.HorseID,
self.UseItemCnt,
self.IsAutoBuy
)
@@ -10173,7 +10704,8 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("Index", c_int), #选择索引
+ ("ChooseType", c_ubyte), # 1-按等阶,2-按幻化
+ ("LVID", c_ubyte), # 阶等级或幻化ID
]
def __init__(self):
@@ -10190,7 +10722,8 @@
def Clear(self):
self.Cmd = 0xA5
self.SubCmd = 0x02
- self.Index = 0
+ self.ChooseType = 0
+ self.LVID = 0
return
def GetLength(self):
@@ -10203,12 +10736,14 @@
DumpString = '''//A5 02 坐骑选择 //tagPlayerChooseHorse:
Cmd:%s,
SubCmd:%s,
- Index:%d
+ ChooseType:%d,
+ LVID:%d
'''\
%(
self.Cmd,
self.SubCmd,
- self.Index
+ self.ChooseType,
+ self.LVID
)
return DumpString
@@ -11657,6 +12192,83 @@
m_NAtagCMRenameFamily=tagCMRenameFamily()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRenameFamily.Head.Cmd,m_NAtagCMRenameFamily.Head.SubCmd))] = m_NAtagCMRenameFamily
+
+
+#------------------------------------------------------
+# A6 06 家族兑换活跃令 #tagCMFamilyActivityExchange
+
+class tagCMFamilyActivityExchange(Structure):
+ Head = tagHead()
+ Count = 0 #(BYTE Count)//材料所在背包索引的数量
+ IndexList = list() #(vector<WORD> IndexList)//材料所在背包索引列表
+ ItemIDList = list() #(vector<DWORD> ItemIDList)//材料所在背包物品ID列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xA6
+ self.Head.SubCmd = 0x06
+ 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.ReadWORD(_lpData,_pos)
+ self.IndexList.append(value)
+ for i in range(self.Count):
+ value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
+ self.ItemIDList.append(value)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xA6
+ self.Head.SubCmd = 0x06
+ self.Count = 0
+ self.IndexList = list()
+ self.ItemIDList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ length += 2 * self.Count
+ 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.WriteWORD(data, self.IndexList[i])
+ for i in range(self.Count):
+ data = CommFunc.WriteDWORD(data, self.ItemIDList[i])
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ Count:%d,
+ IndexList:%s,
+ ItemIDList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.Count,
+ "...",
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagCMFamilyActivityExchange=tagCMFamilyActivityExchange()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFamilyActivityExchange.Head.Cmd,m_NAtagCMFamilyActivityExchange.Head.SubCmd))] = m_NAtagCMFamilyActivityExchange
#------------------------------------------------------
@@ -13446,6 +14058,106 @@
#------------------------------------------------------
+# B0 28 活跃放置快速完成 #tagCMActivityPlaceQuickFinish
+
+class tagCMActivityPlaceQuickFinish(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("FinishCount", c_ubyte), #完成次数
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB0
+ self.SubCmd = 0x28
+ 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 = 0x28
+ self.FinishCount = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMActivityPlaceQuickFinish)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B0 28 活跃放置快速完成 //tagCMActivityPlaceQuickFinish:
+ Cmd:%s,
+ SubCmd:%s,
+ FinishCount:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.FinishCount
+ )
+ return DumpString
+
+
+m_NAtagCMActivityPlaceQuickFinish=tagCMActivityPlaceQuickFinish()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActivityPlaceQuickFinish.Cmd,m_NAtagCMActivityPlaceQuickFinish.SubCmd))] = m_NAtagCMActivityPlaceQuickFinish
+
+
+#------------------------------------------------------
+# B0 27 活跃放置启动 #tagCMActivityPlaceStart
+
+class tagCMActivityPlaceStart(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB0
+ self.SubCmd = 0x27
+ 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 = 0x27
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMActivityPlaceStart)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B0 27 活跃放置启动 //tagCMActivityPlaceStart:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCMActivityPlaceStart=tagCMActivityPlaceStart()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActivityPlaceStart.Cmd,m_NAtagCMActivityPlaceStart.SubCmd))] = m_NAtagCMActivityPlaceStart
+
+
+#------------------------------------------------------
# B0 50 钓鱼收杆 #tagCMDoFish
class tagCMDoFish(Structure):
@@ -13599,6 +14311,118 @@
m_NAtagReceiveFamilyArrestAward=tagReceiveFamilyArrestAward()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagReceiveFamilyArrestAward.Cmd,m_NAtagReceiveFamilyArrestAward.SubCmd))] = m_NAtagReceiveFamilyArrestAward
+
+
+#------------------------------------------------------
+# B0 10 请求协助Boss #tagCMRequestAssistBoss
+
+class tagCMRequestAssistBoss(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ObjID", c_int),
+ ("NPCID", c_int),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB0
+ 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 = 0xB0
+ self.SubCmd = 0x10
+ self.ObjID = 0
+ self.NPCID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMRequestAssistBoss)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B0 10 请求协助Boss //tagCMRequestAssistBoss:
+ Cmd:%s,
+ SubCmd:%s,
+ ObjID:%d,
+ NPCID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ObjID,
+ self.NPCID
+ )
+ return DumpString
+
+
+m_NAtagCMRequestAssistBoss=tagCMRequestAssistBoss()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRequestAssistBoss.Cmd,m_NAtagCMRequestAssistBoss.SubCmd))] = m_NAtagCMRequestAssistBoss
+
+
+#------------------------------------------------------
+# B0 11 请求协助组队副本 #tagCMRequestAssistTeamFB
+
+class tagCMRequestAssistTeamFB(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("MapID", c_ushort),
+ ("LineID", c_ushort),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB0
+ 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 = 0xB0
+ self.SubCmd = 0x11
+ self.MapID = 0
+ self.LineID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMRequestAssistTeamFB)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B0 11 请求协助组队副本 //tagCMRequestAssistTeamFB:
+ Cmd:%s,
+ SubCmd:%s,
+ MapID:%d,
+ LineID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.MapID,
+ self.LineID
+ )
+ return DumpString
+
+
+m_NAtagCMRequestAssistTeamFB=tagCMRequestAssistTeamFB()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRequestAssistTeamFB.Cmd,m_NAtagCMRequestAssistTeamFB.SubCmd))] = m_NAtagCMRequestAssistTeamFB
#------------------------------------------------------
@@ -14116,7 +14940,7 @@
Head = tagHead()
PointAttrIDCount = 0 #(BYTE PointAttrIDCount)// 加点属性ID个数
PointAttrIDList = list() #(vector<BYTE> PointAttrIDList)// 加点属性ID列表
- PointValueList = list() #(vector<WORD> PointValueList)// 加点属性ID对应的点数列表
+ PointValueList = list() #(vector<DWORD> PointValueList)// 加点属性ID对应的点数列表
data = None
def __init__(self):
@@ -14133,7 +14957,7 @@
value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
self.PointAttrIDList.append(value)
for i in range(self.PointAttrIDCount):
- value,_pos=CommFunc.ReadWORD(_lpData,_pos)
+ value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
self.PointValueList.append(value)
return _pos
@@ -14152,7 +14976,7 @@
length += self.Head.GetLength()
length += 1
length += 1 * self.PointAttrIDCount
- length += 2 * self.PointAttrIDCount
+ length += 4 * self.PointAttrIDCount
return length
@@ -14163,7 +14987,7 @@
for i in range(self.PointAttrIDCount):
data = CommFunc.WriteBYTE(data, self.PointAttrIDList[i])
for i in range(self.PointAttrIDCount):
- data = CommFunc.WriteWORD(data, self.PointValueList[i])
+ data = CommFunc.WriteDWORD(data, self.PointValueList[i])
return data
def OutputString(self):
@@ -15851,6 +16675,63 @@
#------------------------------------------------------
+# B5 15 拍卖行下架拍品 #tagCMUnsellAuctionItem
+
+class tagCMUnsellAuctionItem(Structure):
+ Head = tagHead()
+ ItemGUID = "" #(char ItemGUID[40])
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x15
+ 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 = 0xB5
+ self.Head.SubCmd = 0x15
+ 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_NAtagCMUnsellAuctionItem=tagCMUnsellAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMUnsellAuctionItem.Head.Cmd,m_NAtagCMUnsellAuctionItem.Head.SubCmd))] = m_NAtagCMUnsellAuctionItem
+
+
+#------------------------------------------------------
# B9 04 修改队伍相关审核状态 #tagCMChangeTeamCheckState
class tagCMChangeTeamCheckState(Structure):
--
Gitblit v1.8.0