hxp
2023-10-12 7bd89df4994934b9a5810e6b62383e6773b8339b
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -985,6 +985,190 @@
#------------------------------------------------------
# A4 11 传功邀请信息 #tagGCChuangongInviteInfo
class  tagGCChuangongInviteInfo(Structure):
    Head = tagHead()
    PlayerID = 0    #(DWORD PlayerID)// 发起邀请的玩家ID
    NameLen = 0    #(BYTE NameLen)
    Name = ""    #(String Name)// 发起邀请的玩家名,size = NameLen
    LV = 0    #(WORD LV)// 玩家等级
    Job = 0    #(BYTE Job)// 玩家职业
    RealmLV = 0    #(WORD RealmLV)// 玩家境界等级
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA4
        self.Head.SubCmd = 0x11
        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.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.Name,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
        self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA4
        self.Head.SubCmd = 0x11
        self.PlayerID = 0
        self.NameLen = 0
        self.Name = ""
        self.LV = 0
        self.Job = 0
        self.RealmLV = 0
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 4
        length += 1
        length += len(self.Name)
        length += 2
        length += 1
        length += 2
        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.NameLen)
        data = CommFunc.WriteString(data, self.NameLen, self.Name)
        data = CommFunc.WriteWORD(data, self.LV)
        data = CommFunc.WriteBYTE(data, self.Job)
        data = CommFunc.WriteWORD(data, self.RealmLV)
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                PlayerID:%d,
                                NameLen:%d,
                                Name:%s,
                                LV:%d,
                                Job:%d,
                                RealmLV:%d
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.PlayerID,
                                self.NameLen,
                                self.Name,
                                self.LV,
                                self.Job,
                                self.RealmLV
                                )
        return DumpString
m_NAtagGCChuangongInviteInfo=tagGCChuangongInviteInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCChuangongInviteInfo.Head.Cmd,m_NAtagGCChuangongInviteInfo.Head.SubCmd))] = m_NAtagGCChuangongInviteInfo
#------------------------------------------------------
# A4 12 传功开始 #tagGCChuangongStart
class  tagGCChuangongStart(Structure):
    Head = tagHead()
    PlayerID = 0    #(DWORD PlayerID)// 一起传功的玩家ID
    NameLen = 0    #(BYTE NameLen)
    Name = ""    #(String Name)// 玩家名,size = NameLen
    LV = 0    #(WORD LV)// 玩家等级
    Job = 0    #(BYTE Job)// 玩家职业
    RealmLV = 0    #(WORD RealmLV)// 玩家境界等级
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA4
        self.Head.SubCmd = 0x12
        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.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.Name,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
        self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA4
        self.Head.SubCmd = 0x12
        self.PlayerID = 0
        self.NameLen = 0
        self.Name = ""
        self.LV = 0
        self.Job = 0
        self.RealmLV = 0
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 4
        length += 1
        length += len(self.Name)
        length += 2
        length += 1
        length += 2
        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.NameLen)
        data = CommFunc.WriteString(data, self.NameLen, self.Name)
        data = CommFunc.WriteWORD(data, self.LV)
        data = CommFunc.WriteBYTE(data, self.Job)
        data = CommFunc.WriteWORD(data, self.RealmLV)
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                PlayerID:%d,
                                NameLen:%d,
                                Name:%s,
                                LV:%d,
                                Job:%d,
                                RealmLV:%d
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.PlayerID,
                                self.NameLen,
                                self.Name,
                                self.LV,
                                self.Job,
                                self.RealmLV
                                )
        return DumpString
m_NAtagGCChuangongStart=tagGCChuangongStart()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCChuangongStart.Head.Cmd,m_NAtagGCChuangongStart.Head.SubCmd))] = m_NAtagGCChuangongStart
#------------------------------------------------------
# A4 0A 假仙盟信息 #tagGCFakeFamilyInfo
class  tagGCFakeFamilyInfo(Structure):
@@ -26194,6 +26378,142 @@
#------------------------------------------------------
# A5 10 传功奖励结果 #tagMCChuangongResult
class  tagMCChuangongItem(Structure):
    _pack_ = 1
    _fields_ = [
                  ("ItemID", c_int),
                  ("ItemCount", c_ushort),
                  ]
    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.ItemID = 0
        self.ItemCount = 0
        return
    def GetLength(self):
        return sizeof(tagMCChuangongItem)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A5 10 传功奖励结果 //tagMCChuangongResult:
                                ItemID:%d,
                                ItemCount:%d
                                '''\
                                %(
                                self.ItemID,
                                self.ItemCount
                                )
        return DumpString
class  tagMCChuangongResult(Structure):
    Head = tagHead()
    FromLV = 0    #(WORD FromLV)// 传功前等级
    ToLV = 0    #(WORD ToLV)// 传功后等级
    Exp = 0    #(DWORD Exp)// 获得经验求余亿部分
    ExpPoint = 0    #(DWORD ExpPoint)// 获得经验整除亿部分
    ItemCount = 0    #(BYTE ItemCount)
    AwardItemList = list()    #(vector<tagMCChuangongItem> AwardItemList)// 奖励物品列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA5
        self.Head.SubCmd = 0x10
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.FromLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.ToLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.Exp,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ExpPoint,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.ItemCount):
            temAwardItemList = tagMCChuangongItem()
            _pos = temAwardItemList.ReadData(_lpData, _pos)
            self.AwardItemList.append(temAwardItemList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA5
        self.Head.SubCmd = 0x10
        self.FromLV = 0
        self.ToLV = 0
        self.Exp = 0
        self.ExpPoint = 0
        self.ItemCount = 0
        self.AwardItemList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 2
        length += 2
        length += 4
        length += 4
        length += 1
        for i in range(self.ItemCount):
            length += self.AwardItemList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteWORD(data, self.FromLV)
        data = CommFunc.WriteWORD(data, self.ToLV)
        data = CommFunc.WriteDWORD(data, self.Exp)
        data = CommFunc.WriteDWORD(data, self.ExpPoint)
        data = CommFunc.WriteBYTE(data, self.ItemCount)
        for i in range(self.ItemCount):
            data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                FromLV:%d,
                                ToLV:%d,
                                Exp:%d,
                                ExpPoint:%d,
                                ItemCount:%d,
                                AwardItemList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.FromLV,
                                self.ToLV,
                                self.Exp,
                                self.ExpPoint,
                                self.ItemCount,
                                "..."
                                )
        return DumpString
m_NAtagMCChuangongResult=tagMCChuangongResult()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCChuangongResult.Head.Cmd,m_NAtagMCChuangongResult.Head.SubCmd))] = m_NAtagMCChuangongResult
#------------------------------------------------------
# A5 02 家族活跃令兑换结果 #tagMCFamilyActivityExchangeResult
class  tagMCFamilyActivityExchangeResult(Structure):