From 038ec15bf9d4d442fddf3d26dab1254e4b86d125 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 19 三月 2019 19:46:55 +0800 Subject: [PATCH] 6357 【后端】【2.0】任务给物品优化,支持拍品处理 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py | 590 +++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 432 insertions(+), 158 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py index 084a3af..b360230 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py @@ -2356,6 +2356,62 @@ #------------------------------------------------------ +# B5 18 拍卖行修改关注物品 #tagCGAttentionAuctionItemChange + +class tagCGAttentionAuctionItemChange(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("ItemID", c_int), + ("IsAttention", c_ubyte), #是否关注,取消关注发0 + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xB5 + self.SubCmd = 0x18 + 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 = 0xB5 + self.SubCmd = 0x18 + self.ItemID = 0 + self.IsAttention = 0 + return + + def GetLength(self): + return sizeof(tagCGAttentionAuctionItemChange) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// B5 18 拍卖行修改关注物品 //tagCGAttentionAuctionItemChange: + Cmd:%s, + SubCmd:%s, + ItemID:%d, + IsAttention:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.ItemID, + self.IsAttention + ) + return DumpString + + +m_NAtagCGAttentionAuctionItemChange=tagCGAttentionAuctionItemChange() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGAttentionAuctionItemChange.Cmd,m_NAtagCGAttentionAuctionItemChange.SubCmd))] = m_NAtagCGAttentionAuctionItemChange + + +#------------------------------------------------------ # B5 03 交易所查询上架物品#tagCGPYQueryBourseItemOnSale class tagCGPYQueryBourseItemOnSale(Structure): @@ -2427,18 +2483,67 @@ #------------------------------------------------------ +# B5 16 拍卖行查询关注中的拍品 #tagCGQueryAttentionAuctionItem + +class tagCGQueryAttentionAuctionItem(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xB5 + self.SubCmd = 0x16 + 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 = 0xB5 + self.SubCmd = 0x16 + return + + def GetLength(self): + return sizeof(tagCGQueryAttentionAuctionItem) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// B5 16 拍卖行查询关注中的拍品 //tagCGQueryAttentionAuctionItem: + Cmd:%s, + SubCmd:%s + '''\ + %( + self.Cmd, + self.SubCmd + ) + return DumpString + + +m_NAtagCGQueryAttentionAuctionItem=tagCGQueryAttentionAuctionItem() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryAttentionAuctionItem.Cmd,m_NAtagCGQueryAttentionAuctionItem.SubCmd))] = m_NAtagCGQueryAttentionAuctionItem + + +#------------------------------------------------------ # B5 10 拍卖行查询拍卖中的物品 #tagCGQueryAuctionItem class tagCGQueryAuctionItem(Structure): Head = tagHead() Job = 0 #(BYTE Job)//过滤职业,0为不限制 - ItemType = 0 #(BYTE ItemType)//过滤类型,0为不限制 + ItemTypeCount = 0 #(BYTE ItemTypeCount) + ItemTypeList = list() #(vector<DWORD> ItemTypeList)//指定的物品类型 ClassLV = 0 #(BYTE ClassLV)//过滤阶数,0为不限制 SpecItemIDCount = 0 #(BYTE SpecItemIDCount)//指定物品ID个数 SpecItemIDList = list() #(vector<DWORD> SpecItemIDList)//指定物品ID - FromNum = 0 #(WORD FromNum)//查询起始数 (从1开始) + FromItemGUID = "" #(char FromItemGUID[40])//从哪个物品开始查询 + QueryDir = 0 #(BYTE QueryDir)//查询方向,1-往后查,2-往前查 QueryCount = 0 #(BYTE QueryCount)//查询个数,0为全部 - IsFamily = 0 #(BYTE IsFamily)//是否查询仙盟拍品 data = None def __init__(self): @@ -2451,15 +2556,18 @@ self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.ItemType,_pos = CommFunc.ReadBYTE(_lpData, _pos) + self.ItemTypeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) + for i in range(self.ItemTypeCount): + value,_pos=CommFunc.ReadDWORD(_lpData,_pos) + self.ItemTypeList.append(value) 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.FromItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40) + self.QueryDir,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.QueryCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.IsFamily,_pos = CommFunc.ReadBYTE(_lpData, _pos) return _pos def Clear(self): @@ -2468,13 +2576,14 @@ self.Head.Cmd = 0xB5 self.Head.SubCmd = 0x10 self.Job = 0 - self.ItemType = 0 + self.ItemTypeCount = 0 + self.ItemTypeList = list() self.ClassLV = 0 self.SpecItemIDCount = 0 self.SpecItemIDList = list() - self.FromNum = 0 + self.FromItemGUID = "" + self.QueryDir = 0 self.QueryCount = 0 - self.IsFamily = 0 return def GetLength(self): @@ -2482,10 +2591,11 @@ length += self.Head.GetLength() length += 1 length += 1 + length += 4 * self.ItemTypeCount length += 1 length += 1 length += 4 * self.SpecItemIDCount - length += 2 + length += 40 length += 1 length += 1 @@ -2495,38 +2605,42 @@ 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.ItemTypeCount) + for i in range(self.ItemTypeCount): + data = CommFunc.WriteDWORD(data, self.ItemTypeList[i]) 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.WriteString(data, 40, self.FromItemGUID) + data = CommFunc.WriteBYTE(data, self.QueryDir) data = CommFunc.WriteBYTE(data, self.QueryCount) - data = CommFunc.WriteBYTE(data, self.IsFamily) return data def OutputString(self): DumpString = ''' Head:%s, Job:%d, - ItemType:%d, + ItemTypeCount:%d, + ItemTypeList:%s, ClassLV:%d, SpecItemIDCount:%d, SpecItemIDList:%s, - FromNum:%d, - QueryCount:%d, - IsFamily:%d + FromItemGUID:%s, + QueryDir:%d, + QueryCount:%d '''\ %( self.Head.OutputString(), self.Job, - self.ItemType, + self.ItemTypeCount, + "...", self.ClassLV, self.SpecItemIDCount, "...", - self.FromNum, - self.QueryCount, - self.IsFamily + self.FromItemGUID, + self.QueryDir, + self.QueryCount ) return DumpString @@ -2543,6 +2657,7 @@ _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), + ("RecordType", c_ubyte), #记录类型 0-我的拍品记录 1-仙盟拍品记录 2-我的竞拍记录 ] def __init__(self): @@ -2559,6 +2674,7 @@ def Clear(self): self.Cmd = 0xB5 self.SubCmd = 0x12 + self.RecordType = 0 return def GetLength(self): @@ -2570,11 +2686,13 @@ def OutputString(self): DumpString = '''// B5 12 拍卖行查询拍卖记录 //tagCGQueryAuctionRecord: Cmd:%s, - SubCmd:%s + SubCmd:%s, + RecordType:%d '''\ %( self.Cmd, - self.SubCmd + self.SubCmd, + self.RecordType ) return DumpString @@ -2584,51 +2702,67 @@ #------------------------------------------------------ -# B5 11 拍卖行查询个人拍卖中的物品 #tagCGQueryPlayerAuctionItem +# B5 17 拍卖行查询定位目标拍品 #tagCGQueryTagAuctionItem -class tagCGQueryPlayerAuctionItem(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ] +class tagCGQueryTagAuctionItem(Structure): + Head = tagHead() + ItemGUID = "" #(char ItemGUID[40]) + ItemID = 0 #(DWORD ItemID) + data = None def __init__(self): self.Clear() - self.Cmd = 0xB5 - self.SubCmd = 0x11 + self.Head.Cmd = 0xB5 + self.Head.SubCmd = 0x17 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.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40) + self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos) + return _pos def Clear(self): - self.Cmd = 0xB5 - self.SubCmd = 0x11 + self.Head = tagHead() + self.Head.Clear() + self.Head.Cmd = 0xB5 + self.Head.SubCmd = 0x17 + self.ItemGUID = "" + self.ItemID = 0 return def GetLength(self): - return sizeof(tagCGQueryPlayerAuctionItem) + length = 0 + length += self.Head.GetLength() + length += 40 + length += 4 + + 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.WriteString(data, 40, self.ItemGUID) + data = CommFunc.WriteDWORD(data, self.ItemID) + return data def OutputString(self): - DumpString = '''// B5 11 拍卖行查询个人拍卖中的物品 //tagCGQueryPlayerAuctionItem: - Cmd:%s, - SubCmd:%s + DumpString = ''' + Head:%s, + ItemGUID:%s, + ItemID:%d '''\ %( - self.Cmd, - self.SubCmd + self.Head.OutputString(), + self.ItemGUID, + self.ItemID ) return DumpString -m_NAtagCGQueryPlayerAuctionItem=tagCGQueryPlayerAuctionItem() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryPlayerAuctionItem.Cmd,m_NAtagCGQueryPlayerAuctionItem.SubCmd))] = m_NAtagCGQueryPlayerAuctionItem +m_NAtagCGQueryTagAuctionItem=tagCGQueryTagAuctionItem() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryTagAuctionItem.Head.Cmd,m_NAtagCGQueryTagAuctionItem.Head.SubCmd))] = m_NAtagCGQueryTagAuctionItem #------------------------------------------------------ @@ -6110,6 +6244,58 @@ #------------------------------------------------------ +# A3 16 装备强化进化 #tagCMEquipPlusEvolve + +class tagCMEquipPlusEvolve(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("ItemIndex", c_ushort), #装备在背包中索引 + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xA3 + self.SubCmd = 0x16 + 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 = 0xA3 + self.SubCmd = 0x16 + self.ItemIndex = 0 + return + + def GetLength(self): + return sizeof(tagCMEquipPlusEvolve) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// A3 16 装备强化进化 //tagCMEquipPlusEvolve: + Cmd:%s, + SubCmd:%s, + ItemIndex:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.ItemIndex + ) + return DumpString + + +m_NAtagCMEquipPlusEvolve=tagCMEquipPlusEvolve() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipPlusEvolve.Cmd,m_NAtagCMEquipPlusEvolve.SubCmd))] = m_NAtagCMEquipPlusEvolve + + +#------------------------------------------------------ #A3 05 宝石摘取 #tagCMEquipStonePick class tagCMEquipStonePick(Structure): @@ -6565,6 +6751,62 @@ #------------------------------------------------------ +# A3 08 物品过期 #tagCMItemTimeout + +class tagCMItemTimeout(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("PackType", c_ubyte), #背包类型 + ("ItemIndex", c_ubyte), #物品在背包中索引 + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xA3 + 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 = 0xA3 + self.SubCmd = 0x08 + self.PackType = 0 + self.ItemIndex = 0 + return + + def GetLength(self): + return sizeof(tagCMItemTimeout) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// A3 08 物品过期 //tagCMItemTimeout: + Cmd:%s, + SubCmd:%s, + PackType:%d, + ItemIndex:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.PackType, + self.ItemIndex + ) + return DumpString + + +m_NAtagCMItemTimeout=tagCMItemTimeout() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMItemTimeout.Cmd,m_NAtagCMItemTimeout.SubCmd))] = m_NAtagCMItemTimeout + + +#------------------------------------------------------ #A3 02 丢弃背包物品 #tagPlayerDropItem class tagPlayerDropItem(Structure): @@ -6845,118 +7087,6 @@ m_NAtagCMItemCompound=tagCMItemCompound() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMItemCompound.Head.Cmd,m_NAtagCMItemCompound.Head.SubCmd))] = m_NAtagCMItemCompound - - -#------------------------------------------------------ -#A3 17 套装合成#tagCMSuitCompose - -class tagCMSuitCompose(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("SuiteType", c_ubyte), # 套装类型 1普通 2强化 - ("EquipPlace", c_ubyte), # 装备位置 - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xA3 - self.SubCmd = 0x17 - 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 = 0xA3 - self.SubCmd = 0x17 - self.SuiteType = 0 - self.EquipPlace = 0 - return - - def GetLength(self): - return sizeof(tagCMSuitCompose) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''//A3 17 套装合成//tagCMSuitCompose: - Cmd:%s, - SubCmd:%s, - SuiteType:%d, - EquipPlace:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.SuiteType, - self.EquipPlace - ) - return DumpString - - -m_NAtagCMSuitCompose=tagCMSuitCompose() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSuitCompose.Cmd,m_NAtagCMSuitCompose.SubCmd))] = m_NAtagCMSuitCompose - - -#------------------------------------------------------ -# A3 08 套装拆解 #tagCMSuiteDecompose - -class tagCMSuiteDecompose(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("EquipPlace", c_ubyte), #部位索引 - ("SuiteType", c_ubyte), #套装类型 0代表全部类型 - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xA3 - 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 = 0xA3 - self.SubCmd = 0x08 - self.EquipPlace = 0 - self.SuiteType = 0 - return - - def GetLength(self): - return sizeof(tagCMSuiteDecompose) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// A3 08 套装拆解 //tagCMSuiteDecompose: - Cmd:%s, - SubCmd:%s, - EquipPlace:%d, - SuiteType:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.EquipPlace, - self.SuiteType - ) - return DumpString - - -m_NAtagCMSuiteDecompose=tagCMSuiteDecompose() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSuiteDecompose.Cmd,m_NAtagCMSuiteDecompose.SubCmd))] = m_NAtagCMSuiteDecompose #------------------------------------------------------ @@ -9332,6 +9462,90 @@ m_NAtagCMDogzUnEquipItem=tagCMDogzUnEquipItem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMDogzUnEquipItem.Cmd,m_NAtagCMDogzUnEquipItem.SubCmd))] = m_NAtagCMDogzUnEquipItem + + +#------------------------------------------------------ +# A5 C5 装备部位升星 #tagCMEquipPartStarUp + +class tagCMEquipPartStarUp(Structure): + Head = tagHead() + EquipPackIndex = 0 #(WORD EquipPackIndex)// 部位格子索引 + CostEquipCnt = 0 #(BYTE CostEquipCnt)// 装备个数 + CostEquipIndex = list() #(vector<WORD> CostEquipIndex)// 装备索引 + CostEquipID = list() #(vector<DWORD> CostEquipID)// 装备物品ID + data = None + + def __init__(self): + self.Clear() + self.Head.Cmd = 0xA5 + self.Head.SubCmd = 0xC5 + return + + def ReadData(self, _lpData, _pos=0, _Len=0): + self.Clear() + _pos = self.Head.ReadData(_lpData, _pos) + self.EquipPackIndex,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.CostEquipCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) + for i in range(self.CostEquipCnt): + value,_pos=CommFunc.ReadWORD(_lpData,_pos) + self.CostEquipIndex.append(value) + for i in range(self.CostEquipCnt): + value,_pos=CommFunc.ReadDWORD(_lpData,_pos) + self.CostEquipID.append(value) + return _pos + + def Clear(self): + self.Head = tagHead() + self.Head.Clear() + self.Head.Cmd = 0xA5 + self.Head.SubCmd = 0xC5 + self.EquipPackIndex = 0 + self.CostEquipCnt = 0 + self.CostEquipIndex = list() + self.CostEquipID = list() + return + + def GetLength(self): + length = 0 + length += self.Head.GetLength() + length += 2 + length += 1 + length += 2 * self.CostEquipCnt + length += 4 * self.CostEquipCnt + + return length + + def GetBuffer(self): + data = '' + data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) + data = CommFunc.WriteWORD(data, self.EquipPackIndex) + data = CommFunc.WriteBYTE(data, self.CostEquipCnt) + for i in range(self.CostEquipCnt): + data = CommFunc.WriteWORD(data, self.CostEquipIndex[i]) + for i in range(self.CostEquipCnt): + data = CommFunc.WriteDWORD(data, self.CostEquipID[i]) + return data + + def OutputString(self): + DumpString = ''' + Head:%s, + EquipPackIndex:%d, + CostEquipCnt:%d, + CostEquipIndex:%s, + CostEquipID:%s + '''\ + %( + self.Head.OutputString(), + self.EquipPackIndex, + self.CostEquipCnt, + "...", + "..." + ) + return DumpString + + +m_NAtagCMEquipPartStarUp=tagCMEquipPartStarUp() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipPartStarUp.Head.Cmd,m_NAtagCMEquipPartStarUp.Head.SubCmd))] = m_NAtagCMEquipPartStarUp #------------------------------------------------------ @@ -14882,6 +15096,66 @@ #------------------------------------------------------ +#B4 0B 根据类型来决定移动的方式 #tagCMMoveByType + +class tagCMMoveByType(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("PosX", c_ushort), # 目标X + ("PosY", c_ushort), # 目标Y + ("MoveType", c_ubyte), #移动方式 + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xB4 + self.SubCmd = 0x0B + 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 = 0xB4 + self.SubCmd = 0x0B + self.PosX = 0 + self.PosY = 0 + self.MoveType = 0 + return + + def GetLength(self): + return sizeof(tagCMMoveByType) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''//B4 0B 根据类型来决定移动的方式 //tagCMMoveByType: + Cmd:%s, + SubCmd:%s, + PosX:%d, + PosY:%d, + MoveType:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.PosX, + self.PosY, + self.MoveType + ) + return DumpString + + +m_NAtagCMMoveByType=tagCMMoveByType() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMoveByType.Cmd,m_NAtagCMMoveByType.SubCmd))] = m_NAtagCMMoveByType + + +#------------------------------------------------------ #B4 02 对象击退 #tagCMNPCBeatBack class tagCMNPCPos(Structure): -- Gitblit v1.8.0