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 ++++++++++++++++++++++++------------------------------- 1 files changed, 49 insertions(+), 62 deletions(-) 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 #------------------------------------------------------ -- Gitblit v1.8.0