From 43e5e84170e91ca2bc4c26d289a8bc5a891d06d0 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 10 十二月 2019 18:00:54 +0800
Subject: [PATCH] 8346 【恺英】【后端】协助系统(修改感谢礼盒相关封包)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py | 111 +++++++++------------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 14 --
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 111 +++++++++------------
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 14 --
4 files changed, 98 insertions(+), 152 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
index 1b33412..08ec62a 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -2020,57 +2020,52 @@
# B0 15 接收协助感谢礼物 #tagCGGetAssistThanksGift
class tagCGGetAssistThanksGift(Structure):
- Head = tagHead()
- GiftGUID = "" #(char GiftGUID[40])//预览时GUID不发,确认领取时需发送预览返回的GUID,无额外奖励不需要再次发送
- data = None
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("IsPreview", c_ubyte), #是否预览,非预览即确认领取,无额外奖励确认时也需要回复领取包代表已读
+ ]
def __init__(self):
self.Clear()
- self.Head.Cmd = 0xB0
- self.Head.SubCmd = 0x15
+ self.Cmd = 0xB0
+ self.SubCmd = 0x15
return
- def ReadData(self, _lpData, _pos=0, _Len=0):
+ def ReadData(self, stringData, _pos=0, _len=0):
self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.GiftGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
- return _pos
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB0
- self.Head.SubCmd = 0x15
- self.GiftGUID = ""
+ self.Cmd = 0xB0
+ self.SubCmd = 0x15
+ self.IsPreview = 0
return
def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 40
-
- return length
+ return sizeof(tagCGGetAssistThanksGift)
def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 40, self.GiftGUID)
- return data
+ return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''
- Head:%s,
- GiftGUID:%s
+ DumpString = '''// B0 15 接收协助感谢礼物 //tagCGGetAssistThanksGift:
+ Cmd:%s,
+ SubCmd:%s,
+ IsPreview:%d
'''\
%(
- self.Head.OutputString(),
- self.GiftGUID
+ self.Cmd,
+ self.SubCmd,
+ self.IsPreview
)
return DumpString
m_NAtagCGGetAssistThanksGift=tagCGGetAssistThanksGift()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGGetAssistThanksGift.Head.Cmd,m_NAtagCGGetAssistThanksGift.Head.SubCmd))] = m_NAtagCGGetAssistThanksGift
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGGetAssistThanksGift.Cmd,m_NAtagCGGetAssistThanksGift.SubCmd))] = m_NAtagCGGetAssistThanksGift
#------------------------------------------------------
@@ -2182,64 +2177,56 @@
# B0 14 使用协助感谢礼盒 #tagCGUseAssistThanksGift
class tagCGUseAssistThanksGift(Structure):
- Head = tagHead()
- ItemID = 0 #(DWORD ItemID)
- GiftGUID = "" #(char GiftGUID[40])//预览时GUID不发,确认使用时需发送预览返回的GUID
- data = None
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ItemID", c_int),
+ ("IsPreview", c_ubyte), #是否预览,非预览即确认使用
+ ]
def __init__(self):
self.Clear()
- self.Head.Cmd = 0xB0
- self.Head.SubCmd = 0x14
+ self.Cmd = 0xB0
+ self.SubCmd = 0x14
return
- def ReadData(self, _lpData, _pos=0, _Len=0):
+ def ReadData(self, stringData, _pos=0, _len=0):
self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.GiftGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
- return _pos
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB0
- self.Head.SubCmd = 0x14
+ self.Cmd = 0xB0
+ self.SubCmd = 0x14
self.ItemID = 0
- self.GiftGUID = ""
+ self.IsPreview = 0
return
def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 4
- length += 40
-
- return length
+ return sizeof(tagCGUseAssistThanksGift)
def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteDWORD(data, self.ItemID)
- data = CommFunc.WriteString(data, 40, self.GiftGUID)
- return data
+ return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''
- Head:%s,
+ DumpString = '''// B0 14 使用协助感谢礼盒 //tagCGUseAssistThanksGift:
+ Cmd:%s,
+ SubCmd:%s,
ItemID:%d,
- GiftGUID:%s
+ IsPreview:%d
'''\
%(
- self.Head.OutputString(),
+ self.Cmd,
+ self.SubCmd,
self.ItemID,
- self.GiftGUID
+ self.IsPreview
)
return DumpString
m_NAtagCGUseAssistThanksGift=tagCGUseAssistThanksGift()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGUseAssistThanksGift.Head.Cmd,m_NAtagCGUseAssistThanksGift.Head.SubCmd))] = m_NAtagCGUseAssistThanksGift
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGUseAssistThanksGift.Cmd,m_NAtagCGUseAssistThanksGift.SubCmd))] = m_NAtagCGUseAssistThanksGift
#------------------------------------------------------
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index 068d1c7..50f31f9 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -6246,7 +6246,6 @@
class tagGCGetAssistThanksGiftPreview(Structure):
Head = tagHead()
- GiftGUID = "" #(char GiftGUID[40])//礼盒GUID
ItemID = 0 #(DWORD ItemID)//礼盒ID
PlayerID = 0 #(DWORD PlayerID)//发起玩家ID
PlayerName = "" #(char PlayerName[33])
@@ -6271,7 +6270,6 @@
def ReadData(self, _lpData, _pos=0, _Len=0):
self.Clear()
_pos = self.Head.ReadData(_lpData, _pos)
- self.GiftGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.PlayerName,_pos = CommFunc.ReadString(_lpData, _pos,33)
@@ -6292,7 +6290,6 @@
self.Head.Clear()
self.Head.Cmd = 0xB0
self.Head.SubCmd = 0x05
- self.GiftGUID = ""
self.ItemID = 0
self.PlayerID = 0
self.PlayerName = ""
@@ -6311,7 +6308,6 @@
def GetLength(self):
length = 0
length += self.Head.GetLength()
- length += 40
length += 4
length += 4
length += 33
@@ -6331,7 +6327,6 @@
def GetBuffer(self):
data = ''
data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 40, self.GiftGUID)
data = CommFunc.WriteDWORD(data, self.ItemID)
data = CommFunc.WriteDWORD(data, self.PlayerID)
data = CommFunc.WriteString(data, 33, self.PlayerName)
@@ -6350,7 +6345,6 @@
def OutputString(self):
DumpString = '''
Head:%s,
- GiftGUID:%s,
ItemID:%d,
PlayerID:%d,
PlayerName:%s,
@@ -6367,7 +6361,6 @@
'''\
%(
self.Head.OutputString(),
- self.GiftGUID,
self.ItemID,
self.PlayerID,
self.PlayerName,
@@ -6460,7 +6453,6 @@
class tagGCUseAssistThanksGiftPreview(Structure):
Head = tagHead()
- GiftGUID = "" #(char GiftGUID[40])//礼盒GUID
ItemID = 0 #(DWORD ItemID)//礼盒ID
MapID = 0 #(DWORD MapID)
LineID = 0 #(DWORD LineID)
@@ -6480,7 +6472,6 @@
def ReadData(self, _lpData, _pos=0, _Len=0):
self.Clear()
_pos = self.Head.ReadData(_lpData, _pos)
- self.GiftGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.MapID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.LineID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
@@ -6499,7 +6490,6 @@
self.Head.Clear()
self.Head.Cmd = 0xB0
self.Head.SubCmd = 0x04
- self.GiftGUID = ""
self.ItemID = 0
self.MapID = 0
self.LineID = 0
@@ -6513,7 +6503,6 @@
def GetLength(self):
length = 0
length += self.Head.GetLength()
- length += 40
length += 4
length += 4
length += 4
@@ -6529,7 +6518,6 @@
def GetBuffer(self):
data = ''
data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 40, self.GiftGUID)
data = CommFunc.WriteDWORD(data, self.ItemID)
data = CommFunc.WriteDWORD(data, self.MapID)
data = CommFunc.WriteDWORD(data, self.LineID)
@@ -6544,7 +6532,6 @@
def OutputString(self):
DumpString = '''
Head:%s,
- GiftGUID:%s,
ItemID:%d,
MapID:%d,
LineID:%d,
@@ -6556,7 +6543,6 @@
'''\
%(
self.Head.OutputString(),
- self.GiftGUID,
self.ItemID,
self.MapID,
self.LineID,
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
index 1b33412..08ec62a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -2020,57 +2020,52 @@
# B0 15 接收协助感谢礼物 #tagCGGetAssistThanksGift
class tagCGGetAssistThanksGift(Structure):
- Head = tagHead()
- GiftGUID = "" #(char GiftGUID[40])//预览时GUID不发,确认领取时需发送预览返回的GUID,无额外奖励不需要再次发送
- data = None
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("IsPreview", c_ubyte), #是否预览,非预览即确认领取,无额外奖励确认时也需要回复领取包代表已读
+ ]
def __init__(self):
self.Clear()
- self.Head.Cmd = 0xB0
- self.Head.SubCmd = 0x15
+ self.Cmd = 0xB0
+ self.SubCmd = 0x15
return
- def ReadData(self, _lpData, _pos=0, _Len=0):
+ def ReadData(self, stringData, _pos=0, _len=0):
self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.GiftGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
- return _pos
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB0
- self.Head.SubCmd = 0x15
- self.GiftGUID = ""
+ self.Cmd = 0xB0
+ self.SubCmd = 0x15
+ self.IsPreview = 0
return
def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 40
-
- return length
+ return sizeof(tagCGGetAssistThanksGift)
def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 40, self.GiftGUID)
- return data
+ return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''
- Head:%s,
- GiftGUID:%s
+ DumpString = '''// B0 15 接收协助感谢礼物 //tagCGGetAssistThanksGift:
+ Cmd:%s,
+ SubCmd:%s,
+ IsPreview:%d
'''\
%(
- self.Head.OutputString(),
- self.GiftGUID
+ self.Cmd,
+ self.SubCmd,
+ self.IsPreview
)
return DumpString
m_NAtagCGGetAssistThanksGift=tagCGGetAssistThanksGift()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGGetAssistThanksGift.Head.Cmd,m_NAtagCGGetAssistThanksGift.Head.SubCmd))] = m_NAtagCGGetAssistThanksGift
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGGetAssistThanksGift.Cmd,m_NAtagCGGetAssistThanksGift.SubCmd))] = m_NAtagCGGetAssistThanksGift
#------------------------------------------------------
@@ -2182,64 +2177,56 @@
# B0 14 使用协助感谢礼盒 #tagCGUseAssistThanksGift
class tagCGUseAssistThanksGift(Structure):
- Head = tagHead()
- ItemID = 0 #(DWORD ItemID)
- GiftGUID = "" #(char GiftGUID[40])//预览时GUID不发,确认使用时需发送预览返回的GUID
- data = None
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ItemID", c_int),
+ ("IsPreview", c_ubyte), #是否预览,非预览即确认使用
+ ]
def __init__(self):
self.Clear()
- self.Head.Cmd = 0xB0
- self.Head.SubCmd = 0x14
+ self.Cmd = 0xB0
+ self.SubCmd = 0x14
return
- def ReadData(self, _lpData, _pos=0, _Len=0):
+ def ReadData(self, stringData, _pos=0, _len=0):
self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.GiftGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
- return _pos
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB0
- self.Head.SubCmd = 0x14
+ self.Cmd = 0xB0
+ self.SubCmd = 0x14
self.ItemID = 0
- self.GiftGUID = ""
+ self.IsPreview = 0
return
def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 4
- length += 40
-
- return length
+ return sizeof(tagCGUseAssistThanksGift)
def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteDWORD(data, self.ItemID)
- data = CommFunc.WriteString(data, 40, self.GiftGUID)
- return data
+ return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''
- Head:%s,
+ DumpString = '''// B0 14 使用协助感谢礼盒 //tagCGUseAssistThanksGift:
+ Cmd:%s,
+ SubCmd:%s,
ItemID:%d,
- GiftGUID:%s
+ IsPreview:%d
'''\
%(
- self.Head.OutputString(),
+ self.Cmd,
+ self.SubCmd,
self.ItemID,
- self.GiftGUID
+ self.IsPreview
)
return DumpString
m_NAtagCGUseAssistThanksGift=tagCGUseAssistThanksGift()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGUseAssistThanksGift.Head.Cmd,m_NAtagCGUseAssistThanksGift.Head.SubCmd))] = m_NAtagCGUseAssistThanksGift
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGUseAssistThanksGift.Cmd,m_NAtagCGUseAssistThanksGift.SubCmd))] = m_NAtagCGUseAssistThanksGift
#------------------------------------------------------
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index 068d1c7..50f31f9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -6246,7 +6246,6 @@
class tagGCGetAssistThanksGiftPreview(Structure):
Head = tagHead()
- GiftGUID = "" #(char GiftGUID[40])//礼盒GUID
ItemID = 0 #(DWORD ItemID)//礼盒ID
PlayerID = 0 #(DWORD PlayerID)//发起玩家ID
PlayerName = "" #(char PlayerName[33])
@@ -6271,7 +6270,6 @@
def ReadData(self, _lpData, _pos=0, _Len=0):
self.Clear()
_pos = self.Head.ReadData(_lpData, _pos)
- self.GiftGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.PlayerName,_pos = CommFunc.ReadString(_lpData, _pos,33)
@@ -6292,7 +6290,6 @@
self.Head.Clear()
self.Head.Cmd = 0xB0
self.Head.SubCmd = 0x05
- self.GiftGUID = ""
self.ItemID = 0
self.PlayerID = 0
self.PlayerName = ""
@@ -6311,7 +6308,6 @@
def GetLength(self):
length = 0
length += self.Head.GetLength()
- length += 40
length += 4
length += 4
length += 33
@@ -6331,7 +6327,6 @@
def GetBuffer(self):
data = ''
data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 40, self.GiftGUID)
data = CommFunc.WriteDWORD(data, self.ItemID)
data = CommFunc.WriteDWORD(data, self.PlayerID)
data = CommFunc.WriteString(data, 33, self.PlayerName)
@@ -6350,7 +6345,6 @@
def OutputString(self):
DumpString = '''
Head:%s,
- GiftGUID:%s,
ItemID:%d,
PlayerID:%d,
PlayerName:%s,
@@ -6367,7 +6361,6 @@
'''\
%(
self.Head.OutputString(),
- self.GiftGUID,
self.ItemID,
self.PlayerID,
self.PlayerName,
@@ -6460,7 +6453,6 @@
class tagGCUseAssistThanksGiftPreview(Structure):
Head = tagHead()
- GiftGUID = "" #(char GiftGUID[40])//礼盒GUID
ItemID = 0 #(DWORD ItemID)//礼盒ID
MapID = 0 #(DWORD MapID)
LineID = 0 #(DWORD LineID)
@@ -6480,7 +6472,6 @@
def ReadData(self, _lpData, _pos=0, _Len=0):
self.Clear()
_pos = self.Head.ReadData(_lpData, _pos)
- self.GiftGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.MapID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.LineID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
@@ -6499,7 +6490,6 @@
self.Head.Clear()
self.Head.Cmd = 0xB0
self.Head.SubCmd = 0x04
- self.GiftGUID = ""
self.ItemID = 0
self.MapID = 0
self.LineID = 0
@@ -6513,7 +6503,6 @@
def GetLength(self):
length = 0
length += self.Head.GetLength()
- length += 40
length += 4
length += 4
length += 4
@@ -6529,7 +6518,6 @@
def GetBuffer(self):
data = ''
data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 40, self.GiftGUID)
data = CommFunc.WriteDWORD(data, self.ItemID)
data = CommFunc.WriteDWORD(data, self.MapID)
data = CommFunc.WriteDWORD(data, self.LineID)
@@ -6544,7 +6532,6 @@
def OutputString(self):
DumpString = '''
Head:%s,
- GiftGUID:%s,
ItemID:%d,
MapID:%d,
LineID:%d,
@@ -6556,7 +6543,6 @@
'''\
%(
self.Head.OutputString(),
- self.GiftGUID,
self.ItemID,
self.MapID,
self.LineID,
--
Gitblit v1.8.0