|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #------------------------------------------------------ | 
|---|
|  |  |  | # AC 0B 新仙界盛典活动信息 #tagGCNewFairyCeremonyInfo | 
|---|
|  |  |  |  | 
|---|
|  |  |  | class  tagGCNewFairyCeremonyInfo(Structure): | 
|---|
|  |  |  | Head = tagHead() | 
|---|
|  |  |  | StartDate = ""    #(char StartDate[10])// 开始日期 y-m-d | 
|---|
|  |  |  | EndtDate = ""    #(char EndtDate[10])// 结束日期 y-m-d | 
|---|
|  |  |  | WorldLV = 0    #(WORD WorldLV)// 世界等级 | 
|---|
|  |  |  | LimitLV = 0    #(WORD LimitLV)// 限制等级 | 
|---|
|  |  |  | ResetType = 0    #(BYTE ResetType)// 重置类型 0-0点重置 1-5点重置 | 
|---|
|  |  |  | data = None | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def __init__(self): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | self.Head.Cmd = 0xAC | 
|---|
|  |  |  | self.Head.SubCmd = 0x0B | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def ReadData(self, _lpData, _pos=0, _Len=0): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | _pos = self.Head.ReadData(_lpData, _pos) | 
|---|
|  |  |  | self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10) | 
|---|
|  |  |  | self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10) | 
|---|
|  |  |  | self.WorldLV,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.ResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | return _pos | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def Clear(self): | 
|---|
|  |  |  | self.Head = tagHead() | 
|---|
|  |  |  | self.Head.Clear() | 
|---|
|  |  |  | self.Head.Cmd = 0xAC | 
|---|
|  |  |  | self.Head.SubCmd = 0x0B | 
|---|
|  |  |  | self.StartDate = "" | 
|---|
|  |  |  | self.EndtDate = "" | 
|---|
|  |  |  | self.WorldLV = 0 | 
|---|
|  |  |  | self.LimitLV = 0 | 
|---|
|  |  |  | self.ResetType = 0 | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetLength(self): | 
|---|
|  |  |  | length = 0 | 
|---|
|  |  |  | length += self.Head.GetLength() | 
|---|
|  |  |  | length += 10 | 
|---|
|  |  |  | length += 10 | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return length | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetBuffer(self): | 
|---|
|  |  |  | data = '' | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, 10, self.StartDate) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, 10, self.EndtDate) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.WorldLV) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.LimitLV) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.ResetType) | 
|---|
|  |  |  | return data | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def OutputString(self): | 
|---|
|  |  |  | DumpString = ''' | 
|---|
|  |  |  | Head:%s, | 
|---|
|  |  |  | StartDate:%s, | 
|---|
|  |  |  | EndtDate:%s, | 
|---|
|  |  |  | WorldLV:%d, | 
|---|
|  |  |  | LimitLV:%d, | 
|---|
|  |  |  | ResetType:%d | 
|---|
|  |  |  | '''\ | 
|---|
|  |  |  | %( | 
|---|
|  |  |  | self.Head.OutputString(), | 
|---|
|  |  |  | self.StartDate, | 
|---|
|  |  |  | self.EndtDate, | 
|---|
|  |  |  | self.WorldLV, | 
|---|
|  |  |  | self.LimitLV, | 
|---|
|  |  |  | self.ResetType | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | return DumpString | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | m_NAtagGCNewFairyCeremonyInfo=tagGCNewFairyCeremonyInfo() | 
|---|
|  |  |  | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCNewFairyCeremonyInfo.Head.Cmd,m_NAtagGCNewFairyCeremonyInfo.Head.SubCmd))] = m_NAtagGCNewFairyCeremonyInfo | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #------------------------------------------------------ | 
|---|
|  |  |  | # AC 05 红包删除 #tagGCRedPacketDel | 
|---|
|  |  |  |  | 
|---|
|  |  |  | class  tagGCRedPacketDel(Structure): | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #------------------------------------------------------ | 
|---|
|  |  |  | # AA 20 节日巡礼活动信息 #tagMCFeastWeekPartyInfo | 
|---|
|  |  |  |  | 
|---|
|  |  |  | class  tagMCFeastWeekPartyItem(Structure): | 
|---|
|  |  |  | _pack_ = 1 | 
|---|
|  |  |  | _fields_ = [ | 
|---|
|  |  |  | ("NeedPoint", c_ushort),    # 领奖需要积分 | 
|---|
|  |  |  | ("ItemID", c_int),    # 物品ID | 
|---|
|  |  |  | ("ItemCnt", c_ushort),    # 物品数量 | 
|---|
|  |  |  | ("IsBind", c_ubyte),    # 是否绑定 | 
|---|
|  |  |  | ] | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def __init__(self): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | 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.NeedPoint = 0 | 
|---|
|  |  |  | self.ItemID = 0 | 
|---|
|  |  |  | self.ItemCnt = 0 | 
|---|
|  |  |  | self.IsBind = 0 | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetLength(self): | 
|---|
|  |  |  | return sizeof(tagMCFeastWeekPartyItem) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetBuffer(self): | 
|---|
|  |  |  | return string_at(addressof(self), self.GetLength()) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def OutputString(self): | 
|---|
|  |  |  | DumpString = '''// AA 20 节日巡礼活动信息 //tagMCFeastWeekPartyInfo: | 
|---|
|  |  |  | NeedPoint:%d, | 
|---|
|  |  |  | ItemID:%d, | 
|---|
|  |  |  | ItemCnt:%d, | 
|---|
|  |  |  | IsBind:%d | 
|---|
|  |  |  | '''\ | 
|---|
|  |  |  | %( | 
|---|
|  |  |  | self.NeedPoint, | 
|---|
|  |  |  | self.ItemID, | 
|---|
|  |  |  | self.ItemCnt, | 
|---|
|  |  |  | self.IsBind | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | return DumpString | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | class  tagMCFeastWeekPartyAction(Structure): | 
|---|
|  |  |  | TemplateID = 0    #(DWORD TemplateID)// 模板ID | 
|---|
|  |  |  | ActionType = 0    #(WORD ActionType)// 活动类别 | 
|---|
|  |  |  | TotalTimes = 0    #(DWORD TotalTimes)// 可完成的总次数,0表示不限次数 | 
|---|
|  |  |  | SingleTimes = 0    #(DWORD SingleTimes)// 单次领奖需要的次数 | 
|---|
|  |  |  | Point = 0    #(DWORD Point)// 单次领奖积分 | 
|---|
|  |  |  | Count = 0    #(BYTE Count)// 物品数 | 
|---|
|  |  |  | ItemInfo = list()    #(vector<tagMCFeastWeekPartyItem> ItemInfo)// 物品信息 | 
|---|
|  |  |  | data = None | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def __init__(self): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def ReadData(self, _lpData, _pos=0, _Len=0): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | self.TemplateID,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.ActionType,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.TotalTimes,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.SingleTimes,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.Point,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | for i in range(self.Count): | 
|---|
|  |  |  | temItemInfo = tagMCFeastWeekPartyItem() | 
|---|
|  |  |  | _pos = temItemInfo.ReadData(_lpData, _pos) | 
|---|
|  |  |  | self.ItemInfo.append(temItemInfo) | 
|---|
|  |  |  | return _pos | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def Clear(self): | 
|---|
|  |  |  | self.TemplateID = 0 | 
|---|
|  |  |  | self.ActionType = 0 | 
|---|
|  |  |  | self.TotalTimes = 0 | 
|---|
|  |  |  | self.SingleTimes = 0 | 
|---|
|  |  |  | self.Point = 0 | 
|---|
|  |  |  | self.Count = 0 | 
|---|
|  |  |  | self.ItemInfo = list() | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetLength(self): | 
|---|
|  |  |  | length = 0 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | for i in range(self.Count): | 
|---|
|  |  |  | length += self.ItemInfo[i].GetLength() | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return length | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetBuffer(self): | 
|---|
|  |  |  | data = '' | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.TemplateID) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.ActionType) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.TotalTimes) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.SingleTimes) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.Point) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.Count) | 
|---|
|  |  |  | for i in range(self.Count): | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.ItemInfo[i].GetLength(), self.ItemInfo[i].GetBuffer()) | 
|---|
|  |  |  | return data | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def OutputString(self): | 
|---|
|  |  |  | DumpString = ''' | 
|---|
|  |  |  | TemplateID:%d, | 
|---|
|  |  |  | ActionType:%d, | 
|---|
|  |  |  | TotalTimes:%d, | 
|---|
|  |  |  | SingleTimes:%d, | 
|---|
|  |  |  | Point:%d, | 
|---|
|  |  |  | Count:%d, | 
|---|
|  |  |  | ItemInfo:%s | 
|---|
|  |  |  | '''\ | 
|---|
|  |  |  | %( | 
|---|
|  |  |  | self.TemplateID, | 
|---|
|  |  |  | self.ActionType, | 
|---|
|  |  |  | self.TotalTimes, | 
|---|
|  |  |  | self.SingleTimes, | 
|---|
|  |  |  | self.Point, | 
|---|
|  |  |  | self.Count, | 
|---|
|  |  |  | "..." | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | return DumpString | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | class  tagMCFeastWeekPartyDayInfo(Structure): | 
|---|
|  |  |  | ActCnt = 0    #(BYTE ActCnt)// 数量 | 
|---|
|  |  |  | TemplateList = list()    #(vector<WORD> TemplateList)// 模板列表 | 
|---|
|  |  |  | PCount = 0    #(BYTE PCount)// 物品数 | 
|---|
|  |  |  | PItemInfo = list()    #(vector<tagMCFeastWeekPartyItem> PItemInfo)// 物品信息 | 
|---|
|  |  |  | data = None | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def __init__(self): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def ReadData(self, _lpData, _pos=0, _Len=0): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | self.ActCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | for i in range(self.ActCnt): | 
|---|
|  |  |  | value,_pos=CommFunc.ReadWORD(_lpData,_pos) | 
|---|
|  |  |  | self.TemplateList.append(value) | 
|---|
|  |  |  | self.PCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | for i in range(self.PCount): | 
|---|
|  |  |  | temPItemInfo = tagMCFeastWeekPartyItem() | 
|---|
|  |  |  | _pos = temPItemInfo.ReadData(_lpData, _pos) | 
|---|
|  |  |  | self.PItemInfo.append(temPItemInfo) | 
|---|
|  |  |  | return _pos | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def Clear(self): | 
|---|
|  |  |  | self.ActCnt = 0 | 
|---|
|  |  |  | self.TemplateList = list() | 
|---|
|  |  |  | self.PCount = 0 | 
|---|
|  |  |  | self.PItemInfo = list() | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetLength(self): | 
|---|
|  |  |  | length = 0 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | length += 2 * self.ActCnt | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | for i in range(self.PCount): | 
|---|
|  |  |  | length += self.PItemInfo[i].GetLength() | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return length | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetBuffer(self): | 
|---|
|  |  |  | data = '' | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.ActCnt) | 
|---|
|  |  |  | for i in range(self.ActCnt): | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.TemplateList[i]) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.PCount) | 
|---|
|  |  |  | for i in range(self.PCount): | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.PItemInfo[i].GetLength(), self.PItemInfo[i].GetBuffer()) | 
|---|
|  |  |  | return data | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def OutputString(self): | 
|---|
|  |  |  | DumpString = ''' | 
|---|
|  |  |  | ActCnt:%d, | 
|---|
|  |  |  | TemplateList:%s, | 
|---|
|  |  |  | PCount:%d, | 
|---|
|  |  |  | PItemInfo:%s | 
|---|
|  |  |  | '''\ | 
|---|
|  |  |  | %( | 
|---|
|  |  |  | self.ActCnt, | 
|---|
|  |  |  | "...", | 
|---|
|  |  |  | self.PCount, | 
|---|
|  |  |  | "..." | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | return DumpString | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | class  tagMCFeastWeekPartyInfo(Structure): | 
|---|
|  |  |  | Head = tagHead() | 
|---|
|  |  |  | StartDate = ""    #(char StartDate[10])// 开始日期 y-m-d | 
|---|
|  |  |  | EndtDate = ""    #(char EndtDate[10])// 结束日期 y-m-d | 
|---|
|  |  |  | AdvanceMinutes = 0    #(WORD AdvanceMinutes)// 提前显示分钟 | 
|---|
|  |  |  | IsDayReset = 0    #(BYTE IsDayReset)//是否每天重置 | 
|---|
|  |  |  | ResetType = 0    #(BYTE ResetType)// 重置类型,0-0点重置;1-5点重置 | 
|---|
|  |  |  | LimitLV = 0    #(WORD LimitLV)// 限制等级 | 
|---|
|  |  |  | DayCnt = 0    #(BYTE DayCnt)// 天数 | 
|---|
|  |  |  | DayInfoList = list()    #(vector<tagMCFeastWeekPartyDayInfo> DayInfoList)// 每天模板 | 
|---|
|  |  |  | TCount = 0    #(BYTE TCount)// 模板数 | 
|---|
|  |  |  | ActionInfo = list()    #(vector<tagMCFeastWeekPartyAction> ActionInfo)// 活动模板信息 | 
|---|
|  |  |  | data = None | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def __init__(self): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | self.Head.Cmd = 0xAA | 
|---|
|  |  |  | self.Head.SubCmd = 0x20 | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def ReadData(self, _lpData, _pos=0, _Len=0): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | _pos = self.Head.ReadData(_lpData, _pos) | 
|---|
|  |  |  | self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10) | 
|---|
|  |  |  | self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10) | 
|---|
|  |  |  | self.AdvanceMinutes,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.IsDayReset,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | self.ResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos) | 
|---|
|  |  |  | self.DayCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | for i in range(self.DayCnt): | 
|---|
|  |  |  | temDayInfoList = tagMCFeastWeekPartyDayInfo() | 
|---|
|  |  |  | _pos = temDayInfoList.ReadData(_lpData, _pos) | 
|---|
|  |  |  | self.DayInfoList.append(temDayInfoList) | 
|---|
|  |  |  | self.TCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | for i in range(self.TCount): | 
|---|
|  |  |  | temActionInfo = tagMCFeastWeekPartyAction() | 
|---|
|  |  |  | _pos = temActionInfo.ReadData(_lpData, _pos) | 
|---|
|  |  |  | self.ActionInfo.append(temActionInfo) | 
|---|
|  |  |  | return _pos | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def Clear(self): | 
|---|
|  |  |  | self.Head = tagHead() | 
|---|
|  |  |  | self.Head.Clear() | 
|---|
|  |  |  | self.Head.Cmd = 0xAA | 
|---|
|  |  |  | self.Head.SubCmd = 0x20 | 
|---|
|  |  |  | self.StartDate = "" | 
|---|
|  |  |  | self.EndtDate = "" | 
|---|
|  |  |  | self.AdvanceMinutes = 0 | 
|---|
|  |  |  | self.IsDayReset = 0 | 
|---|
|  |  |  | self.ResetType = 0 | 
|---|
|  |  |  | self.LimitLV = 0 | 
|---|
|  |  |  | self.DayCnt = 0 | 
|---|
|  |  |  | self.DayInfoList = list() | 
|---|
|  |  |  | self.TCount = 0 | 
|---|
|  |  |  | self.ActionInfo = list() | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetLength(self): | 
|---|
|  |  |  | length = 0 | 
|---|
|  |  |  | length += self.Head.GetLength() | 
|---|
|  |  |  | length += 10 | 
|---|
|  |  |  | length += 10 | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | length += 2 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | for i in range(self.DayCnt): | 
|---|
|  |  |  | length += self.DayInfoList[i].GetLength() | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | for i in range(self.TCount): | 
|---|
|  |  |  | length += self.ActionInfo[i].GetLength() | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return length | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetBuffer(self): | 
|---|
|  |  |  | data = '' | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, 10, self.StartDate) | 
|---|
|  |  |  | data = CommFunc.WriteString(data, 10, self.EndtDate) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.AdvanceMinutes) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.IsDayReset) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.ResetType) | 
|---|
|  |  |  | data = CommFunc.WriteWORD(data, self.LimitLV) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.DayCnt) | 
|---|
|  |  |  | for i in range(self.DayCnt): | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.DayInfoList[i].GetLength(), self.DayInfoList[i].GetBuffer()) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.TCount) | 
|---|
|  |  |  | for i in range(self.TCount): | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.ActionInfo[i].GetLength(), self.ActionInfo[i].GetBuffer()) | 
|---|
|  |  |  | return data | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def OutputString(self): | 
|---|
|  |  |  | DumpString = ''' | 
|---|
|  |  |  | Head:%s, | 
|---|
|  |  |  | StartDate:%s, | 
|---|
|  |  |  | EndtDate:%s, | 
|---|
|  |  |  | AdvanceMinutes:%d, | 
|---|
|  |  |  | IsDayReset:%d, | 
|---|
|  |  |  | ResetType:%d, | 
|---|
|  |  |  | LimitLV:%d, | 
|---|
|  |  |  | DayCnt:%d, | 
|---|
|  |  |  | DayInfoList:%s, | 
|---|
|  |  |  | TCount:%d, | 
|---|
|  |  |  | ActionInfo:%s | 
|---|
|  |  |  | '''\ | 
|---|
|  |  |  | %( | 
|---|
|  |  |  | self.Head.OutputString(), | 
|---|
|  |  |  | self.StartDate, | 
|---|
|  |  |  | self.EndtDate, | 
|---|
|  |  |  | self.AdvanceMinutes, | 
|---|
|  |  |  | self.IsDayReset, | 
|---|
|  |  |  | self.ResetType, | 
|---|
|  |  |  | self.LimitLV, | 
|---|
|  |  |  | self.DayCnt, | 
|---|
|  |  |  | "...", | 
|---|
|  |  |  | self.TCount, | 
|---|
|  |  |  | "..." | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | return DumpString | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | m_NAtagMCFeastWeekPartyInfo=tagMCFeastWeekPartyInfo() | 
|---|
|  |  |  | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFeastWeekPartyInfo.Head.Cmd,m_NAtagMCFeastWeekPartyInfo.Head.SubCmd))] = m_NAtagMCFeastWeekPartyInfo | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #------------------------------------------------------ | 
|---|
|  |  |  | # AA 21 节日巡礼玩家活动信息 #tagMCFeastWeekPartyPlayerInfo | 
|---|
|  |  |  |  | 
|---|
|  |  |  | class  tagMCFeastWeekPartyTaskInfo(Structure): | 
|---|
|  |  |  | _pack_ = 1 | 
|---|
|  |  |  | _fields_ = [ | 
|---|
|  |  |  | ("TemplateID", c_ushort),    # 模板ID | 
|---|
|  |  |  | ("CurTimes", c_int),    #已完成次数 | 
|---|
|  |  |  | ("GotTimes", c_int),    #已领取次数 | 
|---|
|  |  |  | ] | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def __init__(self): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | 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.TemplateID = 0 | 
|---|
|  |  |  | self.CurTimes = 0 | 
|---|
|  |  |  | self.GotTimes = 0 | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetLength(self): | 
|---|
|  |  |  | return sizeof(tagMCFeastWeekPartyTaskInfo) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetBuffer(self): | 
|---|
|  |  |  | return string_at(addressof(self), self.GetLength()) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def OutputString(self): | 
|---|
|  |  |  | DumpString = '''// AA 21 节日巡礼玩家活动信息 //tagMCFeastWeekPartyPlayerInfo: | 
|---|
|  |  |  | TemplateID:%d, | 
|---|
|  |  |  | CurTimes:%d, | 
|---|
|  |  |  | GotTimes:%d | 
|---|
|  |  |  | '''\ | 
|---|
|  |  |  | %( | 
|---|
|  |  |  | self.TemplateID, | 
|---|
|  |  |  | self.CurTimes, | 
|---|
|  |  |  | self.GotTimes | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | return DumpString | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | class  tagMCFeastWeekPartyDayPlayerInfo(Structure): | 
|---|
|  |  |  | DayIndex = 0    #(DWORD DayIndex)//第X天 | 
|---|
|  |  |  | Point = 0    #(DWORD Point)//积分 | 
|---|
|  |  |  | AwardRecord = 0    #(DWORD AwardRecord)//积分领奖记录 | 
|---|
|  |  |  | ACount = 0    #(DWORD ACount)//任务条目数 | 
|---|
|  |  |  | TaskList = list()    #(vector<tagMCFeastWeekPartyTaskInfo> TaskList)//活动完成次数信息 | 
|---|
|  |  |  | data = None | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def __init__(self): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def ReadData(self, _lpData, _pos=0, _Len=0): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | self.DayIndex,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.Point,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.AwardRecord,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.ACount,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | for i in range(self.ACount): | 
|---|
|  |  |  | temTaskList = tagMCFeastWeekPartyTaskInfo() | 
|---|
|  |  |  | _pos = temTaskList.ReadData(_lpData, _pos) | 
|---|
|  |  |  | self.TaskList.append(temTaskList) | 
|---|
|  |  |  | return _pos | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def Clear(self): | 
|---|
|  |  |  | self.DayIndex = 0 | 
|---|
|  |  |  | self.Point = 0 | 
|---|
|  |  |  | self.AwardRecord = 0 | 
|---|
|  |  |  | self.ACount = 0 | 
|---|
|  |  |  | self.TaskList = list() | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetLength(self): | 
|---|
|  |  |  | length = 0 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | for i in range(self.ACount): | 
|---|
|  |  |  | length += self.TaskList[i].GetLength() | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return length | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetBuffer(self): | 
|---|
|  |  |  | data = '' | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.DayIndex) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.Point) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.AwardRecord) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.ACount) | 
|---|
|  |  |  | for i in range(self.ACount): | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.TaskList[i].GetLength(), self.TaskList[i].GetBuffer()) | 
|---|
|  |  |  | return data | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def OutputString(self): | 
|---|
|  |  |  | DumpString = ''' | 
|---|
|  |  |  | DayIndex:%d, | 
|---|
|  |  |  | Point:%d, | 
|---|
|  |  |  | AwardRecord:%d, | 
|---|
|  |  |  | ACount:%d, | 
|---|
|  |  |  | TaskList:%s | 
|---|
|  |  |  | '''\ | 
|---|
|  |  |  | %( | 
|---|
|  |  |  | self.DayIndex, | 
|---|
|  |  |  | self.Point, | 
|---|
|  |  |  | self.AwardRecord, | 
|---|
|  |  |  | self.ACount, | 
|---|
|  |  |  | "..." | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | return DumpString | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | class  tagMCFeastWeekPartyPlayerInfo(Structure): | 
|---|
|  |  |  | Head = tagHead() | 
|---|
|  |  |  | Count = 0    #(BYTE Count) | 
|---|
|  |  |  | DayInfoList = list()    #(vector<tagMCWeekPartyDayPlayerInfo> DayInfoList)//活动完成次数信息 | 
|---|
|  |  |  | data = None | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def __init__(self): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | self.Head.Cmd = 0xAA | 
|---|
|  |  |  | self.Head.SubCmd = 0x21 | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def ReadData(self, _lpData, _pos=0, _Len=0): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | _pos = self.Head.ReadData(_lpData, _pos) | 
|---|
|  |  |  | self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | for i in range(self.Count): | 
|---|
|  |  |  | temDayInfoList = tagMCWeekPartyDayPlayerInfo() | 
|---|
|  |  |  | _pos = temDayInfoList.ReadData(_lpData, _pos) | 
|---|
|  |  |  | self.DayInfoList.append(temDayInfoList) | 
|---|
|  |  |  | return _pos | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def Clear(self): | 
|---|
|  |  |  | self.Head = tagHead() | 
|---|
|  |  |  | self.Head.Clear() | 
|---|
|  |  |  | self.Head.Cmd = 0xAA | 
|---|
|  |  |  | self.Head.SubCmd = 0x21 | 
|---|
|  |  |  | self.Count = 0 | 
|---|
|  |  |  | self.DayInfoList = list() | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetLength(self): | 
|---|
|  |  |  | length = 0 | 
|---|
|  |  |  | length += self.Head.GetLength() | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | for i in range(self.Count): | 
|---|
|  |  |  | length += self.DayInfoList[i].GetLength() | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return length | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetBuffer(self): | 
|---|
|  |  |  | data = '' | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.Count) | 
|---|
|  |  |  | for i in range(self.Count): | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.DayInfoList[i].GetLength(), self.DayInfoList[i].GetBuffer()) | 
|---|
|  |  |  | return data | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def OutputString(self): | 
|---|
|  |  |  | DumpString = ''' | 
|---|
|  |  |  | Head:%s, | 
|---|
|  |  |  | Count:%d, | 
|---|
|  |  |  | DayInfoList:%s | 
|---|
|  |  |  | '''\ | 
|---|
|  |  |  | %( | 
|---|
|  |  |  | self.Head.OutputString(), | 
|---|
|  |  |  | self.Count, | 
|---|
|  |  |  | "..." | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | return DumpString | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | m_NAtagMCFeastWeekPartyPlayerInfo=tagMCFeastWeekPartyPlayerInfo() | 
|---|
|  |  |  | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFeastWeekPartyPlayerInfo.Head.Cmd,m_NAtagMCFeastWeekPartyPlayerInfo.Head.SubCmd))] = m_NAtagMCFeastWeekPartyPlayerInfo | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #------------------------------------------------------ | 
|---|
|  |  |  | # AA 02 首充信息 #tagMCFirstGoldInfo | 
|---|
|  |  |  |  | 
|---|
|  |  |  | class  tagMCFirstGoldInfo(Structure): | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #------------------------------------------------------ | 
|---|
|  |  |  | # AA 23 新仙界盛典全民来嗨玩家信息 #tagMCNewAllPeoplePartyInfo | 
|---|
|  |  |  |  | 
|---|
|  |  |  | class  tagMCNewAllPeoplePartyCount(Structure): | 
|---|
|  |  |  | _pack_ = 1 | 
|---|
|  |  |  | _fields_ = [ | 
|---|
|  |  |  | ("ActID", c_int),    #活动ID | 
|---|
|  |  |  | ("CurTimes", c_ushort),    #已完成次数 | 
|---|
|  |  |  | ] | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def __init__(self): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | 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.ActID = 0 | 
|---|
|  |  |  | self.CurTimes = 0 | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetLength(self): | 
|---|
|  |  |  | return sizeof(tagMCNewAllPeoplePartyCount) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetBuffer(self): | 
|---|
|  |  |  | return string_at(addressof(self), self.GetLength()) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def OutputString(self): | 
|---|
|  |  |  | DumpString = '''// AA 23 新仙界盛典全民来嗨玩家信息 //tagMCNewAllPeoplePartyInfo: | 
|---|
|  |  |  | ActID:%d, | 
|---|
|  |  |  | CurTimes:%d | 
|---|
|  |  |  | '''\ | 
|---|
|  |  |  | %( | 
|---|
|  |  |  | self.ActID, | 
|---|
|  |  |  | self.CurTimes | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | return DumpString | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | class  tagMCNewAllPeoplePartyInfo(Structure): | 
|---|
|  |  |  | Head = tagHead() | 
|---|
|  |  |  | CurPoint = 0    #(DWORD CurPoint)//当前总点数 | 
|---|
|  |  |  | AwardRecord = 0    #(DWORD AwardRecord)//领奖记录 按奖励索引二进制位存储是否已领取 | 
|---|
|  |  |  | Count = 0    #(BYTE Count) | 
|---|
|  |  |  | BuyCountList = list()    #(vector<tagMCNewAllPeoplePartyCount> BuyCountList)//活动完成次数信息 | 
|---|
|  |  |  | data = None | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def __init__(self): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | self.Head.Cmd = 0xAA | 
|---|
|  |  |  | self.Head.SubCmd = 0x23 | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def ReadData(self, _lpData, _pos=0, _Len=0): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | _pos = self.Head.ReadData(_lpData, _pos) | 
|---|
|  |  |  | self.CurPoint,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.AwardRecord,_pos = CommFunc.ReadDWORD(_lpData, _pos) | 
|---|
|  |  |  | self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos) | 
|---|
|  |  |  | for i in range(self.Count): | 
|---|
|  |  |  | temBuyCountList = tagMCNewAllPeoplePartyCount() | 
|---|
|  |  |  | _pos = temBuyCountList.ReadData(_lpData, _pos) | 
|---|
|  |  |  | self.BuyCountList.append(temBuyCountList) | 
|---|
|  |  |  | return _pos | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def Clear(self): | 
|---|
|  |  |  | self.Head = tagHead() | 
|---|
|  |  |  | self.Head.Clear() | 
|---|
|  |  |  | self.Head.Cmd = 0xAA | 
|---|
|  |  |  | self.Head.SubCmd = 0x23 | 
|---|
|  |  |  | self.CurPoint = 0 | 
|---|
|  |  |  | self.AwardRecord = 0 | 
|---|
|  |  |  | self.Count = 0 | 
|---|
|  |  |  | self.BuyCountList = list() | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetLength(self): | 
|---|
|  |  |  | length = 0 | 
|---|
|  |  |  | length += self.Head.GetLength() | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 4 | 
|---|
|  |  |  | length += 1 | 
|---|
|  |  |  | for i in range(self.Count): | 
|---|
|  |  |  | length += self.BuyCountList[i].GetLength() | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return length | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetBuffer(self): | 
|---|
|  |  |  | data = '' | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.CurPoint) | 
|---|
|  |  |  | data = CommFunc.WriteDWORD(data, self.AwardRecord) | 
|---|
|  |  |  | data = CommFunc.WriteBYTE(data, self.Count) | 
|---|
|  |  |  | for i in range(self.Count): | 
|---|
|  |  |  | data = CommFunc.WriteString(data, self.BuyCountList[i].GetLength(), self.BuyCountList[i].GetBuffer()) | 
|---|
|  |  |  | return data | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def OutputString(self): | 
|---|
|  |  |  | DumpString = ''' | 
|---|
|  |  |  | Head:%s, | 
|---|
|  |  |  | CurPoint:%d, | 
|---|
|  |  |  | AwardRecord:%d, | 
|---|
|  |  |  | Count:%d, | 
|---|
|  |  |  | BuyCountList:%s | 
|---|
|  |  |  | '''\ | 
|---|
|  |  |  | %( | 
|---|
|  |  |  | self.Head.OutputString(), | 
|---|
|  |  |  | self.CurPoint, | 
|---|
|  |  |  | self.AwardRecord, | 
|---|
|  |  |  | self.Count, | 
|---|
|  |  |  | "..." | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | return DumpString | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | m_NAtagMCNewAllPeoplePartyInfo=tagMCNewAllPeoplePartyInfo() | 
|---|
|  |  |  | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCNewAllPeoplePartyInfo.Head.Cmd,m_NAtagMCNewAllPeoplePartyInfo.Head.SubCmd))] = m_NAtagMCNewAllPeoplePartyInfo | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #------------------------------------------------------ | 
|---|
|  |  |  | # AA 22 新仙界盛典充值大礼 #tagMCNewXJSDRecharge | 
|---|
|  |  |  |  | 
|---|
|  |  |  | class  tagMCNewXJSDRecharge(Structure): | 
|---|
|  |  |  | _pack_ = 1 | 
|---|
|  |  |  | _fields_ = [ | 
|---|
|  |  |  | ("Cmd", c_ubyte), | 
|---|
|  |  |  | ("SubCmd", c_ubyte), | 
|---|
|  |  |  | ("State", c_ubyte),    #0-不可领 1-可领 2-已领取 | 
|---|
|  |  |  | ] | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def __init__(self): | 
|---|
|  |  |  | self.Clear() | 
|---|
|  |  |  | self.Cmd = 0xAA | 
|---|
|  |  |  | self.SubCmd = 0x22 | 
|---|
|  |  |  | 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 = 0xAA | 
|---|
|  |  |  | self.SubCmd = 0x22 | 
|---|
|  |  |  | self.State = 0 | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetLength(self): | 
|---|
|  |  |  | return sizeof(tagMCNewXJSDRecharge) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetBuffer(self): | 
|---|
|  |  |  | return string_at(addressof(self), self.GetLength()) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def OutputString(self): | 
|---|
|  |  |  | DumpString = '''// AA 22 新仙界盛典充值大礼 //tagMCNewXJSDRecharge: | 
|---|
|  |  |  | Cmd:%s, | 
|---|
|  |  |  | SubCmd:%s, | 
|---|
|  |  |  | State:%d | 
|---|
|  |  |  | '''\ | 
|---|
|  |  |  | %( | 
|---|
|  |  |  | self.Cmd, | 
|---|
|  |  |  | self.SubCmd, | 
|---|
|  |  |  | self.State | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | return DumpString | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | m_NAtagMCNewXJSDRecharge=tagMCNewXJSDRecharge() | 
|---|
|  |  |  | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCNewXJSDRecharge.Cmd,m_NAtagMCNewXJSDRecharge.SubCmd))] = m_NAtagMCNewXJSDRecharge | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #------------------------------------------------------ | 
|---|
|  |  |  | # AA 05 充值排行特惠信息 #tagMCRechargeRankTeHuiInfo | 
|---|
|  |  |  |  | 
|---|
|  |  |  | class  tagMCRechargeRankTeHuiInfo(Structure): | 
|---|