| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # A4 12 搜索家族 #tagCGPySearchFamily
|
| | |
|
| | | class tagCGPySearchFamily(Structure):
|
| | | Head = tagHead()
|
| | | MsgLen = 0 #(BYTE MsgLen)//模糊搜索家族,如果输入为空,则为不限制该条件
|
| | | Msg = "" #(String Msg)//size = MsgLen
|
| | | LV = 0 #(BYTE LV)//最低家族等级,如果为0,则不限制该条件
|
| | | MaxCount = 0 #(BYTE MaxCount)//搜索结果所需最大条数,后端限制最多返回20条
|
| | | IsSearching = 0 #(BYTE IsSearching)//默认1,如果有指定其他值,则返回指定值
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Head.Cmd = 0xA4
|
| | | self.Head.SubCmd = 0x12
|
| | | return
|
| | |
|
| | | def ReadData(self, _lpData, _pos=0, _Len=0):
|
| | | self.Clear()
|
| | | _pos = self.Head.ReadData(_lpData, _pos)
|
| | | self.MsgLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.Msg,_pos = CommFunc.ReadString(_lpData, _pos,self.MsgLen)
|
| | | self.LV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.MaxCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.IsSearching,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | | self.Head = tagHead()
|
| | | self.Head.Clear()
|
| | | self.Head.Cmd = 0xA4
|
| | | self.Head.SubCmd = 0x12
|
| | | self.MsgLen = 0
|
| | | self.Msg = ""
|
| | | self.LV = 0
|
| | | self.MaxCount = 0
|
| | | self.IsSearching = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | length = 0
|
| | | length += self.Head.GetLength()
|
| | | length += 1
|
| | | length += len(self.Msg)
|
| | | length += 1
|
| | | length += 1
|
| | | length += 1
|
| | |
|
| | | return length
|
| | |
|
| | | def GetBuffer(self):
|
| | | data = ''
|
| | | data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
|
| | | data = CommFunc.WriteBYTE(data, self.MsgLen)
|
| | | data = CommFunc.WriteString(data, self.MsgLen, self.Msg)
|
| | | data = CommFunc.WriteBYTE(data, self.LV)
|
| | | data = CommFunc.WriteBYTE(data, self.MaxCount)
|
| | | data = CommFunc.WriteBYTE(data, self.IsSearching)
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''
|
| | | Head:%s,
|
| | | MsgLen:%d,
|
| | | Msg:%s,
|
| | | LV:%d,
|
| | | MaxCount:%d,
|
| | | IsSearching:%d
|
| | | '''\
|
| | | %(
|
| | | self.Head.OutputString(),
|
| | | self.MsgLen,
|
| | | self.Msg,
|
| | | self.LV,
|
| | | self.MaxCount,
|
| | | self.IsSearching
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagCGPySearchFamily=tagCGPySearchFamily()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGPySearchFamily.Head.Cmd,m_NAtagCGPySearchFamily.Head.SubCmd))] = m_NAtagCGPySearchFamily
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | #A4 01 查看家族第N页#tagCGViewFamilyPage
|
| | |
|
| | | class tagCGViewFamilyPage(Structure):
|
| | |
| | |
|
| | | m_NAtagCGDelCompensation=tagCGDelCompensation()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGDelCompensation.Head.Cmd,m_NAtagCGDelCompensation.Head.SubCmd))] = m_NAtagCGDelCompensation
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # AC 05 召集仙盟成员打boss #tagCGCallupFamilyMemberToBoss
|
| | |
|
| | | class tagCGCallupFamilyMemberToBoss(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("NPCID", c_int), |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Cmd = 0xAC
|
| | | self.SubCmd = 0x05
|
| | | 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 = 0xAC
|
| | | self.SubCmd = 0x05
|
| | | self.NPCID = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagCGCallupFamilyMemberToBoss)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''// AC 05 召集仙盟成员打boss //tagCGCallupFamilyMemberToBoss:
|
| | | Cmd:%s,
|
| | | SubCmd:%s,
|
| | | NPCID:%d
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd,
|
| | | self.NPCID
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagCGCallupFamilyMemberToBoss=tagCGCallupFamilyMemberToBoss()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCallupFamilyMemberToBoss.Cmd,m_NAtagCGCallupFamilyMemberToBoss.SubCmd))] = m_NAtagCGCallupFamilyMemberToBoss
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # B9 0A 按条件邀请玩家加入队伍 #tagCGInvitePlayerJoinTeamByLV
|
| | |
|
| | | class tagCGInvitePlayerJoinTeamByLV(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("LVLimit", c_ushort), # 目标玩家大于等于此等级
|
| | | ("InviteCnt", c_ubyte), # 邀请玩家个数
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Cmd = 0xB9
|
| | | self.SubCmd = 0x0A
|
| | | 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 = 0xB9
|
| | | self.SubCmd = 0x0A
|
| | | self.LVLimit = 0
|
| | | self.InviteCnt = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagCGInvitePlayerJoinTeamByLV)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''// B9 0A 按条件邀请玩家加入队伍 //tagCGInvitePlayerJoinTeamByLV:
|
| | | Cmd:%s,
|
| | | SubCmd:%s,
|
| | | LVLimit:%d,
|
| | | InviteCnt:%d
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd,
|
| | | self.LVLimit,
|
| | | self.InviteCnt
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagCGInvitePlayerJoinTeamByLV=tagCGInvitePlayerJoinTeamByLV()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGInvitePlayerJoinTeamByLV.Cmd,m_NAtagCGInvitePlayerJoinTeamByLV.SubCmd))] = m_NAtagCGInvitePlayerJoinTeamByLV
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # B9 05 查询推荐组队的附近玩家 #tagCGQueryRecommendNearbyPlayer
|
| | |
|
| | | class tagCGQueryRecommendNearbyPlayer(Structure):
|