hxp
2024-06-04 a3fbff8a36974ed768a55eadd353f3d3752f5699
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -33422,6 +33422,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("ActNum", c_ubyte),    # 活动编号
                  ("LoginAward", c_int),    # 是否已领取,按天索引0代表第1天记录当天是否已领取
                  ]
@@ -33439,6 +33440,7 @@
    def Clear(self):
        self.Cmd = 0xAA
        self.SubCmd = 0x70
        self.ActNum = 0
        self.LoginAward = 0
        return
@@ -33452,11 +33454,13 @@
        DumpString = '''// AA 70 登录活动玩家信息新 //tagMCActLoginPlayerInfoNew:
                                Cmd:%s,
                                SubCmd:%s,
                                ActNum:%d,
                                LoginAward:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.ActNum,
                                self.LoginAward
                                )
        return DumpString
@@ -34792,6 +34796,420 @@
#------------------------------------------------------
# AA 71 任务活动信息 #tagMCActTaskInfo
class  tagMCActTaskItem(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(tagMCActTaskItem)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AA 71 任务活动信息 //tagMCActTaskInfo:
                                ItemID:%d,
                                ItemCount:%d,
                                IsBind:%d
                                '''\
                                %(
                                self.ItemID,
                                self.ItemCount,
                                self.IsBind
                                )
        return DumpString
class  tagMCActTask(Structure):
    TaskID = 0    #(DWORD TaskID)// 任务ID,1~n
    TaskType = 0    #(BYTE TaskType)// 任务类型
    NeedValue = 0    #(DWORD NeedValue)// 完成任务所需值
    Count = 0    #(BYTE Count)// 奖励物品数
    AwardItemList = list()    #(vector<tagMCActTaskItem> AwardItemList)// 奖励物品列表
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.TaskID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.TaskType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.NeedValue,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.Count):
            temAwardItemList = tagMCActTaskItem()
            _pos = temAwardItemList.ReadData(_lpData, _pos)
            self.AwardItemList.append(temAwardItemList)
        return _pos
    def Clear(self):
        self.TaskID = 0
        self.TaskType = 0
        self.NeedValue = 0
        self.Count = 0
        self.AwardItemList = list()
        return
    def GetLength(self):
        length = 0
        length += 4
        length += 1
        length += 4
        length += 1
        for i in range(self.Count):
            length += self.AwardItemList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteDWORD(data, self.TaskID)
        data = CommFunc.WriteBYTE(data, self.TaskType)
        data = CommFunc.WriteDWORD(data, self.NeedValue)
        data = CommFunc.WriteBYTE(data, self.Count)
        for i in range(self.Count):
            data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                TaskID:%d,
                                TaskType:%d,
                                NeedValue:%d,
                                Count:%d,
                                AwardItemList:%s
                                '''\
                                %(
                                self.TaskID,
                                self.TaskType,
                                self.NeedValue,
                                self.Count,
                                "..."
                                )
        return DumpString
class  tagMCActTaskInfo(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)// 是否每天重置
    ResetType = 0    #(BYTE ResetType)// 重置类型,0-0点重置;1-5点重置
    LimitLV = 0    #(WORD LimitLV)// 限制等级
    TaskCount = 0    #(BYTE TaskCount)
    TaskList = list()    #(vector<tagMCActTask> TaskList)// 任务列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x71
        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.ResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.TaskCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.TaskCount):
            temTaskList = tagMCActTask()
            _pos = temTaskList.ReadData(_lpData, _pos)
            self.TaskList.append(temTaskList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x71
        self.ActNum = 0
        self.StartDate = ""
        self.EndtDate = ""
        self.IsDayReset = 0
        self.ResetType = 0
        self.LimitLV = 0
        self.TaskCount = 0
        self.TaskList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 10
        length += 10
        length += 1
        length += 1
        length += 2
        length += 1
        for i in range(self.TaskCount):
            length += self.TaskList[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.WriteBYTE(data, self.ResetType)
        data = CommFunc.WriteWORD(data, self.LimitLV)
        data = CommFunc.WriteBYTE(data, self.TaskCount)
        for i in range(self.TaskCount):
            data = CommFunc.WriteString(data, self.TaskList[i].GetLength(), self.TaskList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                ActNum:%d,
                                StartDate:%s,
                                EndtDate:%s,
                                IsDayReset:%d,
                                ResetType:%d,
                                LimitLV:%d,
                                TaskCount:%d,
                                TaskList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.ActNum,
                                self.StartDate,
                                self.EndtDate,
                                self.IsDayReset,
                                self.ResetType,
                                self.LimitLV,
                                self.TaskCount,
                                "..."
                                )
        return DumpString
m_NAtagMCActTaskInfo=tagMCActTaskInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActTaskInfo.Head.Cmd,m_NAtagMCActTaskInfo.Head.SubCmd))] = m_NAtagMCActTaskInfo
#------------------------------------------------------
# AA 73 任务活动玩家信息 #tagMCActTaskPlayerInfo
class  tagMCActTaskPlayerInfo(Structure):
    Head = tagHead()
    ActNum = 0    #(BYTE ActNum)// 活动编号
    AwardCount = 0    #(BYTE AwardCount)
    AwardRecordList = list()    #(vector<DWORD> AwardRecordList)// 任务ID领奖记录值列表,根据任务ID位判断是否已领取,一个记录值存31位 [记录值0, 记录值1, ...]
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x73
        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.AwardCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.AwardCount):
            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
            self.AwardRecordList.append(value)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x73
        self.ActNum = 0
        self.AwardCount = 0
        self.AwardRecordList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 1
        length += 4 * self.AwardCount
        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.AwardCount)
        for i in range(self.AwardCount):
            data = CommFunc.WriteDWORD(data, self.AwardRecordList[i])
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                ActNum:%d,
                                AwardCount:%d,
                                AwardRecordList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.ActNum,
                                self.AwardCount,
                                "..."
                                )
        return DumpString
m_NAtagMCActTaskPlayerInfo=tagMCActTaskPlayerInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActTaskPlayerInfo.Head.Cmd,m_NAtagMCActTaskPlayerInfo.Head.SubCmd))] = m_NAtagMCActTaskPlayerInfo
#------------------------------------------------------
# AA 72 任务活动玩家任务值 #tagMCActTaskPlayerValueInfo
class  tagMCActTaskPlayerValue(Structure):
    _pack_ = 1
    _fields_ = [
                  ("TaskType", c_ubyte),    # 任务类型
                  ("TaskValue", 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.TaskType = 0
        self.TaskValue = 0
        return
    def GetLength(self):
        return sizeof(tagMCActTaskPlayerValue)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AA 72 任务活动玩家任务值 //tagMCActTaskPlayerValueInfo:
                                TaskType:%d,
                                TaskValue:%d
                                '''\
                                %(
                                self.TaskType,
                                self.TaskValue
                                )
        return DumpString
