From 1b47990a4bf2c519aa5d7aa5ee515aa35e93bc90 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 08 二月 2025 15:04:39 +0800
Subject: [PATCH] 5562 【英文】【越南】【BT】【砍树】跨服子服玩家打包数据较大(上下线同步跨服等级限制改为读配置;打包数据入库改为只入库前200人;)

---
 ServerPython/CoreServerGroup/GameServer/Script/ChGameToMapPyPack.py |  177 +++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 99 insertions(+), 78 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChGameToMapPyPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChGameToMapPyPack.py
index 819991e..a372b1f 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChGameToMapPyPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChGameToMapPyPack.py
@@ -405,6 +405,98 @@
 
 
 #------------------------------------------------------
+# 03 03 玩家缓存信息同步 #tagGMPlayerCache
+
+class  tagGMPlayerCache(Structure):
+    Head = tagHead()
+    PlayerID = 0    #(DWORD PlayerID)//玩家ID
+    FindPlayerID = 0    #(DWORD FindPlayerID)//要查询的玩家ID
+    PropDataSize = 0    #(WORD PropDataSize)
+    PropData = ""    #(String PropData)//属性记录
+    PlusDataSize = 0    #(WORD PlusDataSize)
+    PlusData = ""    #(String PlusData)//扩展记录
+    data = None
+
+    def __init__(self):
+        self.Clear()
+        self.Head.Cmd = 0x03
+        self.Head.SubCmd = 0x03
+        return
+
+    def ReadData(self, _lpData, _pos=0, _Len=0):
+        self.Clear()
+        _pos = self.Head.ReadData(_lpData, _pos)
+        self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.FindPlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.PropDataSize,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.PropData,_pos = CommFunc.ReadString(_lpData, _pos,self.PropDataSize)
+        self.PlusDataSize,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.PlusData,_pos = CommFunc.ReadString(_lpData, _pos,self.PlusDataSize)
+        return _pos
+
+    def Clear(self):
+        self.Head = tagHead()
+        self.Head.Clear()
+        self.Head.Cmd = 0x03
+        self.Head.SubCmd = 0x03
+        self.PlayerID = 0
+        self.FindPlayerID = 0
+        self.PropDataSize = 0
+        self.PropData = ""
+        self.PlusDataSize = 0
+        self.PlusData = ""
+        return
+
+    def GetLength(self):
+        length = 0
+        length += self.Head.GetLength()
+        length += 4
+        length += 4
+        length += 2
+        length += len(self.PropData)
+        length += 2
+        length += len(self.PlusData)
+
+        return length
+
+    def GetBuffer(self):
+        data = ''
+        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+        data = CommFunc.WriteDWORD(data, self.PlayerID)
+        data = CommFunc.WriteDWORD(data, self.FindPlayerID)
+        data = CommFunc.WriteWORD(data, self.PropDataSize)
+        data = CommFunc.WriteString(data, self.PropDataSize, self.PropData)
+        data = CommFunc.WriteWORD(data, self.PlusDataSize)
+        data = CommFunc.WriteString(data, self.PlusDataSize, self.PlusData)
+        return data
+
+    def OutputString(self):
+        DumpString = '''
+                                Head:%s,
+                                PlayerID:%d,
+                                FindPlayerID:%d,
+                                PropDataSize:%d,
+                                PropData:%s,
+                                PlusDataSize:%d,
+                                PlusData:%s
+                                '''\
+                                %(
+                                self.Head.OutputString(),
+                                self.PlayerID,
+                                self.FindPlayerID,
+                                self.PropDataSize,
+                                self.PropData,
+                                self.PlusDataSize,
+                                self.PlusData
+                                )
+        return DumpString
+
+
+m_NAtagGMPlayerCache=tagGMPlayerCache()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGMPlayerCache.Head.Cmd,m_NAtagGMPlayerCache.Head.SubCmd))] = m_NAtagGMPlayerCache
+
+
+#------------------------------------------------------
 #03 02 玩家领取补偿结果#tagGMRequestCompensationResult
 
 class  tagGMCompensationItem(Structure):
@@ -478,6 +570,7 @@
     PlayerID = 0    #(DWORD PlayerID)//玩家ID
     CompensationType = 0    #(BYTE CompensationType)//补偿类型 0 全服 1 个人
     GUID = ""    #(char GUID[40])//对应的补偿ID
