From b350209bbfc9fc60851d813070464c641702b52b Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 18 二月 2025 00:47:31 +0800
Subject: [PATCH] 5562 【英文】【越南】【BT】【砍树】跨服子服玩家打包数据较大(暂存10条;)

---
 ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py |  128 ++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 120 insertions(+), 8 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index c011fe6..c22dd73 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -8702,6 +8702,7 @@
     Job = 0    #(BYTE Job)
     Face = 0    #(DWORD Face)
     FacePic = 0    #(DWORD FacePic)
+    RobValue = 0    #(DWORD RobValue)// 抢劫敌对值
     MineCount = 0    #(BYTE MineCount)
     MineItemList = list()    #(vector<tagGCMineItem> MineItemList)// 矿物列表
     data = None
@@ -8717,6 +8718,7 @@
         self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.RobValue,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.MineCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         for i in range(self.MineCount):
             temMineItemList = tagGCMineItem()
@@ -8730,6 +8732,7 @@
         self.Job = 0
         self.Face = 0
         self.FacePic = 0
+        self.RobValue = 0
         self.MineCount = 0
         self.MineItemList = list()
         return
@@ -8739,6 +8742,7 @@
         length += 4
         length += 33
         length += 1
+        length += 4
         length += 4
         length += 4
         length += 1
@@ -8754,6 +8758,7 @@
         data = CommFunc.WriteBYTE(data, self.Job)
         data = CommFunc.WriteDWORD(data, self.Face)
         data = CommFunc.WriteDWORD(data, self.FacePic)
+        data = CommFunc.WriteDWORD(data, self.RobValue)
         data = CommFunc.WriteBYTE(data, self.MineCount)
         for i in range(self.MineCount):
             data = CommFunc.WriteString(data, self.MineItemList[i].GetLength(), self.MineItemList[i].GetBuffer())
@@ -8766,6 +8771,7 @@
                                 Job:%d,
                                 Face:%d,
                                 FacePic:%d,
+                                RobValue:%d,
                                 MineCount:%d,
                                 MineItemList:%s
                                 '''\
@@ -8775,6 +8781,7 @@
                                 self.Job,
                                 self.Face,
                                 self.FacePic,
+                                self.RobValue,
                                 self.MineCount,
                                 "..."
                                 )
@@ -20425,6 +20432,7 @@
                   ("SubCmd", c_ubyte),
                   ("MapID", c_ushort),    
                   ("FuncLineID", c_ushort),    #功能线路ID
+                  ("FuncMapID", c_ushort),    #功能地图ID
                   ]
 
     def __init__(self):
@@ -20443,6 +20451,7 @@
         self.SubCmd = 0x26
         self.MapID = 0
         self.FuncLineID = 0
+        self.FuncMapID = 0
         return
 
     def GetLength(self):
@@ -20456,13 +20465,15 @@
                                 Cmd:%s,
                                 SubCmd:%s,
                                 MapID:%d,
-                                FuncLineID:%d
+                                FuncLineID:%d,
+                                FuncMapID:%d
                                 '''\
                                 %(
                                 self.Cmd,
                                 self.SubCmd,
                                 self.MapID,
-                                self.FuncLineID
+                                self.FuncLineID,
+                                self.FuncMapID
                                 )
         return DumpString
 
@@ -20481,6 +20492,7 @@
                   ("SubCmd", c_ubyte),
                   ("MapID", c_int),    
                   ("FuncLineID", c_ushort),    #功能线路ID
+                  ("FuncMapID", c_ushort),    #功能地图ID
                   ]
 
     def __init__(self):
@@ -20499,6 +20511,7 @@
         self.SubCmd = 0x27
         self.MapID = 0
         self.FuncLineID = 0
+        self.FuncMapID = 0
         return
 
     def GetLength(self):
@@ -20512,13 +20525,15 @@
                                 Cmd:%s,
                                 SubCmd:%s,
                                 MapID:%d,
