|  |  |  | 
|---|
|  |  |  | ("SubCmd", c_ubyte), | 
|---|
|  |  |  | ("PlayerID", c_int),    #玩家ID | 
|---|
|  |  |  | ("FindPlayerID", c_int),    #要查询的玩家ID | 
|---|
|  |  |  | ("EquipClassLV", c_ubyte),    #大于0为查看指定境界阶装备信息,  0为查看默认信息 | 
|---|
|  |  |  | ] | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def __init__(self): | 
|---|
|  |  |  | 
|---|
|  |  |  | self.SubCmd = 0x02 | 
|---|
|  |  |  | self.PlayerID = 0 | 
|---|
|  |  |  | self.FindPlayerID = 0 | 
|---|
|  |  |  | self.EquipClassLV = 0 | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetLength(self): | 
|---|
|  |  |  | 
|---|
|  |  |  | Cmd:%s, | 
|---|
|  |  |  | SubCmd:%s, | 
|---|
|  |  |  | PlayerID:%d, | 
|---|
|  |  |  | FindPlayerID:%d | 
|---|
|  |  |  | FindPlayerID:%d, | 
|---|
|  |  |  | EquipClassLV:%d | 
|---|
|  |  |  | '''\ | 
|---|
|  |  |  | %( | 
|---|
|  |  |  | self.Cmd, | 
|---|
|  |  |  | self.SubCmd, | 
|---|
|  |  |  | self.PlayerID, | 
|---|
|  |  |  | self.FindPlayerID | 
|---|
|  |  |  | self.FindPlayerID, | 
|---|
|  |  |  | self.EquipClassLV | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | return DumpString | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | Head = tagHead() | 
|---|
|  |  |  | PlayerID = 0    #(DWORD PlayerID)//玩家ID | 
|---|
|  |  |  | PlayerLV = 0    #(WORD PlayerLV)//玩家等级 | 
|---|
|  |  |  | PropDataSize = 0    #(DWORD PropDataSize) | 
|---|
|  |  |  | PropData = ""    #(String PropData)//属性记录 | 
|---|
|  |  |  | ItemDataSize = 0    #(DWORD ItemDataSize) | 
|---|
|  |  |  | ItemData = ""    #(String ItemData)//物品记录 | 
|---|
|  |  |  | PlusDataSize = 0    #(DWORD PlusDataSize) | 
|---|
|  |  |  | PlusData = ""    #(String PlusData)//扩展记录 | 
|---|
|  |  |  | IsLogouting = 0    #(BYTE IsLogouting)//本次是否为下线同步 | 
|---|
|  |  |  | OffTime = 0    #(DWORD OffTime)// 下线时间戳 | 
|---|
|  |  |  | PropDataSize = 0    #(WORD PropDataSize) | 
|---|
|  |  |  | PropData = ""    #(String PropData)//属性记录 | 
|---|
|  |  |  | PlusDataSize = 0    #(WORD PlusDataSize) | 
|---|
|  |  |  | PlusData = ""    #(String PlusData)//扩展记录 | 
|---|
|  |  |  | ItemDataSize1 = 0    #(WORD ItemDataSize1) | 
|---|
|  |  |  | ItemData1 = ""    #(String ItemData1)//1阶装备数据 | 
|---|
|  |  |  | ItemDataSize2 = 0    #(WORD ItemDataSize2) | 
|---|
|  |  |  | ItemData2 = ""    #(String ItemData2) | 
|---|
|  |  |  | ItemDataSize3 = 0    #(WORD ItemDataSize3) | 
|---|
|  |  |  | ItemData3 = ""    #(String ItemData3) | 
|---|
|  |  |  | ItemDataSize4 = 0    #(WORD ItemDataSize4) | 
|---|
|  |  |  | ItemData4 = ""    #(String ItemData4) | 
|---|
|  |  |  | ItemDataSize5 = 0    #(WORD ItemDataSize5) | 
|---|
|  |  |  | ItemData5 = ""    #(String ItemData5) | 
|---|
|  |  |  | ItemDataSize6 = 0    #(WORD ItemDataSize6) | 
|---|
|  |  |  | ItemData6 = ""    #(String ItemData6) | 
|---|
|  |  |  | ItemDataSize7 = 0    #(WORD ItemDataSize7) | 
|---|
|  |  |  | ItemData7 = ""    #(String ItemData7) | 
|---|
|  |  |  | ItemDataSize8 = 0    #(WORD ItemDataSize8) | 
|---|
|  |  |  | ItemData8 = ""    #(String ItemData8) | 
|---|
|  |  |  | ItemDataSize9 = 0    #(WORD ItemDataSize9) | 
|---|
|  |  |  | ItemData9 = ""    #(String ItemData9) | 
|---|
|  |  |  | ItemDataSize10 = 0    #(WORD ItemDataSize10) | 
|---|
|  |  |  | ItemData10 = ""    #(String ItemData10) | 
|---|
|  |  |  | ItemDataSize11 = 0    #(WORD ItemDataSize11) | 
|---|
|  |  |  | ItemData11 = ""    #(String ItemData11) | 
|---|
|  |  |  | ItemDataSize12 = 0    #(WORD ItemDataSize12) | 
|---|
|  |  |  | ItemData12 = ""    #(String ItemData12) | 
|---|
|  |  |  | ItemDataSize13 = 0    #(WORD ItemDataSize13) | 
|---|
|  |  |  | ItemData13 = ""    #(String ItemData13) | 
|---|
|  |  |  | ItemDataSize14 = 0    #(WORD ItemDataSize14) | 
|---|
|  |  |  | ItemData14 = ""    #(String ItemData14) | 
|---|
|  |  |  | ItemDataSize15 = 0    #(WORD ItemDataSize15) | 
|---|
|  |  |  | ItemData15 = ""    #(String ItemData15) | 
|---|
|  |  |  | data = None | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def __init__(self): | 
|---|
|  |  |  | 
|---|
|  |  |  | _pos = self.Head.ReadData(_lpData, _pos) | 
|---|
|  |  |  | self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.PlayerLV,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.PropDataSize,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.PropData,_pos = CommFunc.ReadString(_lpData, _pos,self.PropDataSize) | 
|---|
|  |  |  | self.ItemDataSize,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.ItemData,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize) | 
|---|
|  |  |  | self.PlusDataSize,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.PlusData,_pos = CommFunc.ReadString(_lpData, _pos,self.PlusDataSize) | 
|---|
|  |  |  | self.IsLogouting,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | self.OffTime,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.PropDataSize,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.PropData,_pos = CommFunc.ReadString(_lpData, _pos,self.PropDataSize) | 
|---|
|  |  |  | self.PlusDataSize,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.PlusData,_pos = CommFunc.ReadString(_lpData, _pos,self.PlusDataSize) | 
|---|
|  |  |  | self.ItemDataSize1,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.ItemData1,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize1) | 
|---|
|  |  |  | self.ItemDataSize2,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.ItemData2,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize2) | 
|---|
|  |  |  | self.ItemDataSize3,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.ItemData3,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize3) | 
|---|
|  |  |  | self.ItemDataSize4,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.ItemData4,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize4) | 
|---|
|  |  |  | self.ItemDataSize5,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.ItemData5,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize5) | 
|---|
|  |  |  | self.ItemDataSize6,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.ItemData6,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize6) | 
|---|
|  |  |  | self.ItemDataSize7,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.ItemData7,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize7) | 
|---|
|  |  |  | self.ItemDataSize8,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.ItemData8,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize8) | 
|---|
|  |  |  | self.ItemDataSize9,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.ItemData9,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize9) | 
|---|
|  |  |  | self.ItemDataSize10,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.ItemData10,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize10) | 
|---|
|  |  |  | self.ItemDataSize11,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.ItemData11,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize11) | 
|---|
|  |  |  | self.ItemDataSize12,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.ItemData12,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize12) | 
|---|
|  |  |  | self.ItemDataSize13,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.ItemData13,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize13) | 
|---|
|  |  |  | self.ItemDataSize14,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.ItemData14,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize14) | 
|---|
|  |  |  | self.ItemDataSize15,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.ItemData15,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize15) | 
|---|
|  |  |  | return _pos | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def Clear(self): | 
|---|
|  |  |  | 
|---|
|  |  |  | self.Head.SubCmd = 0x01 | 
|---|
|  |  |  | self.PlayerID = 0 | 
|---|
|  |  |  | self.PlayerLV = 0 | 
|---|
|  |  |  | self.IsLogouting = 0 | 
|---|
|  |  |  | self.OffTime = 0 | 
|---|
|  |  |  | self.PropDataSize = 0 | 
|---|
|  |  |  | self.PropData = "" | 
|---|
|  |  |  | self.ItemDataSize = 0 | 
|---|
|  |  |  | self.ItemData = "" | 
|---|
|  |  |  | self.PlusDataSize = 0 | 
|---|
|  |  |  | self.PlusData = "" | 
|---|
|  |  |  | self.IsLogouting = 0 | 
|---|
|  |  |  | self.ItemDataSize1 = 0 | 
|---|
|  |  |  | self.ItemData1 = "" | 
|---|
|  |  |  | self.ItemDataSize2 = 0 | 
|---|
|  |  |  | self.ItemData2 = "" | 
|---|
|  |  |  | self.ItemDataSize3 = 0 | 
|---|
|  |  |  | self.ItemData3 = "" | 
|---|
|  |  |  | self.ItemDataSize4 = 0 | 
|---|
|  |  |  | self.ItemData4 = "" | 
|---|
|  |  |  | self.ItemDataSize5 = 0 | 
|---|
|  |  |  | self.ItemData5 = "" | 
|---|
|  |  |  | self.ItemDataSize6 = 0 | 
|---|
|  |  |  | self.ItemData6 = "" | 
|---|
|  |  |  | self.ItemDataSize7 = 0 | 
|---|
|  |  |  | self.ItemData7 = "" | 
|---|
|  |  |  | self.ItemDataSize8 = 0 | 
|---|
|  |  |  | self.ItemData8 = "" | 
|---|
|  |  |  | self.ItemDataSize9 = 0 | 
|---|
|  |  |  | self.ItemData9 = "" | 
|---|
|  |  |  | self.ItemDataSize10 = 0 | 
|---|
|  |  |  | self.ItemData10 = "" | 
|---|
|  |  |  | self.ItemDataSize11 = 0 | 
|---|
|  |  |  | self.ItemData11 = "" | 
|---|
|  |  |  | self.ItemDataSize12 = 0 | 
|---|
|  |  |  | self.ItemData12 = "" | 
|---|
|  |  |  | self.ItemDataSize13 = 0 | 
|---|
|  |  |  | self.ItemData13 = "" | 
|---|
|  |  |  | self.ItemDataSize14 = 0 | 
|---|
|  |  |  | self.ItemData14 = "" | 
|---|
|  |  |  | self.ItemDataSize15 = 0 | 
|---|
|  |  |  | self.ItemData15 = "" | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetLength(self): | 
|---|
|  |  |  | 
|---|
|  |  |  | length += self.Head.GetLength() | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += len(self.PropData) | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += len(self.ItemData) | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += len(self.PlusData) | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += len(self.PropData) | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += len(self.PlusData) | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += len(self.ItemData1) | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += len(self.ItemData2) | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += len(self.ItemData3) | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += len(self.ItemData4) | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += len(self.ItemData5) | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += len(self.ItemData6) | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += len(self.ItemData7) | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += len(self.ItemData8) | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += len(self.ItemData9) | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += len(self.ItemData10) | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += len(self.ItemData11) | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += len(self.ItemData12) | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += len(self.ItemData13) | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += len(self.ItemData14) | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += len(self.ItemData15) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return length | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.PlayerID) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.PlayerLV) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.PropDataSize) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.PropDataSize, self.PropData) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.ItemDataSize) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.ItemDataSize, self.ItemData) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.PlusDataSize) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.PlusDataSize, self.PlusData) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.IsLogouting) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.OffTime) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.PropDataSize) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.PropDataSize, self.PropData) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.PlusDataSize) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.PlusDataSize, self.PlusData) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.ItemDataSize1) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.ItemDataSize1, self.ItemData1) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.ItemDataSize2) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.ItemDataSize2, self.ItemData2) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.ItemDataSize3) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.ItemDataSize3, self.ItemData3) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.ItemDataSize4) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.ItemDataSize4, self.ItemData4) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.ItemDataSize5) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.ItemDataSize5, self.ItemData5) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.ItemDataSize6) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.ItemDataSize6, self.ItemData6) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.ItemDataSize7) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.ItemDataSize7, self.ItemData7) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.ItemDataSize8) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.ItemDataSize8, self.ItemData8) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.ItemDataSize9) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.ItemDataSize9, self.ItemData9) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.ItemDataSize10) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.ItemDataSize10, self.ItemData10) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.ItemDataSize11) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.ItemDataSize11, self.ItemData11) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.ItemDataSize12) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.ItemDataSize12, self.ItemData12) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.ItemDataSize13) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.ItemDataSize13, self.ItemData13) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.ItemDataSize14) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.ItemDataSize14, self.ItemData14) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.ItemDataSize15) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.ItemDataSize15, self.ItemData15) | 
|---|
|  |  |  | return data | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def OutputString(self): | 
|---|
|  |  |  | 
|---|
|  |  |  | Head:%s, | 
|---|
|  |  |  | PlayerID:%d, | 
|---|
|  |  |  | PlayerLV:%d, | 
|---|
|  |  |  | IsLogouting:%d, | 
|---|
|  |  |  | OffTime:%d, | 
|---|
|  |  |  | PropDataSize:%d, | 
|---|
|  |  |  | PropData:%s, | 
|---|
|  |  |  | ItemDataSize:%d, | 
|---|
|  |  |  | ItemData:%s, | 
|---|
|  |  |  | PlusDataSize:%d, | 
|---|
|  |  |  | PlusData:%s, | 
|---|
|  |  |  | IsLogouting:%d | 
|---|
|  |  |  | ItemDataSize1:%d, | 
|---|
|  |  |  | ItemData1:%s, | 
|---|
|  |  |  | ItemDataSize2:%d, | 
|---|
|  |  |  | ItemData2:%s, | 
|---|
|  |  |  | ItemDataSize3:%d, | 
|---|
|  |  |  | ItemData3:%s, | 
|---|
|  |  |  | ItemDataSize4:%d, | 
|---|
|  |  |  | ItemData4:%s, | 
|---|
|  |  |  | ItemDataSize5:%d, | 
|---|
|  |  |  | ItemData5:%s, | 
|---|
|  |  |  | ItemDataSize6:%d, | 
|---|
|  |  |  | ItemData6:%s, | 
|---|
|  |  |  | ItemDataSize7:%d, | 
|---|
|  |  |  | ItemData7:%s, | 
|---|
|  |  |  | ItemDataSize8:%d, | 
|---|
|  |  |  | ItemData8:%s, | 
|---|
|  |  |  | ItemDataSize9:%d, | 
|---|
|  |  |  | ItemData9:%s, | 
|---|
|  |  |  | ItemDataSize10:%d, | 
|---|
|  |  |  | ItemData10:%s, | 
|---|
|  |  |  | ItemDataSize11:%d, | 
|---|
|  |  |  | ItemData11:%s, | 
|---|
|  |  |  | ItemDataSize12:%d, | 
|---|
|  |  |  | ItemData12:%s, | 
|---|
|  |  |  | ItemDataSize13:%d, | 
|---|
|  |  |  | ItemData13:%s, | 
|---|
|  |  |  | ItemDataSize14:%d, | 
|---|
|  |  |  | ItemData14:%s, | 
|---|
|  |  |  | ItemDataSize15:%d, | 
|---|
|  |  |  | ItemData15:%s | 
|---|
|  |  |  | '''\ | 
|---|
|  |  |  | %( | 
|---|
|  |  |  | self.Head.OutputString(), | 
|---|
|  |  |  | self.PlayerID, | 
|---|
|  |  |  | self.PlayerLV, | 
|---|
|  |  |  | self.IsLogouting, | 
|---|
|  |  |  | self.OffTime, | 
|---|
|  |  |  | self.PropDataSize, | 
|---|
|  |  |  | self.PropData, | 
|---|
|  |  |  | self.ItemDataSize, | 
|---|
|  |  |  | self.ItemData, | 
|---|
|  |  |  | self.PlusDataSize, | 
|---|
|  |  |  | self.PlusData, | 
|---|
|  |  |  | self.IsLogouting | 
|---|
|  |  |  | self.ItemDataSize1, | 
|---|
|  |  |  | self.ItemData1, | 
|---|
|  |  |  | self.ItemDataSize2, | 
|---|
|  |  |  | self.ItemData2, | 
|---|
|  |  |  | self.ItemDataSize3, | 
|---|
|  |  |  | self.ItemData3, | 
|---|
|  |  |  | self.ItemDataSize4, | 
|---|
|  |  |  | self.ItemData4, | 
|---|
|  |  |  | self.ItemDataSize5, | 
|---|
|  |  |  | self.ItemData5, | 
|---|
|  |  |  | self.ItemDataSize6, | 
|---|
|  |  |  | self.ItemData6, | 
|---|
|  |  |  | self.ItemDataSize7, | 
|---|
|  |  |  | self.ItemData7, | 
|---|
|  |  |  | self.ItemDataSize8, | 
|---|
|  |  |  | self.ItemData8, | 
|---|
|  |  |  | self.ItemDataSize9, | 
|---|
|  |  |  | self.ItemData9, | 
|---|
|  |  |  | self.ItemDataSize10, | 
|---|
|  |  |  | self.ItemData10, | 
|---|
|  |  |  | self.ItemDataSize11, | 
|---|
|  |  |  | self.ItemData11, | 
|---|
|  |  |  | self.ItemDataSize12, | 
|---|
|  |  |  | self.ItemData12, | 
|---|
|  |  |  | self.ItemDataSize13, | 
|---|
|  |  |  | self.ItemData13, | 
|---|
|  |  |  | self.ItemDataSize14, | 
|---|
|  |  |  | self.ItemData14, | 
|---|
|  |  |  | self.ItemDataSize15, | 
|---|
|  |  |  | self.ItemData15 | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | return DumpString | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | m_NAtagMGAddFamilyDetail=tagMGAddFamilyDetail() | 
|---|
|  |  |  | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMGAddFamilyDetail.Cmd,m_NAtagMGAddFamilyDetail.SubCmd))] = m_NAtagMGAddFamilyDetail | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #------------------------------------------------------ | 
|---|
|  |  |  | #03 02 天梯竞技场玩家发起挑战#tagMGHighLadderChallenge | 
|---|
|  |  |  |  | 
|---|
|  |  |  | class  tagHightLadderItemInfo(Structure): | 
|---|
|  |  |  | ItemTypeID = 0    #(DWORD ItemTypeID)//物品ID | 
|---|
|  |  |  | ItemPlaceType = 0    #(BYTE ItemPlaceType)//物品位置的背包类型 | 
|---|
|  |  |  | ItemPlaceIndex = 0    #(BYTE ItemPlaceIndex)//物品所在的索引 | 
|---|
|  |  |  | Count = 0    #(WORD Count)//单组数量 | 
|---|
|  |  |  | ItemStarLV = 0    #(BYTE ItemStarLV)//装备星级 | 
|---|
|  |  |  | IdentifyPar = 0    #(BYTE IdentifyPar)//鉴定参数 | 
|---|
|  |  |  | CurDurg = 0    #(DWORD CurDurg)//当前耐久 | 
|---|
|  |  |  | MaxDurg = 0    #(DWORD MaxDurg)//最大耐久 | 
|---|
|  |  |  | CanPlaceStoneCount = 0    #(BYTE CanPlaceStoneCount)//可镶嵌宝石数0表示不可以镶嵌宝石 | 
|---|
|  |  |  | ItemProperty = 0    #(BYTE ItemProperty)//装备五行 | 
|---|
|  |  |  | SoulProperty = 0    #(WORD SoulProperty)//灵魂属性属性 | 
|---|
|  |  |  | Maker = 0    #(DWORD Maker)//制作者ID | 
|---|
|  |  |  | MakerName = ""    #(char MakerName[33])//制造者名字 | 
|---|
|  |  |  | Stone1 = 0    #(DWORD Stone1)//镶嵌宝石1 | 
|---|
|  |  |  | Stone2 = 0    #(DWORD Stone2)//镶嵌宝石 | 
|---|
|  |  |  | Stone3 = 0    #(DWORD Stone3)//镶嵌宝石 | 
|---|
|  |  |  | Stone4 = 0    #(DWORD Stone4)//镶嵌宝石 | 
|---|
|  |  |  | Stone5 = 0    #(DWORD Stone5)//镶嵌宝石 | 
|---|
|  |  |  | Stone6 = 0    #(DWORD Stone6)//镶嵌宝石 | 
|---|
|  |  |  | Stone7 = 0    #(DWORD Stone7)//镶嵌宝石 | 
|---|
|  |  |  | Stone8 = 0    #(DWORD Stone8)//镶嵌宝石 | 
|---|
|  |  |  | Stone9 = 0    #(DWORD Stone9)//镶嵌宝石 | 
|---|
|  |  |  | IsRenZhu = 0    #(BYTE IsRenZhu)//是否认主 | 
|---|
|  |  |  | EquipDefenseValue = 0    #(DWORD EquipDefenseValue)//用于记录装备的防御值 | 
|---|
|  |  |  | EquipMinAtkValue = 0    #(DWORD EquipMinAtkValue)//用于记录装备的最小伤害值 | 
|---|
|  |  |  | EquipMaxAtkValue = 0    #(DWORD EquipMaxAtkValue)//用于记录装备的最大伤害值 | 
|---|
|  |  |  | UserDataLen = 0    #(DWORD UserDataLen) | 
|---|
|  |  |  | UserData = ""    #(String UserData)//自定义数据 | 
|---|
|  |  |  | FitLV = 0    #(BYTE FitLV)//物品契合等级 | 
|---|
|  |  |  | Proficiency = 0    #(DWORD Proficiency)//熟练度 | 
|---|
|  |  |  | IsSuite = 0    #(BYTE IsSuite)//是否已经套装化 | 
|---|
|  |  |  | BaseHP = 0    #(DWORD BaseHP)// HP基础值 | 
|---|
|  |  |  | BaseMagicDef = 0    #(DWORD BaseMagicDef)//内防基础值 | 
|---|
|  |  |  | MaxAddSkillCnt = 0    #(BYTE MaxAddSkillCnt)// 最大附魔次数 | 
|---|
|  |  |  | PetID = 0    #(DWORD PetID)//装备该装备的宠物ID,为0则未装备 | 
|---|
|  |  |  | EquipMagicDefValue = 0    #(DWORD EquipMagicDefValue)//装备内防值 | 
|---|
|  |  |  | EquipMinMagicAtkValue = 0    #(DWORD EquipMinMagicAtkValue)//装备最小内攻 | 
|---|
|  |  |  | EquipMaxMagicAtkValue = 0    #(DWORD EquipMaxMagicAtkValue)//装备最大内攻 | 
|---|
|  |  |  | data = None | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def __init__(self): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def ReadData(self, _lpData, _pos=0, _Len=0): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | self.ItemTypeID,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.ItemPlaceType,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | self.ItemPlaceIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | self.Count,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.ItemStarLV,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | self.IdentifyPar,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | self.CurDurg,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.MaxDurg,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.CanPlaceStoneCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | self.ItemProperty,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | self.SoulProperty,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.Maker,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.MakerName,_pos = CommFunc.ReadString(_lpData, _pos,33) | 
|---|
|  |  |  | self.Stone1,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.Stone2,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.Stone3,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.Stone4,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.Stone5,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.Stone6,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.Stone7,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.Stone8,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.Stone9,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.IsRenZhu,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | self.EquipDefenseValue,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.EquipMinAtkValue,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.EquipMaxAtkValue,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.UserDataLen,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen) | 
|---|
|  |  |  | self.FitLV,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | self.Proficiency,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.IsSuite,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | self.BaseHP,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.BaseMagicDef,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.MaxAddSkillCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | self.PetID,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.EquipMagicDefValue,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.EquipMinMagicAtkValue,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.EquipMaxMagicAtkValue,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | return _pos | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def Clear(self): | 
|---|
|  |  |  | self.ItemTypeID = 0 | 
|---|
|  |  |  | self.ItemPlaceType = 0 | 
|---|
|  |  |  | self.ItemPlaceIndex = 0 | 
|---|
|  |  |  | self.Count = 0 | 
|---|
|  |  |  | self.ItemStarLV = 0 | 
|---|
|  |  |  | self.IdentifyPar = 0 | 
|---|
|  |  |  | self.CurDurg = 0 | 
|---|
|  |  |  | self.MaxDurg = 0 | 
|---|
|  |  |  | self.CanPlaceStoneCount = 0 | 
|---|
|  |  |  | self.ItemProperty = 0 | 
|---|
|  |  |  | self.SoulProperty = 0 | 
|---|
|  |  |  | self.Maker = 0 | 
|---|
|  |  |  | self.MakerName = "" | 
|---|
|  |  |  | self.Stone1 = 0 | 
|---|
|  |  |  | self.Stone2 = 0 | 
|---|
|  |  |  | self.Stone3 = 0 | 
|---|
|  |  |  | self.Stone4 = 0 | 
|---|
|  |  |  | self.Stone5 = 0 | 
|---|
|  |  |  | self.Stone6 = 0 | 
|---|
|  |  |  | self.Stone7 = 0 | 
|---|
|  |  |  | self.Stone8 = 0 | 
|---|
|  |  |  | self.Stone9 = 0 | 
|---|
|  |  |  | self.IsRenZhu = 0 | 
|---|
|  |  |  | self.EquipDefenseValue = 0 | 
|---|
|  |  |  | self.EquipMinAtkValue = 0 | 
|---|
|  |  |  | self.EquipMaxAtkValue = 0 | 
|---|
|  |  |  | self.UserDataLen = 0 | 
|---|
|  |  |  | self.UserData = "" | 
|---|
|  |  |  | self.FitLV = 0 | 
|---|
|  |  |  | self.Proficiency = 0 | 
|---|
|  |  |  | self.IsSuite = 0 | 
|---|
|  |  |  | self.BaseHP = 0 | 
|---|
|  |  |  | self.BaseMagicDef = 0 | 
|---|
|  |  |  | self.MaxAddSkillCnt = 0 | 
|---|
|  |  |  | self.PetID = 0 | 
|---|
|  |  |  | self.EquipMagicDefValue = 0 | 
|---|
|  |  |  | self.EquipMinMagicAtkValue = 0 | 
|---|
|  |  |  | self.EquipMaxMagicAtkValue = 0 | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetLength(self): | 
|---|
|  |  |  | length = 0 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 33 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += len(self.UserData) | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return length | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetBuffer(self): | 
|---|
|  |  |  | data = '' | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.ItemTypeID) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.ItemPlaceType) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.ItemPlaceIndex) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.Count) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.ItemStarLV) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.IdentifyPar) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.CurDurg) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.MaxDurg) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.CanPlaceStoneCount) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.ItemProperty) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.SoulProperty) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.Maker) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, 33, self.MakerName) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.Stone1) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.Stone2) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.Stone3) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.Stone4) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.Stone5) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.Stone6) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.Stone7) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.Stone8) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.Stone9) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.IsRenZhu) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.EquipDefenseValue) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.EquipMinAtkValue) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.EquipMaxAtkValue) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.UserDataLen) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.UserDataLen, self.UserData) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.FitLV) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.Proficiency) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.IsSuite) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.BaseHP) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.BaseMagicDef) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.MaxAddSkillCnt) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.PetID) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.EquipMagicDefValue) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.EquipMinMagicAtkValue) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.EquipMaxMagicAtkValue) | 
|---|
|  |  |  | return data | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def OutputString(self): | 
|---|
|  |  |  | DumpString = ''' | 
|---|
|  |  |  | ItemTypeID:%d, | 
|---|
|  |  |  | ItemPlaceType:%d, | 
|---|
|  |  |  | ItemPlaceIndex:%d, | 
|---|
|  |  |  | Count:%d, | 
|---|
|  |  |  | ItemStarLV:%d, | 
|---|
|  |  |  | IdentifyPar:%d, | 
|---|
|  |  |  | CurDurg:%d, | 
|---|
|  |  |  | MaxDurg:%d, | 
|---|
|  |  |  | CanPlaceStoneCount:%d, | 
|---|
|  |  |  | ItemProperty:%d, | 
|---|
|  |  |  | SoulProperty:%d, | 
|---|
|  |  |  | Maker:%d, | 
|---|
|  |  |  | MakerName:%s, | 
|---|
|  |  |  | Stone1:%d, | 
|---|
|  |  |  | Stone2:%d, | 
|---|
|  |  |  | Stone3:%d, | 
|---|
|  |  |  | Stone4:%d, | 
|---|
|  |  |  | Stone5:%d, | 
|---|
|  |  |  | Stone6:%d, | 
|---|
|  |  |  | Stone7:%d, | 
|---|
|  |  |  | Stone8:%d, | 
|---|
|  |  |  | Stone9:%d, | 
|---|
|  |  |  | IsRenZhu:%d, | 
|---|
|  |  |  | EquipDefenseValue:%d, | 
|---|
|  |  |  | EquipMinAtkValue:%d, | 
|---|
|  |  |  | EquipMaxAtkValue:%d, | 
|---|
|  |  |  | UserDataLen:%d, | 
|---|
|  |  |  | UserData:%s, | 
|---|
|  |  |  | FitLV:%d, | 
|---|
|  |  |  | Proficiency:%d, | 
|---|
|  |  |  | IsSuite:%d, | 
|---|
|  |  |  | BaseHP:%d, | 
|---|
|  |  |  | BaseMagicDef:%d, | 
|---|
|  |  |  | MaxAddSkillCnt:%d, | 
|---|
|  |  |  | PetID:%d, | 
|---|
|  |  |  | EquipMagicDefValue:%d, | 
|---|
|  |  |  | EquipMinMagicAtkValue:%d, | 
|---|
|  |  |  | EquipMaxMagicAtkValue:%d | 
|---|
|  |  |  | '''\ | 
|---|
|  |  |  | %( | 
|---|
|  |  |  | self.ItemTypeID, | 
|---|
|  |  |  | self.ItemPlaceType, | 
|---|
|  |  |  | self.ItemPlaceIndex, | 
|---|
|  |  |  | self.Count, | 
|---|
|  |  |  | self.ItemStarLV, | 
|---|
|  |  |  | self.IdentifyPar, | 
|---|
|  |  |  | self.CurDurg, | 
|---|
|  |  |  | self.MaxDurg, | 
|---|
|  |  |  | self.CanPlaceStoneCount, | 
|---|
|  |  |  | self.ItemProperty, | 
|---|
|  |  |  | self.SoulProperty, | 
|---|
|  |  |  | self.Maker, | 
|---|
|  |  |  | self.MakerName, | 
|---|
|  |  |  | self.Stone1, | 
|---|
|  |  |  | self.Stone2, | 
|---|
|  |  |  | self.Stone3, | 
|---|
|  |  |  | self.Stone4, | 
|---|
|  |  |  | self.Stone5, | 
|---|
|  |  |  | self.Stone6, | 
|---|
|  |  |  | self.Stone7, | 
|---|
|  |  |  | self.Stone8, | 
|---|
|  |  |  | self.Stone9, | 
|---|
|  |  |  | self.IsRenZhu, | 
|---|
|  |  |  | self.EquipDefenseValue, | 
|---|
|  |  |  | self.EquipMinAtkValue, | 
|---|
|  |  |  | self.EquipMaxAtkValue, | 
|---|
|  |  |  | self.UserDataLen, | 
|---|
|  |  |  | self.UserData, | 
|---|
|  |  |  | self.FitLV, | 
|---|
|  |  |  | self.Proficiency, | 
|---|
|  |  |  | self.IsSuite, | 
|---|
|  |  |  | self.BaseHP, | 
|---|
|  |  |  | self.BaseMagicDef, | 
|---|
|  |  |  | self.MaxAddSkillCnt, | 
|---|
|  |  |  | self.PetID, | 
|---|
|  |  |  | self.EquipMagicDefValue, | 
|---|
|  |  |  | self.EquipMinMagicAtkValue, | 
|---|
|  |  |  | self.EquipMaxMagicAtkValue | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | return DumpString | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | class  tagMGHighLadderChallenge(Structure): | 
|---|
|  |  |  | Head = tagHead() | 
|---|
|  |  |  | PlayerID = 0    #(DWORD PlayerID)//玩家ID | 
|---|
|  |  |  | PlayerName = ""    #(char PlayerName[33]) | 
|---|
|  |  |  | PlayerLV = 0    #(WORD PlayerLV) | 
|---|
|  |  |  | FightPower = 0    #(DWORD FightPower) | 
|---|
|  |  |  | FightPropertyDataLen = 0    #(DWORD FightPropertyDataLen) | 
|---|
|  |  |  | FightPropertyData = ""    #(String FightPropertyData)//Python自定义数据 | 
|---|
|  |  |  | EquipCount = 0    #(BYTE EquipCount) | 
|---|
|  |  |  | EquipList = list()    #(vector<tagHightLadderItemInfo> EquipList)//装备信息列表 | 
|---|
|  |  |  | VSOrder = 0    #(WORD VSOrder)//要挑战的排位 | 
|---|
|  |  |  | data = None | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def __init__(self): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | self.Head.Cmd = 0x03 | 
|---|
|  |  |  | self.Head.SubCmd = 0x02 | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def ReadData(self, _lpData, _pos=0, _Len=0): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | _pos = self.Head.ReadData(_lpData, _pos) | 
|---|
|  |  |  | self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.PlayerName,_pos = CommFunc.ReadString(_lpData, _pos,33) | 
|---|
|  |  |  | self.PlayerLV,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.FightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.FightPropertyDataLen,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.FightPropertyData,_pos = CommFunc.ReadString(_lpData, _pos,self.FightPropertyDataLen) | 
|---|
|  |  |  | self.EquipCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | for i in range(self.EquipCount): | 
|---|
|  |  |  | temEquipList = tagHightLadderItemInfo() | 
|---|
|  |  |  | _pos = temEquipList.ReadData(_lpData, _pos) | 
|---|
|  |  |  | self.EquipList.append(temEquipList) | 
|---|
|  |  |  | self.VSOrder,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | return _pos | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def Clear(self): | 
|---|
|  |  |  | self.Head = tagHead() | 
|---|
|  |  |  | self.Head.Clear() | 
|---|
|  |  |  | self.Head.Cmd = 0x03 | 
|---|
|  |  |  | self.Head.SubCmd = 0x02 | 
|---|
|  |  |  | self.PlayerID = 0 | 
|---|
|  |  |  | self.PlayerName = "" | 
|---|
|  |  |  | self.PlayerLV = 0 | 
|---|
|  |  |  | self.FightPower = 0 | 
|---|
|  |  |  | self.FightPropertyDataLen = 0 | 
|---|
|  |  |  | self.FightPropertyData = "" | 
|---|
|  |  |  | self.EquipCount = 0 | 
|---|
|  |  |  | self.EquipList = list() | 
|---|
|  |  |  | self.VSOrder = 0 | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetLength(self): | 
|---|
|  |  |  | length = 0 | 
|---|
|  |  |  | length += self.Head.GetLength() | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 33 | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += len(self.FightPropertyData) | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | for i in range(self.EquipCount): | 
|---|
|  |  |  | length += self.EquipList[i].GetLength() | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return length | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetBuffer(self): | 
|---|
|  |  |  | data = '' | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.PlayerID) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, 33, self.PlayerName) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.PlayerLV) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.FightPower) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.FightPropertyDataLen) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.FightPropertyDataLen, self.FightPropertyData) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.EquipCount) | 
|---|
|  |  |  | for i in range(self.EquipCount): | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.EquipList[i].GetLength(), self.EquipList[i].GetBuffer()) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.VSOrder) | 
|---|
|  |  |  | return data | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def OutputString(self): | 
|---|
|  |  |  | DumpString = ''' | 
|---|
|  |  |  | Head:%s, | 
|---|
|  |  |  | PlayerID:%d, | 
|---|
|  |  |  | PlayerName:%s, | 
|---|
|  |  |  | PlayerLV:%d, | 
|---|
|  |  |  | FightPower:%d, | 
|---|
|  |  |  | FightPropertyDataLen:%d, | 
|---|
|  |  |  | FightPropertyData:%s, | 
|---|
|  |  |  | EquipCount:%d, | 
|---|
|  |  |  | EquipList:%s, | 
|---|
|  |  |  | VSOrder:%d | 
|---|
|  |  |  | '''\ | 
|---|
|  |  |  | %( | 
|---|
|  |  |  | self.Head.OutputString(), | 
|---|
|  |  |  | self.PlayerID, | 
|---|
|  |  |  | self.PlayerName, | 
|---|
|  |  |  | self.PlayerLV, | 
|---|
|  |  |  | self.FightPower, | 
|---|
|  |  |  | self.FightPropertyDataLen, | 
|---|
|  |  |  | self.FightPropertyData, | 
|---|
|  |  |  | self.EquipCount, | 
|---|
|  |  |  | "...", | 
|---|
|  |  |  | self.VSOrder | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | return DumpString | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | m_NAtagMGHighLadderChallenge=tagMGHighLadderChallenge() | 
|---|
|  |  |  | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMGHighLadderChallenge.Head.Cmd,m_NAtagMGHighLadderChallenge.Head.SubCmd))] = m_NAtagMGHighLadderChallenge | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #------------------------------------------------------ | 
|---|