| | |
| | | # 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
|
| | |
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # 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):
|