From 03f617028885a2e8840500bb520f3418d54eb791 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 30 一月 2019 18:09:20 +0800
Subject: [PATCH] 2968 【1.6】本服打boss,中途传送到跨服,未清空本服归属
---
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 777 +++++++++++++++++++++++++++++++++++------------------------
1 files changed, 459 insertions(+), 318 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
index ec46dcc..0116cd3 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -2983,113 +2983,9 @@
#------------------------------------------------------
-#C0 11 上传数据的活动类型 #tagActionMergeRegister
+# C0 03 强制退出跨服状态 #tagCGForceQuitCrossState
-class tagActionMergeRegister(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ActionType", c_ubyte), #活动类型
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xC0
- 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 = 0xC0
- self.SubCmd = 0x11
- self.ActionType = 0
- return
-
- def GetLength(self):
- return sizeof(tagActionMergeRegister)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//C0 11 上传数据的活动类型 //tagActionMergeRegister:
- Cmd:%s,
- SubCmd:%s,
- ActionType:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ActionType
- )
- return DumpString
-
-
-m_NAtagActionMergeRegister=tagActionMergeRegister()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagActionMergeRegister.Cmd,m_NAtagActionMergeRegister.SubCmd))] = m_NAtagActionMergeRegister
-
-
-#------------------------------------------------------
-#C0 12 跨服上传数据账号查询 #tagMergeRegisterAccQuery
-
-class tagMergeRegisterAccQuery(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ActionType", c_ubyte), #活动类型
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xC0
- 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 = 0xC0
- self.SubCmd = 0x12
- self.ActionType = 0
- return
-
- def GetLength(self):
- return sizeof(tagMergeRegisterAccQuery)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//C0 12 跨服上传数据账号查询 //tagMergeRegisterAccQuery:
- Cmd:%s,
- SubCmd:%s,
- ActionType:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ActionType
- )
- return DumpString
-
-
-m_NAtagMergeRegisterAccQuery=tagMergeRegisterAccQuery()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMergeRegisterAccQuery.Cmd,m_NAtagMergeRegisterAccQuery.SubCmd))] = m_NAtagMergeRegisterAccQuery
-
-
-#------------------------------------------------------
-# C0 15 通知即将登录跳转到跨服服务器 #tagCGGotoMergeServer
-
-class tagCGGotoMergeServer(Structure):
+class tagCGForceQuitCrossState(Structure):
_pack_ = 1
_fields_ = [
("Cmd", c_ubyte),
@@ -3099,7 +2995,7 @@
def __init__(self):
self.Clear()
self.Cmd = 0xC0
- self.SubCmd = 0x15
+ self.SubCmd = 0x03
return
def ReadData(self, stringData, _pos=0, _len=0):
@@ -3109,17 +3005,17 @@
def Clear(self):
self.Cmd = 0xC0
- self.SubCmd = 0x15
+ self.SubCmd = 0x03
return
def GetLength(self):
- return sizeof(tagCGGotoMergeServer)
+ return sizeof(tagCGForceQuitCrossState)
def GetBuffer(self):
return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''// C0 15 通知即将登录跳转到跨服服务器 //tagCGGotoMergeServer:
+ DumpString = '''// C0 03 强制退出跨服状态 //tagCGForceQuitCrossState:
Cmd:%s,
SubCmd:%s
'''\
@@ -3130,8 +3026,8 @@
return DumpString
-m_NAtagCGGotoMergeServer=tagCGGotoMergeServer()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGGotoMergeServer.Cmd,m_NAtagCGGotoMergeServer.SubCmd))] = m_NAtagCGGotoMergeServer
+m_NAtagCGForceQuitCrossState=tagCGForceQuitCrossState()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGForceQuitCrossState.Cmd,m_NAtagCGForceQuitCrossState.SubCmd))] = m_NAtagCGForceQuitCrossState
#------------------------------------------------------
@@ -3360,6 +3256,54 @@
m_NAtagCMPCInfo=tagCMPCInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMPCInfo.Head.Cmd,m_NAtagCMPCInfo.Head.SubCmd))] = m_NAtagCMPCInfo
+
+
+#------------------------------------------------------
+# A1 08 刷新主服角色信息 #tagCMRefreshMainServerRole
+
+class tagCMRefreshMainServerRole(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA1
+ 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 = 0xA1
+ self.SubCmd = 0x08
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMRefreshMainServerRole)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A1 08 刷新主服角色信息 //tagCMRefreshMainServerRole:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCMRefreshMainServerRole=tagCMRefreshMainServerRole()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRefreshMainServerRole.Cmd,m_NAtagCMRefreshMainServerRole.SubCmd))] = m_NAtagCMRefreshMainServerRole
#------------------------------------------------------
@@ -6145,6 +6089,62 @@
#------------------------------------------------------
+# 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):
@@ -6905,6 +6905,58 @@
#------------------------------------------------------
+# 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):
@@ -7081,6 +7133,90 @@
m_NAtagCMWingUp=tagCMWingUp()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMWingUp.Head.Cmd,m_NAtagCMWingUp.Head.SubCmd))] = m_NAtagCMWingUp
+
+
+#------------------------------------------------------
+# 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
#------------------------------------------------------
@@ -8280,6 +8416,83 @@
#------------------------------------------------------
+# A5 20 时装分解 #tagCMCoatDecompose
+
+class tagCMCoatDecompose(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 = 0xA5
+ self.Head.SubCmd = 0x20
+ 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 = 0xA5
+ self.Head.SubCmd = 0x20
+ 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_NAtagCMCoatDecompose=tagCMCoatDecompose()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMCoatDecompose.Head.Cmd,m_NAtagCMCoatDecompose.Head.SubCmd))] = m_NAtagCMCoatDecompose
+
+
+#------------------------------------------------------
# A5 0B 玩家时装升级 #tagCMCoatUp
class tagCMCoatUp(Structure):
@@ -8287,7 +8500,7 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("CoatIndex", c_ubyte), # 时装索引
+ ("CoatIndex", c_int), # 时装索引
]
def __init__(self):
@@ -11999,6 +12212,54 @@
#------------------------------------------------------
+# A8 06 查询充值结果 #tagCMQueryRecharge
+
+class tagCMQueryRecharge(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA8
+ 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 = 0xA8
+ self.SubCmd = 0x06
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMQueryRecharge)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A8 06 查询充值结果 //tagCMQueryRecharge:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCMQueryRecharge=tagCMQueryRecharge()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMQueryRecharge.Cmd,m_NAtagCMQueryRecharge.SubCmd))] = m_NAtagCMQueryRecharge
+
+
+#------------------------------------------------------
# A8 05 VIP杀怪等级信息同步开关 #tagCMVIPKillNPCLVInfoSwitch
class tagCMVIPKillNPCLVInfoSwitch(Structure):
@@ -12499,6 +12760,7 @@
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
("RedPaketID", c_int), # 红包ID
+ ("GetWay", c_ubyte), #获得途径
]
def __init__(self):
@@ -12516,6 +12778,7 @@
self.Cmd = 0xAB
self.SubCmd = 0x12
self.RedPaketID = 0
+ self.GetWay = 0
return
def GetLength(self):
@@ -12528,12 +12791,14 @@
DumpString = '''// AB 12 抢红包 //tagCMGrabFamilyRedPacket:
Cmd:%s,
SubCmd:%s,
- RedPaketID:%d
+ RedPaketID:%d,
+ GetWay:%d
'''\
%(
self.Cmd,
self.SubCmd,
- self.RedPaketID
+ self.RedPaketID,
+ self.GetWay
)
return DumpString
@@ -15301,19 +15566,23 @@
#------------------------------------------------------
-#C1 08 玩家执行膜拜 #tagPlayerMergeWorship
+# C1 06 跨服NPC对话 #tagCMCrossNPCTalk
-class tagPlayerMergeWorship(Structure):
+class tagCMCrossNPCTalk(Structure):
_pack_ = 1
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
+ ("ObjID", c_int),
+ ("NPCID", c_int),
+ ("PosX", c_ushort),
+ ("PosY", c_ushort),
]
def __init__(self):
self.Clear()
self.Cmd = 0xC1
- self.SubCmd = 0x08
+ self.SubCmd = 0x06
return
def ReadData(self, stringData, _pos=0, _len=0):
@@ -15323,29 +15592,41 @@
def Clear(self):
self.Cmd = 0xC1
- self.SubCmd = 0x08
+ self.SubCmd = 0x06
+ self.ObjID = 0
+ self.NPCID = 0
+ self.PosX = 0
+ self.PosY = 0
return
def GetLength(self):
- return sizeof(tagPlayerMergeWorship)
+ return sizeof(tagCMCrossNPCTalk)
def GetBuffer(self):
return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''//C1 08 玩家执行膜拜 //tagPlayerMergeWorship:
+ DumpString = '''// C1 06 跨服NPC对话 //tagCMCrossNPCTalk:
Cmd:%s,
- SubCmd:%s
+ SubCmd:%s,
+ ObjID:%d,
+ NPCID:%d,
+ PosX:%d,
+ PosY:%d
'''\
%(
self.Cmd,
- self.SubCmd
+ self.SubCmd,
+ self.ObjID,
+ self.NPCID,
+ self.PosX,
+ self.PosY
)
return DumpString
-m_NAtagPlayerMergeWorship=tagPlayerMergeWorship()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagPlayerMergeWorship.Cmd,m_NAtagPlayerMergeWorship.SubCmd))] = m_NAtagPlayerMergeWorship
+m_NAtagCMCrossNPCTalk=tagCMCrossNPCTalk()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMCrossNPCTalk.Cmd,m_NAtagCMCrossNPCTalk.SubCmd))] = m_NAtagCMCrossNPCTalk
#------------------------------------------------------
@@ -15505,6 +15786,58 @@
#------------------------------------------------------
+# C1 05 进入跨服地图 #tagCMEnterCrossServer
+
+class tagCMEnterCrossServer(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("DataMapID", c_int),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xC1
+ 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 = 0xC1
+ self.SubCmd = 0x05
+ self.DataMapID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMEnterCrossServer)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// C1 05 进入跨服地图 //tagCMEnterCrossServer:
+ Cmd:%s,
+ SubCmd:%s,
+ DataMapID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.DataMapID
+ )
+ return DumpString
+
+
+m_NAtagCMEnterCrossServer=tagCMEnterCrossServer()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEnterCrossServer.Cmd,m_NAtagCMEnterCrossServer.SubCmd))] = m_NAtagCMEnterCrossServer
+
+
+#------------------------------------------------------
# C1 04 主动退出跨服 #tagCMExitCrossRealm
class tagCMExitCrossRealm(Structure):
@@ -15549,196 +15882,4 @@
m_NAtagCMExitCrossRealm=tagCMExitCrossRealm()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMExitCrossRealm.Cmd,m_NAtagCMExitCrossRealm.SubCmd))] = m_NAtagCMExitCrossRealm
-
-
-#------------------------------------------------------
-# C1 11 跨服王者争霸押注 #tagCMMergeKingSupport
-
-class tagCMMergeKingSupport(Structure):
- Head = tagHead()
- SupportType = 0 #(BYTE SupportType)// 0-押注; 1-贿赂
- GroupType = 0 #(BYTE GroupType)// 组类型;如32强、16强等
- BattleIndex = 0 #(BYTE BattleIndex)// 对战组索引,每种组类型的索引从1开始
- MoneyType = 0 #(BYTE MoneyType)// 押注的货币类型
- AccIDLen = 0 #(BYTE AccIDLen)
- TagAccID = "" #(String TagAccID)// 支持的目标账号
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xC1
- self.Head.SubCmd = 0x11
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.SupportType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.GroupType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.BattleIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.MoneyType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.AccIDLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.TagAccID,_pos = CommFunc.ReadString(_lpData, _pos,self.AccIDLen)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xC1
- self.Head.SubCmd = 0x11
- self.SupportType = 0
- self.GroupType = 0
- self.BattleIndex = 0
- self.MoneyType = 0
- self.AccIDLen = 0
- self.TagAccID = ""
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 1
- length += 1
- length += 1
- length += 1
- length += len(self.TagAccID)
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.SupportType)
- data = CommFunc.WriteBYTE(data, self.GroupType)
- data = CommFunc.WriteBYTE(data, self.BattleIndex)
- data = CommFunc.WriteBYTE(data, self.MoneyType)
- data = CommFunc.WriteBYTE(data, self.AccIDLen)
- data = CommFunc.WriteString(data, self.AccIDLen, self.TagAccID)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- SupportType:%d,
- GroupType:%d,
- BattleIndex:%d,
- MoneyType:%d,
- AccIDLen:%d,
- TagAccID:%s
- '''\
- %(
- self.Head.OutputString(),
- self.SupportType,
- self.GroupType,
- self.BattleIndex,
- self.MoneyType,
- self.AccIDLen,
- self.TagAccID
- )
- return DumpString
-
-
-m_NAtagCMMergeKingSupport=tagCMMergeKingSupport()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMergeKingSupport.Head.Cmd,m_NAtagCMMergeKingSupport.Head.SubCmd))] = m_NAtagCMMergeKingSupport
-
-
-#------------------------------------------------------
-# C1 09 跨服PK匹配 #tagCMMergePKMatch
-
-class tagCMMergePKMatch(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("Type", c_ubyte), # 0-取消匹配; 1-进行匹配
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xC1
- 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 = 0xC1
- self.SubCmd = 0x09
- self.Type = 0
- return
-
- def GetLength(self):
- return sizeof(tagCMMergePKMatch)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// C1 09 跨服PK匹配 //tagCMMergePKMatch:
- Cmd:%s,
- SubCmd:%s,
- Type:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.Type
- )
- return DumpString
-
-
-m_NAtagCMMergePKMatch=tagCMMergePKMatch()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMergePKMatch.Cmd,m_NAtagCMMergePKMatch.SubCmd))] = m_NAtagCMMergePKMatch
-
-
-#------------------------------------------------------
-# C1 10 跨服PK恢复连胜次数 #tagCMRecoverMergePKWin
-
-class tagCMRecoverMergePKWin(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xC1
- 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 = 0xC1
- self.SubCmd = 0x10
- return
-
- def GetLength(self):
- return sizeof(tagCMRecoverMergePKWin)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// C1 10 跨服PK恢复连胜次数 //tagCMRecoverMergePKWin:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagCMRecoverMergePKWin=tagCMRecoverMergePKWin()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRecoverMergePKWin.Cmd,m_NAtagCMRecoverMergePKWin.SubCmd))] = m_NAtagCMRecoverMergePKWin
\ No newline at end of file
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMExitCrossRealm.Cmd,m_NAtagCMExitCrossRealm.SubCmd))] = m_NAtagCMExitCrossRealm
\ No newline at end of file
--
Gitblit v1.8.0