From d50bce0513256c13a3b1887034a4b2866fa9b7ef Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 25 一月 2019 21:29:31 +0800 Subject: [PATCH] 6087 【后端】【1.5.200】春节红包雨活动(活动表、封包) --- ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 145 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 145 insertions(+), 0 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py index 1c222e0..f1c93ec 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py @@ -4715,6 +4715,151 @@ #------------------------------------------------------ +# AC 11 节日红包活动信息 #tagGCFeastRedPacketInfo + +class tagGCFeastRedPacketDay(Structure): + RedPacketCount = 0 #(BYTE RedPacketCount) + RedPacketIDList = list() #(vector<WORD> RedPacketIDList)// 当日定时发放的系统红包ID列表 + data = None + + def __init__(self): + self.Clear() + return + + def ReadData(self, _lpData, _pos=0, _Len=0): + self.Clear() + self.RedPacketCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) + for i in range(self.RedPacketCount): + value,_pos=CommFunc.ReadWORD(_lpData,_pos) + self.RedPacketIDList.append(value) + return _pos + + def Clear(self): + self.RedPacketCount = 0 + self.RedPacketIDList = list() + return + + def GetLength(self): + length = 0 + length += 1 + length += 2 * self.RedPacketCount + + return length + + def GetBuffer(self): + data = '' + data = CommFunc.WriteBYTE(data, self.RedPacketCount) + for i in range(self.RedPacketCount): + data = CommFunc.WriteWORD(data, self.RedPacketIDList[i]) + return data + + def OutputString(self): + DumpString = ''' + RedPacketCount:%d, + RedPacketIDList:%s + '''\ + %( + self.RedPacketCount, + "..." + ) + return DumpString + + +class tagGCFeastRedPacketInfo(Structure): + Head = tagHead() + StartDate = "" #(char StartDate[10])// 开始日期 y-m-d + EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d + LimitLV = 0 #(WORD LimitLV)// 限制等级 + ResetType = 0 #(BYTE ResetType)// 重置类型 0-0点重置 1-5点重置 + RedPacketDays = 0 #(BYTE RedPacketDays) + RedPacketDayList = list() #(vector<tagGCFeastRedPacketDay> RedPacketDayList)// 每日系统红包信息 + data = None + + def __init__(self): + self.Clear() + self.Head.Cmd = 0xAC + self.Head.SubCmd = 0x11 + return + + def ReadData(self, _lpData, _pos=0, _Len=0): + self.Clear() + _pos = self.Head.ReadData(_lpData, _pos) + self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10) + self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10) + self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos) + self.RedPacketDays,_pos = CommFunc.ReadBYTE(_lpData, _pos) + for i in range(self.RedPacketDays): + temRedPacketDayList = tagGCFeastRedPacketDay() + _pos = temRedPacketDayList.ReadData(_lpData, _pos) + self.RedPacketDayList.append(temRedPacketDayList) + return _pos + + def Clear(self): + self.Head = tagHead() + self.Head.Clear() + self.Head.Cmd = 0xAC + self.Head.SubCmd = 0x11 + self.StartDate = "" + self.EndtDate = "" + self.LimitLV = 0 + self.ResetType = 0 + self.RedPacketDays = 0 + self.RedPacketDayList = list() + return + + def GetLength(self): + length = 0 + length += self.Head.GetLength() + length += 10 + length += 10 + length += 2 + length += 1 + length += 1 + for i in range(self.RedPacketDays): + length += self.RedPacketDayList[i].GetLength() + + return length + + def GetBuffer(self): + data = '' + data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) + data = CommFunc.WriteString(data, 10, self.StartDate) + data = CommFunc.WriteString(data, 10, self.EndtDate) + data = CommFunc.WriteWORD(data, self.LimitLV) + data = CommFunc.WriteBYTE(data, self.ResetType) + data = CommFunc.WriteBYTE(data, self.RedPacketDays) + for i in range(self.RedPacketDays): + data = CommFunc.WriteString(data, self.RedPacketDayList[i].GetLength(), self.RedPacketDayList[i].GetBuffer()) + return data + + def OutputString(self): + DumpString = ''' + Head:%s, + StartDate:%s, + EndtDate:%s, + LimitLV:%d, + ResetType:%d, + RedPacketDays:%d, + RedPacketDayList:%s + '''\ + %( + self.Head.OutputString(), + self.StartDate, + self.EndtDate, + self.LimitLV, + self.ResetType, + self.RedPacketDays, + "..." + ) + return DumpString + + +m_NAtagGCFeastRedPacketInfo=tagGCFeastRedPacketInfo() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCFeastRedPacketInfo.Head.Cmd,m_NAtagGCFeastRedPacketInfo.Head.SubCmd))] = m_NAtagGCFeastRedPacketInfo + + +#------------------------------------------------------ # AC 02 通知仙魔之争信息 #tagGCXMZZInfo class tagGCXMZZInfo(Structure): -- Gitblit v1.8.0