hxp
2023-08-01 8bb11f630222dfe8d264d915ca7b638167af95eb
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -29319,6 +29319,348 @@
#------------------------------------------------------
# AA 65 买一送多活动信息 #tagMCActBuyOneInfo
class  tagMCActBuyOneInfoFreeItem(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(tagMCActBuyOneInfoFreeItem)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AA 65 买一送多活动信息 //tagMCActBuyOneInfo:
                                ItemID:%d,
                                ItemCount:%d,
                                IsBind:%d
                                '''\
                                %(
                                self.ItemID,
                                self.ItemCount,
                                self.IsBind
                                )
        return DumpString
class  tagMCActBuyOneInfoFreeGift(Structure):
    FreeIndex = 0    #(BYTE FreeIndex)// 免费领取索引
    FreeItemCount = 0    #(BYTE FreeItemCount)// 免费礼包数
    FreeItemList = list()    #(vector<tagMCActBuyOneInfoFreeItem> FreeItemList)// 免费礼包列表
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.FreeIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.FreeItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.FreeItemCount):
            temFreeItemList = tagMCActBuyOneInfoFreeItem()
            _pos = temFreeItemList.ReadData(_lpData, _pos)
            self.FreeItemList.append(temFreeItemList)
        return _pos
    def Clear(self):
        self.FreeIndex = 0
        self.FreeItemCount = 0
        self.FreeItemList = list()
        return
    def GetLength(self):
        length = 0
        length += 1
        length += 1
        for i in range(self.FreeItemCount):
            length += self.FreeItemList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteBYTE(data, self.FreeIndex)
        data = CommFunc.WriteBYTE(data, self.FreeItemCount)
        for i in range(self.FreeItemCount):
            data = CommFunc.WriteString(data, self.FreeItemList[i].GetLength(), self.FreeItemList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                FreeIndex:%d,
                                FreeItemCount:%d,
                                FreeItemList:%s
                                '''\
                                %(
                                self.FreeIndex,
                                self.FreeItemCount,
                                "..."
                                )
        return DumpString
class  tagMCActBuyOneInfoGiftbag(Structure):
    CTGID = 0    #(DWORD CTGID)//所需充值ID
    RecordIndex = 0    #(BYTE RecordIndex)// 记录索引
    FreeGiftCount = 0    #(BYTE FreeGiftCount)// 免费礼包数
    FreeGiftList = list()    #(vector<tagMCActBuyOneInfoFreeGift> FreeGiftList)// 免费礼包列表
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.CTGID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.RecordIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.FreeGiftCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.FreeGiftCount):
            temFreeGiftList = tagMCActBuyOneInfoFreeGift()
            _pos = temFreeGiftList.ReadData(_lpData, _pos)
            self.FreeGiftList.append(temFreeGiftList)
        return _pos
    def Clear(self):
        self.CTGID = 0
        self.RecordIndex = 0
        self.FreeGiftCount = 0
        self.FreeGiftList = list()
        return
    def GetLength(self):
        length = 0
        length += 4
        length += 1
        length += 1
        for i in range(self.FreeGiftCount):
            length += self.FreeGiftList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteDWORD(data, self.CTGID)
        data = CommFunc.WriteBYTE(data, self.RecordIndex)
        data = CommFunc.WriteBYTE(data, self.FreeGiftCount)
        for i in range(self.FreeGiftCount):
            data = CommFunc.WriteString(data, self.FreeGiftList[i].GetLength(), self.FreeGiftList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                CTGID:%d,
                                RecordIndex:%d,
                                FreeGiftCount:%d,
                                FreeGiftList:%s
                                '''\
                                %(
                                self.CTGID,
                                self.RecordIndex,
                                self.FreeGiftCount,
                                "..."
                                )
        return DumpString
class  tagMCActBuyOneInfo(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)// 限制等级
    GiftbagCount = 0    #(BYTE GiftbagCount)// 活动礼包个数
    GiftbagList = list()    #(vector<tagMCActBuyOneInfoGiftbag> GiftbagList)// 礼包列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x65
        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.GiftbagCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.GiftbagCount):
            temGiftbagList = tagMCActBuyOneInfoGiftbag()
            _pos = temGiftbagList.ReadData(_lpData, _pos)
            self.GiftbagList.append(temGiftbagList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x65
        self.ActNum = 0
        self.StartDate = ""
        self.EndtDate = ""
        self.IsDayReset = 0
        self.LimitLV = 0
        self.GiftbagCount = 0
        self.GiftbagList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 10
        length += 10
        length += 1
        length += 2
        length += 1
        for i in range(self.GiftbagCount):
            length += self.GiftbagList[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.GiftbagCount)
        for i in range(self.GiftbagCount):
            data = CommFunc.WriteString(data, self.GiftbagList[i].GetLength(), self.GiftbagList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                ActNum:%d,
                                StartDate:%s,
                                EndtDate:%s,
                                IsDayReset:%d,
                                LimitLV:%d,
                                GiftbagCount:%d,
                                GiftbagList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.ActNum,
                                self.StartDate,
                                self.EndtDate,
                                self.IsDayReset,
                                self.LimitLV,
                                self.GiftbagCount,
                                "..."
                                )
        return DumpString
m_NAtagMCActBuyOneInfo=tagMCActBuyOneInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActBuyOneInfo.Head.Cmd,m_NAtagMCActBuyOneInfo.Head.SubCmd))] = m_NAtagMCActBuyOneInfo
#------------------------------------------------------
# AA 66 买一送多活动玩家信息 #tagMCActBuyOnePlayerInfo
class  tagMCActBuyOnePlayerInfo(Structure):
    Head = tagHead()
    ActNum = 0    #(BYTE ActNum)// 活动编号
    FreeRecordCount = 0    #(BYTE FreeRecordCount)// 免费礼包领奖记录个数
    FreeRecordList = list()    #(vector<DWORD> FreeRecordList)// 免费礼包领奖记录列表,按所需充值ID记录索引取记录,每个记录代表每个充值ID对应免费礼包的领取记录,按免费领取索引位运算记录是否已领取
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x66
        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.FreeRecordCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.FreeRecordCount):
            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
            self.FreeRecordList.append(value)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x66
        self.ActNum = 0
        self.FreeRecordCount = 0
        self.FreeRecordList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 1
        length += 4 * self.FreeRecordCount
        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.FreeRecordCount)
        for i in range(self.FreeRecordCount):
            data = CommFunc.WriteDWORD(data, self.FreeRecordList[i])
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                ActNum:%d,
                                FreeRecordCount:%d,
                                FreeRecordList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.ActNum,
                                self.FreeRecordCount,
                                "..."
                                )
        return DumpString
m_NAtagMCActBuyOnePlayerInfo=tagMCActBuyOnePlayerInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActBuyOnePlayerInfo.Head.Cmd,m_NAtagMCActBuyOnePlayerInfo.Head.SubCmd))] = m_NAtagMCActBuyOnePlayerInfo
#------------------------------------------------------
# AA 40 集字活动信息 #tagMCActCollectWordsInfo
class  tagMCActCollectWordsNeedItem(Structure):