From a1f9aded73d7c162d51f87a5a6659799f2f08c21 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 17 十月 2022 17:09:34 +0800 Subject: [PATCH] 9684 【越南】坐骑幻化支持时效性 --- ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 108 insertions(+), 0 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py index 0919513..82feceb 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py @@ -20805,6 +20805,114 @@ #------------------------------------------------------ +# A3 10 通知坐骑幻化时效信息 #tagMCHorseSkinTimeInfoList + +class tagMCHorseSkinTimeInfo(Structure): + _pack_ = 1 + _fields_ = [ + ("ID", c_int), # 对应坐骑幻化表ID + ("InvalidTime", c_int), # 失效时间戳 + ] + + def __init__(self): + self.Clear() + 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.ID = 0 + self.InvalidTime = 0 + return + + def GetLength(self): + return sizeof(tagMCHorseSkinTimeInfo) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// A3 10 通知坐骑幻化时效信息 //tagMCHorseSkinTimeInfoList: + ID:%d, + InvalidTime:%d + '''\ + %( + self.ID, + self.InvalidTime + ) + return DumpString + + +class tagMCHorseSkinTimeInfoList(Structure): + Head = tagHead() + TimeCnt = 0 #(BYTE TimeCnt)//个数 + TimeInfoList = list() #(vector<tagMCHorseSkinTimeInfo> TimeInfoList)// 数据列表 + data = None + + def __init__(self): + self.Clear() + self.Head.Cmd = 0xA3 + self.Head.SubCmd = 0x10 + return + + def ReadData(self, _lpData, _pos=0, _Len=0): + self.Clear() + _pos = self.Head.ReadData(_lpData, _pos) + self.TimeCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) + for i in range(self.TimeCnt): + temTimeInfoList = tagMCHorseSkinTimeInfo() + _pos = temTimeInfoList.ReadData(_lpData, _pos) + self.TimeInfoList.append(temTimeInfoList) + return _pos + + def Clear(self): + self.Head = tagHead() + self.Head.Clear() + self.Head.Cmd = 0xA3 + self.Head.SubCmd = 0x10 + self.TimeCnt = 0 + self.TimeInfoList = list() + return + + def GetLength(self): + length = 0 + length += self.Head.GetLength() + length += 1 + for i in range(self.TimeCnt): + length += self.TimeInfoList[i].GetLength() + + return length + + def GetBuffer(self): + data = '' + data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) + data = CommFunc.WriteBYTE(data, self.TimeCnt) + for i in range(self.TimeCnt): + data = CommFunc.WriteString(data, self.TimeInfoList[i].GetLength(), self.TimeInfoList[i].GetBuffer()) + return data + + def OutputString(self): + DumpString = ''' + Head:%s, + TimeCnt:%d, + TimeInfoList:%s + '''\ + %( + self.Head.OutputString(), + self.TimeCnt, + "..." + ) + return DumpString + + +m_NAtagMCHorseSkinTimeInfoList=tagMCHorseSkinTimeInfoList() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCHorseSkinTimeInfoList.Head.Cmd,m_NAtagMCHorseSkinTimeInfoList.Head.SubCmd))] = m_NAtagMCHorseSkinTimeInfoList + + +#------------------------------------------------------ # A3 38 投资理财信息 #tagMCInvestInfo class tagMCInvestInfo(Structure): -- Gitblit v1.8.0