hxp
1 天以前 9d5ec7599f3abe0cebb76ce1df3c3b8c4e0aa51e
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -2386,6 +2386,127 @@
#------------------------------------------------------
# A1 31 前端自定义保存的设置内容信息 #tagSCSettingDataInfo
class  tagSCSettingData(Structure):
    KeyNum = 0    #(BYTE KeyNum)// 自定义key编号,后端使用数字key存储,前端自行进行转换定义,限制100个
    DataLen = 0    #(BYTE DataLen)
    SetData = ""    #(String SetData)//自定义保存的内容
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.KeyNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.DataLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.SetData,_pos = CommFunc.ReadString(_lpData, _pos,self.DataLen)
        return _pos
    def Clear(self):
        self.KeyNum = 0
        self.DataLen = 0
        self.SetData = ""
        return
    def GetLength(self):
        length = 0
        length += 1
        length += 1
        length += len(self.SetData)
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteBYTE(data, self.KeyNum)
        data = CommFunc.WriteBYTE(data, self.DataLen)
        data = CommFunc.WriteString(data, self.DataLen, self.SetData)
        return data
    def OutputString(self):
        DumpString = '''
                                KeyNum:%d,
                                DataLen:%d,
                                SetData:%s
                                '''\
                                %(
                                self.KeyNum,
                                self.DataLen,
                                self.SetData
                                )
        return DumpString
class  tagSCSettingDataInfo(Structure):
    Head = tagHead()
    DataCnt = 0    #(WORD DataCnt)
    SettingDataList = list()    #(vector<tagSCSettingData> SettingDataList)
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA1
        self.Head.SubCmd = 0x31
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.DataCnt,_pos = CommFunc.ReadWORD(_lpData, _pos)
        for i in range(self.DataCnt):
            temSettingDataList = tagSCSettingData()
            _pos = temSettingDataList.ReadData(_lpData, _pos)
            self.SettingDataList.append(temSettingDataList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA1
        self.Head.SubCmd = 0x31
        self.DataCnt = 0
        self.SettingDataList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 2
        for i in range(self.DataCnt):
            length += self.SettingDataList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteWORD(data, self.DataCnt)
        for i in range(self.DataCnt):
            data = CommFunc.WriteString(data, self.SettingDataList[i].GetLength(), self.SettingDataList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                DataCnt:%d,
                                SettingDataList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.DataCnt,
                                "..."
                                )
        return DumpString
m_NAtagSCSettingDataInfo=tagSCSettingDataInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagSCSettingDataInfo.Head.Cmd,m_NAtagSCSettingDataInfo.Head.SubCmd))] = m_NAtagSCSettingDataInfo
#------------------------------------------------------
#A1 26 准备切换地图 #tagMCPrepareChangeMap
class  tagMCPrepareChangeMap(Structure):
@@ -10988,6 +11109,7 @@
    LeaderID = 0    #(DWORD LeaderID)//族长ID
    LeaderNameLen = 0    #(BYTE LeaderNameLen)
    LeaderName = ""    #(String LeaderName)//size = LeaderNameLen
    LeaderServerID = 0    #(DWORD LeaderServerID)//族长服务器ID
    FamilyLV = 0    #(BYTE FamilyLV)//家族等级
    JoinReview = 0    #(BYTE JoinReview)//成员加入是否需要审核,默认0自动加入
    JoinLVMin = 0    #(WORD JoinLVMin)//限制最低可加入的玩家等级
@@ -11012,6 +11134,7 @@
        self.LeaderID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.LeaderNameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.LeaderName,_pos = CommFunc.ReadString(_lpData, _pos,self.LeaderNameLen)
        self.LeaderServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FamilyLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.JoinReview,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.JoinLVMin,_pos = CommFunc.ReadWORD(_lpData, _pos)
