ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -17231,48 +17231,74 @@
# C0 15 跨服排位分区分组信息 #tagGCCrossChampionshipPKZoneGroupInfo
class  tagGCCrossChampionshipPKBattle(Structure):
    _pack_ = 1
    _fields_ = [
                  ("BattleNum", c_ubyte),    # 对战组编号 1~n
                  ("WinPlayerID", c_int),    # 获胜玩家ID
                  ("PlayerIDA", c_int),    # 玩家IDA
                  ("PlayerIDB", c_int),    # 玩家IDB
                  ]
    BattleNum = 0    #(BYTE BattleNum)// 对战组编号 1~n
    WinPlayerID = 0    #(DWORD WinPlayerID)// 获胜玩家ID
    PlayerIDA = 0    #(DWORD PlayerIDA)// 玩家IDA
    PlayerIDB = 0    #(DWORD PlayerIDB)// 玩家IDB
    BattleRetLen = 0    #(BYTE BattleRetLen)
    BattleRet = ""    #(String BattleRet)// 战斗结果明细 {"playerID":[[第1局胜负,第1局总积分,胜负基础分,hp分,时间分], ...], ...}
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, stringData, _pos=0, _len=0):
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
        self.BattleNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.WinPlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.PlayerIDA,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.PlayerIDB,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.BattleRetLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.BattleRet,_pos = CommFunc.ReadString(_lpData, _pos,self.BattleRetLen)
        return _pos
    def Clear(self):
        self.BattleNum = 0
        self.WinPlayerID = 0
        self.PlayerIDA = 0
        self.PlayerIDB = 0
        self.BattleRetLen = 0
        self.BattleRet = ""
        return
    def GetLength(self):
        return sizeof(tagGCCrossChampionshipPKBattle)
        length = 0
        length += 1
        length += 4
        length += 4
        length += 4
        length += 1
        length += len(self.BattleRet)
        return length
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
        data = ''
        data = CommFunc.WriteBYTE(data, self.BattleNum)
        data = CommFunc.WriteDWORD(data, self.WinPlayerID)
        data = CommFunc.WriteDWORD(data, self.PlayerIDA)
        data = CommFunc.WriteDWORD(data, self.PlayerIDB)
        data = CommFunc.WriteBYTE(data, self.BattleRetLen)
        data = CommFunc.WriteString(data, self.BattleRetLen, self.BattleRet)
        return data
    def OutputString(self):
        DumpString = '''// C0 15 跨服排位分区分组信息 //tagGCCrossChampionshipPKZoneGroupInfo:
        DumpString = '''
                                BattleNum:%d,
                                WinPlayerID:%d,
                                PlayerIDA:%d,
                                PlayerIDB:%d
                                PlayerIDB:%d,
                                BattleRetLen:%d,
                                BattleRet:%s
                                '''\
                                %(
                                self.BattleNum,
                                self.WinPlayerID,
                                self.PlayerIDA,
                                self.PlayerIDB
                                self.PlayerIDB,
                                self.BattleRetLen,
                                self.BattleRet
                                )
        return DumpString
@@ -17734,11 +17760,11 @@
    PlayerName = ""    #(String PlayerName)// 跨服名字
    Job = 0    #(BYTE Job)
    LV = 0    #(WORD LV)
    RealmLV = 0    #(WORD RealmLV)//境界
    Face = 0    #(DWORD Face)//基本脸型
    FacePic = 0    #(DWORD FacePic)//头像框
    MaxHP = 0    #(DWORD MaxHP)// 默认满血,求余亿部分
    MaxHPEx = 0    #(DWORD MaxHPEx)// 默认满血,整除亿部分
    MaxProDef = 0    #(DWORD MaxProDef)// 最大护盾
    FightPower = 0    #(DWORD FightPower)//战力,求余亿部分
    FightPowerEx = 0    #(DWORD FightPowerEx)//战力,整除亿部分
    data = None
    def __init__(self):
@@ -17752,11 +17778,11 @@
        self.PlayerName,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
        self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.MaxHP,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.MaxHPEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.MaxProDef,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FightPowerEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        return _pos
    def Clear(self):
@@ -17765,11 +17791,11 @@
        self.PlayerName = ""
        self.Job = 0
        self.LV = 0
        self.RealmLV = 0
        self.Face = 0
        self.FacePic = 0
        self.MaxHP = 0
        self.MaxHPEx = 0
        self.MaxProDef = 0
        self.FightPower = 0
        self.FightPowerEx = 0
        return
    def GetLength(self):
@@ -17779,7 +17805,7 @@
        length += len(self.PlayerName)
        length += 1
        length += 2
        length += 4
        length += 2
        length += 4
        length += 4
        length += 4
@@ -17794,11 +17820,11 @@
        data = CommFunc.WriteString(data, self.NameLen, 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.Face)
        data = CommFunc.WriteDWORD(data, self.FacePic)
        data = CommFunc.WriteDWORD(data, self.MaxHP)
        data = CommFunc.WriteDWORD(data, self.MaxHPEx)
        data = CommFunc.WriteDWORD(data, self.MaxProDef)
        data = CommFunc.WriteDWORD(data, self.FightPower)
        data = CommFunc.WriteDWORD(data, self.FightPowerEx)
        return data
    def OutputString(self):
@@ -17808,11 +17834,11 @@
                                PlayerName:%s,
                                Job:%d,
                                LV:%d,
                                RealmLV:%d,
                                Face:%d,
                                FacePic:%d,
                                MaxHP:%d,
                                MaxHPEx:%d,
                                MaxProDef:%d
                                FightPower:%d,
                                FightPowerEx:%d
                                '''\
                                %(
                                self.PlayerID,
@@ -17820,21 +17846,17 @@
                                self.PlayerName,
                                self.Job,
                                self.LV,
                                self.RealmLV,
                                self.Face,
                                self.FacePic,
                                self.MaxHP,
                                self.MaxHPEx,
                                self.MaxProDef
                                self.FightPower,
                                self.FightPowerEx
                                )
        return DumpString
