8364 【恺英】【后端】缥缈随机任务(增加接任务、刷新任务、缥缈任务信息封包)
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # A2 08 刷新缥缈任务 #tagCMRefreshPiaomiaoTask
|
| | |
|
| | | class tagCMRefreshPiaomiaoTask(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Cmd = 0xA2
|
| | | self.SubCmd = 0x08
|
| | | 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 = 0xA2
|
| | | self.SubCmd = 0x08
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagCMRefreshPiaomiaoTask)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''// A2 08 刷新缥缈任务 //tagCMRefreshPiaomiaoTask:
|
| | | Cmd:%s,
|
| | | SubCmd:%s
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagCMRefreshPiaomiaoTask=tagCMRefreshPiaomiaoTask()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRefreshPiaomiaoTask.Cmd,m_NAtagCMRefreshPiaomiaoTask.SubCmd))] = m_NAtagCMRefreshPiaomiaoTask
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | #A2 02通知选中对象 # tagCMSelectObj
|
| | |
|
| | | class tagCMSelectObj(Structure):
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # A2 07 接受任务 #tagCMTakeTask
|
| | |
|
| | | class tagCMTakeTask(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("TaskID", c_int), |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Cmd = 0xA2
|
| | | self.SubCmd = 0x07
|
| | | 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 = 0xA2
|
| | | self.SubCmd = 0x07
|
| | | self.TaskID = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagCMTakeTask)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''// A2 07 接受任务 //tagCMTakeTask:
|
| | | Cmd:%s,
|
| | | SubCmd:%s,
|
| | | TaskID:%d
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd,
|
| | | self.TaskID
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagCMTakeTask=tagCMTakeTask()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMTakeTask.Cmd,m_NAtagCMTakeTask.SubCmd))] = m_NAtagCMTakeTask
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | #A2 12 查看玩家详细信息#tagCMViewPlayerInfo
|
| | |
|
| | | class tagCMViewPlayerInfo(Structure):
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # A7 20 缥缈任务信息 #tagMCPiaomiaoTaskInfo
|
| | |
|
| | | class tagMCPiaomiaoTaskInfo(Structure):
|
| | | Head = tagHead()
|
| | | TakeCount = 0 #(BYTE TakeCount)//今日已接次数
|
| | | RefreshCount = 0 #(BYTE RefreshCount)//今日已刷新次数
|
| | | TaskCount = 0 #(BYTE TaskCount)
|
| | | TaskIDList = list() #(vector<DWORD> TaskIDList)//刷新任务ID列表[taskID,...] |
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Head.Cmd = 0xA7
|
| | | self.Head.SubCmd = 0x20
|
| | | return
|
| | |
|
| | | def ReadData(self, _lpData, _pos=0, _Len=0):
|
| | | self.Clear()
|
| | | _pos = self.Head.ReadData(_lpData, _pos)
|
| | | self.TakeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.RefreshCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.TaskCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | for i in range(self.TaskCount):
|
| | | value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
|
| | | self.TaskIDList.append(value)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | | self.Head = tagHead()
|
| | | self.Head.Clear()
|
| | | self.Head.Cmd = 0xA7
|
| | | self.Head.SubCmd = 0x20
|
| | | self.TakeCount = 0
|
| | | self.RefreshCount = 0
|
| | | self.TaskCount = 0
|
| | | self.TaskIDList = list()
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | length = 0
|
| | | length += self.Head.GetLength()
|
| | | length += 1
|
| | | length += 1
|
| | | length += 1
|
| | | length += 4 * self.TaskCount
|
| | |
|
| | | return length
|
| | |
|
| | | def GetBuffer(self):
|
| | | data = ''
|
| | | data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
|
| | | data = CommFunc.WriteBYTE(data, self.TakeCount)
|
| | | data = CommFunc.WriteBYTE(data, self.RefreshCount)
|
| | | data = CommFunc.WriteBYTE(data, self.TaskCount)
|
| | | for i in range(self.TaskCount):
|
| | | data = CommFunc.WriteDWORD(data, self.TaskIDList[i])
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''
|
| | | Head:%s,
|
| | | TakeCount:%d,
|
| | | RefreshCount:%d,
|
| | | TaskCount:%d,
|
| | | TaskIDList:%s
|
| | | '''\
|
| | | %(
|
| | | self.Head.OutputString(),
|
| | | self.TakeCount,
|
| | | self.RefreshCount,
|
| | | self.TaskCount,
|
| | | "..."
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagMCPiaomiaoTaskInfo=tagMCPiaomiaoTaskInfo()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCPiaomiaoTaskInfo.Head.Cmd,m_NAtagMCPiaomiaoTaskInfo.Head.SubCmd))] = m_NAtagMCPiaomiaoTaskInfo
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # A7 19 查询玩家境界阶装备信息结果 #tagSCPlayerEquipCacheResult
|
| | |
|
| | | class tagSCPlayerEquipCacheResult(Structure):
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # A2 08 刷新缥缈任务 #tagCMRefreshPiaomiaoTask
|
| | |
|
| | | class tagCMRefreshPiaomiaoTask(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Cmd = 0xA2
|
| | | self.SubCmd = 0x08
|
| | | 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 = 0xA2
|
| | | self.SubCmd = 0x08
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagCMRefreshPiaomiaoTask)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''// A2 08 刷新缥缈任务 //tagCMRefreshPiaomiaoTask:
|
| | | Cmd:%s,
|
| | | SubCmd:%s
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagCMRefreshPiaomiaoTask=tagCMRefreshPiaomiaoTask()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRefreshPiaomiaoTask.Cmd,m_NAtagCMRefreshPiaomiaoTask.SubCmd))] = m_NAtagCMRefreshPiaomiaoTask
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | #A2 02通知选中对象 # tagCMSelectObj
|
| | |
|
| | | class tagCMSelectObj(Structure):
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # A2 07 接受任务 #tagCMTakeTask
|
| | |
|
| | | class tagCMTakeTask(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("TaskID", c_int), |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Cmd = 0xA2
|
| | | self.SubCmd = 0x07
|
| | | 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 = 0xA2
|
| | | self.SubCmd = 0x07
|
| | | self.TaskID = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagCMTakeTask)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''// A2 07 接受任务 //tagCMTakeTask:
|
| | | Cmd:%s,
|
| | | SubCmd:%s,
|
| | | TaskID:%d
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd,
|
| | | self.TaskID
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagCMTakeTask=tagCMTakeTask()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMTakeTask.Cmd,m_NAtagCMTakeTask.SubCmd))] = m_NAtagCMTakeTask
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | #A2 12 查看玩家详细信息#tagCMViewPlayerInfo
|
| | |
|
| | | class tagCMViewPlayerInfo(Structure):
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # A7 20 缥缈任务信息 #tagMCPiaomiaoTaskInfo
|
| | |
|
| | | class tagMCPiaomiaoTaskInfo(Structure):
|
| | | Head = tagHead()
|
| | | TakeCount = 0 #(BYTE TakeCount)//今日已接次数
|
| | | RefreshCount = 0 #(BYTE RefreshCount)//今日已刷新次数
|
| | | TaskCount = 0 #(BYTE TaskCount)
|
| | | TaskIDList = list() #(vector<DWORD> TaskIDList)//刷新任务ID列表[taskID,...] |
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Head.Cmd = 0xA7
|
| | | self.Head.SubCmd = 0x20
|
| | | return
|
| | |
|
| | | def ReadData(self, _lpData, _pos=0, _Len=0):
|
| | | self.Clear()
|
| | | _pos = self.Head.ReadData(_lpData, _pos)
|
| | | self.TakeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.RefreshCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.TaskCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | for i in range(self.TaskCount):
|
| | | value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
|
| | | self.TaskIDList.append(value)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | | self.Head = tagHead()
|
| | | self.Head.Clear()
|
| | | self.Head.Cmd = 0xA7
|
| | | self.Head.SubCmd = 0x20
|
| | | self.TakeCount = 0
|
| | | self.RefreshCount = 0
|
| | | self.TaskCount = 0
|
| | | self.TaskIDList = list()
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | length = 0
|
| | | length += self.Head.GetLength()
|
| | | length += 1
|
| | | length += 1
|
| | | length += 1
|
| | | length += 4 * self.TaskCount
|
| | |
|
| | | return length
|
| | |
|
| | | def GetBuffer(self):
|
| | | data = ''
|
| | | data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
|
| | | data = CommFunc.WriteBYTE(data, self.TakeCount)
|
| | | data = CommFunc.WriteBYTE(data, self.RefreshCount)
|
| | | data = CommFunc.WriteBYTE(data, self.TaskCount)
|
| | | for i in range(self.TaskCount):
|
| | | data = CommFunc.WriteDWORD(data, self.TaskIDList[i])
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''
|
| | | Head:%s,
|
| | | TakeCount:%d,
|
| | | RefreshCount:%d,
|
| | | TaskCount:%d,
|
| | | TaskIDList:%s
|
| | | '''\
|
| | | %(
|
| | | self.Head.OutputString(),
|
| | | self.TakeCount,
|
| | | self.RefreshCount,
|
| | | self.TaskCount,
|
| | | "..."
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagMCPiaomiaoTaskInfo=tagMCPiaomiaoTaskInfo()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCPiaomiaoTaskInfo.Head.Cmd,m_NAtagMCPiaomiaoTaskInfo.Head.SubCmd))] = m_NAtagMCPiaomiaoTaskInfo
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # A7 19 查询玩家境界阶装备信息结果 #tagSCPlayerEquipCacheResult
|
| | |
|
| | | class tagSCPlayerEquipCacheResult(Structure):
|