ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -12288,6 +12288,290 @@
#------------------------------------------------------
# C0 09 跨服战场玩家购买战场信息 #tagGCCrossBattlefieldBuyInfo
class  tagGCCrossBattlefieldPlayer(Structure):
    PlayerID = 0    #(DWORD PlayerID)
    PlayerName = ""    #(char PlayerName[33])
    Job = 0    #(BYTE Job)
    LV = 0    #(WORD LV)//等级
    RealmLV = 0    #(WORD RealmLV)//境界
    FightPower = 0    #(DWORD FightPower)//战力求余亿部分
    FightPowerEx = 0    #(DWORD FightPowerEx)//战力整除亿部分
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.PlayerName,_pos = CommFunc.ReadString(_lpData, _pos,33)
        self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.FightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FightPowerEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        return _pos
    def Clear(self):
        self.PlayerID = 0
        self.PlayerName = ""
        self.Job = 0
        self.LV = 0
        self.RealmLV = 0
        self.FightPower = 0
        self.FightPowerEx = 0
        return
    def GetLength(self):
        length = 0
        length += 4
        length += 33
        length += 1
        length += 2
        length += 2
        length += 4
        length += 4
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteDWORD(data, self.PlayerID)
        data = CommFunc.WriteString(data, 33, self.PlayerName)
        data = CommFunc.WriteBYTE(data, self.Job)
        data = CommFunc.WriteWORD(data, self.LV)
        data = CommFunc.WriteWORD(data, self.RealmLV)
        data = CommFunc.WriteDWORD(data, self.FightPower)
        data = CommFunc.WriteDWORD(data, self.FightPowerEx)
        return data
    def OutputString(self):
        DumpString = '''
                                PlayerID:%d,
                                PlayerName:%s,
                                Job:%d,
                                LV:%d,
                                RealmLV:%d,
                                FightPower:%d,
                                FightPowerEx:%d
                                '''\
                                %(
                                self.PlayerID,
                                self.PlayerName,
                                self.Job,
                                self.LV,
                                self.RealmLV,
                                self.FightPower,
                                self.FightPowerEx
                                )
        return DumpString
class  tagGCCrossBattlefieldBuyPlayer(Structure):
    BuyPlayerID = 0    #(DWORD BuyPlayerID)//购买的玩家ID,即召集人
    Faction = 0    #(BYTE Faction)//阵营 1-红;2-蓝
    ServerOnly = 0    #(BYTE ServerOnly)//是否仅本服玩家可加入,0-否,1-是
    FactionPlayerCount = 0    #(BYTE FactionPlayerCount)
    FactionPlayerList = list()    #(vector<tagGCCrossBattlefieldPlayer> FactionPlayerList)//阵营所有玩家列表,包含召集人
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.BuyPlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.Faction,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.ServerOnly,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.FactionPlayerCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.FactionPlayerCount):
            temFactionPlayerList = tagGCCrossBattlefieldPlayer()
            _pos = temFactionPlayerList.ReadData(_lpData, _pos)
            self.FactionPlayerList.append(temFactionPlayerList)
        return _pos
    def Clear(self):
        self.BuyPlayerID = 0
        self.Faction = 0
        self.ServerOnly = 0
        self.FactionPlayerCount = 0
        self.FactionPlayerList = list()
        return
    def GetLength(self):
        length = 0
        length += 4
        length += 1
        length += 1
        length += 1
        for i in range(self.FactionPlayerCount):
            length += self.FactionPlayerList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteDWORD(data, self.BuyPlayerID)
        data = CommFunc.WriteBYTE(data, self.Faction)
        data = CommFunc.WriteBYTE(data, self.ServerOnly)
        data = CommFunc.WriteBYTE(data, self.FactionPlayerCount)
        for i in range(self.FactionPlayerCount):
            data = CommFunc.WriteString(data, self.FactionPlayerList[i].GetLength(), self.FactionPlayerList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                BuyPlayerID:%d,
                                Faction:%d,
                                ServerOnly:%d,
                                FactionPlayerCount:%d,
                                FactionPlayerList:%s
                                '''\
                                %(
                                self.BuyPlayerID,
                                self.Faction,
                                self.ServerOnly,
                                self.FactionPlayerCount,
                                "..."
                                )
        return DumpString
class  tagGCCrossBattlefieldBuyHM(Structure):
    Hour = 0    #(BYTE Hour)//战场开启时
    Minute = 0    #(BYTE Minute)//战场开启分
    BuyPlayerCount = 0    #(BYTE BuyPlayerCount)
    BuyPlayerList = list()    #(vector<tagGCCrossBattlefieldBuyPlayer> BuyPlayerList)//购买本场次的玩家信息列表
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.Hour,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.Minute,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.BuyPlayerCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.BuyPlayerCount):
            temBuyPlayerList = tagGCCrossBattlefieldBuyPlayer()
            _pos = temBuyPlayerList.ReadData(_lpData, _pos)
            self.BuyPlayerList.append(temBuyPlayerList)
        return _pos
    def Clear(self):
        self.Hour = 0
        self.Minute = 0
        self.BuyPlayerCount = 0
        self.BuyPlayerList = list()
        return
    def GetLength(self):
        length = 0
        length += 1
        length += 1
        length += 1
        for i in range(self.BuyPlayerCount):
            length += self.BuyPlayerList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteBYTE(data, self.Hour)
        data = CommFunc.WriteBYTE(data, self.Minute)
        data = CommFunc.WriteBYTE(data, self.BuyPlayerCount)
        for i in range(self.BuyPlayerCount):
            data = CommFunc.WriteString(data, self.BuyPlayerList[i].GetLength(), self.BuyPlayerList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Hour:%d,
                                Minute:%d,
                                BuyPlayerCount:%d,
                                BuyPlayerList:%s
                                '''\
                                %(
                                self.Hour,
                                self.Minute,
                                self.BuyPlayerCount,
                                "..."
                                )
        return DumpString
class  tagGCCrossBattlefieldBuyInfo(Structure):
    Head = tagHead()
    HMCount = 0    #(BYTE HMCount)// 为0时清空重置,其他为增量更新
    HMBuyList = list()    #(vector<tagGCCrossBattlefieldBuyHM> HMBuyList)//购买场次列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xC0
        self.Head.SubCmd = 0x09
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.HMCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.HMCount):
            temHMBuyList = tagGCCrossBattlefieldBuyHM()
            _pos = temHMBuyList.ReadData(_lpData, _pos)
            self.HMBuyList.append(temHMBuyList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xC0
        self.Head.SubCmd = 0x09
        self.HMCount = 0
        self.HMBuyList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        for i in range(self.HMCount):
            length += self.HMBuyList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.HMCount)
        for i in range(self.HMCount):
            data = CommFunc.WriteString(data, self.HMBuyList[i].GetLength(), self.HMBuyList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                HMCount:%d,
                                HMBuyList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.HMCount,
                                "..."
                                )
        return DumpString