class  tagGCCrossRealmPKMatchOK(Structure):
    Head = tagHead()
    RoomID = 0    #(WORD RoomID)// 房间ID
    NameLen = 0    #(BYTE NameLen)
    PlayerName = ""    #(String PlayerName)// 跨服名字
    Number = 0    #(BYTE Number)// 位置编号;1-左,2-右
    MatchPlayerCount = 0    #(BYTE MatchPlayerCount)
    MatchPlayer = list()    #(vector<tagGCCrossRealmPKMatchPlayer> MatchPlayer)// 匹配到的玩家
    data = None
@@ -17848,10 +17870,6 @@
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.RoomID,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.PlayerName,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
        self.Number,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.MatchPlayerCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.MatchPlayerCount):
            temMatchPlayer = tagGCCrossRealmPKMatchPlayer()
@@ -17864,10 +17882,6 @@
        self.Head.Clear()
        self.Head.Cmd = 0xC0
        self.Head.SubCmd = 0x01
        self.RoomID = 0
        self.NameLen = 0
        self.PlayerName = ""
        self.Number = 0
        self.MatchPlayerCount = 0
        self.MatchPlayer = list()
        return
@@ -17875,10 +17889,6 @@
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 2
        length += 1
        length += len(self.PlayerName)
        length += 1
        length += 1
        for i in range(self.MatchPlayerCount):
            length += self.MatchPlayer[i].GetLength()
@@ -17888,10 +17898,6 @@
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteWORD(data, self.RoomID)
        data = CommFunc.WriteBYTE(data, self.NameLen)
        data = CommFunc.WriteString(data, self.NameLen, self.PlayerName)
        data = CommFunc.WriteBYTE(data, self.Number)
        data = CommFunc.WriteBYTE(data, self.MatchPlayerCount)
        for i in range(self.MatchPlayerCount):
            data = CommFunc.WriteString(data, self.MatchPlayer[i].GetLength(), self.MatchPlayer[i].GetBuffer())
