|  |  |  | 
|---|
|  |  |  | PlayerID = 0    #(DWORD PlayerID)//玩家ID | 
|---|
|  |  |  | CompensationType = 0    #(BYTE CompensationType)//补偿类型 0 全服 1 个人 | 
|---|
|  |  |  | GUID = ""    #(char GUID[40])//对应的补偿ID | 
|---|
|  |  |  | CreateTime = ""    #(char CreateTime[30])//邮件接收时间 | 
|---|
|  |  |  | TextLen = 0    #(DWORD TextLen)//文字内容长度 | 
|---|
|  |  |  | Text = ""    #(String Text)//文字内容 | 
|---|
|  |  |  | Count = 0    #(BYTE Count)//当前补偿物品数 | 
|---|
|  |  |  | 
|---|
|  |  |  | self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.CompensationType,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | self.GUID,_pos = CommFunc.ReadString(_lpData, _pos,40) | 
|---|
|  |  |  | self.CreateTime,_pos = CommFunc.ReadString(_lpData, _pos,30) | 
|---|
|  |  |  | self.TextLen,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.Text,_pos = CommFunc.ReadString(_lpData, _pos,self.TextLen) | 
|---|
|  |  |  | self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | 
|---|
|  |  |  | self.PlayerID = 0 | 
|---|
|  |  |  | self.CompensationType = 0 | 
|---|
|  |  |  | self.GUID = "" | 
|---|
|  |  |  | self.CreateTime = "" | 
|---|
|  |  |  | self.TextLen = 0 | 
|---|
|  |  |  | self.Text = "" | 
|---|
|  |  |  | self.Count = 0 | 
|---|
|  |  |  | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | length += 40 | 
|---|
|  |  |  | length += 30 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += len(self.Text) | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.PlayerID) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.CompensationType) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, 40, self.GUID) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, 30, self.CreateTime) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.TextLen) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.TextLen, self.Text) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.Count) | 
|---|
|  |  |  | 
|---|
|  |  |  | PlayerID:%d, | 
|---|
|  |  |  | CompensationType:%d, | 
|---|
|  |  |  | GUID:%s, | 
|---|
|  |  |  | CreateTime:%s, | 
|---|
|  |  |  | TextLen:%d, | 
|---|
|  |  |  | Text:%s, | 
|---|
|  |  |  | Count:%d, | 
|---|
|  |  |  | 
|---|
|  |  |  | self.PlayerID, | 
|---|
|  |  |  | self.CompensationType, | 
|---|
|  |  |  | self.GUID, | 
|---|
|  |  |  | self.CreateTime, | 
|---|
|  |  |  | self.TextLen, | 
|---|
|  |  |  | self.Text, | 
|---|
|  |  |  | self.Count, | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | m_NAtagGMRequestCompensationResult=tagGMRequestCompensationResult() | 
|---|
|  |  |  | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGMRequestCompensationResult.Head.Cmd,m_NAtagGMRequestCompensationResult.Head.SubCmd))] = m_NAtagGMRequestCompensationResult | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #------------------------------------------------------ | 
|---|
|  |  |  | #03 01 天梯竞技场玩家挑战结果同步#tagGMHighLadderChallengeReuslt | 
|---|
|  |  |  |  | 
|---|
|  |  |  | class  tagGMHighLadderChallengeReuslt(Structure): | 
|---|
|  |  |  | Head = tagHead() | 
|---|
|  |  |  | PlayerID = 0    #(DWORD PlayerID)//玩家ID | 
|---|
|  |  |  | Result = 0    #(BYTE Result)//结果 | 
|---|
|  |  |  | PlusInfoSize = 0    #(WORD PlusInfoSize) | 
|---|
|  |  |  | PlusInfo = ""    #(String PlusInfo)//附带信息 | 
|---|
|  |  |  | data = None | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def __init__(self): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | self.Head.Cmd = 0x03 | 
|---|
|  |  |  | self.Head.SubCmd = 0x01 | 
|---|
|  |  |  | 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.Result,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | self.PlusInfoSize,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.PlusInfo,_pos = CommFunc.ReadString(_lpData, _pos,self.PlusInfoSize) | 
|---|
|  |  |  | return _pos | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def Clear(self): | 
|---|
|  |  |  | self.Head = tagHead() | 
|---|
|  |  |  | self.Head.Clear() | 
|---|
|  |  |  | self.Head.Cmd = 0x03 | 
|---|
|  |  |  | self.Head.SubCmd = 0x01 | 
|---|
|  |  |  | self.PlayerID = 0 | 
|---|
|  |  |  | self.Result = 0 | 
|---|
|  |  |  | self.PlusInfoSize = 0 | 
|---|
|  |  |  | self.PlusInfo = "" | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetLength(self): | 
|---|
|  |  |  | length = 0 | 
|---|
|  |  |  | length += self.Head.GetLength() | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += len(self.PlusInfo) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return length | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetBuffer(self): | 
|---|
|  |  |  | data = '' | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.PlayerID) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.Result) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.PlusInfoSize) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.PlusInfoSize, self.PlusInfo) | 
|---|
|  |  |  | return data | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def OutputString(self): | 
|---|
|  |  |  | DumpString = ''' | 
|---|
|  |  |  | Head:%s, | 
|---|
|  |  |  | PlayerID:%d, | 
|---|
|  |  |  | Result:%d, | 
|---|
|  |  |  | PlusInfoSize:%d, | 
|---|
|  |  |  | PlusInfo:%s | 
|---|
|  |  |  | '''\ | 
|---|
|  |  |  | %( | 
|---|
|  |  |  | self.Head.OutputString(), | 
|---|
|  |  |  | self.PlayerID, | 
|---|
|  |  |  | self.Result, | 
|---|
|  |  |  | self.PlusInfoSize, | 
|---|
|  |  |  | self.PlusInfo | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | return DumpString | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | m_NAtagGMHighLadderChallengeReuslt=tagGMHighLadderChallengeReuslt() | 
|---|
|  |  |  | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGMHighLadderChallengeReuslt.Head.Cmd,m_NAtagGMHighLadderChallengeReuslt.Head.SubCmd))] = m_NAtagGMHighLadderChallengeReuslt | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #------------------------------------------------------ | 
|---|