@@ -11031,6 +11154,7 @@
        self.LeaderID = 0
        self.LeaderNameLen = 0
        self.LeaderName = ""
        self.LeaderServerID = 0
        self.FamilyLV = 0
        self.JoinReview = 0
        self.JoinLVMin = 0
@@ -11051,6 +11175,7 @@
        length += 4
        length += 1
        length += len(self.LeaderName)
        length += 4
        length += 1
        length += 1
        length += 2
@@ -11072,6 +11197,7 @@
        data = CommFunc.WriteDWORD(data, self.LeaderID)
        data = CommFunc.WriteBYTE(data, self.LeaderNameLen)
        data = CommFunc.WriteString(data, self.LeaderNameLen, self.LeaderName)
        data = CommFunc.WriteDWORD(data, self.LeaderServerID)
        data = CommFunc.WriteBYTE(data, self.FamilyLV)
        data = CommFunc.WriteBYTE(data, self.JoinReview)
        data = CommFunc.WriteWORD(data, self.JoinLVMin)
@@ -11092,6 +11218,7 @@
                                LeaderID:%d,
                                LeaderNameLen:%d,
                                LeaderName:%s,
                                LeaderServerID:%d,
                                FamilyLV:%d,
                                JoinReview:%d,
                                JoinLVMin:%d,
@@ -11110,6 +11237,7 @@
                                self.LeaderID,
                                self.LeaderNameLen,
                                self.LeaderName,
                                self.LeaderServerID,
                                self.FamilyLV,
                                self.JoinReview,
                                self.JoinLVMin,
@@ -11133,7 +11261,6 @@
    FamilyCount = 0    #(BYTE FamilyCount)
    FamilyList = list()    #(vector<tagMCFamilyView> FamilyList)//本页家族信息列表
    Rank = 0    #(DWORD Rank)//玩家公会所在名次,0-没有公会或没有在榜上;>0-对应排名
    DataServerID = 0    #(DWORD DataServerID)//数据所在服务器ID
    data = None
    def __init__(self):
@@ -11156,7 +11283,6 @@
            _pos = temFamilyList.ReadData(_lpData, _pos)
            self.FamilyList.append(temFamilyList)
        self.Rank,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.DataServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        return _pos
    def Clear(self):
@@ -11172,7 +11298,6 @@
        self.FamilyCount = 0
        self.FamilyList = list()
        self.Rank = 0
        self.DataServerID = 0
        return
    def GetLength(self):
@@ -11186,7 +11311,6 @@
        length += 1
        for i in range(self.FamilyCount):
            length += self.FamilyList[i].GetLength()
        length += 4
        length += 4
        return length
@@ -11203,7 +11327,6 @@
        for i in range(self.FamilyCount):
            data = CommFunc.WriteString(data, self.FamilyList[i].GetLength(), self.FamilyList[i].GetBuffer())
        data = CommFunc.WriteDWORD(data, self.Rank)
        data = CommFunc.WriteDWORD(data, self.DataServerID)
        return data
    def OutputString(self):