@@ -17900,19 +17906,11 @@
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                RoomID:%d,
                                NameLen:%d,
                                PlayerName:%s,
                                Number:%d,
                                MatchPlayerCount:%d,
                                MatchPlayer:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.RoomID,
                                self.NameLen,
                                self.PlayerName,
                                self.Number,
                                self.MatchPlayerCount,
                                "..."
                                )
@@ -28351,19 +28349,15 @@
#------------------------------------------------------
# A3 11 通知玩家境界信息 #tagMCSyncRealmInfo
class  tagMCSyncRealmInfo(Structure):
class  tagMCSyncRealmTask(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("IsPass", c_ubyte),    #是否通关副本
                  ("XXZLAwardState", c_int),    #修仙之路领奖状态;按二进制位存储每个任务ID是否已领取
                  ("TaskID", c_ubyte),
                  ("TaskValue", c_int),
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA3
        self.SubCmd = 0x11
        return
    def ReadData(self, stringData, _pos=0, _len=0):
@@ -28372,36 +28366,99 @@
        return _pos + self.GetLength()
    def Clear(self):
        self.Cmd = 0xA3
        self.SubCmd = 0x11
        self.IsPass = 0
        self.XXZLAwardState = 0
        self.TaskID = 0
        self.TaskValue = 0
        return
    def GetLength(self):
        return sizeof(tagMCSyncRealmInfo)
        return sizeof(tagMCSyncRealmTask)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A3 11 通知玩家境界信息 //tagMCSyncRealmInfo:
                                Cmd:%s,
                                SubCmd:%s,
                                IsPass:%d,
                                XXZLAwardState:%d
                                TaskID:%d,
                                TaskValue:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.IsPass,
                                self.XXZLAwardState
                                self.TaskID,
                                self.TaskValue
                                )
        return DumpString
class  tagMCSyncRealmInfo(Structure):
    Head = tagHead()
    TaskAwardState = 0    #(DWORD TaskAwardState)//进阶任务领奖状态;按任务ID二进制位存储是否已领取
    TaskValueCount = 0    #(BYTE TaskValueCount)
    TaskValueList = list()    #(vector<tagMCSyncRealmTask> TaskValueList)//进阶任务值列表,仅有需要记录的任务才会通知
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA3
        self.Head.SubCmd = 0x11
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.TaskAwardState,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.TaskValueCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.TaskValueCount):
            temTaskValueList = tagMCSyncRealmTask()
            _pos = temTaskValueList.ReadData(_lpData, _pos)
            self.TaskValueList.append(temTaskValueList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA3
        self.Head.SubCmd = 0x11
        self.TaskAwardState = 0
        self.TaskValueCount = 0
        self.TaskValueList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 4
        length += 1
        for i in range(self.TaskValueCount):
            length += self.TaskValueList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteDWORD(data, self.TaskAwardState)
        data = CommFunc.WriteBYTE(data, self.TaskValueCount)
        for i in range(self.TaskValueCount):
            data = CommFunc.WriteString(data, self.TaskValueList[i].GetLength(), self.TaskValueList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                TaskAwardState:%d,
                                TaskValueCount:%d,
                                TaskValueList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.TaskAwardState,
                                self.TaskValueCount,
                                "..."
                                )
        return DumpString
m_NAtagMCSyncRealmInfo=tagMCSyncRealmInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCSyncRealmInfo.Cmd,m_NAtagMCSyncRealmInfo.SubCmd))] = m_NAtagMCSyncRealmInfo
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCSyncRealmInfo.Head.Cmd,m_NAtagMCSyncRealmInfo.Head.SubCmd))] = m_NAtagMCSyncRealmInfo
#------------------------------------------------------
@@ -38701,6 +38758,9 @@
    RoundMax = 0    #(BYTE RoundMax)// 最大可循环轮次
    AwardCount = 0    #(BYTE AwardCount)
    AwardList = list()    #(vector<tagMCActLunhuidianAward> AwardList)// 每轮奖励列表
    CTGIDCount = 0    #(BYTE CTGIDCount)
    CTGIDList = list()    #(vector<WORD> CTGIDList)// CTGID列表
    ShopType = 0    #(WORD ShopType)// 开放商店类型,可能为0不开放
    data = None
    def __init__(self):