-                                FuncLineID:%d
+                                FuncLineID:%d,
+                                FuncMapID:%d
                                 '''\
                                 %(
                                 self.Cmd,
                                 self.SubCmd,
                                 self.MapID,
-                                self.FuncLineID
+                                self.FuncLineID,
+                                self.FuncMapID
                                 )
         return DumpString
 
@@ -28945,6 +28960,7 @@
     TreasureType = 0    #(BYTE TreasureType)//寻宝类型
     LuckValue = 0    #(WORD LuckValue)//当前幸运值
     TreasureCount = 0    #(DWORD TreasureCount)//已寻宝总次数
+    TreasureCountToday = 0    #(DWORD TreasureCountToday)//今日已寻宝总次数
     FreeCountToday = 0    #(WORD FreeCountToday)//今日已免费寻宝次数
     TreasureCntAward = 0    #(DWORD TreasureCntAward)//累计寻宝次数对应奖励领奖状态,按奖励记录索引二进制记录是否已领取
     GridLimitCnt = 0    #(BYTE GridLimitCnt)
@@ -28960,6 +28976,7 @@
         self.TreasureType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         self.LuckValue,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.TreasureCount,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.TreasureCountToday,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.FreeCountToday,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.TreasureCntAward,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.GridLimitCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
@@ -28973,6 +28990,7 @@
         self.TreasureType = 0
         self.LuckValue = 0
         self.TreasureCount = 0
+        self.TreasureCountToday = 0
         self.FreeCountToday = 0
         self.TreasureCntAward = 0
         self.GridLimitCnt = 0
@@ -28983,6 +29001,7 @@
         length = 0
         length += 1
         length += 2
+        length += 4
         length += 4
         length += 2
         length += 4
@@ -28997,6 +29016,7 @@
         data = CommFunc.WriteBYTE(data, self.TreasureType)
         data = CommFunc.WriteWORD(data, self.LuckValue)
         data = CommFunc.WriteDWORD(data, self.TreasureCount)
+        data = CommFunc.WriteDWORD(data, self.TreasureCountToday)
         data = CommFunc.WriteWORD(data, self.FreeCountToday)
         data = CommFunc.WriteDWORD(data, self.TreasureCntAward)
         data = CommFunc.WriteBYTE(data, self.GridLimitCnt)
@@ -29009,6 +29029,7 @@
                                 TreasureType:%d,
                                 LuckValue:%d,
                                 TreasureCount:%d,
+                                TreasureCountToday:%d,
                                 FreeCountToday:%d,
                                 TreasureCntAward:%d,
                                 GridLimitCnt:%d,
@@ -29018,6 +29039,7 @@
                                 self.TreasureType,
                                 self.LuckValue,
                                 self.TreasureCount,
+                                self.TreasureCountToday,
                                 self.FreeCountToday,
                                 self.TreasureCntAward,
                                 self.GridLimitCnt,
@@ -44330,11 +44352,70 @@
         return DumpString
 
 
+class  tagMCCrossActLianqiAwardEx(Structure):
+    NeedScore = 0    #(DWORD NeedScore)// 额外奖励所需积分
+    Count = 0    #(BYTE Count)// 额外奖励物品数
+    AwardItemList = list()    #(vector<tagMCCrossActLianqiItem> AwardItemList)// 额外奖励物品列表
+    data = None
+
+    def __init__(self):
+        self.Clear()
+        return
+
+    def ReadData(self, _lpData, _pos=0, _Len=0):
+        self.Clear()
+        self.NeedScore,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        for i in range(self.Count):
+            temAwardItemList = tagMCCrossActLianqiItem()
+            _pos = temAwardItemList.ReadData(_lpData, _pos)
+            self.AwardItemList.append(temAwardItemList)
+        return _pos
+
+    def Clear(self):
+        self.NeedScore = 0
+        self.Count = 0
+        self.AwardItemList = list()
+        return
+
+    def GetLength(self):
+        length = 0
+        length += 4
+        length += 1
+        for i in range(self.Count):
+            length += self.AwardItemList[i].GetLength()
+
+        return length
+
+    def GetBuffer(self):
+        data = ''
+        data = CommFunc.WriteDWORD(data, self.NeedScore)
+        data = CommFunc.WriteBYTE(data, self.Count)
+        for i in range(self.Count):
+            data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
+        return data
+
+    def OutputString(self):
+        DumpString = '''
+                                NeedScore:%d,
+                                Count:%d,
+                                AwardItemList:%s
+                                '''\
+                                %(
+                                self.NeedScore,
+                                self.Count,
+                                "..."
+                                )
+        return DumpString
+
+
 class  tagMCCrossActLianqiBillard(Structure):
     Rank = 0    #(DWORD Rank)// 名次,1-代表第一名;支持夸段,如1,3 代表第1名,第2~3名
     Count = 0    #(BYTE Count)// 奖励物品数
     AwardItemList = list()    #(vector<tagMCCrossActLianqiItem> AwardItemList)// 奖励物品列表
     NeedScore = 0    #(DWORD NeedScore)// 上榜所需积分
+    CountEx = 0    #(BYTE CountEx)// 额外奖励数
+    AwardItemExList = list()    #(vector<tagMCCrossActLianqiAwardEx> AwardItemExList)// 额外奖励列表
     data = None
 
     def __init__(self):
@@ -44350,6 +44431,11 @@
             _pos = temAwardItemList.ReadData(_lpData, _pos)
             self.AwardItemList.append(temAwardItemList)
         self.NeedScore,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.CountEx,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        for i in range(self.CountEx):
+            temAwardItemExList = tagMCCrossActLianqiAwardEx()
+            _pos = temAwardItemExList.ReadData(_lpData, _pos)
+            self.AwardItemExList.append(temAwardItemExList)
         return _pos
 
     def Clear(self):
@@ -44357,6 +44443,8 @@
         self.Count = 0
         self.AwardItemList = list()
         self.NeedScore = 0
+        self.CountEx = 0
+        self.AwardItemExList = list()
         return
 
     def GetLength(self):
@@ -44366,6 +44454,9 @@
         for i in range(self.Count):
             length += self.AwardItemList[i].GetLength()
         length += 4
+        length += 1
+        for i in range(self.CountEx):
+            length += self.AwardItemExList[i].GetLength()
 
         return length
 
@@ -44376,6 +44467,9 @@
         for i in range(self.Count):
             data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
         data = CommFunc.WriteDWORD(data, self.NeedScore)
+        data = CommFunc.WriteBYTE(data, self.CountEx)
+        for i in range(self.CountEx):
+            data = CommFunc.WriteString(data, self.AwardItemExList[i].GetLength(), self.AwardItemExList[i].GetBuffer())
         return data
 
     def OutputString(self):
@@ -44383,13 +44477,17 @@
                                 Rank:%d,
                                 Count:%d,
                                 AwardItemList:%s,
-                                NeedScore:%d
+                                NeedScore:%d,
+                                CountEx:%d,
+                                AwardItemExList:%s
                                 '''\
                                 %(
                                 self.Rank,
                                 self.Count,
                                 "...",
-                                self.NeedScore
+                                self.NeedScore,
+                                self.CountEx,
+                                "..."
                                 )
         return DumpString
 