+    CreateTime = ""    #(char CreateTime[30])//邮件接收时间
     TextLen = 0    #(DWORD TextLen)//文字内容长度
     Text = ""    #(String Text)//文字内容
     Count = 0    #(BYTE Count)//当前补偿物品数
@@ -500,6 +593,7 @@
         self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.CompensationType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         self.GUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+        self.CreateTime,_pos = CommFunc.ReadString(_lpData, _pos,30)
         self.TextLen,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.Text,_pos = CommFunc.ReadString(_lpData, _pos,self.TextLen)
         self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
@@ -521,6 +615,7 @@
         self.PlayerID = 0
         self.CompensationType = 0
         self.GUID = ""
+        self.CreateTime = ""
         self.TextLen = 0
         self.Text = ""
         self.Count = 0
@@ -537,6 +632,7 @@
         length += 4
         length += 1
         length += 40
+        length += 30
         length += 4
         length += len(self.Text)
         length += 1
@@ -555,6 +651,7 @@
         data = CommFunc.WriteDWORD(data, self.PlayerID)
         data = CommFunc.WriteBYTE(data, self.CompensationType)
         data = CommFunc.WriteString(data, 40, self.GUID)
+        data = CommFunc.WriteString(data, 30, self.CreateTime)
         data = CommFunc.WriteDWORD(data, self.TextLen)
         data = CommFunc.WriteString(data, self.TextLen, self.Text)
         data = CommFunc.WriteBYTE(data, self.Count)
@@ -572,6 +669,7 @@
                                 PlayerID:%d,
                                 CompensationType:%d,
                                 GUID:%s,
+                                CreateTime:%s,
                                 TextLen:%d,
                                 Text:%s,
                                 Count:%d,
@@ -586,6 +684,7 @@
                                 self.PlayerID,
                                 self.CompensationType,
                                 self.GUID,
+                                self.CreateTime,
                                 self.TextLen,
                                 self.Text,
                                 self.Count,
@@ -600,84 +699,6 @@
 
 m_NAtagGMRequestCompensationResult=tagGMRequestCompensationResult()
 ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGMRequestCompensationResult.Head.Cmd,m_NAtagGMRequestCompensationResult.Head.SubCmd))] = m_NAtagGMRequestCompensationResult
-
-
-#------------------------------------------------------
-#03 01 天梯竞技场玩家挑战结果同步#tagGMHighLadderChallengeReuslt
-
-class  tagGMHighLadderChallengeReuslt(Structure):
-    Head = tagHead()
-    PlayerID = 0    #(DWORD PlayerID)//玩家ID
-    Result = 0    #(BYTE Result)//结果
-    PlusInfoSize = 0    #(WORD PlusInfoSize)
-    PlusInfo = ""    #(String PlusInfo)//附带信息
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0x03
-        self.Head.SubCmd = 0x01
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.Result,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.PlusInfoSize,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        self.PlusInfo,_pos = CommFunc.ReadString(_lpData, _pos,self.PlusInfoSize)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0x03
-        self.Head.SubCmd = 0x01
-        self.PlayerID = 0
-        self.Result = 0
-        self.PlusInfoSize = 0
-        self.PlusInfo = ""
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 4
-        length += 1
-        length += 2
-        length += len(self.PlusInfo)
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteDWORD(data, self.PlayerID)
-        data = CommFunc.WriteBYTE(data, self.Result)
-        data = CommFunc.WriteWORD(data, self.PlusInfoSize)
-        data = CommFunc.WriteString(data, self.PlusInfoSize, self.PlusInfo)
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                PlayerID:%d,
-                                Result:%d,
-                                PlusInfoSize:%d,
-                                PlusInfo:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.PlayerID,
-                                self.Result,
-                                self.PlusInfoSize,
-                                self.PlusInfo
-                                )
-        return DumpString
-
-
-m_NAtagGMHighLadderChallengeReuslt=tagGMHighLadderChallengeReuslt()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGMHighLadderChallengeReuslt.Head.Cmd,m_NAtagGMHighLadderChallengeReuslt.Head.SubCmd))] = m_NAtagGMHighLadderChallengeReuslt
 
 
 #------------------------------------------------------

--
Gitblit v1.8.0