m_NAtagGCCrossBattlefieldBuyInfo=tagGCCrossBattlefieldBuyInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCCrossBattlefieldBuyInfo.Head.Cmd,m_NAtagGCCrossBattlefieldBuyInfo.Head.SubCmd))] = m_NAtagGCCrossBattlefieldBuyInfo
#------------------------------------------------------
# C0 07 跨服排行榜信息 #tagGCCrossBillboardInfo
class  tagGCCrossBillboardData(Structure):
@@ -19052,6 +19336,62 @@
m_NAtagMCInvestInfo=tagMCInvestInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCInvestInfo.Head.Cmd,m_NAtagMCInvestInfo.Head.SubCmd))] = m_NAtagMCInvestInfo
#------------------------------------------------------
# A3 55 炼体信息 #tagMCLianTiInfo
class  tagMCLianTiInfo(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("LianTiLV", c_ubyte),    #炼体等级
                  ("EatItemCount", c_int),    #当前等级已吃丹个数
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA3
        self.SubCmd = 0x55
        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.Cmd = 0xA3
        self.SubCmd = 0x55
        self.LianTiLV = 0
        self.EatItemCount = 0
        return
    def GetLength(self):
        return sizeof(tagMCLianTiInfo)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A3 55 炼体信息 //tagMCLianTiInfo:
                                Cmd:%s,
                                SubCmd:%s,
                                LianTiLV:%d,
                                EatItemCount:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.LianTiLV,
                                self.EatItemCount
                                )
        return DumpString
m_NAtagMCLianTiInfo=tagMCLianTiInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCLianTiInfo.Cmd,m_NAtagMCLianTiInfo.SubCmd))] = m_NAtagMCLianTiInfo
#------------------------------------------------------
@@ -40971,6 +41311,74 @@
#------------------------------------------------------
# C1 07 跨服战场玩家信息 #tagMCCrossBattlefieldPlayerInfo
class  tagMCCrossBattlefieldPlayerInfo(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("BuyOpenCountToday", c_ubyte),    # 今日已购买开启战场次数
                  ("HighScoreToday", c_int),    # 今日最高积分
                  ("EnterCountWeek", c_int),    # 本周总参与次数
                  ("BuyOpenCountWeek", c_int),    # 本周总购买召集次数
                  ("HighScoreTotalWeek", c_int),    # 本周每日最高分累加总分
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xC1
        self.SubCmd = 0x07
        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.Cmd = 0xC1
        self.SubCmd = 0x07
        self.BuyOpenCountToday = 0
        self.HighScoreToday = 0
        self.EnterCountWeek = 0
        self.BuyOpenCountWeek = 0
        self.HighScoreTotalWeek = 0
        return
    def GetLength(self):
        return sizeof(tagMCCrossBattlefieldPlayerInfo)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// C1 07 跨服战场玩家信息 //tagMCCrossBattlefieldPlayerInfo:
                                Cmd:%s,
                                SubCmd:%s,
                                BuyOpenCountToday:%d,
                                HighScoreToday:%d,
                                EnterCountWeek:%d,
                                BuyOpenCountWeek:%d,
                                HighScoreTotalWeek:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.BuyOpenCountToday,
                                self.HighScoreToday,
                                self.EnterCountWeek,
                                self.BuyOpenCountWeek,
                                self.HighScoreTotalWeek
                                )
        return DumpString
m_NAtagMCCrossBattlefieldPlayerInfo=tagMCCrossBattlefieldPlayerInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCCrossBattlefieldPlayerInfo.Cmd,m_NAtagMCCrossBattlefieldPlayerInfo.SubCmd))] = m_NAtagMCCrossBattlefieldPlayerInfo
#------------------------------------------------------
# C1 02 跨服PK玩家奖励记录 #tagMCCrossRealmPKAwardState
class  tagMCCrossRealmPKAwardState(Structure):