@@ -38718,6 +38778,11 @@
            temAwardList = tagMCActLunhuidianAward()
            _pos = temAwardList.ReadData(_lpData, _pos)
            self.AwardList.append(temAwardList)
        self.CTGIDCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.CTGIDCount):
            value,_pos=CommFunc.ReadWORD(_lpData,_pos)
            self.CTGIDList.append(value)
        self.ShopType,_pos = CommFunc.ReadWORD(_lpData, _pos)
        return _pos
    def Clear(self):
@@ -38727,6 +38792,9 @@
        self.RoundMax = 0
        self.AwardCount = 0
        self.AwardList = list()
        self.CTGIDCount = 0
        self.CTGIDList = list()
        self.ShopType = 0
        return
    def GetLength(self):
@@ -38738,6 +38806,9 @@
        length += 1
        for i in range(self.AwardCount):
            length += self.AwardList[i].GetLength()
        length += 1
        length += 2 * self.CTGIDCount
        length += 2
        return length
@@ -38750,6 +38821,10 @@
        data = CommFunc.WriteBYTE(data, self.AwardCount)
        for i in range(self.AwardCount):
            data = CommFunc.WriteString(data, self.AwardList[i].GetLength(), self.AwardList[i].GetBuffer())
        data = CommFunc.WriteBYTE(data, self.CTGIDCount)
        for i in range(self.CTGIDCount):
            data = CommFunc.WriteWORD(data, self.CTGIDList[i])
        data = CommFunc.WriteWORD(data, self.ShopType)
        return data
    def OutputString(self):
@@ -38759,7 +38834,10 @@
                                AwardTypeValue:%d,
                                RoundMax:%d,
                                AwardCount:%d,
                                AwardList:%s
                                AwardList:%s,
                                CTGIDCount:%d,
                                CTGIDList:%s,
                                ShopType:%d
                                '''\
                                %(
                                self.RoundType,
@@ -38767,7 +38845,10 @@
                                self.AwardTypeValue,
                                self.RoundMax,
                                self.AwardCount,
                                "..."
                                "...",
                                self.CTGIDCount,
                                "...",
                                self.ShopType
                                )
        return DumpString
@@ -56505,6 +56586,7 @@
                  ("DayWinCount", c_ubyte),    # 当日已胜利次数
                  ("DayBuyCount", c_ubyte),    # 当日已购买次数
                  ("DayItemAddCount", c_ubyte),    # 当日物品增加次数
                  ("DayRefreshCount", c_ushort),    # 今日已刷新匹配次数
                  ]
    def __init__(self):
@@ -56530,6 +56612,7 @@
        self.DayWinCount = 0
        self.DayBuyCount = 0
        self.DayItemAddCount = 0
        self.DayRefreshCount = 0
        return
    def GetLength(self):
@@ -56550,7 +56633,8 @@
                                DayPKCount:%d,
                                DayWinCount:%d,
                                DayBuyCount:%d,
                                DayItemAddCount:%d
                                DayItemAddCount:%d,
                                DayRefreshCount:%d
                                '''\
                                %(
                                self.Cmd,
@@ -56563,7 +56647,8 @@
                                self.DayPKCount,
                                self.DayWinCount,
                                self.DayBuyCount,
                                self.DayItemAddCount
                                self.DayItemAddCount,
                                self.DayRefreshCount
                                )
        return DumpString