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 | 378 ++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 325 insertions(+), 53 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
index 4ffc655..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):
@@ -3567,6 +3615,58 @@
#------------------------------------------------------
+# B9 11 请求加入队伍 #tagCGRequestJoinTeam
+
+class tagCGRequestJoinTeam(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TeamID", c_int), # 目标队伍ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB9
+ self.SubCmd = 0x11
+ return
+
+ def ReadData(self, stringData, _pos=0, _len=0):
+ self.Clear()
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
+
+ def Clear(self):
+ self.Cmd = 0xB9
+ self.SubCmd = 0x11
+ self.TeamID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGRequestJoinTeam)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B9 11 请求加入队伍 //tagCGRequestJoinTeam:
+ Cmd:%s,
+ SubCmd:%s,
+ TeamID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TeamID
+ )
+ return DumpString
+
+
+m_NAtagCGRequestJoinTeam=tagCGRequestJoinTeam()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGRequestJoinTeam.Cmd,m_NAtagCGRequestJoinTeam.SubCmd))] = m_NAtagCGRequestJoinTeam
+
+
+#------------------------------------------------------
# B9 09 队员进入副本准备选择 #tagCGTeamMemberPrepare
class tagCGTeamMemberPrepare(Structure):
@@ -5494,54 +5594,6 @@
#------------------------------------------------------
-# A2 08 刷新缥缈任务 #tagCMRefreshPiaomiaoTask
-
-class tagCMRefreshPiaomiaoTask(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA2
- 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 = 0xA2
- self.SubCmd = 0x08
- return
-
- def GetLength(self):
- return sizeof(tagCMRefreshPiaomiaoTask)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A2 08 刷新缥缈任务 //tagCMRefreshPiaomiaoTask:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagCMRefreshPiaomiaoTask=tagCMRefreshPiaomiaoTask()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRefreshPiaomiaoTask.Cmd,m_NAtagCMRefreshPiaomiaoTask.SubCmd))] = m_NAtagCMRefreshPiaomiaoTask
-
-
-#------------------------------------------------------
#A2 02通知选中对象 # tagCMSelectObj
class tagCMSelectObj(Structure):
@@ -7203,6 +7255,7 @@
("SubCmd", c_ubyte),
("PackType", c_ubyte), #背包类型
("ItemIndex", c_ubyte), #物品在背包中索引
+ ("IsAll", c_ubyte), #是否处理所有过期物品
]
def __init__(self):
@@ -7221,6 +7274,7 @@
self.SubCmd = 0x08
self.PackType = 0
self.ItemIndex = 0
+ self.IsAll = 0
return
def GetLength(self):
@@ -7234,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
@@ -10201,6 +10257,7 @@
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
("SuccID", c_int), #成就ID
+ ("IsPassport", c_ubyte), #是否通行证奖励
]
def __init__(self):
@@ -10218,6 +10275,7 @@
self.Cmd = 0xA5
self.SubCmd = 0x42
self.SuccID = 0
+ self.IsPassport = 0
return
def GetLength(self):
@@ -10230,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
@@ -10544,7 +10604,7 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("UseItemCnt", c_ubyte), #消耗材料个数
+ ("UseItemCnt", c_ushort), #消耗材料个数
("IsAutoBuy", c_ubyte), #是否自动购买
]
@@ -13086,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):
@@ -14106,6 +14222,54 @@
#------------------------------------------------------
+# 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):
@@ -15059,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