@@ -11216,8 +11339,7 @@
                                TotalPage:%d,
                                FamilyCount:%d,
                                FamilyList:%s,
                                Rank:%d,
                                DataServerID:%d
                                Rank:%d
                                '''\
                                %(
                                self.Head.OutputString(),
@@ -11228,8 +11350,7 @@
                                self.TotalPage,
                                self.FamilyCount,
                                "...",
                                self.Rank,
                                self.DataServerID
                                self.Rank
                                )
        return DumpString
@@ -13699,6 +13820,7 @@
    FamilyName = ""    #(char FamilyName[33])
    FamilyEmblemID = 0    #(DWORD FamilyEmblemID)//仙盟徽章ID
    FamilyEmblemWord = ""    #(char FamilyEmblemWord[3])//徽章文字
    FamilyDataServerID = 0    #(DWORD FamilyDataServerID)//公会数据所在服务器ID,A619查看公会用
    PlusDataSize = 0    #(DWORD PlusDataSize)
    PlusData = ""    #(String PlusData)//扩展记录   
    data = None
@@ -13729,6 +13851,7 @@
        self.FamilyName,_pos = CommFunc.ReadString(_lpData, _pos,33)
        self.FamilyEmblemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FamilyEmblemWord,_pos = CommFunc.ReadString(_lpData, _pos,3)
        self.FamilyDataServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.PlusDataSize,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.PlusData,_pos = CommFunc.ReadString(_lpData, _pos,self.PlusDataSize)
        return _pos
@@ -13755,6 +13878,7 @@
        self.FamilyName = ""
        self.FamilyEmblemID = 0
        self.FamilyEmblemWord = ""
        self.FamilyDataServerID = 0
        self.PlusDataSize = 0
        self.PlusData = ""
        return
@@ -13780,6 +13904,7 @@
        length += 4
        length += 3
        length += 4
        length += 4
        length += len(self.PlusData)
        return length
@@ -13804,6 +13929,7 @@
        data = CommFunc.WriteString(data, 33, self.FamilyName)
        data = CommFunc.WriteDWORD(data, self.FamilyEmblemID)
        data = CommFunc.WriteString(data, 3, self.FamilyEmblemWord)
        data = CommFunc.WriteDWORD(data, self.FamilyDataServerID)
        data = CommFunc.WriteDWORD(data, self.PlusDataSize)
        data = CommFunc.WriteString(data, self.PlusDataSize, self.PlusData)
        return data
@@ -13828,6 +13954,7 @@
                                FamilyName:%s,
                                FamilyEmblemID:%d,
                                FamilyEmblemWord:%s,
                                FamilyDataServerID:%d,
                                PlusDataSize:%d,
                                PlusData:%s
                                '''\
@@ -13850,6 +13977,7 @@
                                self.FamilyName,
                                self.FamilyEmblemID,
                                self.FamilyEmblemWord,
                                self.FamilyDataServerID,
                                self.PlusDataSize,
                                self.PlusData
                                )
@@ -27469,7 +27597,7 @@
class  tagSCTravelInfo(Structure):
    Head = tagHead()
    Energy = 0    #(BYTE Energy)//剩余体力
    Energy = 0    #(DWORD Energy)//剩余体力
    EnergyTime = 0    #(DWORD EnergyTime)//上次恢复体力时间戳
    TravelCnt = 0    #(DWORD TravelCnt)//累计游历次数
    SceneryType = 0    #(BYTE SceneryType)//景观类型
@@ -27490,7 +27618,7 @@
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.Energy,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.Energy,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.EnergyTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.TravelCnt,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.SceneryType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
@@ -27525,7 +27653,7 @@
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 4
        length += 4
        length += 4
        length += 1
@@ -27542,7 +27670,7 @@
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.Energy)
        data = CommFunc.WriteDWORD(data, self.Energy)
        data = CommFunc.WriteDWORD(data, self.EnergyTime)
        data = CommFunc.WriteDWORD(data, self.TravelCnt)
        data = CommFunc.WriteBYTE(data, self.SceneryType)
