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):
@@ -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
                                )
@@ -45643,6 +45771,91 @@
#------------------------------------------------------
# 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
#------------------------------------------------------
# C2 02 服务器连接跨服成功 #tagSSServerConnOK
class  tagSSServerConnOK(Structure):