hxp
2025-10-22 b6e2e296d9fd4fc7e503a852da6906a31f8e9088
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -17453,80 +17453,6 @@
#------------------------------------------------------
#A9 03 开服活动奖励数量刷新#tagGCOpenServerCampaignAwardCount
class  tagGCOpenServerCampaignAwardCount(Structure):
    Head = tagHead()
    CampaignType = 0    #(BYTE CampaignType)//奖励类型
    AwardTypeCount = 0    #(BYTE AwardTypeCount)//奖品种类数量
    GotCountList = list()    #(vector<DWORD> GotCountList)//奖品已领取数量列表,根据种类索引依次
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA9
        self.Head.SubCmd = 0x03
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.CampaignType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.AwardTypeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.AwardTypeCount):
            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
            self.GotCountList.append(value)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA9
        self.Head.SubCmd = 0x03
        self.CampaignType = 0
        self.AwardTypeCount = 0
        self.GotCountList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 1
        length += 4 * self.AwardTypeCount
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.CampaignType)
        data = CommFunc.WriteBYTE(data, self.AwardTypeCount)
        for i in range(self.AwardTypeCount):
            data = CommFunc.WriteDWORD(data, self.GotCountList[i])
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                CampaignType:%d,
                                AwardTypeCount:%d,
                                GotCountList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.CampaignType,
                                self.AwardTypeCount,
                                "..."
                                )
        return DumpString
m_NAtagGCOpenServerCampaignAwardCount=tagGCOpenServerCampaignAwardCount()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCOpenServerCampaignAwardCount.Head.Cmd,m_NAtagGCOpenServerCampaignAwardCount.Head.SubCmd))] = m_NAtagGCOpenServerCampaignAwardCount
#------------------------------------------------------
# A9 A2 排行榜信息#tagPYBillboardData
class  tagPYBillboardInfo(Structure):
@@ -31364,126 +31290,6 @@
m_NAtagMCBossRebornInfo=tagMCBossRebornInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCBossRebornInfo.Head.Cmd,m_NAtagMCBossRebornInfo.Head.SubCmd))] = m_NAtagMCBossRebornInfo
#------------------------------------------------------
# AB 17 开服活动奖励状态 #tagMCOpenServerCampaignAwardList
class  tagMCOpenServerCampaignAward(Structure):
    _pack_ = 1
    _fields_ = [
                  ("CampaignType", c_ubyte),    #奖励类型
                  ("BillAwardRecord", c_ubyte),    #排行奖励是否已领取
                  ("TagAwardRecord", c_int),    #目标奖励索引位领取记录:0-未领;1-已领
                  ("RecordData", c_int),    #活动时的记录值,求余亿部分,为了统一逻辑,其他非战力榜的也使用此规则
                  ("RecordDataEx", c_int),    #活动时的记录值,整除亿部分,1代表1亿
                  ]
    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.CampaignType = 0
        self.BillAwardRecord = 0
        self.TagAwardRecord = 0
        self.RecordData = 0
        self.RecordDataEx = 0
        return
    def GetLength(self):
        return sizeof(tagMCOpenServerCampaignAward)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AB 17 开服活动奖励状态 //tagMCOpenServerCampaignAwardList:
                                CampaignType:%d,
                                BillAwardRecord:%d,
                                TagAwardRecord:%d,
                                RecordData:%d,
                                RecordDataEx:%d
                                '''\
                                %(
                                self.CampaignType,
                                self.BillAwardRecord,
                                self.TagAwardRecord,
                                self.RecordData,
                                self.RecordDataEx
                                )
        return DumpString
class  tagMCOpenServerCampaignAwardList(Structure):
    Head = tagHead()
    OSCAwardCnt = 0    #(BYTE OSCAwardCnt)//奖励类型数
    OSCAwardList = list()    #(vector<tagMCOpenServerCampaignAward> OSCAwardList)// 奖励状态列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xAB
        self.Head.SubCmd = 0x17
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.OSCAwardCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.OSCAwardCnt):
            temOSCAwardList = tagMCOpenServerCampaignAward()
            _pos = temOSCAwardList.ReadData(_lpData, _pos)
            self.OSCAwardList.append(temOSCAwardList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xAB
        self.Head.SubCmd = 0x17
        self.OSCAwardCnt = 0
        self.OSCAwardList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        for i in range(self.OSCAwardCnt):
            length += self.OSCAwardList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.OSCAwardCnt)
        for i in range(self.OSCAwardCnt):
            data = CommFunc.WriteString(data, self.OSCAwardList[i].GetLength(), self.OSCAwardList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                OSCAwardCnt:%d,
                                OSCAwardList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.OSCAwardCnt,
                                "..."
                                )
        return DumpString
m_NAtagMCOpenServerCampaignAwardList=tagMCOpenServerCampaignAwardList()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCOpenServerCampaignAwardList.Head.Cmd,m_NAtagMCOpenServerCampaignAwardList.Head.SubCmd))] = m_NAtagMCOpenServerCampaignAwardList
#------------------------------------------------------