From ff3e540bb725cccaff39d0582b53a2070ad47436 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 12 一月 2023 17:08:27 +0800
Subject: [PATCH] 9762 【BT8】【后端】藏宝阁(删除激活古宝技能字段)
---
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 822 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 822 insertions(+), 0 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
index 80108e3..4a1280f 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -4723,6 +4723,58 @@
#------------------------------------------------------
+# A1 21 转职业 #tagCMChangeJob
+
+class tagCMChangeJob(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TagJob", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA1
+ 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 = 0xA1
+ self.SubCmd = 0x21
+ self.TagJob = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMChangeJob)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A1 21 转职业 //tagCMChangeJob:
+ Cmd:%s,
+ SubCmd:%s,
+ TagJob:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TagJob
+ )
+ return DumpString
+
+
+m_NAtagCMChangeJob=tagCMChangeJob()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMChangeJob.Cmd,m_NAtagCMChangeJob.SubCmd))] = m_NAtagCMChangeJob
+
+
+#------------------------------------------------------
# A1 01 玩家电脑信息 #tagCMPCInfo
class tagCMPCInfo(Structure):
@@ -6547,6 +6599,58 @@
m_NAtagCMSelectObj=tagCMSelectObj()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSelectObj.Cmd,m_NAtagCMSelectObj.SubCmd))] = m_NAtagCMSelectObj
+
+
+#------------------------------------------------------
+# A2 35 选择境界难度层级 #tagCMSelectRealmDifficulty
+
+class tagCMSelectRealmDifficulty(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("RealmDifficulty", c_ubyte), #境界难度 = 100 + 所选境界等级,如境界13,则发113
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA2
+ self.SubCmd = 0x35
+ 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 = 0x35
+ self.RealmDifficulty = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMSelectRealmDifficulty)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A2 35 选择境界难度层级 //tagCMSelectRealmDifficulty:
+ Cmd:%s,
+ SubCmd:%s,
+ RealmDifficulty:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.RealmDifficulty
+ )
+ return DumpString
+
+
+m_NAtagCMSelectRealmDifficulty=tagCMSelectRealmDifficulty()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSelectRealmDifficulty.Cmd,m_NAtagCMSelectRealmDifficulty.SubCmd))] = m_NAtagCMSelectRealmDifficulty
#------------------------------------------------------
@@ -9870,6 +9974,54 @@
#------------------------------------------------------
+# A5 46 购买通天令 #tagCMBuyTongTianLing
+
+class tagCMBuyTongTianLing(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA5
+ self.SubCmd = 0x46
+ 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 = 0x46
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMBuyTongTianLing)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A5 46 购买通天令 //tagCMBuyTongTianLing:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCMBuyTongTianLing=tagCMBuyTongTianLing()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBuyTongTianLing.Cmd,m_NAtagCMBuyTongTianLing.SubCmd))] = m_NAtagCMBuyTongTianLing
+
+
+#------------------------------------------------------
#A5 3B 请求领取补偿#tagCMRequestCompensation
class tagCMRequestCompensation(Structure):
@@ -10904,6 +11056,58 @@
#------------------------------------------------------
+# A5 45 兑换通天令等级经验积分点 #tagCMExchangeTongTianLVPoint
+
+class tagCMExchangeTongTianLVPoint(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ExchangePoint", c_int), # 兑换点数
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA5
+ self.SubCmd = 0x45
+ 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 = 0x45
+ self.ExchangePoint = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMExchangeTongTianLVPoint)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A5 45 兑换通天令等级经验积分点 //tagCMExchangeTongTianLVPoint:
+ Cmd:%s,
+ SubCmd:%s,
+ ExchangePoint:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ExchangePoint
+ )
+ return DumpString
+
+
+m_NAtagCMExchangeTongTianLVPoint=tagCMExchangeTongTianLVPoint()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMExchangeTongTianLVPoint.Cmd,m_NAtagCMExchangeTongTianLVPoint.SubCmd))] = m_NAtagCMExchangeTongTianLVPoint
+
+
+#------------------------------------------------------
# A5 32 法器升级 #tagCMFaQiLVUp
class tagCMFaQiLVUp(Structure):
@@ -11339,6 +11543,114 @@
m_NAtagMCGetSuccessAward=tagMCGetSuccessAward()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCGetSuccessAward.Cmd,m_NAtagMCGetSuccessAward.SubCmd))] = m_NAtagMCGetSuccessAward
+
+
+#------------------------------------------------------
+# A5 44 通天令领取等级奖励 #tagCMGetTongTianLVAward
+
+class tagCMGetTongTianLVAward(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TTLV", c_ubyte), # 领取对应等级奖励,发255为一键领取所有等级奖励,包含仙品奖励
+ ("IsXian", c_ubyte), # 是否领取仙品奖励,仅指定等级奖励有效
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA5
+ self.SubCmd = 0x44
+ 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 = 0x44
+ self.TTLV = 0
+ self.IsXian = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMGetTongTianLVAward)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A5 44 通天令领取等级奖励 //tagCMGetTongTianLVAward:
+ Cmd:%s,
+ SubCmd:%s,
+ TTLV:%d,
+ IsXian:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TTLV,
+ self.IsXian
+ )
+ return DumpString
+
+
+m_NAtagCMGetTongTianLVAward=tagCMGetTongTianLVAward()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetTongTianLVAward.Cmd,m_NAtagCMGetTongTianLVAward.SubCmd))] = m_NAtagCMGetTongTianLVAward
+
+
+#------------------------------------------------------
+# A5 43 通天令领取任务奖励 #tagCMGetTongTianTaskAward
+
+class tagCMGetTongTianTaskAward(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TaskID", c_ubyte), # 任务ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA5
+ self.SubCmd = 0x43
+ 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 = 0x43
+ self.TaskID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMGetTongTianTaskAward)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A5 43 通天令领取任务奖励 //tagCMGetTongTianTaskAward:
+ Cmd:%s,
+ SubCmd:%s,
+ TaskID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TaskID
+ )
+ return DumpString
+
+
+m_NAtagCMGetTongTianTaskAward=tagCMGetTongTianTaskAward()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetTongTianTaskAward.Cmd,m_NAtagCMGetTongTianTaskAward.SubCmd))] = m_NAtagCMGetTongTianTaskAward
#------------------------------------------------------
@@ -14599,6 +14911,241 @@
#------------------------------------------------------
+# AA 20 天帝礼包选择物品 #tagCMActGodGiftChooseItem
+
+class tagCMActGodGiftChooseItemInfo(Structure):
+ ItemLibType = 0 #(BYTE ItemLibType)//物品库类型
+ Count = 0 #(BYTE Count)//选择个数
+ ItemNumList = list() #(vector<BYTE> ItemNumList)//选择物品编号列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ self.ItemLibType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.Count):
+ value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
+ self.ItemNumList.append(value)
+ return _pos
+
+ def Clear(self):
+ self.ItemLibType = 0
+ self.Count = 0
+ self.ItemNumList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 1
+ length += 1
+ length += 1 * self.Count
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteBYTE(data, self.ItemLibType)
+ data = CommFunc.WriteBYTE(data, self.Count)
+ for i in range(self.Count):
+ data = CommFunc.WriteBYTE(data, self.ItemNumList[i])
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ ItemLibType:%d,
+ Count:%d,
+ ItemNumList:%s
+ '''\
+ %(
+ self.ItemLibType,
+ self.Count,
+ "..."
+ )
+ return DumpString
+
+
+class tagCMActGodGiftChooseItem(Structure):
+ Head = tagHead()
+ ActNum = 0 #(BYTE ActNum)//活动编号
+ ChooseLibCount = 0 #(BYTE ChooseLibCount)//选择库个数
+ ChooseItemList = list() #(vector<tagCMActGodGiftChooseItemInfo> ChooseItemList)//选择库物品信息列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xAA
+ self.Head.SubCmd = 0x20
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.ActNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.ChooseLibCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.ChooseLibCount):
+ temChooseItemList = tagCMActGodGiftChooseItemInfo()
+ _pos = temChooseItemList.ReadData(_lpData, _pos)
+ self.ChooseItemList.append(temChooseItemList)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xAA
+ self.Head.SubCmd = 0x20
+ self.ActNum = 0
+ self.ChooseLibCount = 0
+ self.ChooseItemList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ length += 1
+ for i in range(self.ChooseLibCount):
+ length += self.ChooseItemList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteBYTE(data, self.ActNum)
+ data = CommFunc.WriteBYTE(data, self.ChooseLibCount)
+ for i in range(self.ChooseLibCount):
+ data = CommFunc.WriteString(data, self.ChooseItemList[i].GetLength(), self.ChooseItemList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ ActNum:%d,
+ ChooseLibCount:%d,
+ ChooseItemList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.ActNum,
+ self.ChooseLibCount,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagCMActGodGiftChooseItem=tagCMActGodGiftChooseItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActGodGiftChooseItem.Head.Cmd,m_NAtagCMActGodGiftChooseItem.Head.SubCmd))] = m_NAtagCMActGodGiftChooseItem
+
+
+#------------------------------------------------------
+# AA 21 天帝礼包抽奖 #tagCMActGodGiftlottery
+
+class tagCMActGodGiftlottery(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ActNum", c_ubyte), #活动编号
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xAA
+ 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 = 0xAA
+ self.SubCmd = 0x21
+ self.ActNum = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMActGodGiftlottery)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// AA 21 天帝礼包抽奖 //tagCMActGodGiftlottery:
+ Cmd:%s,
+ SubCmd:%s,
+ ActNum:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ActNum
+ )
+ return DumpString
+
+
+m_NAtagCMActGodGiftlottery=tagCMActGodGiftlottery()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActGodGiftlottery.Cmd,m_NAtagCMActGodGiftlottery.SubCmd))] = m_NAtagCMActGodGiftlottery
+
+
+#------------------------------------------------------
+# AA 22 天帝礼包重置 #tagCMActGodGiftReset
+
+class tagCMActGodGiftReset(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ActNum", c_ubyte), #活动编号
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xAA
+ 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 = 0xAA
+ self.SubCmd = 0x22
+ self.ActNum = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMActGodGiftReset)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// AA 22 天帝礼包重置 //tagCMActGodGiftReset:
+ Cmd:%s,
+ SubCmd:%s,
+ ActNum:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ActNum
+ )
+ return DumpString
+
+
+m_NAtagCMActGodGiftReset=tagCMActGodGiftReset()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActGodGiftReset.Cmd,m_NAtagCMActGodGiftReset.SubCmd))] = m_NAtagCMActGodGiftReset
+
+
+#------------------------------------------------------
# AA 12 选择转盘活动物品 #tagCMActTurntableChooseItem
class tagCMActTurntableChooseItem(Structure):
@@ -17288,6 +17835,162 @@
#------------------------------------------------------
+# B2 16 古宝激活 #tagCMGubaoActivate
+
+class tagCMGubaoActivate(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("GubaoID", c_ushort),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB2
+ 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 = 0xB2
+ self.SubCmd = 0x16
+ self.GubaoID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMGubaoActivate)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B2 16 古宝激活 //tagCMGubaoActivate:
+ Cmd:%s,
+ SubCmd:%s,
+ GubaoID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.GubaoID
+ )
+ return DumpString
+
+
+m_NAtagCMGubaoActivate=tagCMGubaoActivate()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGubaoActivate.Cmd,m_NAtagCMGubaoActivate.SubCmd))] = m_NAtagCMGubaoActivate
+
+
+#------------------------------------------------------
+# B2 18 古宝升级 #tagCMGubaoLVUp
+
+class tagCMGubaoLVUp(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("GubaoID", c_ushort),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB2
+ 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 = 0xB2
+ self.SubCmd = 0x18
+ self.GubaoID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMGubaoLVUp)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B2 18 古宝升级 //tagCMGubaoLVUp:
+ Cmd:%s,
+ SubCmd:%s,
+ GubaoID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.GubaoID
+ )
+ return DumpString
+
+
+m_NAtagCMGubaoLVUp=tagCMGubaoLVUp()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGubaoLVUp.Cmd,m_NAtagCMGubaoLVUp.SubCmd))] = m_NAtagCMGubaoLVUp
+
+
+#------------------------------------------------------
+# B2 17 古宝升星 #tagCMGubaoStarUp
+
+class tagCMGubaoStarUp(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("GubaoID", c_ushort),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB2
+ self.SubCmd = 0x17
+ 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 = 0x17
+ self.GubaoID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMGubaoStarUp)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B2 17 古宝升星 //tagCMGubaoStarUp:
+ Cmd:%s,
+ SubCmd:%s,
+ GubaoID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.GubaoID
+ )
+ return DumpString
+
+
+m_NAtagCMGubaoStarUp=tagCMGubaoStarUp()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGubaoStarUp.Cmd,m_NAtagCMGubaoStarUp.SubCmd))] = m_NAtagCMGubaoStarUp
+
+
+#------------------------------------------------------
# B2 07 重置加点 #tagCMResetAttrPoint
class tagCMResetAttrPoint(Structure):
@@ -17336,6 +18039,125 @@
#------------------------------------------------------
+# B2 19 神通升级 #tagCMShentongLVUp
+
+class tagCMShentongLVUp(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ShentongID", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB2
+ 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 = 0xB2
+ self.SubCmd = 0x19
+ self.ShentongID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMShentongLVUp)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B2 19 神通升级 //tagCMShentongLVUp:
+ Cmd:%s,
+ SubCmd:%s,
+ ShentongID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ShentongID
+ )
+ return DumpString
+
+
+m_NAtagCMShentongLVUp=tagCMShentongLVUp()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMShentongLVUp.Cmd,m_NAtagCMShentongLVUp.SubCmd))] = m_NAtagCMShentongLVUp
+
+
+#------------------------------------------------------
+# B2 20 神通技能设置 #tagCMShentongSkillSet
+
+class tagCMShentongSkillSet(Structure):
+ Head = tagHead()
+ Count = 0 #(BYTE Count)
+ SkillIDList = list() #(vector<DWORD> SkillIDList)
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB2
+ 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.ReadDWORD(_lpData,_pos)
+ self.SkillIDList.append(value)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB2
+ self.Head.SubCmd = 0x20
+ self.Count = 0
+ self.SkillIDList = 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.SkillIDList[i])
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ Count:%d,
+ SkillIDList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.Count,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagCMShentongSkillSet=tagCMShentongSkillSet()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMShentongSkillSet.Head.Cmd,m_NAtagCMShentongSkillSet.Head.SubCmd))] = m_NAtagCMShentongSkillSet
+
+
+#------------------------------------------------------
#B2 01 脱机挂状态 # tagCMLoginState
class tagCMLoginState(Structure):
--
Gitblit v1.8.0