From 9e65b1227144d715b48bdac99290a292108bec53 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 12 一月 2023 17:09:19 +0800 Subject: [PATCH] 9765 【BT8】【后端】神通 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 179 insertions(+), 0 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py index c0c0ffb..8a3f6ea 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py @@ -23138,6 +23138,185 @@ #------------------------------------------------------ +# A3 C8 神通等级信息 #tagMCShentongLVInfo + +class tagMCShentongLV(Structure): + _pack_ = 1 + _fields_ = [ + ("ShentongID", c_ubyte), + ("ClassLV", c_ubyte), + ("LV", c_ubyte), + ] + + 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.ShentongID = 0 + self.ClassLV = 0 + self.LV = 0 + return + + def GetLength(self): + return sizeof(tagMCShentongLV) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// A3 C8 神通等级信息 //tagMCShentongLVInfo: + ShentongID:%d, + ClassLV:%d, + LV:%d + '''\ + %( + self.ShentongID, + self.ClassLV, + self.LV + ) + return DumpString + + +class tagMCShentongLVInfo(Structure): + Head = tagHead() + Count = 0 #(BYTE Count) + ShentongLVList = list() #(vector<tagMCShentongLV> ShentongLVList) + data = None + + def __init__(self): + self.Clear() + self.Head.Cmd = 0xA3 + self.Head.SubCmd = 0xC8 + return + + def ReadData(self, _lpData, _pos=0, _Len=0): + self.Clear() + _pos = self.Head.ReadData(_lpData, _pos) + self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos) + for i in range(self.Count): + temShentongLVList = tagMCShentongLV() + _pos = temShentongLVList.ReadData(_lpData, _pos) + self.ShentongLVList.append(temShentongLVList) + return _pos + + def Clear(self): + self.Head = tagHead() + self.Head.Clear() + self.Head.Cmd = 0xA3 + self.Head.SubCmd = 0xC8 + self.Count = 0 + self.ShentongLVList = list() + return + + def GetLength(self): + length = 0 + length += self.Head.GetLength() + length += 1 + for i in range(self.Count): + length += self.ShentongLVList[i].GetLength() + + return length + + def GetBuffer(self): + data = '' + data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) + data = CommFunc.WriteBYTE(data, self.Count) + for i in range(self.Count): + data = CommFunc.WriteString(data, self.ShentongLVList[i].GetLength(), self.ShentongLVList[i].GetBuffer()) + return data + + def OutputString(self): + DumpString = ''' + Head:%s, + Count:%d, + ShentongLVList:%s + '''\ + %( + self.Head.OutputString(), + self.Count, + "..." + ) + return DumpString + + +m_NAtagMCShentongLVInfo=tagMCShentongLVInfo() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCShentongLVInfo.Head.Cmd,m_NAtagMCShentongLVInfo.Head.SubCmd))] = m_NAtagMCShentongLVInfo + + +#------------------------------------------------------ +# A3 C9 神通技能设置信息 #tagMCShentongSkillInfo + +class tagMCShentongSkillInfo(Structure): + Head = tagHead() + Count = 0 #(BYTE Count) + SkillIDList = list() #(vector<DWORD> SkillIDList) + data = None + + def __init__(self): + self.Clear() + self.Head.Cmd = 0xA3 + self.Head.SubCmd = 0xC9 + return + + def ReadData(self, _lpData, _pos=0, _Len=0): + self.Clear() + _pos = self.Head.ReadData(_lpData, _pos) + self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos) + for i in range(self.Count): + value,_pos=CommFunc.ReadDWORD(_lpData,_pos) + self.SkillIDList.append(value) + return _pos + + def Clear(self): + self.Head = tagHead() + self.Head.Clear() + self.Head.Cmd = 0xA3 + self.Head.SubCmd = 0xC9 + self.Count = 0 + self.SkillIDList = list() + return + + def GetLength(self): + length = 0 + length += self.Head.GetLength() + length += 1 + length += 4 * self.Count + + return length + + def GetBuffer(self): + data = '' + data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) + data = CommFunc.WriteBYTE(data, self.Count) + for i in range(self.Count): + data = CommFunc.WriteDWORD(data, self.SkillIDList[i]) + return data + + def OutputString(self): + DumpString = ''' + Head:%s, + Count:%d, + SkillIDList:%s + '''\ + %( + self.Head.OutputString(), + self.Count, + "..." + ) + return DumpString + + +m_NAtagMCShentongSkillInfo=tagMCShentongSkillInfo() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCShentongSkillInfo.Head.Cmd,m_NAtagMCShentongSkillInfo.Head.SubCmd))] = m_NAtagMCShentongSkillInfo + + +#------------------------------------------------------ # A3 44 当日累计充值多选一礼包信息 #tagMCSingleGoldGift class tagMCSingleGoldGift(Structure): -- Gitblit v1.8.0