ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -2712,6 +2712,246 @@
#------------------------------------------------------
# A4 13 查看目标仙盟返回信息 #tagGCTagFamilyInfo
class  tagGCTagFamilyMember(Structure):
    PlayerID = 0    #(DWORD PlayerID)
    NameLen = 0    #(BYTE NameLen)
    Name = ""    #(String Name)//size = NameLen
    FamilyLV = 0    #(BYTE FamilyLV)//家族成员等级
    LV = 0    #(WORD LV)
    Job = 0    #(BYTE Job)//ְҵ
    Face = 0    #(DWORD Face)//头像
    FacePic = 0    #(DWORD FacePic)//头像外框
    OfficialRank = 0    #(BYTE OfficialRank)//境界
    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.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.Name,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
        self.FamilyLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.OfficialRank,_pos = CommFunc.ReadBYTE(_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.NameLen = 0
        self.Name = ""
        self.FamilyLV = 0
        self.LV = 0
        self.Job = 0
        self.Face = 0
        self.FacePic = 0
        self.OfficialRank = 0
        self.FightPower = 0
        self.FightPowerEx = 0
        return
    def GetLength(self):
        length = 0
        length += 4
        length += 1
        length += len(self.Name)
        length += 1
        length += 2
        length += 1
        length += 4
        length += 4
        length += 1
        length += 4
        length += 4
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteDWORD(data, self.PlayerID)
        data = CommFunc.WriteBYTE(data, self.NameLen)
        data = CommFunc.WriteString(data, self.NameLen, self.Name)
        data = CommFunc.WriteBYTE(data, self.FamilyLV)
        data = CommFunc.WriteWORD(data, self.LV)
        data = CommFunc.WriteBYTE(data, self.Job)
        data = CommFunc.WriteDWORD(data, self.Face)
        data = CommFunc.WriteDWORD(data, self.FacePic)
        data = CommFunc.WriteBYTE(data, self.OfficialRank)
        data = CommFunc.WriteDWORD(data, self.FightPower)
        data = CommFunc.WriteDWORD(data, self.FightPowerEx)
        return data
    def OutputString(self):
        DumpString = '''
                                PlayerID:%d,
                                NameLen:%d,
                                Name:%s,
                                FamilyLV:%d,
                                LV:%d,
                                Job:%d,
                                Face:%d,
                                FacePic:%d,
                                OfficialRank:%d,
                                FightPower:%d,
                                FightPowerEx:%d
                                '''\
                                %(
                                self.PlayerID,
                                self.NameLen,
                                self.Name,
                                self.FamilyLV,
                                self.LV,
                                self.Job,
                                self.Face,
                                self.FacePic,
                                self.OfficialRank,
                                self.FightPower,
                                self.FightPowerEx
                                )
        return DumpString
class  tagGCTagFamilyInfo(Structure):
    Head = tagHead()
    FamilyID = 0    #(DWORD FamilyID)
    FamilyName = ""    #(char FamilyName[33])//家族名称
    FamilyLV = 0    #(WORD FamilyLV)//家族等级
    BroadcastLen = 0    #(WORD BroadcastLen)//公告
    Broadcast = ""    #(String Broadcast)//size = BroadcastLen
    MemberCount = 0    #(WORD MemberCount)//人数
    Member = list()    #(vector<tagGCTagFamilyMember> Member)//size = MemberCount
    FightPower = 0    #(DWORD FightPower)//仙盟总战力,求余亿部分
    FightPowerEx = 0    #(DWORD FightPowerEx)//仙盟总战力,整除亿部分
    EmblemID = 0    #(DWORD EmblemID)//徽章ID
    ServerID = 0    #(DWORD ServerID)//仙盟区服ID
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA4
        self.Head.SubCmd = 0x13
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.FamilyID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FamilyName,_pos = CommFunc.ReadString(_lpData, _pos,33)
        self.FamilyLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.BroadcastLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.Broadcast,_pos = CommFunc.ReadString(_lpData, _pos,self.BroadcastLen)
        self.MemberCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
        for i in range(self.MemberCount):
            temMember = tagGCTagFamilyMember()
            _pos = temMember.ReadData(_lpData, _pos)
            self.Member.append(temMember)
        self.FightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FightPowerEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.EmblemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA4
        self.Head.SubCmd = 0x13
        self.FamilyID = 0
        self.FamilyName = ""
        self.FamilyLV = 0
        self.BroadcastLen = 0
        self.Broadcast = ""
        self.MemberCount = 0
        self.Member = list()
        self.FightPower = 0
        self.FightPowerEx = 0
        self.EmblemID = 0
        self.ServerID = 0
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 4
        length += 33
        length += 2
        length += 2
        length += len(self.Broadcast)
        length += 2
        for i in range(self.MemberCount):
            length += self.Member[i].GetLength()
        length += 4
        length += 4
        length += 4
        length += 4
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteDWORD(data, self.FamilyID)
        data = CommFunc.WriteString(data, 33, self.FamilyName)
        data = CommFunc.WriteWORD(data, self.FamilyLV)
        data = CommFunc.WriteWORD(data, self.BroadcastLen)
        data = CommFunc.WriteString(data, self.BroadcastLen, self.Broadcast)
        data = CommFunc.WriteWORD(data, self.MemberCount)
        for i in range(self.MemberCount):
            data = CommFunc.WriteString(data, self.Member[i].GetLength(), self.Member[i].GetBuffer())
        data = CommFunc.WriteDWORD(data, self.FightPower)
        data = CommFunc.WriteDWORD(data, self.FightPowerEx)
        data = CommFunc.WriteDWORD(data, self.EmblemID)
        data = CommFunc.WriteDWORD(data, self.ServerID)
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                FamilyID:%d,
                                FamilyName:%s,
                                FamilyLV:%d,
                                BroadcastLen:%d,
                                Broadcast:%s,
                                MemberCount:%d,
                                Member:%s,
                                FightPower:%d,
                                FightPowerEx:%d,
                                EmblemID:%d,
                                ServerID:%d
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.FamilyID,
                                self.FamilyName,
                                self.FamilyLV,
                                self.BroadcastLen,
                                self.Broadcast,
                                self.MemberCount,
                                "...",
                                self.FightPower,
                                self.FightPowerEx,
                                self.EmblemID,
                                self.ServerID
                                )
        return DumpString
m_NAtagGCTagFamilyInfo=tagGCTagFamilyInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCTagFamilyInfo.Head.Cmd,m_NAtagGCTagFamilyInfo.Head.SubCmd))] = m_NAtagGCTagFamilyInfo
#------------------------------------------------------
#A4 01  查看申请入会的玩家信息 #tagGCViewFamilyRequestInfo
class  tagtMemberInfo(Structure):