@@ -51279,11 +51377,13 @@
     EnergyUsed = 0    #(WORD EnergyUsed)// 今日已消耗体力
     RefreshCount = 0    #(DWORD RefreshCount)// 今日福地刷新物品次数 - 普通刷新
     RefreshCountSuper = 0    #(BYTE RefreshCountSuper)// 今日福地刷新物品次数 - 超级刷新
+    RefreshCountRob = 0    #(WORD RefreshCountRob)// 今日福地刷新周围玩家次数
     TreasureCount = 0    #(BYTE TreasureCount)// 聚宝盆类型个数,对应类型 0~n
     TreasureState = list()    #(vector<BYTE> TreasureState)// 聚宝盆是否已激活列表,[类型0是否已激活, ...]
     TreasureAward = list()    #(vector<BYTE> TreasureAward)// 聚宝盆奖励是否已领取列表,[类型0是否已领取, ...]
     TreasureProgress = list()    #(vector<BYTE> TreasureProgress)// 聚宝盆进度值列表,[类型0进度值, ...],满进度100
     HelpAwardCount = 0    #(BYTE HelpAwardCount)// 今日已帮助别人奖励次数
+    HousekeeperEndTime = 0    #(DWORD HousekeeperEndTime)// 自动管家到期时间戳,有值同时也代表免费试用已使用
     data = None
 
     def __init__(self):
