From dcc91df4e4090f84da0bf7027de4550a0315c184 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 21 十二月 2021 16:52:28 +0800
Subject: [PATCH] 1111 【后端】修复组队报错;修复购买副本次数报错;
---
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 810 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 809 insertions(+), 1 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
index b8a55ae..96ef755 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -2330,6 +2330,222 @@
#------------------------------------------------------
+# B3 19 提升魅力等级 #tagCGCharmLVUp
+
+class tagCGCharmLVUp(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB3
+ 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 = 0xB3
+ self.SubCmd = 0x19
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGCharmLVUp)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B3 19 提升魅力等级 //tagCGCharmLVUp:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGCharmLVUp=tagCGCharmLVUp()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCharmLVUp.Cmd,m_NAtagCGCharmLVUp.SubCmd))] = m_NAtagCGCharmLVUp
+
+
+#------------------------------------------------------
+# B3 09 魅力贡献榜查看 #tagCGCharmOfferBillboardQuery
+
+class tagCGCharmOfferBillboardQuery(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("PlayerID", c_int), # 魅力玩家ID
+ ("QueryType", c_ubyte), # 查看类型: 1-总榜,2-周榜,3-日榜
+ ("QueryCount", c_ubyte), # 查看名次数量,最大255
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB3
+ 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 = 0xB3
+ self.SubCmd = 0x09
+ self.PlayerID = 0
+ self.QueryType = 0
+ self.QueryCount = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGCharmOfferBillboardQuery)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B3 09 魅力贡献榜查看 //tagCGCharmOfferBillboardQuery:
+ Cmd:%s,
+ SubCmd:%s,
+ PlayerID:%d,
+ QueryType:%d,
+ QueryCount:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.PlayerID,
+ self.QueryType,
+ self.QueryCount
+ )
+ return DumpString
+
+
+m_NAtagCGCharmOfferBillboardQuery=tagCGCharmOfferBillboardQuery()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCharmOfferBillboardQuery.Cmd,m_NAtagCGCharmOfferBillboardQuery.SubCmd))] = m_NAtagCGCharmOfferBillboardQuery
+
+
+#------------------------------------------------------
+# B3 16 和平离婚回应 #tagGCMarryBreakResponse
+
+class tagGCMarryBreakResponse(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("IsOK", c_ubyte), # 是否同意,0-否,1-是
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB3
+ 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 = 0xB3
+ self.SubCmd = 0x16
+ self.IsOK = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagGCMarryBreakResponse)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B3 16 和平离婚回应 //tagGCMarryBreakResponse:
+ Cmd:%s,
+ SubCmd:%s,
+ IsOK:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.IsOK
+ )
+ return DumpString
+
+
+m_NAtagGCMarryBreakResponse=tagGCMarryBreakResponse()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCMarryBreakResponse.Cmd,m_NAtagGCMarryBreakResponse.SubCmd))] = m_NAtagGCMarryBreakResponse
+
+
+#------------------------------------------------------
+# B3 12 提亲回应 #tagCGMarryResponse
+
+class tagCGMarryResponse(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ReqPlayerID", c_int), # 提亲的玩家ID
+ ("IsOK", c_ubyte), # 是否同意,0-否,1-是
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB3
+ 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 = 0xB3
+ self.SubCmd = 0x12
+ self.ReqPlayerID = 0
+ self.IsOK = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGMarryResponse)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B3 12 提亲回应 //tagCGMarryResponse:
+ Cmd:%s,
+ SubCmd:%s,
+ ReqPlayerID:%d,
+ IsOK:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ReqPlayerID,
+ self.IsOK
+ )
+ return DumpString
+
+
+m_NAtagCGMarryResponse=tagCGMarryResponse()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGMarryResponse.Cmd,m_NAtagCGMarryResponse.SubCmd))] = m_NAtagCGMarryResponse
+
+
+#------------------------------------------------------
#B3 04 加入黑名单 #tagCGAddBlackList
class tagCGAddBlackList(Structure):
@@ -3816,6 +4032,106 @@
m_NAtagCGForceQuitCrossState=tagCGForceQuitCrossState()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGForceQuitCrossState.Cmd,m_NAtagCGForceQuitCrossState.SubCmd))] = m_NAtagCGForceQuitCrossState
+
+
+#------------------------------------------------------
+# C0 06 查询幸运云购开奖记录 #tagCGQueryLuckyCloudBuyLotteryRec
+
+class tagCGQueryLuckyCloudBuyLotteryRec(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ZoneID", c_ubyte), #查询分区ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xC0
+ 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 = 0xC0
+ self.SubCmd = 0x06
+ self.ZoneID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryLuckyCloudBuyLotteryRec)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// C0 06 查询幸运云购开奖记录 //tagCGQueryLuckyCloudBuyLotteryRec:
+ Cmd:%s,
+ SubCmd:%s,
+ ZoneID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ZoneID
+ )
+ return DumpString
+
+
+m_NAtagCGQueryLuckyCloudBuyLotteryRec=tagCGQueryLuckyCloudBuyLotteryRec()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryLuckyCloudBuyLotteryRec.Cmd,m_NAtagCGQueryLuckyCloudBuyLotteryRec.SubCmd))] = m_NAtagCGQueryLuckyCloudBuyLotteryRec
+
+
+#------------------------------------------------------
+# C0 05 查询幸运云购购买号码记录 #tagCGQueryLuckyCloudBuyNumRec
+
+class tagCGQueryLuckyCloudBuyNumRec(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xC0
+ 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 = 0xC0
+ self.SubCmd = 0x05
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryLuckyCloudBuyNumRec)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// C0 05 查询幸运云购购买号码记录 //tagCGQueryLuckyCloudBuyNumRec:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGQueryLuckyCloudBuyNumRec=tagCGQueryLuckyCloudBuyNumRec()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryLuckyCloudBuyNumRec.Cmd,m_NAtagCGQueryLuckyCloudBuyNumRec.SubCmd))] = m_NAtagCGQueryLuckyCloudBuyNumRec
#------------------------------------------------------
@@ -10169,6 +10485,62 @@
m_NAtagCMExchangeMasterEXP=tagCMExchangeMasterEXP()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMExchangeMasterEXP.Cmd,m_NAtagCMExchangeMasterEXP.SubCmd))] = m_NAtagCMExchangeMasterEXP
+
+
+#------------------------------------------------------
+# A5 32 法器升级 #tagCMFaQiLVUp
+
+class tagCMFaQiLVUp(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("UseItemCnt", c_ushort), #消耗材料个数
+ ("IsAutoBuy", c_ubyte), #是否自动购买
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA5
+ self.SubCmd = 0x32
+ 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 = 0x32
+ self.UseItemCnt = 0
+ self.IsAutoBuy = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMFaQiLVUp)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A5 32 法器升级 //tagCMFaQiLVUp:
+ Cmd:%s,
+ SubCmd:%s,
+ UseItemCnt:%d,
+ IsAutoBuy:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.UseItemCnt,
+ self.IsAutoBuy
+ )
+ return DumpString
+
+
+m_NAtagCMFaQiLVUp=tagCMFaQiLVUp()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFaQiLVUp.Cmd,m_NAtagCMFaQiLVUp.SubCmd))] = m_NAtagCMFaQiLVUp
#------------------------------------------------------
@@ -16727,6 +17099,390 @@
#------------------------------------------------------
+# B3 17 情戒解锁 #tagCMLoveRingUnlock
+
+class tagCMLoveRingUnlock(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB3
+ 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 = 0xB3
+ self.SubCmd = 0x17
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMLoveRingUnlock)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B3 17 情戒解锁 //tagCMLoveRingUnlock:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCMLoveRingUnlock=tagCMLoveRingUnlock()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMLoveRingUnlock.Cmd,m_NAtagCMLoveRingUnlock.SubCmd))] = m_NAtagCMLoveRingUnlock
+
+
+#------------------------------------------------------
+# B3 18 情戒升级 #tagCMLoveRingUp
+
+class tagCMLoveRingUp(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("UseItemCnt", c_int), #消耗材料个数
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB3
+ 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 = 0xB3
+ self.SubCmd = 0x18
+ self.UseItemCnt = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMLoveRingUp)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B3 18 情戒升级 //tagCMLoveRingUp:
+ Cmd:%s,
+ SubCmd:%s,
+ UseItemCnt:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.UseItemCnt
+ )
+ return DumpString
+
+
+m_NAtagCMLoveRingUp=tagCMLoveRingUp()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMLoveRingUp.Cmd,m_NAtagCMLoveRingUp.SubCmd))] = m_NAtagCMLoveRingUp
+
+
+#------------------------------------------------------
+# B3 15 离婚 #tagCMMarryBreak
+
+class tagCMMarryBreak(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("BreakType", c_ubyte), # 0-和平离婚;1-强制离婚
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB3
+ 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 = 0xB3
+ self.SubCmd = 0x15
+ self.BreakType = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMMarryBreak)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B3 15 离婚 //tagCMMarryBreak:
+ Cmd:%s,
+ SubCmd:%s,
+ BreakType:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.BreakType
+ )
+ return DumpString
+
+
+m_NAtagCMMarryBreak=tagCMMarryBreak()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMarryBreak.Cmd,m_NAtagCMMarryBreak.SubCmd))] = m_NAtagCMMarryBreak
+
+
+#------------------------------------------------------
+# B3 14 购买婚礼烟花 #tagCMMarryBuyFireworks
+
+class tagCMMarryBuyFireworks(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("PlayerIDA", c_int), # 喜糖所属玩家IDA
+ ("PlayerIDB", c_int), # 喜糖所属玩家IDB
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB3
+ 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 = 0xB3
+ self.SubCmd = 0x14
+ self.PlayerIDA = 0
+ self.PlayerIDB = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMMarryBuyFireworks)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B3 14 购买婚礼烟花 //tagCMMarryBuyFireworks:
+ Cmd:%s,
+ SubCmd:%s,
+ PlayerIDA:%d,
+ PlayerIDB:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.PlayerIDA,
+ self.PlayerIDB
+ )
+ return DumpString
+
+
+m_NAtagCMMarryBuyFireworks=tagCMMarryBuyFireworks()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMarryBuyFireworks.Cmd,m_NAtagCMMarryBuyFireworks.SubCmd))] = m_NAtagCMMarryBuyFireworks
+
+
+#------------------------------------------------------
+# B3 13 吃喜糖 #tagCMMarryEatCandy
+
+class tagCMMarryEatCandy(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("PlayerIDA", c_int), # 喜糖所属玩家IDA
+ ("PlayerIDB", c_int), # 喜糖所属玩家IDB
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB3
+ self.SubCmd = 0x13
+ 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 = 0xB3
+ self.SubCmd = 0x13
+ self.PlayerIDA = 0
+ self.PlayerIDB = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMMarryEatCandy)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B3 13 吃喜糖 //tagCMMarryEatCandy:
+ Cmd:%s,
+ SubCmd:%s,
+ PlayerIDA:%d,
+ PlayerIDB:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.PlayerIDA,
+ self.PlayerIDB
+ )
+ return DumpString
+
+
+m_NAtagCMMarryEatCandy=tagCMMarryEatCandy()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMarryEatCandy.Cmd,m_NAtagCMMarryEatCandy.SubCmd))] = m_NAtagCMMarryEatCandy
+
+
+#------------------------------------------------------
+# B3 11 提亲 #tagCMMarryReq
+
+class tagCMMarryReq(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TagPlayerID", c_int), # 目标玩家ID
+ ("BridePriceID", c_ubyte), # 聘礼ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB3
+ 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 = 0xB3
+ self.SubCmd = 0x11
+ self.TagPlayerID = 0
+ self.BridePriceID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMMarryReq)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B3 11 提亲 //tagCMMarryReq:
+ Cmd:%s,
+ SubCmd:%s,
+ TagPlayerID:%d,
+ BridePriceID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TagPlayerID,
+ self.BridePriceID
+ )
+ return DumpString
+
+
+m_NAtagCMMarryReq=tagCMMarryReq()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMarryReq.Cmd,m_NAtagCMMarryReq.SubCmd))] = m_NAtagCMMarryReq
+
+
+#------------------------------------------------------
+# B3 10 送礼物 #tagCMSendGifts
+
+class tagCMSendGifts(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TagPlayerID", c_int), # 目标玩家ID
+ ("GiftNum", c_ushort), # 赠送礼物编号
+ ("GiftCount", c_int), # 赠送礼物数量
+ ("IsAutoBuy", c_ubyte), # 是否自动购买
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB3
+ 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 = 0xB3
+ self.SubCmd = 0x10
+ self.TagPlayerID = 0
+ self.GiftNum = 0
+ self.GiftCount = 0
+ self.IsAutoBuy = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMSendGifts)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B3 10 送礼物 //tagCMSendGifts:
+ Cmd:%s,
+ SubCmd:%s,
+ TagPlayerID:%d,
+ GiftNum:%d,
+ GiftCount:%d,
+ IsAutoBuy:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TagPlayerID,
+ self.GiftNum,
+ self.GiftCount,
+ self.IsAutoBuy
+ )
+ return DumpString
+
+
+m_NAtagCMSendGifts=tagCMSendGifts()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSendGifts.Cmd,m_NAtagCMSendGifts.SubCmd))] = m_NAtagCMSendGifts
+
+
+#------------------------------------------------------
# B4 0F 回收私有专属木桩怪 #tagCMRecyclePriWoodPile
class tagCMRecyclePriWoodPile(Structure):
@@ -18557,4 +19313,56 @@
m_NAtagCMExitCrossRealm=tagCMExitCrossRealm()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMExitCrossRealm.Cmd,m_NAtagCMExitCrossRealm.SubCmd))] = m_NAtagCMExitCrossRealm
\ No newline at end of file
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMExitCrossRealm.Cmd,m_NAtagCMExitCrossRealm.SubCmd))] = m_NAtagCMExitCrossRealm
+
+
+#------------------------------------------------------
+# C1 10 幸运云购购买 #tagCMLuckyCloudBuy
+
+class tagCMLuckyCloudBuy(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("BuyCount", c_ushort), # 购买份数
+ ]
+
+ 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
+ self.BuyCount = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMLuckyCloudBuy)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// C1 10 幸运云购购买 //tagCMLuckyCloudBuy:
+ Cmd:%s,
+ SubCmd:%s,
+ BuyCount:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.BuyCount
+ )
+ return DumpString
+
+
+m_NAtagCMLuckyCloudBuy=tagCMLuckyCloudBuy()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMLuckyCloudBuy.Cmd,m_NAtagCMLuckyCloudBuy.SubCmd))] = m_NAtagCMLuckyCloudBuy
\ No newline at end of file
--
Gitblit v1.8.0