From 91e940b1bafbce188b6e58181cd2a5ebd8db5ee7 Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期三, 19 六月 2024 14:14:40 +0800 Subject: [PATCH] 0312 排行榜新增字段 --- ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py | 88 ++++++++++++++++++++++++++++++++++++++++--- ServerPython/CoreServerGroup/GameServer/Script/IPY_BillboardManager.py | 10 +++++ 2 files changed, 91 insertions(+), 7 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IPY_BillboardManager.py b/ServerPython/CoreServerGroup/GameServer/Script/IPY_BillboardManager.py index 0efea77..06a4d81 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/IPY_BillboardManager.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/IPY_BillboardManager.py @@ -244,9 +244,14 @@ def GetType2(self): return _IPY_BillboardManager.IPY_DBBillboardData_GetType2(self) def GetValue1(self): return _IPY_BillboardManager.IPY_DBBillboardData_GetValue1(self) def GetValue2(self): return _IPY_BillboardManager.IPY_DBBillboardData_GetValue2(self) + def GetValue3(self): return _IPY_BillboardManager.IPY_DBBillboardData_GetValue3(self) + def GetValue4(self): return _IPY_BillboardManager.IPY_DBBillboardData_GetValue4(self) + def GetValue5(self): return _IPY_BillboardManager.IPY_DBBillboardData_GetValue5(self) def GetCmpValue(self): return _IPY_BillboardManager.IPY_DBBillboardData_GetCmpValue(self) def GetCmpValue2(self): return _IPY_BillboardManager.IPY_DBBillboardData_GetCmpValue2(self) def GetCmpValue3(self): return _IPY_BillboardManager.IPY_DBBillboardData_GetCmpValue3(self) + def GetDataLen(self): return _IPY_BillboardManager.IPY_DBBillboardData_GetDataLen(self) + def GetUserData(self): return _IPY_BillboardManager.IPY_DBBillboardData_GetUserData(self) def SetType(self, *args): return _IPY_BillboardManager.IPY_DBBillboardData_SetType(self, *args) def SetID(self, *args): return _IPY_BillboardManager.IPY_DBBillboardData_SetID(self, *args) def SetID2(self, *args): return _IPY_BillboardManager.IPY_DBBillboardData_SetID2(self, *args) @@ -255,9 +260,14 @@ def SetType2(self, *args): return _IPY_BillboardManager.IPY_DBBillboardData_SetType2(self, *args) def SetValue1(self, *args): return _IPY_BillboardManager.IPY_DBBillboardData_SetValue1(self, *args) def SetValue2(self, *args): return _IPY_BillboardManager.IPY_DBBillboardData_SetValue2(self, *args) + def SetValue3(self, *args): return _IPY_BillboardManager.IPY_DBBillboardData_SetValue3(self, *args) + def SetValue4(self, *args): return _IPY_BillboardManager.IPY_DBBillboardData_SetValue4(self, *args) + def SetValue5(self, *args): return _IPY_BillboardManager.IPY_DBBillboardData_SetValue5(self, *args) def SetCmpValue(self, *args): return _IPY_BillboardManager.IPY_DBBillboardData_SetCmpValue(self, *args) def SetCmpValue2(self, *args): return _IPY_BillboardManager.IPY_DBBillboardData_SetCmpValue2(self, *args) def SetCmpValue3(self, *args): return _IPY_BillboardManager.IPY_DBBillboardData_SetCmpValue3(self, *args) + def SetDataLen(self, *args): return _IPY_BillboardManager.IPY_DBBillboardData_SetDataLen(self, *args) + def SetUserData(self, *args): return _IPY_BillboardManager.IPY_DBBillboardData_SetUserData(self, *args) IPY_DBBillboardData_swigregister = _IPY_BillboardManager.IPY_DBBillboardData_swigregister IPY_DBBillboardData_swigregister(IPY_DBBillboardData) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py b/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py index a04b1fa..4fb87e1 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py @@ -160,6 +160,7 @@ self.LimitTime = Str[:30] +#------------------------------------------------------ # 跨服排行榜 #tagDBCrossBillboard class tagDBCrossBillboard(Structure): _pack_ = 1 @@ -174,9 +175,14 @@ ('Type2', ctypes.c_ubyte), ('Value1', ctypes.c_ulong), ('Value2', ctypes.c_ulong), + ('Value3', ctypes.c_ulong), + ('Value4', ctypes.c_ulong), + ('Value5', ctypes.c_ulong), ('CmpValue', ctypes.c_ulong), ('CmpValue2', ctypes.c_ulong), ('CmpValue3', ctypes.c_ulong), + ('DataLen', ctypes.c_ushort), + ('UserData', ctypes.c_char_p), ('ADOResult', ctypes.c_ulong), ] @@ -184,9 +190,25 @@ Structure.__init__(self) self.clear() - def clear(self): - memset(addressof(self), 0, self.getLength()) + self.GroupValue1 = 0 + self.GroupValue2 = 0 + self.BillboardType = 0 + self.ID = 0 + self.ID2 = 0 + self.Name1 = '' + self.Name2 = '' + self.Type2 = 0 + self.Value1 = 0 + self.Value2 = 0 + self.Value3 = 0 + self.Value4 = 0 + self.Value5 = 0 + self.CmpValue = 0 + self.CmpValue2 = 0 + self.CmpValue3 = 0 + self.DataLen = 0 + self.UserData = '' def readData(self, buf, pos = 0, length = 0): if not pos <= length: @@ -204,19 +226,60 @@ self.Type2, pos = CommFunc.ReadBYTE(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.CmpValue, pos = CommFunc.ReadDWORD(buf, pos) self.CmpValue2, pos = CommFunc.ReadDWORD(buf, pos) self.CmpValue3, pos = CommFunc.ReadDWORD(buf, pos) + self.DataLen, pos = CommFunc.ReadWORD(buf, pos) + tmp, pos = CommFunc.ReadString(buf, pos, self.DataLen) + self.UserData = ctypes.c_char_p(tmp) return self.getLength() - def getBuffer(self): - buf = create_string_buffer(self.getLength()) - memmove(addressof(buf), addressof(self), self.getLength()) - return string_at(addressof(buf), self.getLength()) + buf = '' + buf = CommFunc.WriteBYTE(buf, self.GroupValue1) + buf = CommFunc.WriteBYTE(buf, self.GroupValue2) + buf = CommFunc.WriteBYTE(buf, self.BillboardType) + 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.WriteBYTE(buf, self.Type2) + 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.CmpValue) + buf = CommFunc.WriteDWORD(buf, self.CmpValue2) + buf = CommFunc.WriteDWORD(buf, self.CmpValue3) + buf = CommFunc.WriteWORD(buf, self.DataLen) + buf = CommFunc.WriteString(buf, self.DataLen, self.UserData) + return buf def getLength(self): - return sizeof(tagDBCrossBillboard) + length = 0 + length += sizeof(ctypes.c_ubyte) + length += sizeof(ctypes.c_ubyte) + length += sizeof(ctypes.c_ubyte) + 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_ubyte) + 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.DataLen + return length def outputString(self): output = '''// 跨服排行榜 #tagDBCrossBillboard: @@ -230,9 +293,14 @@ Type2 = %s, Value1 = %s, Value2 = %s, + Value3 = %s, + Value4 = %s, + Value5 = %s, CmpValue = %s, CmpValue2 = %s, CmpValue3 = %s, + DataLen = %s, + UserData = %s, ADOResult = %s, '''%( self.GroupValue1, @@ -245,9 +313,14 @@ self.Type2, self.Value1, self.Value2, + self.Value3, + self.Value4, + self.Value5, self.CmpValue, self.CmpValue2, self.CmpValue3, + self.DataLen, + self.UserData, self.ADOResult, ) return output @@ -266,6 +339,7 @@ self.Name2 = Str[:33] + # 协助感谢表 #tagDBAssistThanks class tagDBAssistThanks(Structure): _pack_ = 1 -- Gitblit v1.8.0