|  |  | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  | #------------------------------------------------------
 | 
 |  |  | # A2 27 查询地图NPC数量信息 #tagCMQueryNPCCntInfo
 | 
 |  |  | 
 | 
 |  |  | class  tagCMQueryNPCCntInfo(Structure):
 | 
 |  |  |     Head = tagHead()
 | 
 |  |  |     MapID = 0    #(DWORD MapID)// 目标地图ID
 | 
 |  |  |     LineID = 0    #(WORD LineID)// 线路ID
 | 
 |  |  |     IsNoTimeLimit = 0    #(BYTE IsNoTimeLimit)//是否没有查询时间限制,默认有限制
 | 
 |  |  |     NPCIDListLen = 0    #(BYTE NPCIDListLen)
 | 
 |  |  |     NPCIDList = ""    #(String NPCIDList)// 需要查询的NPCID列表
 | 
 |  |  |     data = None
 | 
 |  |  | 
 | 
 |  |  |     def __init__(self):
 | 
 |  |  |         self.Clear()
 | 
 |  |  |         self.Head.Cmd = 0xA2
 | 
 |  |  |         self.Head.SubCmd = 0x27
 | 
 |  |  |         return
 | 
 |  |  | 
 | 
 |  |  |     def ReadData(self, _lpData, _pos=0, _Len=0):
 | 
 |  |  |         self.Clear()
 | 
 |  |  |         _pos = self.Head.ReadData(_lpData, _pos)
 | 
 |  |  |         self.MapID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
 | 
 |  |  |         self.LineID,_pos = CommFunc.ReadWORD(_lpData, _pos)
 | 
 |  |  |         self.IsNoTimeLimit,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         self.NPCIDListLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         self.NPCIDList,_pos = CommFunc.ReadString(_lpData, _pos,self.NPCIDListLen)
 | 
 |  |  |         return _pos
 | 
 |  |  | 
 | 
 |  |  |     def Clear(self):
 | 
 |  |  |         self.Head = tagHead()
 | 
 |  |  |         self.Head.Clear()
 | 
 |  |  |         self.Head.Cmd = 0xA2
 | 
 |  |  |         self.Head.SubCmd = 0x27
 | 
 |  |  |         self.MapID = 0
 | 
 |  |  |         self.LineID = 0
 | 
 |  |  |         self.IsNoTimeLimit = 0
 | 
 |  |  |         self.NPCIDListLen = 0
 | 
 |  |  |         self.NPCIDList = ""
 | 
 |  |  |         return
 | 
 |  |  | 
 | 
 |  |  |     def GetLength(self):
 | 
 |  |  |         length = 0
 | 
 |  |  |         length += self.Head.GetLength()
 | 
 |  |  |         length += 4
 | 
 |  |  |         length += 2
 | 
 |  |  |         length += 1
 | 
 |  |  |         length += 1
 | 
 |  |  |         length += len(self.NPCIDList)
 | 
 |  |  | 
 | 
 |  |  |         return length
 | 
 |  |  | 
 | 
 |  |  |     def GetBuffer(self):
 | 
 |  |  |         data = ''
 | 
 |  |  |         data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
 | 
 |  |  |         data = CommFunc.WriteDWORD(data, self.MapID)
 | 
 |  |  |         data = CommFunc.WriteWORD(data, self.LineID)
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.IsNoTimeLimit)
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.NPCIDListLen)
 | 
 |  |  |         data = CommFunc.WriteString(data, self.NPCIDListLen, self.NPCIDList)
 | 
 |  |  |         return data
 | 
 |  |  | 
 | 
 |  |  |     def OutputString(self):
 | 
 |  |  |         DumpString = '''
 | 
 |  |  |                                 Head:%s,
 | 
 |  |  |                                 MapID:%d,
 | 
 |  |  |                                 LineID:%d,
 | 
 |  |  |                                 IsNoTimeLimit:%d,
 | 
 |  |  |                                 NPCIDListLen:%d,
 | 
 |  |  |                                 NPCIDList:%s
 | 
 |  |  |                                 '''\
 | 
 |  |  |                                 %(
 | 
 |  |  |                                 self.Head.OutputString(),
 | 
 |  |  |                                 self.MapID,
 | 
 |  |  |                                 self.LineID,
 | 
 |  |  |                                 self.IsNoTimeLimit,
 | 
 |  |  |                                 self.NPCIDListLen,
 | 
 |  |  |                                 self.NPCIDList
 | 
 |  |  |                                 )
 | 
 |  |  |         return DumpString
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  | m_NAtagCMQueryNPCCntInfo=tagCMQueryNPCCntInfo()
 | 
 |  |  | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMQueryNPCCntInfo.Head.Cmd,m_NAtagCMQueryNPCCntInfo.Head.SubCmd))] = m_NAtagCMQueryNPCCntInfo
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  | #------------------------------------------------------
 | 
 |  |  | # A2 13 查询地图NPC信息 #tagCMQueryNPCInfo
 | 
 |  |  | 
 | 
 |  |  | class  tagCMQueryNPCInfo(Structure):
 |