@@ -51299,6 +51399,7 @@
         self.EnergyUsed,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.RefreshCount,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.RefreshCountSuper,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.RefreshCountRob,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.TreasureCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         for i in range(self.TreasureCount):
             value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
@@ -51310,6 +51411,7 @@
             value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
             self.TreasureProgress.append(value)
         self.HelpAwardCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.HousekeeperEndTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         return _pos
 
     def Clear(self):
@@ -51321,11 +51423,13 @@
         self.EnergyUsed = 0
         self.RefreshCount = 0
         self.RefreshCountSuper = 0
+        self.RefreshCountRob = 0
         self.TreasureCount = 0
         self.TreasureState = list()
         self.TreasureAward = list()
         self.TreasureProgress = list()
         self.HelpAwardCount = 0
+        self.HousekeeperEndTime = 0
         return
 
     def GetLength(self):
@@ -51335,11 +51439,13 @@
         length += 2
         length += 4
         length += 1
+        length += 2
         length += 1
         length += 1 * self.TreasureCount
         length += 1 * self.TreasureCount
         length += 1 * self.TreasureCount
         length += 1
+        length += 4
 
         return length
 
@@ -51350,6 +51456,7 @@
         data = CommFunc.WriteWORD(data, self.EnergyUsed)
         data = CommFunc.WriteDWORD(data, self.RefreshCount)
         data = CommFunc.WriteBYTE(data, self.RefreshCountSuper)
+        data = CommFunc.WriteWORD(data, self.RefreshCountRob)
         data = CommFunc.WriteBYTE(data, self.TreasureCount)
         for i in range(self.TreasureCount):
             data = CommFunc.WriteBYTE(data, self.TreasureState[i])
@@ -51358,6 +51465,7 @@
         for i in range(self.TreasureCount):
             data = CommFunc.WriteBYTE(data, self.TreasureProgress[i])
         data = CommFunc.WriteBYTE(data, self.HelpAwardCount)
+        data = CommFunc.WriteDWORD(data, self.HousekeeperEndTime)
         return data
 
     def OutputString(self):
@@ -51367,11 +51475,13 @@
                                 EnergyUsed:%d,
                                 RefreshCount:%d,
                                 RefreshCountSuper:%d,
+                                RefreshCountRob:%d,
                                 TreasureCount:%d,
                                 TreasureState:%s,
                                 TreasureAward:%s,
                                 TreasureProgress:%s,
-                                HelpAwardCount:%d
+                                HelpAwardCount:%d,
+                                HousekeeperEndTime:%d
                                 '''\
                                 %(
                                 self.Head.OutputString(),
@@ -51379,11 +51489,13 @@
                                 self.EnergyUsed,
                                 self.RefreshCount,
                                 self.RefreshCountSuper,
+                                self.RefreshCountRob,
                                 self.TreasureCount,
                                 "...",
                                 "...",
                                 "...",
-                                self.HelpAwardCount
+                                self.HelpAwardCount,
+                                self.HousekeeperEndTime
                                 )
         return DumpString
 

--
Gitblit v1.8.0