From 80f11b590ece01d82d2af052876366bd2c1df2eb Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期二, 21 八月 2018 16:10:09 +0800 Subject: [PATCH] add:【1891】神兽地界 --- ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 85 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 85 insertions(+), 0 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py index c69e43d..d3818c6 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py @@ -4012,6 +4012,91 @@ #------------------------------------------------------ +# 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): -- Gitblit v1.8.0