From d70324d5963b2c4832f3696e08825999b3848822 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期三, 07 十一月 2018 16:05:45 +0800
Subject: [PATCH] 2306 【1.2】【BUG】老号的封魔之魂次数满了无法领取
---
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 429 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 425 insertions(+), 4 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
index a2e4493..7d701e2 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -4755,6 +4755,58 @@
#------------------------------------------------------
+# A2 30 设置聊天气泡框 #tagCMSetChatBubbleBox
+
+class tagCMSetChatBubbleBox(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("BubbleBoxType", c_ubyte), #气泡框类型
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA2
+ 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 = 0xA2
+ self.SubCmd = 0x30
+ self.BubbleBoxType = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMSetChatBubbleBox)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A2 30 设置聊天气泡框 //tagCMSetChatBubbleBox:
+ Cmd:%s,
+ SubCmd:%s,
+ BubbleBoxType:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.BubbleBoxType
+ )
+ return DumpString
+
+
+m_NAtagCMSetChatBubbleBox=tagCMSetChatBubbleBox()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSetChatBubbleBox.Cmd,m_NAtagCMSetChatBubbleBox.SubCmd))] = m_NAtagCMSetChatBubbleBox
+
+
+#------------------------------------------------------
# A2 22 设置引导成功 #tagCMSetGuideOK
class tagCMSetGuideOK(Structure):
@@ -4808,6 +4860,82 @@
m_NAtagCMSetGuideOK=tagCMSetGuideOK()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSetGuideOK.Cmd,m_NAtagCMSetGuideOK.SubCmd))] = m_NAtagCMSetGuideOK
+
+
+#------------------------------------------------------
+# A2 29 设置小助手 #tagCMSetLittleHelper
+
+class tagCMSetLittleHelper(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("SetNum", c_ubyte), # 托管功能设置编号1~20,每个编号对应的托管功能前端自定义
+ ("Value1", c_int), # 自定义值1
+ ("Value2", c_int), # 自定义值2
+ ("Value3", c_int), # 自定义值3
+ ("Value4", c_int), # 自定义值4
+ ("Value5", c_int), # 自定义值5
+ ("Value6", c_int), # 自定义值6
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA2
+ 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 = 0xA2
+ self.SubCmd = 0x29
+ self.SetNum = 0
+ self.Value1 = 0
+ self.Value2 = 0
+ self.Value3 = 0
+ self.Value4 = 0
+ self.Value5 = 0
+ self.Value6 = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMSetLittleHelper)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A2 29 设置小助手 //tagCMSetLittleHelper:
+ Cmd:%s,
+ SubCmd:%s,
+ SetNum:%d,
+ Value1:%d,
+ Value2:%d,
+ Value3:%d,
+ Value4:%d,
+ Value5:%d,
+ Value6:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.SetNum,
+ self.Value1,
+ self.Value2,
+ self.Value3,
+ self.Value4,
+ self.Value5,
+ self.Value6
+ )
+ return DumpString
+
+
+m_NAtagCMSetLittleHelper=tagCMSetLittleHelper()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSetLittleHelper.Cmd,m_NAtagCMSetLittleHelper.SubCmd))] = m_NAtagCMSetLittleHelper
#------------------------------------------------------
@@ -5892,6 +6020,58 @@
#------------------------------------------------------
+# A3 13 物品拆解 #tagCMItemDecompound
+
+class tagCMItemDecompound(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("Index", c_ubyte), # 拆解物品所在背包索引
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA3
+ 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 = 0xA3
+ self.SubCmd = 0x13
+ self.Index = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMItemDecompound)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A3 13 物品拆解 //tagCMItemDecompound:
+ Cmd:%s,
+ SubCmd:%s,
+ Index:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.Index
+ )
+ return DumpString
+
+
+m_NAtagCMItemDecompound=tagCMItemDecompound()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMItemDecompound.Cmd,m_NAtagCMItemDecompound.SubCmd))] = m_NAtagCMItemDecompound
+
+
+#------------------------------------------------------
#A3 02 丢弃背包物品 #tagPlayerDropItem
class tagPlayerDropItem(Structure):
@@ -6046,6 +6226,8 @@
AddonsItemIndexCnt = 0 #(BYTE AddonsItemIndexCnt)// 附加物品在背包中索引个数
AddonsItemIndex = list() #(vector<BYTE> AddonsItemIndex)// 附加物品在背包的索引列表
AddonsItemCount = list() #(vector<BYTE> AddonsItemCount)// 附加物品在背包的索引对应扣除数量列表
+ RateIncreaseItemIndexCnt = 0 #(BYTE RateIncreaseItemIndexCnt)// 提升概率物品在背包中索引个数
+ RateIncreaseItemIndex = list() #(vector<BYTE> RateIncreaseItemIndex)// 提升概率物品在背包的索引列表
data = None
def __init__(self):
@@ -6074,6 +6256,10 @@
for i in range(self.AddonsItemIndexCnt):
value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
self.AddonsItemCount.append(value)
+ self.RateIncreaseItemIndexCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.RateIncreaseItemIndexCnt):
+ value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
+ self.RateIncreaseItemIndex.append(value)
return _pos
def Clear(self):
@@ -6090,6 +6276,8 @@
self.AddonsItemIndexCnt = 0
self.AddonsItemIndex = list()
self.AddonsItemCount = list()
+ self.RateIncreaseItemIndexCnt = 0
+ self.RateIncreaseItemIndex = list()
return
def GetLength(self):
@@ -6104,6 +6292,8 @@
length += 1
length += 1 * self.AddonsItemIndexCnt
length += 1 * self.AddonsItemIndexCnt
+ length += 1
+ length += 1 * self.RateIncreaseItemIndexCnt
return length
@@ -6123,6 +6313,9 @@
data = CommFunc.WriteBYTE(data, self.AddonsItemIndex[i])
for i in range(self.AddonsItemIndexCnt):
data = CommFunc.WriteBYTE(data, self.AddonsItemCount[i])
+ data = CommFunc.WriteBYTE(data, self.RateIncreaseItemIndexCnt)
+ for i in range(self.RateIncreaseItemIndexCnt):
+ data = CommFunc.WriteBYTE(data, self.RateIncreaseItemIndex[i])
return data
def OutputString(self):
@@ -6136,7 +6329,9 @@
FixedItemIndex:%s,
AddonsItemIndexCnt:%d,
AddonsItemIndex:%s,
- AddonsItemCount:%s
+ AddonsItemCount:%s,
+ RateIncreaseItemIndexCnt:%d,
+ RateIncreaseItemIndex:%s
'''\
%(
self.Head.OutputString(),
@@ -6148,6 +6343,8 @@
"...",
self.AddonsItemIndexCnt,
"...",
+ "...",
+ self.RateIncreaseItemIndexCnt,
"..."
)
return DumpString
@@ -7095,8 +7292,9 @@
("MapID", c_int),
("LineID", c_ushort),
("Cnt", c_ubyte), # 扫荡次数
- ("IsFinish", c_ubyte), # 是否立即完成
+ ("IsFinish", c_ubyte), # 是否立即完成; 0-否;1-花钱立即完成;2-客户端自行倒计时间到后发送2代表领取扫荡完成奖励
("DataEx", c_int), #附带信息
+ ("IsLittleHelper", c_ubyte), # 是否小助手扫荡
]
def __init__(self):
@@ -7118,6 +7316,7 @@
self.Cnt = 0
self.IsFinish = 0
self.DataEx = 0
+ self.IsLittleHelper = 0
return
def GetLength(self):
@@ -7134,7 +7333,8 @@
LineID:%d,
Cnt:%d,
IsFinish:%d,
- DataEx:%d
+ DataEx:%d,
+ IsLittleHelper:%d
'''\
%(
self.Cmd,
@@ -7143,7 +7343,8 @@
self.LineID,
self.Cnt,
self.IsFinish,
- self.DataEx
+ self.DataEx,
+ self.IsLittleHelper
)
return DumpString
@@ -10275,6 +10476,54 @@
#------------------------------------------------------
+# A5 17 绑玉转盘开始 #tagCMStartBindJadeWheel
+
+class tagCMStartBindJadeWheel(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA5
+ 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 = 0xA5
+ self.SubCmd = 0x17
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMStartBindJadeWheel)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A5 17 绑玉转盘开始 //tagCMStartBindJadeWheel:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCMStartBindJadeWheel=tagCMStartBindJadeWheel()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMStartBindJadeWheel.Cmd,m_NAtagCMStartBindJadeWheel.SubCmd))] = m_NAtagCMStartBindJadeWheel
+
+
+#------------------------------------------------------
# A5 11 试用首充武器 #tagCMTryFirstGoldItem
class tagCMTryFirstGoldItem(Structure):
@@ -11280,6 +11529,178 @@
#------------------------------------------------------
+# AA 07 许愿池活动刷新奖池 #tagCMActWishingRefresh
+
+class tagCMActWishingRefresh(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("IsFree", c_ubyte), # 是否免费刷新
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xAA
+ 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 = 0xAA
+ self.SubCmd = 0x07
+ self.IsFree = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMActWishingRefresh)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// AA 07 许愿池活动刷新奖池 //tagCMActWishingRefresh:
+ Cmd:%s,
+ SubCmd:%s,
+ IsFree:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.IsFree
+ )
+ return DumpString
+
+
+m_NAtagCMActWishingRefresh=tagCMActWishingRefresh()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActWishingRefresh.Cmd,m_NAtagCMActWishingRefresh.SubCmd))] = m_NAtagCMActWishingRefresh
+
+
+#------------------------------------------------------
+# AA 06 许愿池活动许愿 #tagCMActWishing
+
+class tagCMActWishing(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("SrcWellType", c_ubyte), # 来源库 0-可选库 1-结果库
+ ("SrcIndex", c_ubyte), # 来源索引
+ ("DesWellType", c_ubyte), # 目标库 0-可选库 1-结果库
+ ("DesIndex", c_ubyte), # 目标索引
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xAA
+ 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 = 0xAA
+ self.SubCmd = 0x06
+ self.SrcWellType = 0
+ self.SrcIndex = 0
+ self.DesWellType = 0
+ self.DesIndex = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMActWishing)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// AA 06 许愿池活动许愿 //tagCMActWishing:
+ Cmd:%s,
+ SubCmd:%s,
+ SrcWellType:%d,
+ SrcIndex:%d,
+ DesWellType:%d,
+ DesIndex:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.SrcWellType,
+ self.SrcIndex,
+ self.DesWellType,
+ self.DesIndex
+ )
+ return DumpString
+
+
+m_NAtagCMActWishing=tagCMActWishing()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActWishing.Cmd,m_NAtagCMActWishing.SubCmd))] = m_NAtagCMActWishing
+
+
+#------------------------------------------------------
+# AA 05 限时抢购预约 #tagCMFlashSaleAppointment
+
+class tagCMFlashSaleAppointment(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("GoodsID", c_int), # 抢购商品标识
+ ("State", c_ubyte), # 1-预约 0-取消
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xAA
+ 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 = 0xAA
+ self.SubCmd = 0x05
+ self.GoodsID = 0
+ self.State = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMFlashSaleAppointment)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// AA 05 限时抢购预约 //tagCMFlashSaleAppointment:
+ Cmd:%s,
+ SubCmd:%s,
+ GoodsID:%d,
+ State:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.GoodsID,
+ self.State
+ )
+ return DumpString
+
+
+m_NAtagCMFlashSaleAppointment=tagCMFlashSaleAppointment()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFlashSaleAppointment.Cmd,m_NAtagCMFlashSaleAppointment.SubCmd))] = m_NAtagCMFlashSaleAppointment
+
+
+#------------------------------------------------------
# AA 02 领取升阶功能特惠奖励 #tagCMGetClassUPDayAward
class tagCMGetClassUPDayAward(Structure):
--
Gitblit v1.8.0