@@ -45586,60 +45714,170 @@
# C2 03 跨服中心事件同步 #tagSSCrossCenterEvent
class  tagSSCrossCenterEvent(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("ServerID", c_int),
                  ("ServerType", c_ubyte),    #服务器类型
                  ("EventValue", c_int),    #事件值,yyyyMMddhh用于判断过天等
                  ]
    Head = tagHead()
    ServerID = 0    #(DWORD ServerID)
    ServerType = 0    #(BYTE ServerType)//服务器类型
    EventValue = 0    #(DWORD EventValue)//事件值,yyyyMMddhh用于判断过天等
    GMLen = 0    #(BYTE GMLen)
    GMEvent = ""    #(String GMEvent)
    data = None
    def __init__(self):
        self.Clear()
        self.Cmd = 0xC2
        self.SubCmd = 0x03
        self.Head.Cmd = 0xC2
        self.Head.SubCmd = 0x03
        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()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.ServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ServerType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.EventValue,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.GMLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.GMEvent,_pos = CommFunc.ReadString(_lpData, _pos,self.GMLen)
        return _pos
    def Clear(self):
        self.Cmd = 0xC2
        self.SubCmd = 0x03
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xC2
        self.Head.SubCmd = 0x03
        self.ServerID = 0
        self.ServerType = 0
        self.EventValue = 0
        self.GMLen = 0
        self.GMEvent = ""
        return
    def GetLength(self):
        return sizeof(tagSSCrossCenterEvent)
        length = 0
        length += self.Head.GetLength()
        length += 4
        length += 1
        length += 4
        length += 1
        length += len(self.GMEvent)
        return length
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteDWORD(data, self.ServerID)
        data = CommFunc.WriteBYTE(data, self.ServerType)
        data = CommFunc.WriteDWORD(data, self.EventValue)
        data = CommFunc.WriteBYTE(data, self.GMLen)
        data = CommFunc.WriteString(data, self.GMLen, self.GMEvent)
        return data
    def OutputString(self):
        DumpString = '''// C2 03 跨服中心事件同步 //tagSSCrossCenterEvent:
                                Cmd:%s,
                                SubCmd:%s,
        DumpString = '''
                                Head:%s,
                                ServerID:%d,
                                ServerType:%d,
                                EventValue:%d
                                EventValue:%d,
                                GMLen:%d,
                                GMEvent:%s
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.Head.OutputString(),
                                self.ServerID,
                                self.ServerType,
                                self.EventValue
                                self.EventValue,
                                self.GMLen,
                                self.GMEvent
                                )
        return DumpString
m_NAtagSSCrossCenterEvent=tagSSCrossCenterEvent()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagSSCrossCenterEvent.Cmd,m_NAtagSSCrossCenterEvent.SubCmd))] = m_NAtagSSCrossCenterEvent
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagSSCrossCenterEvent.Head.Cmd,m_NAtagSSCrossCenterEvent.Head.SubCmd))] = m_NAtagSSCrossCenterEvent
#------------------------------------------------------
# C2 04 跨服GM命令 #tagSSGMCMD
class  tagSSGMCMD(Structure):
    Head = tagHead()
    FromServerID = 0    #(DWORD FromServerID)//哪个服发的
    ServerType = 0    #(BYTE ServerType)//服务器类型
    PlayerID = 0    #(DWORD PlayerID)//哪个玩家触发发送的
    CMDLen = 0    #(BYTE CMDLen)
    CMDStr = ""    #(String CMDStr)
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xC2
        self.Head.SubCmd = 0x04
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.FromServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ServerType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.CMDLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.CMDStr,_pos = CommFunc.ReadString(_lpData, _pos,self.CMDLen)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xC2
        self.Head.SubCmd = 0x04
        self.FromServerID = 0
        self.ServerType = 0
        self.PlayerID = 0
        self.CMDLen = 0
        self.CMDStr = ""
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 4
        length += 1
        length += 4
        length += 1
        length += len(self.CMDStr)
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteDWORD(data, self.FromServerID)
        data = CommFunc.WriteBYTE(data, self.ServerType)
        data = CommFunc.WriteDWORD(data, self.PlayerID)
        data = CommFunc.WriteBYTE(data, self.CMDLen)
        data = CommFunc.WriteString(data, self.CMDLen, self.CMDStr)
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                FromServerID:%d,
                                ServerType:%d,
                                PlayerID:%d,
                                CMDLen:%d,
                                CMDStr:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.FromServerID,
                                self.ServerType,
                                self.PlayerID,
                                self.CMDLen,
                                self.CMDStr
                                )
        return DumpString
m_NAtagSSGMCMD=tagSSGMCMD()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagSSGMCMD.Head.Cmd,m_NAtagSSGMCMD.Head.SubCmd))] = m_NAtagSSGMCMD
#------------------------------------------------------