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