|  |  |  | 
|---|
|  |  |  | # B5 10 拍卖行查询拍卖中的物品 #tagCGQueryAuctionItem | 
|---|
|  |  |  |  | 
|---|
|  |  |  | class  tagCGQueryAuctionItem(Structure): | 
|---|
|  |  |  | _pack_ = 1 | 
|---|
|  |  |  | _fields_ = [ | 
|---|
|  |  |  | ("Cmd", c_ubyte), | 
|---|
|  |  |  | ("SubCmd", c_ubyte), | 
|---|
|  |  |  | ("QueryType", c_ushort),    #查询的分类标识 | 
|---|
|  |  |  | ("QueryCount", c_ubyte),    #指定返回个数,0为全部 | 
|---|
|  |  |  | ("IsFamily", c_ubyte),    #是否查询仙盟拍品 | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | Head = tagHead() | 
|---|
|  |  |  | Job = 0    #(BYTE Job)//过滤职业,0为不限制 | 
|---|
|  |  |  | ItemType = 0    #(BYTE ItemType)//过滤类型,0为不限制 | 
|---|
|  |  |  | ClassLV = 0    #(BYTE ClassLV)//过滤阶数,0为不限制 | 
|---|
|  |  |  | SpecItemIDCount = 0    #(BYTE SpecItemIDCount)//指定物品ID个数 | 
|---|
|  |  |  | SpecItemIDList = list()    #(vector<DWORD> SpecItemIDList)//指定物品ID | 
|---|
|  |  |  | FromNum = 0    #(WORD FromNum)//查询起始数 (从1开始) | 
|---|
|  |  |  | QueryCount = 0    #(BYTE QueryCount)//查询个数,0为全部 | 
|---|
|  |  |  | IsFamily = 0    #(BYTE IsFamily)//是否查询仙盟拍品 | 
|---|
|  |  |  | data = None | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def __init__(self): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | self.Cmd = 0xB5 | 
|---|
|  |  |  | self.SubCmd = 0x10 | 
|---|
|  |  |  | self.Head.Cmd = 0xB5 | 
|---|
|  |  |  | self.Head.SubCmd = 0x10 | 
|---|
|  |  |  | 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() | 
|---|
|  |  |  | _pos = self.Head.ReadData(_lpData, _pos) | 
|---|
|  |  |  | self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | self.ItemType,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | self.ClassLV,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | self.SpecItemIDCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | for i in range(self.SpecItemIDCount): | 
|---|
|  |  |  | value,_pos=CommFunc.ReadDWORD(_lpData,_pos) | 
|---|
|  |  |  | self.SpecItemIDList.append(value) | 
|---|
|  |  |  | self.FromNum,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.QueryCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | self.IsFamily,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | return _pos | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def Clear(self): | 
|---|
|  |  |  | self.Cmd = 0xB5 | 
|---|
|  |  |  | self.SubCmd = 0x10 | 
|---|
|  |  |  | self.QueryType = 0 | 
|---|
|  |  |  | self.Head = tagHead() | 
|---|
|  |  |  | self.Head.Clear() | 
|---|
|  |  |  | self.Head.Cmd = 0xB5 | 
|---|
|  |  |  | self.Head.SubCmd = 0x10 | 
|---|
|  |  |  | self.Job = 0 | 
|---|
|  |  |  | self.ItemType = 0 | 
|---|
|  |  |  | self.ClassLV = 0 | 
|---|
|  |  |  | self.SpecItemIDCount = 0 | 
|---|
|  |  |  | self.SpecItemIDList = list() | 
|---|
|  |  |  | self.FromNum = 0 | 
|---|
|  |  |  | self.QueryCount = 0 | 
|---|
|  |  |  | self.IsFamily = 0 | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetLength(self): | 
|---|
|  |  |  | return sizeof(tagCGQueryAuctionItem) | 
|---|
|  |  |  | length = 0 | 
|---|
|  |  |  | length += self.Head.GetLength() | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | length += 4 * self.SpecItemIDCount | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return length | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetBuffer(self): | 
|---|
|  |  |  | return string_at(addressof(self), self.GetLength()) | 
|---|
|  |  |  | data = '' | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.Job) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.ItemType) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.ClassLV) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.SpecItemIDCount) | 
|---|
|  |  |  | for i in range(self.SpecItemIDCount): | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.SpecItemIDList[i]) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.FromNum) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.QueryCount) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.IsFamily) | 
|---|
|  |  |  | return data | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def OutputString(self): | 
|---|
|  |  |  | DumpString = '''// B5 10 拍卖行查询拍卖中的物品 //tagCGQueryAuctionItem: | 
|---|
|  |  |  | Cmd:%s, | 
|---|
|  |  |  | SubCmd:%s, | 
|---|
|  |  |  | QueryType:%d, | 
|---|
|  |  |  | DumpString = ''' | 
|---|
|  |  |  | Head:%s, | 
|---|
|  |  |  | Job:%d, | 
|---|
|  |  |  | ItemType:%d, | 
|---|
|  |  |  | ClassLV:%d, | 
|---|
|  |  |  | SpecItemIDCount:%d, | 
|---|
|  |  |  | SpecItemIDList:%s, | 
|---|
|  |  |  | FromNum:%d, | 
|---|
|  |  |  | QueryCount:%d, | 
|---|
|  |  |  | IsFamily:%d | 
|---|
|  |  |  | '''\ | 
|---|
|  |  |  | %( | 
|---|
|  |  |  | self.Cmd, | 
|---|
|  |  |  | self.SubCmd, | 
|---|
|  |  |  | self.QueryType, | 
|---|
|  |  |  | self.Head.OutputString(), | 
|---|
|  |  |  | self.Job, | 
|---|
|  |  |  | self.ItemType, | 
|---|
|  |  |  | self.ClassLV, | 
|---|
|  |  |  | self.SpecItemIDCount, | 
|---|
|  |  |  | "...", | 
|---|
|  |  |  | self.FromNum, | 
|---|
|  |  |  | self.QueryCount, | 
|---|
|  |  |  | self.IsFamily | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | m_NAtagCGQueryAuctionItem=tagCGQueryAuctionItem() | 
|---|
|  |  |  | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryAuctionItem.Cmd,m_NAtagCGQueryAuctionItem.SubCmd))] = m_NAtagCGQueryAuctionItem | 
|---|
|  |  |  | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryAuctionItem.Head.Cmd,m_NAtagCGQueryAuctionItem.Head.SubCmd))] = m_NAtagCGQueryAuctionItem | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #------------------------------------------------------ | 
|---|