From 037f4b517d4ba16b0e990bd24eefa45171e70655 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 18 六月 2024 17:27:47 +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 75cc87d..f90268b 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