|  |  | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  | #------------------------------------------------------
 | 
 |  |  | # AA 60 天帝礼包活动信息 #tagMCActGodGiftInfo
 | 
 |  |  | 
 | 
 |  |  | class  tagMCActGodGiftItem(Structure):
 | 
 |  |  |     _pack_ = 1
 | 
 |  |  |     _fields_ = [
 | 
 |  |  |                   ("ItemNum", c_ubyte),    # 物品在本库中的编号
 | 
 |  |  |                   ("ItemID", c_int),     | 
 |  |  |                   ("ItemCount", c_ushort),     | 
 |  |  |                   ("IsBind", c_ubyte),     | 
 |  |  |                   ("CanChooseTimes", c_ubyte),    #可选择次数,0代表不限次数
 | 
 |  |  |                   ("ChooseTimes", c_ubyte),    #已选次数
 | 
 |  |  |                   ("IsChoose", 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.ItemNum = 0
 | 
 |  |  |         self.ItemID = 0
 | 
 |  |  |         self.ItemCount = 0
 | 
 |  |  |         self.IsBind = 0
 | 
 |  |  |         self.CanChooseTimes = 0
 | 
 |  |  |         self.ChooseTimes = 0
 | 
 |  |  |         self.IsChoose = 0
 | 
 |  |  |         return
 | 
 |  |  | 
 | 
 |  |  |     def GetLength(self):
 | 
 |  |  |         return sizeof(tagMCActGodGiftItem)
 | 
 |  |  | 
 | 
 |  |  |     def GetBuffer(self):
 | 
 |  |  |         return string_at(addressof(self), self.GetLength())
 | 
 |  |  | 
 | 
 |  |  |     def OutputString(self):
 | 
 |  |  |         DumpString = '''// AA 60 天帝礼包活动信息 //tagMCActGodGiftInfo:
 | 
 |  |  |                                 ItemNum:%d,
 | 
 |  |  |                                 ItemID:%d,
 | 
 |  |  |                                 ItemCount:%d,
 | 
 |  |  |                                 IsBind:%d,
 | 
 |  |  |                                 CanChooseTimes:%d,
 | 
 |  |  |                                 ChooseTimes:%d,
 | 
 |  |  |                                 IsChoose:%d
 | 
 |  |  |                                 '''\
 | 
 |  |  |                                 %(
 | 
 |  |  |                                 self.ItemNum,
 | 
 |  |  |                                 self.ItemID,
 | 
 |  |  |                                 self.ItemCount,
 | 
 |  |  |                                 self.IsBind,
 | 
 |  |  |                                 self.CanChooseTimes,
 | 
 |  |  |                                 self.ChooseTimes,
 | 
 |  |  |                                 self.IsChoose
 | 
 |  |  |                                 )
 | 
 |  |  |         return DumpString
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  | class  tagMCActGodGiftItemLib(Structure):
 | 
 |  |  |     ItemLibType = 0    #(BYTE ItemLibType)//物品库类型
 | 
 |  |  |     ChooseItemCount = 0    #(BYTE ChooseItemCount)//可选择物品个数
 | 
 |  |  |     ChooseItemList = list()    #(vector<tagMCActGodGiftItem> ChooseItemList)//可选物品列表
 | 
 |  |  |     data = None
 | 
 |  |  | 
 | 
 |  |  |     def __init__(self):
 | 
 |  |  |         self.Clear()
 | 
 |  |  |         return
 | 
 |  |  | 
 | 
 |  |  |     def ReadData(self, _lpData, _pos=0, _Len=0):
 | 
 |  |  |         self.Clear()
 | 
 |  |  |         self.ItemLibType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         self.ChooseItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         for i in range(self.ChooseItemCount):
 | 
 |  |  |             temChooseItemList = tagMCActGodGiftItem()
 | 
 |  |  |             _pos = temChooseItemList.ReadData(_lpData, _pos)
 | 
 |  |  |             self.ChooseItemList.append(temChooseItemList)
 | 
 |  |  |         return _pos
 | 
 |  |  | 
 | 
 |  |  |     def Clear(self):
 | 
 |  |  |         self.ItemLibType = 0
 | 
 |  |  |         self.ChooseItemCount = 0
 | 
 |  |  |         self.ChooseItemList = list()
 | 
 |  |  |         return
 | 
 |  |  | 
 | 
 |  |  |     def GetLength(self):
 | 
 |  |  |         length = 0
 | 
 |  |  |         length += 1
 | 
 |  |  |         length += 1
 | 
 |  |  |         for i in range(self.ChooseItemCount):
 | 
 |  |  |             length += self.ChooseItemList[i].GetLength()
 | 
 |  |  | 
 | 
 |  |  |         return length
 | 
 |  |  | 
 | 
 |  |  |     def GetBuffer(self):
 | 
 |  |  |         data = ''
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.ItemLibType)
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.ChooseItemCount)
 | 
 |  |  |         for i in range(self.ChooseItemCount):
 | 
 |  |  |             data = CommFunc.WriteString(data, self.ChooseItemList[i].GetLength(), self.ChooseItemList[i].GetBuffer())
 | 
 |  |  |         return data
 | 
 |  |  | 
 | 
 |  |  |     def OutputString(self):
 | 
 |  |  |         DumpString = '''
 | 
 |  |  |                                 ItemLibType:%d,
 | 
 |  |  |                                 ChooseItemCount:%d,
 | 
 |  |  |                                 ChooseItemList:%s
 | 
 |  |  |                                 '''\
 | 
 |  |  |                                 %(
 | 
 |  |  |                                 self.ItemLibType,
 | 
 |  |  |                                 self.ChooseItemCount,
 | 
 |  |  |                                 "..."
 | 
 |  |  |                                 )
 | 
 |  |  |         return DumpString
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  | class  tagMCActGodGiftInfo(Structure):
 | 
 |  |  |     Head = tagHead()
 | 
 |  |  |     ActNum = 0    #(BYTE ActNum)// 活动编号
 | 
 |  |  |     StartDate = ""    #(char StartDate[10])// 开始日期 y-m-d
 | 
 |  |  |     EndtDate = ""    #(char EndtDate[10])// 结束日期 y-m-d
 | 
 |  |  |     IsDayReset = 0    #(BYTE IsDayReset)// 是否每日重置
 | 
 |  |  |     LimitLV = 0    #(WORD LimitLV)// 限制等级
 | 
 |  |  |     CostMoneyType = 0    #(BYTE CostMoneyType)//消耗货币类型
 | 
 |  |  |     CostMoneyValueCount = 0    #(BYTE CostMoneyValueCount)
 | 
 |  |  |     CostMoneyValueList = list()    #(vector<DWORD> CostMoneyValueList)//消耗货币值列表
 | 
 |  |  |     PrizeMoneyType = 0    #(BYTE PrizeMoneyType)//奖励货币类型
 | 
 |  |  |     PrizeMoneyValueCount = 0    #(BYTE PrizeMoneyValueCount)
 | 
 |  |  |     PrizeMoneyValueList = list()    #(vector<DWORD> PrizeMoneyValueList)//奖励货币值列表
 | 
 |  |  |     ResetLimitTimes = 0    #(BYTE ResetLimitTimes)//至少抽几次才可重置奖池
 | 
 |  |  |     ResetCountMax = 0    #(BYTE ResetCountMax)//最大可重置奖池次数
 | 
 |  |  |     IsAwardPoolOK = 0    #(BYTE IsAwardPoolOK)//奖池是否选择完毕,否的话需要先选择奖池才可抽奖
 | 
 |  |  |     ItemLibCount = 0    #(BYTE ItemLibCount)//奖池库个数	 | 
 |  |  |     ItemLibList = list()    #(vector<tagMCActGodGiftItemLib> ItemLibList)//奖池库信息列表
 | 
 |  |  |     data = None
 | 
 |  |  | 
 | 
 |  |  |     def __init__(self):
 | 
 |  |  |         self.Clear()
 | 
 |  |  |         self.Head.Cmd = 0xAA
 | 
 |  |  |         self.Head.SubCmd = 0x60
 | 
 |  |  |         return
 | 
 |  |  | 
 | 
 |  |  |     def ReadData(self, _lpData, _pos=0, _Len=0):
 | 
 |  |  |         self.Clear()
 | 
 |  |  |         _pos = self.Head.ReadData(_lpData, _pos)
 | 
 |  |  |         self.ActNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
 | 
 |  |  |         self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
 | 
 |  |  |         self.IsDayReset,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
 | 
 |  |  |         self.CostMoneyType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         self.CostMoneyValueCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         for i in range(self.CostMoneyValueCount):
 | 
 |  |  |             value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
 | 
 |  |  |             self.CostMoneyValueList.append(value)
 | 
 |  |  |         self.PrizeMoneyType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         self.PrizeMoneyValueCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         for i in range(self.PrizeMoneyValueCount):
 | 
 |  |  |             value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
 | 
 |  |  |             self.PrizeMoneyValueList.append(value)
 | 
 |  |  |         self.ResetLimitTimes,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         self.ResetCountMax,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         self.IsAwardPoolOK,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         self.ItemLibCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         for i in range(self.ItemLibCount):
 | 
 |  |  |             temItemLibList = tagMCActGodGiftItemLib()
 | 
 |  |  |             _pos = temItemLibList.ReadData(_lpData, _pos)
 | 
 |  |  |             self.ItemLibList.append(temItemLibList)
 | 
 |  |  |         return _pos
 | 
 |  |  | 
 | 
 |  |  |     def Clear(self):
 | 
 |  |  |         self.Head = tagHead()
 | 
 |  |  |         self.Head.Clear()
 | 
 |  |  |         self.Head.Cmd = 0xAA
 | 
 |  |  |         self.Head.SubCmd = 0x60
 | 
 |  |  |         self.ActNum = 0
 | 
 |  |  |         self.StartDate = ""
 | 
 |  |  |         self.EndtDate = ""
 | 
 |  |  |         self.IsDayReset = 0
 | 
 |  |  |         self.LimitLV = 0
 | 
 |  |  |         self.CostMoneyType = 0
 | 
 |  |  |         self.CostMoneyValueCount = 0
 | 
 |  |  |         self.CostMoneyValueList = list()
 | 
 |  |  |         self.PrizeMoneyType = 0
 | 
 |  |  |         self.PrizeMoneyValueCount = 0
 | 
 |  |  |         self.PrizeMoneyValueList = list()
 | 
 |  |  |         self.ResetLimitTimes = 0
 | 
 |  |  |         self.ResetCountMax = 0
 | 
 |  |  |         self.IsAwardPoolOK = 0
 | 
 |  |  |         self.ItemLibCount = 0
 | 
 |  |  |         self.ItemLibList = list()
 | 
 |  |  |         return
 | 
 |  |  | 
 | 
 |  |  |     def GetLength(self):
 | 
 |  |  |         length = 0
 | 
 |  |  |         length += self.Head.GetLength()
 | 
 |  |  |         length += 1
 | 
 |  |  |         length += 10
 | 
 |  |  |         length += 10
 | 
 |  |  |         length += 1
 | 
 |  |  |         length += 2
 | 
 |  |  |         length += 1
 | 
 |  |  |         length += 1
 | 
 |  |  |         length += 4 * self.CostMoneyValueCount
 | 
 |  |  |         length += 1
 | 
 |  |  |         length += 1
 | 
 |  |  |         length += 4 * self.PrizeMoneyValueCount
 | 
 |  |  |         length += 1
 | 
 |  |  |         length += 1
 | 
 |  |  |         length += 1
 | 
 |  |  |         length += 1
 | 
 |  |  |         for i in range(self.ItemLibCount):
 | 
 |  |  |             length += self.ItemLibList[i].GetLength()
 | 
 |  |  | 
 | 
 |  |  |         return length
 | 
 |  |  | 
 | 
 |  |  |     def GetBuffer(self):
 | 
 |  |  |         data = ''
 | 
 |  |  |         data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.ActNum)
 | 
 |  |  |         data = CommFunc.WriteString(data, 10, self.StartDate)
 | 
 |  |  |         data = CommFunc.WriteString(data, 10, self.EndtDate)
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.IsDayReset)
 | 
 |  |  |         data = CommFunc.WriteWORD(data, self.LimitLV)
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.CostMoneyType)
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.CostMoneyValueCount)
 | 
 |  |  |         for i in range(self.CostMoneyValueCount):
 | 
 |  |  |             data = CommFunc.WriteDWORD(data, self.CostMoneyValueList[i])
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.PrizeMoneyType)
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.PrizeMoneyValueCount)
 | 
 |  |  |         for i in range(self.PrizeMoneyValueCount):
 | 
 |  |  |             data = CommFunc.WriteDWORD(data, self.PrizeMoneyValueList[i])
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.ResetLimitTimes)
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.ResetCountMax)
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.IsAwardPoolOK)
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.ItemLibCount)
 | 
 |  |  |         for i in range(self.ItemLibCount):
 | 
 |  |  |             data = CommFunc.WriteString(data, self.ItemLibList[i].GetLength(), self.ItemLibList[i].GetBuffer())
 | 
 |  |  |         return data
 | 
 |  |  | 
 | 
 |  |  |     def OutputString(self):
 | 
 |  |  |         DumpString = '''
 | 
 |  |  |                                 Head:%s,
 | 
 |  |  |                                 ActNum:%d,
 | 
 |  |  |                                 StartDate:%s,
 | 
 |  |  |                                 EndtDate:%s,
 | 
 |  |  |                                 IsDayReset:%d,
 | 
 |  |  |                                 LimitLV:%d,
 | 
 |  |  |                                 CostMoneyType:%d,
 | 
 |  |  |                                 CostMoneyValueCount:%d,
 | 
 |  |  |                                 CostMoneyValueList:%s,
 | 
 |  |  |                                 PrizeMoneyType:%d,
 | 
 |  |  |                                 PrizeMoneyValueCount:%d,
 | 
 |  |  |                                 PrizeMoneyValueList:%s,
 | 
 |  |  |                                 ResetLimitTimes:%d,
 | 
 |  |  |                                 ResetCountMax:%d,
 | 
 |  |  |                                 IsAwardPoolOK:%d,
 | 
 |  |  |                                 ItemLibCount:%d,
 | 
 |  |  |                                 ItemLibList:%s
 | 
 |  |  |                                 '''\
 | 
 |  |  |                                 %(
 | 
 |  |  |                                 self.Head.OutputString(),
 | 
 |  |  |                                 self.ActNum,
 | 
 |  |  |                                 self.StartDate,
 | 
 |  |  |                                 self.EndtDate,
 | 
 |  |  |                                 self.IsDayReset,
 | 
 |  |  |                                 self.LimitLV,
 | 
 |  |  |                                 self.CostMoneyType,
 | 
 |  |  |                                 self.CostMoneyValueCount,
 | 
 |  |  |                                 "...",
 | 
 |  |  |                                 self.PrizeMoneyType,
 | 
 |  |  |                                 self.PrizeMoneyValueCount,
 | 
 |  |  |                                 "...",
 | 
 |  |  |                                 self.ResetLimitTimes,
 | 
 |  |  |                                 self.ResetCountMax,
 | 
 |  |  |                                 self.IsAwardPoolOK,
 | 
 |  |  |                                 self.ItemLibCount,
 | 
 |  |  |                                 "..."
 | 
 |  |  |                                 )
 | 
 |  |  |         return DumpString
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  | m_NAtagMCActGodGiftInfo=tagMCActGodGiftInfo()
 | 
 |  |  | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActGodGiftInfo.Head.Cmd,m_NAtagMCActGodGiftInfo.Head.SubCmd))] = m_NAtagMCActGodGiftInfo
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  | #------------------------------------------------------
 | 
 |  |  | # AA 61 天帝礼包活动玩家信息 #tagMCActGodGiftPlayerInfo
 | 
 |  |  | 
 | 
 |  |  | class  tagMCActGodGiftAwardItem(Structure):
 | 
 |  |  |     _pack_ = 1
 | 
 |  |  |     _fields_ = [
 | 
 |  |  |                   ("ItemLibType", c_ubyte),    #物品库类型
 | 
 |  |  |                   ("ItemNum", 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.ItemLibType = 0
 | 
 |  |  |         self.ItemNum = 0
 | 
 |  |  |         return
 | 
 |  |  | 
 | 
 |  |  |     def GetLength(self):
 | 
 |  |  |         return sizeof(tagMCActGodGiftAwardItem)
 | 
 |  |  | 
 | 
 |  |  |     def GetBuffer(self):
 | 
 |  |  |         return string_at(addressof(self), self.GetLength())
 | 
 |  |  | 
 | 
 |  |  |     def OutputString(self):
 | 
 |  |  |         DumpString = '''// AA 61 天帝礼包活动玩家信息 //tagMCActGodGiftPlayerInfo:
 | 
 |  |  |                                 ItemLibType:%d,
 | 
 |  |  |                                 ItemNum:%d
 | 
 |  |  |                                 '''\
 | 
 |  |  |                                 %(
 | 
 |  |  |                                 self.ItemLibType,
 | 
 |  |  |                                 self.ItemNum
 | 
 |  |  |                                 )
 | 
 |  |  |         return DumpString
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  | class  tagMCActGodGiftPlayerInfo(Structure):
 | 
 |  |  |     Head = tagHead()
 | 
 |  |  |     ActNum = 0    #(BYTE ActNum)// 活动编号
 | 
 |  |  |     ResetCount = 0    #(BYTE ResetCount)// 本次活动已重置次数
 | 
 |  |  |     AwardItemCount = 0    #(BYTE AwardItemCount)// 本次奖池已抽中奖品个数,也代表本次奖池已抽奖次数
 | 
 |  |  |     AwardItemList = list()    #(vector<tagMCActGodGiftAwardItem> AwardItemList)// 本次奖池已抽中物品列表
 | 
 |  |  |     data = None
 | 
 |  |  | 
 | 
 |  |  |     def __init__(self):
 | 
 |  |  |         self.Clear()
 | 
 |  |  |         self.Head.Cmd = 0xAA
 | 
 |  |  |         self.Head.SubCmd = 0x61
 | 
 |  |  |         return
 | 
 |  |  | 
 | 
 |  |  |     def ReadData(self, _lpData, _pos=0, _Len=0):
 | 
 |  |  |         self.Clear()
 | 
 |  |  |         _pos = self.Head.ReadData(_lpData, _pos)
 | 
 |  |  |         self.ActNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         self.ResetCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         self.AwardItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         for i in range(self.AwardItemCount):
 | 
 |  |  |             temAwardItemList = tagMCActGodGiftAwardItem()
 | 
 |  |  |             _pos = temAwardItemList.ReadData(_lpData, _pos)
 | 
 |  |  |             self.AwardItemList.append(temAwardItemList)
 | 
 |  |  |         return _pos
 | 
 |  |  | 
 | 
 |  |  |     def Clear(self):
 | 
 |  |  |         self.Head = tagHead()
 | 
 |  |  |         self.Head.Clear()
 | 
 |  |  |         self.Head.Cmd = 0xAA
 | 
 |  |  |         self.Head.SubCmd = 0x61
 | 
 |  |  |         self.ActNum = 0
 | 
 |  |  |         self.ResetCount = 0
 | 
 |  |  |         self.AwardItemCount = 0
 | 
 |  |  |         self.AwardItemList = list()
 | 
 |  |  |         return
 | 
 |  |  | 
 | 
 |  |  |     def GetLength(self):
 | 
 |  |  |         length = 0
 | 
 |  |  |         length += self.Head.GetLength()
 | 
 |  |  |         length += 1
 | 
 |  |  |         length += 1
 | 
 |  |  |         length += 1
 | 
 |  |  |         for i in range(self.AwardItemCount):
 | 
 |  |  |             length += self.AwardItemList[i].GetLength()
 | 
 |  |  | 
 | 
 |  |  |         return length
 | 
 |  |  | 
 | 
 |  |  |     def GetBuffer(self):
 | 
 |  |  |         data = ''
 | 
 |  |  |         data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.ActNum)
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.ResetCount)
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.AwardItemCount)
 | 
 |  |  |         for i in range(self.AwardItemCount):
 | 
 |  |  |             data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
 | 
 |  |  |         return data
 | 
 |  |  | 
 | 
 |  |  |     def OutputString(self):
 | 
 |  |  |         DumpString = '''
 | 
 |  |  |                                 Head:%s,
 | 
 |  |  |                                 ActNum:%d,
 | 
 |  |  |                                 ResetCount:%d,
 | 
 |  |  |                                 AwardItemCount:%d,
 | 
 |  |  |                                 AwardItemList:%s
 | 
 |  |  |                                 '''\
 | 
 |  |  |                                 %(
 | 
 |  |  |                                 self.Head.OutputString(),
 | 
 |  |  |                                 self.ActNum,
 | 
 |  |  |                                 self.ResetCount,
 | 
 |  |  |                                 self.AwardItemCount,
 | 
 |  |  |                                 "..."
 | 
 |  |  |                                 )
 | 
 |  |  |         return DumpString
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  | m_NAtagMCActGodGiftPlayerInfo=tagMCActGodGiftPlayerInfo()
 | 
 |  |  | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActGodGiftPlayerInfo.Head.Cmd,m_NAtagMCActGodGiftPlayerInfo.Head.SubCmd))] = m_NAtagMCActGodGiftPlayerInfo
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  | #------------------------------------------------------
 | 
 |  |  | # AA 31 成长必买活动信息 #tagMCActGrowupBuyInfo
 | 
 |  |  | 
 | 
 |  |  | class  tagMCActGrowupBuyCTGItem(Structure):
 |