From 789490b7d362160f7fca4580df6176498e1eb271 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 15 十一月 2024 15:19:13 +0800 Subject: [PATCH] 10302 【越南】【英语】【砍树】【tqxbqy】【btgotq】仙缘-服务端 --- ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py | 211 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 210 insertions(+), 1 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py b/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py index 9b43f57..93faee8 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py @@ -1672,6 +1672,8 @@ ('PKScore', ctypes.c_ulong), ('DanLV', ctypes.c_ubyte), ('Time', ctypes.c_ulong), + ('Face', ctypes.c_ulong), + ('FacePic', ctypes.c_ulong), ('ADOResult', ctypes.c_ulong), ] @@ -1699,6 +1701,8 @@ self.PKScore, pos = CommFunc.ReadDWORD(buf, pos) self.DanLV, pos = CommFunc.ReadBYTE(buf, pos) self.Time, pos = CommFunc.ReadDWORD(buf, pos) + self.Face, pos = CommFunc.ReadDWORD(buf, pos) + self.FacePic, pos = CommFunc.ReadDWORD(buf, pos) return self.getLength() @@ -1722,6 +1726,8 @@ PKScore = %s, DanLV = %s, Time = %s, + Face = %s, + FacePic = %s, ADOResult = %s, '''%( self.ZoneID, @@ -1734,6 +1740,8 @@ self.PKScore, self.DanLV, self.Time, + self.Face, + self.FacePic, self.ADOResult, ) return output @@ -2400,6 +2408,7 @@ ('OnlineType', ctypes.c_ubyte), ('RefCount', ctypes.c_ulong), ('Face', ctypes.c_ulong), + ('FacePic', ctypes.c_ulong), ('ADOResult', ctypes.c_ulong), ] @@ -2425,6 +2434,7 @@ self.OnlineType, pos = CommFunc.ReadBYTE(buf, pos) self.RefCount, pos = CommFunc.ReadDWORD(buf, pos) self.Face, pos = CommFunc.ReadDWORD(buf, pos) + self.FacePic, pos = CommFunc.ReadDWORD(buf, pos) return self.getLength() @@ -2446,6 +2456,7 @@ OnlineType = %s, RefCount = %s, Face = %s, + FacePic = %s, ADOResult = %s, '''%( self.PlayerID, @@ -2456,6 +2467,7 @@ self.OnlineType, self.RefCount, self.Face, + self.FacePic, self.ADOResult, ) return output @@ -3395,4 +3407,201 @@ self.TeamName = Str else: self.TeamName = Str[:33] - + + +# 通用记录表新 #tagDBGameRec +class tagDBGameRec(Structure): + _pack_ = 1 + _fields_ = [ + ('RecType', ctypes.c_ushort), + ('RecID', ctypes.c_ulong), + ('Time', ctypes.c_double), + ('Value1', ctypes.c_ulong), + ('Value2', ctypes.c_ulong), + ('Value3', ctypes.c_ulong), + ('Value4', ctypes.c_ulong), + ('Value5', ctypes.c_ulong), + ('Value6', ctypes.c_ulong), + ('Value7', ctypes.c_ulong), + ('Value8', ctypes.c_ulong), + ('UserDataLen', ctypes.c_ushort), + ('UserData', ctypes.c_char_p), + ('ADOResult', ctypes.c_ulong), + ] + + def __init__(self): + Structure.__init__(self) + self.clear() + + def clear(self): + self.RecType = 0 + self.RecID = 0 + self.Time = 0.0 + self.Value1 = 0 + self.Value2 = 0 + self.Value3 = 0 + self.Value4 = 0 + self.Value5 = 0 + self.Value6 = 0 + self.Value7 = 0 + self.Value8 = 0 + self.UserDataLen = 0 + self.UserData = '' + + def readData(self, buf, pos = 0, length = 0): + if not pos <= length: + return -1 + if len(buf) < pos + self.getLength(): + return -1 + self.clear() + self.RecType, pos = CommFunc.ReadWORD(buf, pos) + self.RecID, pos = CommFunc.ReadDWORD(buf, pos) + self.Time, pos = CommFunc.ReadDouble(buf, pos) + self.Value1, pos = CommFunc.ReadDWORD(buf, pos) + self.Value2, pos = CommFunc.ReadDWORD(buf, pos) + self.Value3, pos = CommFunc.ReadDWORD(buf, pos) + self.Value4, pos = CommFunc.ReadDWORD(buf, pos) + self.Value5, pos = CommFunc.ReadDWORD(buf, pos) + self.Value6, pos = CommFunc.ReadDWORD(buf, pos) + self.Value7, pos = CommFunc.ReadDWORD(buf, pos) + self.Value8, pos = CommFunc.ReadDWORD(buf, pos) + self.UserDataLen, pos = CommFunc.ReadWORD(buf, pos) + tmp, pos = CommFunc.ReadString(buf, pos, self.UserDataLen) + self.UserData = ctypes.c_char_p(tmp) + return self.getLength() + + def getBuffer(self): + buf = '' + buf = CommFunc.WriteWORD(buf, self.RecType) + buf = CommFunc.WriteDWORD(buf, self.RecID) + buf = CommFunc.WriteDouble(buf, self.Time) + buf = CommFunc.WriteDWORD(buf, self.Value1) + buf = CommFunc.WriteDWORD(buf, self.Value2) + buf = CommFunc.WriteDWORD(buf, self.Value3) + buf = CommFunc.WriteDWORD(buf, self.Value4) + buf = CommFunc.WriteDWORD(buf, self.Value5) + buf = CommFunc.WriteDWORD(buf, self.Value6) + buf = CommFunc.WriteDWORD(buf, self.Value7) + buf = CommFunc.WriteDWORD(buf, self.Value8) + buf = CommFunc.WriteWORD(buf, self.UserDataLen) + buf = CommFunc.WriteString(buf, self.UserDataLen, self.UserData) + return buf + + def getLength(self): + length = 0 + length += sizeof(ctypes.c_ushort) + length += sizeof(ctypes.c_ulong) + length += sizeof(ctypes.c_double) + length += sizeof(ctypes.c_ulong) + length += sizeof(ctypes.c_ulong) + length += sizeof(ctypes.c_ulong) + length += sizeof(ctypes.c_ulong) + length += sizeof(ctypes.c_ulong) + length += sizeof(ctypes.c_ulong) + length += sizeof(ctypes.c_ulong) + length += sizeof(ctypes.c_ulong) + length += sizeof(ctypes.c_ushort) + length += self.UserDataLen + return length + + def outputString(self): + output = '''// 通用记录表新 #tagDBGameRec: + RecType = %s, + RecID = %s, + Time = %s, + Value1 = %s, + Value2 = %s, + Value3 = %s, + Value4 = %s, + Value5 = %s, + Value6 = %s, + Value7 = %s, + Value8 = %s, + UserDataLen = %s, + UserData = %s, + ADOResult = %s, + '''%( + self.RecType, + self.RecID, + self.Time, + self.Value1, + self.Value2, + self.Value3, + self.Value4, + self.Value5, + self.Value6, + self.Value7, + self.Value8, + self.UserDataLen, + self.UserData, + self.ADOResult, + ) + return output + + +# 玩家数据打包表 #tagDBPlayerPackData +class tagDBPlayerPackData(Structure): + _pack_ = 1 + _fields_ = [ + ('PlayerID', ctypes.c_ulong), + ('UpdTime', ctypes.c_ulong), + ('PackDataSize', ctypes.c_ulong), + ('PackData', ctypes.c_char_p), + ('ADOResult', ctypes.c_ulong), + ] + + def __init__(self): + Structure.__init__(self) + self.clear() + + def clear(self): + self.PlayerID = 0 + self.UpdTime = 0 + self.PackDataSize = 0 + self.PackData = '' + + def readData(self, buf, pos = 0, length = 0): + if not pos <= length: + return -1 + if len(buf) < pos + self.getLength(): + return -1 + self.clear() + self.PlayerID, pos = CommFunc.ReadDWORD(buf, pos) + self.UpdTime, pos = CommFunc.ReadDWORD(buf, pos) + self.PackDataSize, pos = CommFunc.ReadDWORD(buf, pos) + tmp, pos = CommFunc.ReadString(buf, pos, self.PackDataSize) + self.PackData = ctypes.c_char_p(tmp) + return self.getLength() + + def getBuffer(self): + buf = '' + buf = CommFunc.WriteDWORD(buf, self.PlayerID) + buf = CommFunc.WriteDWORD(buf, self.UpdTime) + buf = CommFunc.WriteDWORD(buf, self.PackDataSize) + buf = CommFunc.WriteString(buf, self.PackDataSize, self.PackData) + return buf + + def getLength(self): + length = 0 + length += sizeof(ctypes.c_ulong) + length += sizeof(ctypes.c_ulong) + length += sizeof(ctypes.c_ulong) + length += self.PackDataSize + return length + + def outputString(self): + output = '''// 玩家数据打包表 #tagDBPlayerPackData: + PlayerID = %s, + UpdTime = %s, + PackDataSize = %s, + PackData = %s, + ADOResult = %s, + '''%( + self.PlayerID, + self.UpdTime, + self.PackDataSize, + self.PackData, + self.ADOResult, + ) + return output + -- Gitblit v1.8.0