From d2d8ca57a661abb973550f35b8112b5078c1defb Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 16 十二月 2024 15:27:39 +0800 Subject: [PATCH] 10297 【越南】【英语】【砍树】【tqxbqy】轮回殿-服务端(奖励类型增加类型3 - 消耗物品,目前支持坐骑经验丹、灵宠经验丹) --- ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py | 87 ++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 81 insertions(+), 6 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py b/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py index 695641c..7b87bf1 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py @@ -171,7 +171,7 @@ ('ID', ctypes.c_ulong), ('ID2', ctypes.c_ulong), ('Name1', ctypes.c_char * 33), - ('Name2', ctypes.c_char * 33), + ('Name2', ctypes.c_char * 65), ('Type2', ctypes.c_ubyte), ('Value1', ctypes.c_ulong), ('Value2', ctypes.c_ulong), @@ -228,7 +228,7 @@ self.ID, pos = CommFunc.ReadDWORD(buf, pos) self.ID2, pos = CommFunc.ReadDWORD(buf, pos) self.Name1, pos = CommFunc.ReadString(buf, pos, 33) - self.Name2, pos = CommFunc.ReadString(buf, pos, 33) + self.Name2, pos = CommFunc.ReadString(buf, pos, 65) self.Type2, pos = CommFunc.ReadBYTE(buf, pos) self.Value1, pos = CommFunc.ReadDWORD(buf, pos) self.Value2, pos = CommFunc.ReadDWORD(buf, pos) @@ -254,7 +254,7 @@ buf = CommFunc.WriteDWORD(buf, self.ID) buf = CommFunc.WriteDWORD(buf, self.ID2) buf = CommFunc.WriteString(buf, sizeof(ctypes.c_char) * 33, self.Name1) - buf = CommFunc.WriteString(buf, sizeof(ctypes.c_char) * 33, self.Name2) + buf = CommFunc.WriteString(buf, sizeof(ctypes.c_char) * 65, self.Name2) buf = CommFunc.WriteBYTE(buf, self.Type2) buf = CommFunc.WriteDWORD(buf, self.Value1) buf = CommFunc.WriteDWORD(buf, self.Value2) @@ -279,7 +279,7 @@ length += sizeof(ctypes.c_ulong) length += sizeof(ctypes.c_ulong) length += sizeof(ctypes.c_char) * 33 - length += sizeof(ctypes.c_char) * 33 + length += sizeof(ctypes.c_char) * 65 length += sizeof(ctypes.c_ubyte) length += sizeof(ctypes.c_ulong) length += sizeof(ctypes.c_ulong) @@ -354,10 +354,10 @@ self.Name1 = Str[:33] def SetName2(self,Str): - if len(Str)<=33: + if len(Str)<=65: self.Name2 = Str else: - self.Name2 = Str[:33] + self.Name2 = Str[:65] @@ -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 @@ -3530,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