hxp
4 天以前 4e3d1ff7e0b98fc18b0b6e63e449f3d7577c0ba6
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/Protocol/RecvPackProtocol.py
@@ -937,10 +937,14 @@
        return DumpString
    
    
#------------------------------------------------------
#GM命令#tagGMCommand
class  tagGMCommand(Structure):
    Type = 0    #(BYTE Type)
    DirType = 0    #(BYTE DirType)//0全广播,1通知非跨服服务器,2只通知跨服
    ServerLen = 0    #(DWORD ServerLen)
    ServerList = ""    #(String ServerList)//服务器列表格式可以是 [(1,10),13,16,(22,30)]
    OrderLen = 0    #(BYTE OrderLen)
    OrderId = ""    #(String OrderId)
    CmdLen = 0    #(DWORD CmdLen)
@@ -956,6 +960,9 @@
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.Type,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.DirType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.ServerLen,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ServerList,_pos = CommFunc.ReadString(_lpData, _pos,self.ServerLen)
        self.OrderLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.OrderId,_pos = CommFunc.ReadString(_lpData, _pos,self.OrderLen)
        self.CmdLen,_pos = CommFunc.ReadDWORD(_lpData, _pos)
@@ -966,6 +973,9 @@
    def Clear(self):
        self.Type = 0
        self.DirType = 0
        self.ServerLen = 0
        self.ServerList = ""
        self.OrderLen = 0
        self.OrderId = ""
        self.CmdLen = 0
@@ -978,6 +988,9 @@
        length = 0
        length += 1
        length += 1
        length += 4
        length += len(self.ServerList)
        length += 1
        length += len(self.OrderId)
        length += 4
        length += len(self.Cmd)
@@ -989,6 +1002,9 @@
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteBYTE(data, self.Type)
        data = CommFunc.WriteBYTE(data, self.DirType)
        data = CommFunc.WriteDWORD(data, self.ServerLen)
        data = CommFunc.WriteString(data, self.ServerLen, self.ServerList)
        data = CommFunc.WriteBYTE(data, self.OrderLen)
        data = CommFunc.WriteString(data, self.OrderLen, self.OrderId)
        data = CommFunc.WriteDWORD(data, self.CmdLen)
@@ -1000,6 +1016,9 @@
    def OutputString(self):
        DumpString = '''
                                Type:%d,
                                DirType:%d,
                                ServerLen:%d,
                                ServerList:%s,
                                OrderLen:%d,
                                OrderId:%s,
                                CmdLen:%d,
@@ -1009,6 +1028,9 @@
                                '''\
                                %(
                                self.Type,
                                self.DirType,
                                self.ServerLen,
                                self.ServerList,
                                self.OrderLen,
                                self.OrderId,
                                self.CmdLen,
@@ -1017,6 +1039,7 @@
                                self.UserData
                                )
        return DumpString
    
    
#GM命令数据库请求#tagGMCommandDBRequest
@@ -2315,6 +2338,74 @@
        return DumpString
    
#------------------------------------------------------
#GameSever向DB请求信息#tagGDGameServerToDBLogic
class  tagGDGameServerToDBLogic(Structure):
    Type = 0    #(BYTE Type)//封包类型
    ID = 0    #(DWORD ID)//查询对象ID
    QueryType = 0    #(BYTE QueryType)//查询事件类型
    DataLen = 0    #(DWORD DataLen)
    Data = ""    #(String Data)//附加信息
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.Type,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.ID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.QueryType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.DataLen,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.Data,_pos = CommFunc.ReadString(_lpData, _pos,self.DataLen)
        return _pos
    def Clear(self):
        self.Type = 0
        self.ID = 0
        self.QueryType = 0
        self.DataLen = 0
        self.Data = ""
        return
    def GetLength(self):
        length = 0
        length += 1
        length += 4
        length += 1
        length += 4
        length += len(self.Data)
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteBYTE(data, self.Type)
        data = CommFunc.WriteDWORD(data, self.ID)
        data = CommFunc.WriteBYTE(data, self.QueryType)
        data = CommFunc.WriteDWORD(data, self.DataLen)
        data = CommFunc.WriteString(data, self.DataLen, self.Data)
        return data
    def OutputString(self):
        DumpString = '''
                                Type:%d,
                                ID:%d,
                                QueryType:%d,
                                DataLen:%d,
                                Data:%s
                                '''\
                                %(
                                self.Type,
                                self.ID,
                                self.QueryType,
                                self.DataLen,
                                self.Data
                                )
        return DumpString
#------------------------------------------------------
#向指定子服发送消息#tagGDMergeMsgToClient
class  tagGDMergeMsgToClient(Structure):