hxp
2020-09-08 92b3290923b12d9beb46f3fcefd38f84e159ffab
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -23884,6 +23884,353 @@
#------------------------------------------------------
# AA 40 集字活动信息 #tagMCActCollectWordsInfo
class  tagMCActCollectWordsNeedItem(Structure):
    _pack_ = 1
    _fields_ = [
                  ("ItemID", c_int),
                  ("ItemCount", 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.ItemID = 0
        self.ItemCount = 0
        self.IsBind = 0
        return
    def GetLength(self):
        return sizeof(tagMCActCollectWordsNeedItem)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AA 40 集字活动信息 //tagMCActCollectWordsInfo:
                                ItemID:%d,
                                ItemCount:%d,
                                IsBind:%d
                                '''\
                                %(
                                self.ItemID,
                                self.ItemCount,
                                self.IsBind
                                )
        return DumpString
class  tagMCActCollectWordsExchangeItem(Structure):
    ExchangeNum = 0    #(BYTE ExchangeNum)//兑换编号
    ExchangeCountMax = 0    #(BYTE ExchangeCountMax)//最大兑换次数,0不限制
    ItemID = 0    #(DWORD ItemID)//目标物品
    ItemCount = 0    #(WORD ItemCount)
    IsBind = 0    #(BYTE IsBind)
    NeedItemCount = 0    #(BYTE NeedItemCount)
    NeedItemList = list()    #(vector<tagMCActCollectWordsNeedItem> NeedItemList)// 所需物品列表
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.ExchangeNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.ExchangeCountMax,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.IsBind,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.NeedItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.NeedItemCount):
            temNeedItemList = tagMCActCollectWordsNeedItem()
            _pos = temNeedItemList.ReadData(_lpData, _pos)
            self.NeedItemList.append(temNeedItemList)
        return _pos
    def Clear(self):
        self.ExchangeNum = 0
        self.ExchangeCountMax = 0
        self.ItemID = 0
        self.ItemCount = 0
        self.IsBind = 0
        self.NeedItemCount = 0
        self.NeedItemList = list()
        return
    def GetLength(self):
        length = 0
        length += 1
        length += 1
        length += 4
        length += 2
        length += 1
        length += 1
        for i in range(self.NeedItemCount):
            length += self.NeedItemList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteBYTE(data, self.ExchangeNum)
        data = CommFunc.WriteBYTE(data, self.ExchangeCountMax)
        data = CommFunc.WriteDWORD(data, self.ItemID)
        data = CommFunc.WriteWORD(data, self.ItemCount)
        data = CommFunc.WriteBYTE(data, self.IsBind)
        data = CommFunc.WriteBYTE(data, self.NeedItemCount)
        for i in range(self.NeedItemCount):
            data = CommFunc.WriteString(data, self.NeedItemList[i].GetLength(), self.NeedItemList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                ExchangeNum:%d,
                                ExchangeCountMax:%d,
                                ItemID:%d,
                                ItemCount:%d,
                                IsBind:%d,
                                NeedItemCount:%d,
                                NeedItemList:%s
                                '''\
                                %(
                                self.ExchangeNum,
                                self.ExchangeCountMax,
                                self.ItemID,
                                self.ItemCount,
                                self.IsBind,
                                self.NeedItemCount,
                                "..."
                                )
        return DumpString
class  tagMCActCollectWordsInfo(Structure):
    Head = tagHead()
    ActNum = 0    #(BYTE ActNum)//活动编号,1 或 2,相互独立的活动,可同时开启
    StartDate = ""    #(char StartDate[10])// 开始日期 y-m-d
    EndtDate = ""    #(char EndtDate[10])// 结束日期 y-m-d
    LimitLV = 0    #(WORD LimitLV)// 限制等级
    LastDayOnlyExchange = 0    #(BYTE LastDayOnlyExchange)//最后一天是否仅兑换
    ExchangeCount = 0    #(BYTE ExchangeCount)
    ExchangeItemList = list()    #(vector<tagMCActCollectWordsExchangeItem> ExchangeItemList)//兑换组合列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x40
        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.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.LastDayOnlyExchange,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.ExchangeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.ExchangeCount):
            temExchangeItemList = tagMCActCollectWordsExchangeItem()
            _pos = temExchangeItemList.ReadData(_lpData, _pos)
            self.ExchangeItemList.append(temExchangeItemList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x40
        self.ActNum = 0
        self.StartDate = ""
        self.EndtDate = ""
        self.LimitLV = 0
        self.LastDayOnlyExchange = 0
        self.ExchangeCount = 0
        self.ExchangeItemList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 10
        length += 10
        length += 2
        length += 1
        length += 1
        for i in range(self.ExchangeCount):
            length += self.ExchangeItemList[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.WriteWORD(data, self.LimitLV)
        data = CommFunc.WriteBYTE(data, self.LastDayOnlyExchange)
        data = CommFunc.WriteBYTE(data, self.ExchangeCount)
        for i in range(self.ExchangeCount):
            data = CommFunc.WriteString(data, self.ExchangeItemList[i].GetLength(), self.ExchangeItemList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                ActNum:%d,
                                StartDate:%s,
                                EndtDate:%s,
                                LimitLV:%d,
                                LastDayOnlyExchange:%d,
                                ExchangeCount:%d,
                                ExchangeItemList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.ActNum,
                                self.StartDate,
                                self.EndtDate,
                                self.LimitLV,
                                self.LastDayOnlyExchange,
                                self.ExchangeCount,
                                "..."
                                )
        return DumpString
m_NAtagMCActCollectWordsInfo=tagMCActCollectWordsInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActCollectWordsInfo.Head.Cmd,m_NAtagMCActCollectWordsInfo.Head.SubCmd))] = m_NAtagMCActCollectWordsInfo
#------------------------------------------------------
# AA 41 集字活动玩家信息 #tagMCActCollectWordsPlayerInfo
class  tagMCActCollectWordsExchangeInfo(Structure):
    _pack_ = 1
    _fields_ = [
                  ("ExchangeNum", c_ubyte),    #兑换编号
                  ("ExchangeCount", 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.ExchangeNum = 0
        self.ExchangeCount = 0
        return
    def GetLength(self):
        return sizeof(tagMCActCollectWordsExchangeInfo)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AA 41 集字活动玩家信息 //tagMCActCollectWordsPlayerInfo:
                                ExchangeNum:%d,
                                ExchangeCount:%d
                                '''\
                                %(
                                self.ExchangeNum,
                                self.ExchangeCount
                                )
        return DumpString
class  tagMCActCollectWordsPlayerInfo(Structure):
    Head = tagHead()
    ActNum = 0    #(BYTE ActNum)//活动编号,1 或 2,相互独立的活动,可同时开启
    ExchangeCount = 0    #(BYTE ExchangeCount)
    ExchangeInfoList = list()    #(vector<tagMCActCollectWordsExchangeInfo> ExchangeInfoList)//兑换数据列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x41
        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.ExchangeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.ExchangeCount):
            temExchangeInfoList = tagMCActCollectWordsExchangeInfo()
            _pos = temExchangeInfoList.ReadData(_lpData, _pos)
            self.ExchangeInfoList.append(temExchangeInfoList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x41
        self.ActNum = 0
        self.ExchangeCount = 0
        self.ExchangeInfoList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 1
        for i in range(self.ExchangeCount):
            length += self.ExchangeInfoList[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.ExchangeCount)
        for i in range(self.ExchangeCount):
            data = CommFunc.WriteString(data, self.ExchangeInfoList[i].GetLength(), self.ExchangeInfoList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                ActNum:%d,
                                ExchangeCount:%d,
                                ExchangeInfoList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.ActNum,
                                self.ExchangeCount,
                                "..."
                                )
        return DumpString
m_NAtagMCActCollectWordsPlayerInfo=tagMCActCollectWordsPlayerInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActCollectWordsPlayerInfo.Head.Cmd,m_NAtagMCActCollectWordsPlayerInfo.Head.SubCmd))] = m_NAtagMCActCollectWordsPlayerInfo
#------------------------------------------------------
# AA 0C 登录奖励活动信息 #tagMCActLoginAwardInfo
class  tagMCActLoginAwardAction(Structure):