class  tagMCActTaskPlayerValueInfo(Structure):
    Head = tagHead()
    ActNum = 0    #(BYTE ActNum)// 活动编号
    TaskCount = 0    #(BYTE TaskCount)
    TaskValueList = list()    #(vector<tagMCActTaskPlayerValue> TaskValueList)// 有同步的任务类型直接覆盖即可
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x72
        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.TaskCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.TaskCount):
            temTaskValueList = tagMCActTaskPlayerValue()
            _pos = temTaskValueList.ReadData(_lpData, _pos)
            self.TaskValueList.append(temTaskValueList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x72
        self.ActNum = 0
        self.TaskCount = 0
        self.TaskValueList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 1
        for i in range(self.TaskCount):
            length += self.TaskValueList[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.TaskCount)
        for i in range(self.TaskCount):
            data = CommFunc.WriteString(data, self.TaskValueList[i].GetLength(), self.TaskValueList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                ActNum:%d,
                                TaskCount:%d,
                                TaskValueList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.ActNum,
                                self.TaskCount,
                                "..."
                                )
        return DumpString
m_NAtagMCActTaskPlayerValueInfo=tagMCActTaskPlayerValueInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActTaskPlayerValueInfo.Head.Cmd,m_NAtagMCActTaskPlayerValueInfo.Head.SubCmd))] = m_NAtagMCActTaskPlayerValueInfo
#------------------------------------------------------
# AA 1D 累计充值活动信息 #tagMCActTotalRechargeInfo
class  tagMCTotalRechargeAwardItem(Structure):