From bbca9a1da57c089959d1cf7384813d245290ff23 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期一, 21 一月 2019 14:04:54 +0800 Subject: [PATCH] 5924 【后端】【1.5.100】诛仙Boss功能(初版) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 98 ++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 85 insertions(+), 13 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py index af22c9c..6612111 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py @@ -196,40 +196,60 @@ # A0 07 副本地图功能线路人数 #tagGCFBLinePlayerCnt class tagGCFBLineInfo(Structure): - _pack_ = 1 - _fields_ = [ - ("FBLineID", c_ubyte), # 功能线路ID - ("PlayerCnt", c_ushort), # 线路当前玩家数 - ] + FBLineID = 0 #(BYTE FBLineID)// 功能线路ID + PlayerCnt = 0 #(WORD PlayerCnt)// 线路当前玩家数 + ExtraStrLen = 0 #(WORD ExtraStrLen)// 长度 + ExtraStr = "" #(String ExtraStr)// 额外信息 + data = None def __init__(self): self.Clear() return - def ReadData(self, stringData, _pos=0, _len=0): + def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() - memmove(addressof(self), stringData[_pos:], self.GetLength()) - return _pos + self.GetLength() + self.FBLineID,_pos = CommFunc.ReadBYTE(_lpData, _pos) + self.PlayerCnt,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ExtraStrLen,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ExtraStr,_pos = CommFunc.ReadString(_lpData, _pos,self.ExtraStrLen) + return _pos def Clear(self): self.FBLineID = 0 self.PlayerCnt = 0 + self.ExtraStrLen = 0 + self.ExtraStr = "" return def GetLength(self): - return sizeof(tagGCFBLineInfo) + length = 0 + length += 1 + length += 2 + length += 2 + length += len(self.ExtraStr) + + return length def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) + data = '' + data = CommFunc.WriteBYTE(data, self.FBLineID) + data = CommFunc.WriteWORD(data, self.PlayerCnt) + data = CommFunc.WriteWORD(data, self.ExtraStrLen) + data = CommFunc.WriteString(data, self.ExtraStrLen, self.ExtraStr) + return data def OutputString(self): - DumpString = '''// A0 07 副本地图功能线路人数 //tagGCFBLinePlayerCnt: + DumpString = ''' FBLineID:%d, - PlayerCnt:%d + PlayerCnt:%d, + ExtraStrLen:%d, + ExtraStr:%s '''\ %( self.FBLineID, - self.PlayerCnt + self.PlayerCnt, + self.ExtraStrLen, + self.ExtraStr ) return DumpString @@ -27341,6 +27361,58 @@ #------------------------------------------------------ +# B2 12 诛仙BOSS协助次数 #tagMCZhuXianBossCnt + +class tagMCZhuXianBossCnt(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("Cnt", c_ubyte), # 剩余可协助次数 + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xB2 + self.SubCmd = 0x12 + 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.Cmd = 0xB2 + self.SubCmd = 0x12 + self.Cnt = 0 + return + + def GetLength(self): + return sizeof(tagMCZhuXianBossCnt) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// B2 12 诛仙BOSS协助次数 //tagMCZhuXianBossCnt: + Cmd:%s, + SubCmd:%s, + Cnt:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.Cnt + ) + return DumpString + + +m_NAtagMCZhuXianBossCnt=tagMCZhuXianBossCnt() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCZhuXianBossCnt.Cmd,m_NAtagMCZhuXianBossCnt.SubCmd))] = m_NAtagMCZhuXianBossCnt + + +#------------------------------------------------------ # B4 11 新增恶意攻击玩家 #tagMCAddMaliciousAtkPlayer class tagMCAddMaliciousAtkPlayer(Structure): -- Gitblit v1.8.0