From f1c2ac9588321aad9e075c1440b52eb155b8ba18 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 29 十一月 2024 11:37:24 +0800 Subject: [PATCH] 10263 【越南】【英文】后端支持NPC仿真实玩家战斗和快速战斗 --- ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py | 67 +++++++++++++++++++++++++++++++++ 1 files changed, 67 insertions(+), 0 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py b/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py index 4954fe8..7b87bf1 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py @@ -3538,3 +3538,70 @@ ) 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