From 9aec2993fb9c257870afaa7f8fb4e8020b2c2ca2 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 18 十二月 2020 11:14:57 +0800
Subject: [PATCH] 1111 【主干】【BT】 curBuff.GetSkill()、curEquip.GetAddSkill(0) 获取错误防范;
---
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 611 ++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 535 insertions(+), 76 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
index 1b33412..70ce0aa 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -1304,6 +1304,54 @@
#------------------------------------------------------
+# A9 A8 查看竞技场对战记录 #tagCGQueryArenaBattleRecord
+
+class tagCGQueryArenaBattleRecord(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA9
+ self.SubCmd = 0xA8
+ return
+
+ def ReadData(self, stringData, _pos=0, _len=0):
+ self.Clear()
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
+
+ def Clear(self):
+ self.Cmd = 0xA9
+ self.SubCmd = 0xA8
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryArenaBattleRecord)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A9 A8 查看竞技场对战记录 //tagCGQueryArenaBattleRecord:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGQueryArenaBattleRecord=tagCGQueryArenaBattleRecord()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryArenaBattleRecord.Cmd,m_NAtagCGQueryArenaBattleRecord.SubCmd))] = m_NAtagCGQueryArenaBattleRecord
+
+
+#------------------------------------------------------
# A9 04 查询boss信息 #tagCGQueryBossInfo
class tagCGQueryBossInfo(Structure):
@@ -2020,57 +2068,52 @@
# B0 15 接收协助感谢礼物 #tagCGGetAssistThanksGift
class tagCGGetAssistThanksGift(Structure):
- Head = tagHead()
- GiftGUID = "" #(char GiftGUID[40])//预览时GUID不发,确认领取时需发送预览返回的GUID,无额外奖励不需要再次发送
- data = None
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("IsPreview", c_ubyte), #是否预览,非预览即确认领取,无额外奖励确认时也需要回复领取包代表已读
+ ]
def __init__(self):
self.Clear()
- self.Head.Cmd = 0xB0
- self.Head.SubCmd = 0x15
+ self.Cmd = 0xB0
+ self.SubCmd = 0x15
return
- def ReadData(self, _lpData, _pos=0, _Len=0):
+ def ReadData(self, stringData, _pos=0, _len=0):
self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.GiftGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
- return _pos
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB0
- self.Head.SubCmd = 0x15
- self.GiftGUID = ""
+ self.Cmd = 0xB0
+ self.SubCmd = 0x15
+ self.IsPreview = 0
return
def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 40
-
- return length
+ return sizeof(tagCGGetAssistThanksGift)
def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 40, self.GiftGUID)
- return data
+ return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''
- Head:%s,
- GiftGUID:%s
+ DumpString = '''// B0 15 接收协助感谢礼物 //tagCGGetAssistThanksGift:
+ Cmd:%s,
+ SubCmd:%s,
+ IsPreview:%d
'''\
%(
- self.Head.OutputString(),
- self.GiftGUID
+ self.Cmd,
+ self.SubCmd,
+ self.IsPreview
)
return DumpString
m_NAtagCGGetAssistThanksGift=tagCGGetAssistThanksGift()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGGetAssistThanksGift.Head.Cmd,m_NAtagCGGetAssistThanksGift.Head.SubCmd))] = m_NAtagCGGetAssistThanksGift
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGGetAssistThanksGift.Cmd,m_NAtagCGGetAssistThanksGift.SubCmd))] = m_NAtagCGGetAssistThanksGift
#------------------------------------------------------
@@ -2182,64 +2225,56 @@
# B0 14 使用协助感谢礼盒 #tagCGUseAssistThanksGift
class tagCGUseAssistThanksGift(Structure):
- Head = tagHead()
- ItemID = 0 #(DWORD ItemID)
- GiftGUID = "" #(char GiftGUID[40])//预览时GUID不发,确认使用时需发送预览返回的GUID
- data = None
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ItemID", c_int),
+ ("IsPreview", c_ubyte), #是否预览,非预览即确认使用
+ ]
def __init__(self):
self.Clear()
- self.Head.Cmd = 0xB0
- self.Head.SubCmd = 0x14
+ self.Cmd = 0xB0
+ self.SubCmd = 0x14
return
- def ReadData(self, _lpData, _pos=0, _Len=0):
+ def ReadData(self, stringData, _pos=0, _len=0):
self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.GiftGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
- return _pos
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB0
- self.Head.SubCmd = 0x14
+ self.Cmd = 0xB0
+ self.SubCmd = 0x14
self.ItemID = 0
- self.GiftGUID = ""
+ self.IsPreview = 0
return
def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 4
- length += 40
-
- return length
+ return sizeof(tagCGUseAssistThanksGift)
def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteDWORD(data, self.ItemID)
- data = CommFunc.WriteString(data, 40, self.GiftGUID)
- return data
+ return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''
- Head:%s,
+ DumpString = '''// B0 14 使用协助感谢礼盒 //tagCGUseAssistThanksGift:
+ Cmd:%s,
+ SubCmd:%s,
ItemID:%d,
- GiftGUID:%s
+ IsPreview:%d
'''\
%(
- self.Head.OutputString(),
+ self.Cmd,
+ self.SubCmd,
self.ItemID,
- self.GiftGUID
+ self.IsPreview
)
return DumpString
m_NAtagCGUseAssistThanksGift=tagCGUseAssistThanksGift()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGUseAssistThanksGift.Head.Cmd,m_NAtagCGUseAssistThanksGift.Head.SubCmd))] = m_NAtagCGUseAssistThanksGift
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGUseAssistThanksGift.Cmd,m_NAtagCGUseAssistThanksGift.SubCmd))] = m_NAtagCGUseAssistThanksGift
#------------------------------------------------------
@@ -3577,6 +3612,58 @@
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
#------------------------------------------------------
@@ -5950,6 +6037,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):
@@ -7116,6 +7255,7 @@
("SubCmd", c_ubyte),
("PackType", c_ubyte), #背包类型
("ItemIndex", c_ubyte), #物品在背包中索引
+ ("IsAll", c_ubyte), #是否处理所有过期物品
]
def __init__(self):
@@ -7134,6 +7274,7 @@
self.SubCmd = 0x08
self.PackType = 0
self.ItemIndex = 0
+ self.IsAll = 0
return
def GetLength(self):
@@ -7147,13 +7288,15 @@
Cmd:%s,
SubCmd:%s,
PackType:%d,
- ItemIndex:%d
+ ItemIndex:%d,
+ IsAll:%d
'''\
%(
self.Cmd,
self.SubCmd,
self.PackType,
- self.ItemIndex
+ self.ItemIndex,
+ self.IsAll
)
return DumpString
@@ -7918,7 +8061,7 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("HorseID", c_int), #坐骑ID
+ ("HorseID", c_int), #坐骑幻化ID
]
def __init__(self):
@@ -10114,6 +10257,7 @@
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
("SuccID", c_int), #成就ID
+ ("IsPassport", c_ubyte), #是否通行证奖励
]
def __init__(self):
@@ -10131,6 +10275,7 @@
self.Cmd = 0xA5
self.SubCmd = 0x42
self.SuccID = 0
+ self.IsPassport = 0
return
def GetLength(self):
@@ -10143,12 +10288,14 @@
DumpString = '''// A5 42 领取成就奖励 //tagMCGetSuccessAward:
Cmd:%s,
SubCmd:%s,
- SuccID:%d
+ SuccID:%d,
+ IsPassport:%d
'''\
%(
self.Cmd,
self.SubCmd,
- self.SuccID
+ self.SuccID,
+ self.IsPassport
)
return DumpString
@@ -10457,8 +10604,7 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("HorseID", c_int), #坐骑ID
- ("UseItemCnt", c_ubyte), #消耗材料个数
+ ("UseItemCnt", c_ushort), #消耗材料个数
("IsAutoBuy", c_ubyte), #是否自动购买
]
@@ -10476,7 +10622,6 @@
def Clear(self):
self.Cmd = 0xA5
self.SubCmd = 0x27
- self.HorseID = 0
self.UseItemCnt = 0
self.IsAutoBuy = 0
return
@@ -10491,14 +10636,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
)
@@ -10669,7 +10812,8 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("Index", c_int), #选择索引
+ ("ChooseType", c_ubyte), # 1-按等阶,2-按幻化
+ ("LVID", c_ubyte), # 阶等级或幻化ID
]
def __init__(self):
@@ -10686,7 +10830,8 @@
def Clear(self):
self.Cmd = 0xA5
self.SubCmd = 0x02
- self.Index = 0
+ self.ChooseType = 0
+ self.LVID = 0
return
def GetLength(self):
@@ -10699,12 +10844,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
@@ -12999,6 +13146,62 @@
#------------------------------------------------------
+# AA 09 集字活动兑换 #tagCMActCollectWordsExchange
+
+class tagCMActCollectWordsExchange(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ActNum", c_ubyte), #活动编号,1 或 2,相互独立的活动,可同时开启
+ ("ExchangeNum", c_ubyte), #兑换编号
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xAA
+ self.SubCmd = 0x09
+ return
+
+ def ReadData(self, stringData, _pos=0, _len=0):
+ self.Clear()
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
+
+ def Clear(self):
+ self.Cmd = 0xAA
+ self.SubCmd = 0x09
+ self.ActNum = 0
+ self.ExchangeNum = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMActCollectWordsExchange)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// AA 09 集字活动兑换 //tagCMActCollectWordsExchange:
+ Cmd:%s,
+ SubCmd:%s,
+ ActNum:%d,
+ ExchangeNum:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ActNum,
+ self.ExchangeNum
+ )
+ return DumpString
+
+
+m_NAtagCMActCollectWordsExchange=tagCMActCollectWordsExchange()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActCollectWordsExchange.Cmd,m_NAtagCMActCollectWordsExchange.SubCmd))] = m_NAtagCMActCollectWordsExchange
+
+
+#------------------------------------------------------
# AA 07 许愿池活动刷新奖池 #tagCMActWishingRefresh
class tagCMActWishingRefresh(Structure):
@@ -14019,6 +14222,154 @@
#------------------------------------------------------
+# B0 29 活跃放置明细查询 #tagCMActivityPlaceQuery
+
+class tagCMActivityPlaceQuery(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB0
+ 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 = 0xB0
+ self.SubCmd = 0x29
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMActivityPlaceQuery)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B0 29 活跃放置明细查询 //tagCMActivityPlaceQuery:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCMActivityPlaceQuery=tagCMActivityPlaceQuery()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActivityPlaceQuery.Cmd,m_NAtagCMActivityPlaceQuery.SubCmd))] = m_NAtagCMActivityPlaceQuery
+
+
+#------------------------------------------------------
+# 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):
@@ -14872,6 +15223,114 @@
#------------------------------------------------------
+# B2 10 竞技场挑战玩家 #tagCMArenaBattle
+
+class tagCMArenaBattle(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TagPlayerID", c_int), # 目标玩家ID或机器人ID
+ ("Result", c_ubyte), # 0-进入自定义场景发送通知后端;1-胜利(后端处理,暂时不需要发送此状态);2-失败(前端被对手击杀需要发送此状态)
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB2
+ self.SubCmd = 0x10
+ return
+
+ def ReadData(self, stringData, _pos=0, _len=0):
+ self.Clear()
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
+
+ def Clear(self):
+ self.Cmd = 0xB2
+ self.SubCmd = 0x10
+ self.TagPlayerID = 0
+ self.Result = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMArenaBattle)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B2 10 竞技场挑战玩家 //tagCMArenaBattle:
+ Cmd:%s,
+ SubCmd:%s,
+ TagPlayerID:%d,
+ Result:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TagPlayerID,
+ self.Result
+ )
+ return DumpString
+
+
+m_NAtagCMArenaBattle=tagCMArenaBattle()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMArenaBattle.Cmd,m_NAtagCMArenaBattle.SubCmd))] = m_NAtagCMArenaBattle
+
+
+#------------------------------------------------------
+# B2 09 竞技场匹配玩家 #tagCMArenaMatch
+
+class tagCMArenaMatch(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("IsRefresh", c_ubyte), # 0-打开界面无匹配数据时时查询,1-强制刷新匹配列表
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB2
+ self.SubCmd = 0x09
+ return
+
+ def ReadData(self, stringData, _pos=0, _len=0):
+ self.Clear()
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
+
+ def Clear(self):
+ self.Cmd = 0xB2
+ self.SubCmd = 0x09
+ self.IsRefresh = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMArenaMatch)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B2 09 竞技场匹配玩家 //tagCMArenaMatch:
+ Cmd:%s,
+ SubCmd:%s,
+ IsRefresh:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.IsRefresh
+ )
+ return DumpString
+
+
+m_NAtagCMArenaMatch=tagCMArenaMatch()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMArenaMatch.Cmd,m_NAtagCMArenaMatch.SubCmd))] = m_NAtagCMArenaMatch
+
+
+#------------------------------------------------------
# B2 07 重置加点 #tagCMResetAttrPoint
class tagCMResetAttrPoint(Structure):
--
Gitblit v1.8.0