hxp
5 天以前 388823edfe6308cba6f76ca6dc4f20022c5cb2be
ServerPython/CoreServerGroup/GameServer/Script/ChGameToMapPyPack.py
@@ -101,6 +101,66 @@
        return  DumpString
#------------------------------------------------------
# 05 03 玩家离开队伍 #tagGMPlayerLeaveTeam
class  tagGMPlayerLeaveTeam(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("PlayerID", c_int),
                  ("CopyMapID", c_int),
                  ("TeamID", c_int),
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0x05
        self.SubCmd = 0x03
        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 = 0x05
        self.SubCmd = 0x03
        self.PlayerID = 0
        self.CopyMapID = 0
        self.TeamID = 0
        return
    def GetLength(self):
        return sizeof(tagGMPlayerLeaveTeam)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// 05 03 玩家离开队伍 //tagGMPlayerLeaveTeam:
                                Cmd:%s,
                                SubCmd:%s,
                                PlayerID:%d,
                                CopyMapID:%d,
                                TeamID:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.PlayerID,
                                self.CopyMapID,
                                self.TeamID
                                )
        return DumpString
m_NAtagGMPlayerLeaveTeam=tagGMPlayerLeaveTeam()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGMPlayerLeaveTeam.Cmd,m_NAtagGMPlayerLeaveTeam.SubCmd))] = m_NAtagGMPlayerLeaveTeam
#------------------------------------------------------
# 05 02 队伍信息刷新 #tagGMTeamInfo
class  tagGMTeamMemInfo(Structure):
@@ -418,12 +478,14 @@
    PlayerID = 0    #(DWORD PlayerID)//玩家ID
    CompensationType = 0    #(BYTE CompensationType)//补偿类型 0 全服 1 个人
    GUID = ""    #(char GUID[40])//对应的补偿ID
    CreateTime = ""    #(char CreateTime[30])//邮件接收时间
    TextLen = 0    #(DWORD TextLen)//文字内容长度
    Text = ""    #(String Text)//文字内容
    Count = 0    #(BYTE Count)//当前补偿物品数
    Gold = 0    #(DWORD Gold)//仙玉
    GoldPaper = 0    #(DWORD GoldPaper)//绑定仙玉
    Silver = 0    #(DWORD Silver)//ͭǮ
    MoneySource = 0    #(BYTE MoneySource)//货币来源
    Items = list()    #(vector<tagGMCompensationItem> Items)//补偿物品信息
    data = None
@@ -439,12 +501,14 @@
        self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.CompensationType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.GUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
        self.CreateTime,_pos = CommFunc.ReadString(_lpData, _pos,30)
        self.TextLen,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.Text,_pos = CommFunc.ReadString(_lpData, _pos,self.TextLen)
        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.Gold,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.GoldPaper,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.Silver,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.MoneySource,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.Count):
            temItems = tagGMCompensationItem()
            _pos = temItems.ReadData(_lpData, _pos)
@@ -459,12 +523,14 @@
        self.PlayerID = 0
        self.CompensationType = 0
        self.GUID = ""
        self.CreateTime = ""
        self.TextLen = 0
        self.Text = ""
        self.Count = 0
        self.Gold = 0
        self.GoldPaper = 0
        self.Silver = 0
        self.MoneySource = 0
        self.Items = list()
        return
@@ -474,12 +540,14 @@
        length += 4
        length += 1
        length += 40
        length += 30
        length += 4
        length += len(self.Text)
        length += 1
        length += 4
        length += 4
        length += 4
        length += 1
        for i in range(self.Count):
            length += self.Items[i].GetLength()
@@ -491,12 +559,14 @@
        data = CommFunc.WriteDWORD(data, self.PlayerID)
        data = CommFunc.WriteBYTE(data, self.CompensationType)
        data = CommFunc.WriteString(data, 40, self.GUID)
        data = CommFunc.WriteString(data, 30, self.CreateTime)
        data = CommFunc.WriteDWORD(data, self.TextLen)
        data = CommFunc.WriteString(data, self.TextLen, self.Text)
        data = CommFunc.WriteBYTE(data, self.Count)
        data = CommFunc.WriteDWORD(data, self.Gold)
        data = CommFunc.WriteDWORD(data, self.GoldPaper)
        data = CommFunc.WriteDWORD(data, self.Silver)
        data = CommFunc.WriteBYTE(data, self.MoneySource)
        for i in range(self.Count):
            data = CommFunc.WriteString(data, self.Items[i].GetLength(), self.Items[i].GetBuffer())
        return data
@@ -507,12 +577,14 @@
                                PlayerID:%d,
                                CompensationType:%d,
                                GUID:%s,
                                CreateTime:%s,
                                TextLen:%d,
                                Text:%s,
                                Count:%d,
                                Gold:%d,
                                GoldPaper:%d,
                                Silver:%d,
                                MoneySource:%d,
                                Items:%s
                                '''\
                                %(
@@ -520,12 +592,14 @@
                                self.PlayerID,
                                self.CompensationType,
                                self.GUID,
                                self.CreateTime,
                                self.TextLen,
                                self.Text,
                                self.Count,
                                self.Gold,
                                self.GoldPaper,
                                self.Silver,
                                self.MoneySource,
                                "..."
                                )
        return DumpString
@@ -533,84 +607,6 @@
m_NAtagGMRequestCompensationResult=tagGMRequestCompensationResult()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGMRequestCompensationResult.Head.Cmd,m_NAtagGMRequestCompensationResult.Head.SubCmd))] = m_NAtagGMRequestCompensationResult
#------------------------------------------------------
#03 01 天梯竞技场玩家挑战结果同步#tagGMHighLadderChallengeReuslt
class  tagGMHighLadderChallengeReuslt(Structure):
    Head = tagHead()
    PlayerID = 0    #(DWORD PlayerID)//玩家ID
    Result = 0    #(BYTE Result)//结果
    PlusInfoSize = 0    #(WORD PlusInfoSize)
    PlusInfo = ""    #(String PlusInfo)//附带信息
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0x03
        self.Head.SubCmd = 0x01
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.Result,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.PlusInfoSize,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.PlusInfo,_pos = CommFunc.ReadString(_lpData, _pos,self.PlusInfoSize)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0x03
        self.Head.SubCmd = 0x01
        self.PlayerID = 0
        self.Result = 0
        self.PlusInfoSize = 0
        self.PlusInfo = ""
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 4
        length += 1
        length += 2
        length += len(self.PlusInfo)
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteDWORD(data, self.PlayerID)
        data = CommFunc.WriteBYTE(data, self.Result)
        data = CommFunc.WriteWORD(data, self.PlusInfoSize)
        data = CommFunc.WriteString(data, self.PlusInfoSize, self.PlusInfo)
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                PlayerID:%d,
                                Result:%d,
                                PlusInfoSize:%d,
                                PlusInfo:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.PlayerID,
                                self.Result,
                                self.PlusInfoSize,
                                self.PlusInfo
                                )
        return DumpString
m_NAtagGMHighLadderChallengeReuslt=tagGMHighLadderChallengeReuslt()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGMHighLadderChallengeReuslt.Head.Cmd,m_NAtagGMHighLadderChallengeReuslt.Head.SubCmd))] = m_NAtagGMHighLadderChallengeReuslt
#------------------------------------------------------