From 1a4857dba236228a63ea90290be8e95f68052d91 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 24 一月 2025 19:06:27 +0800
Subject: [PATCH] 1111 【越南】【英语】【BT】【砍树】增加功能开启触发任务事件;

---
 ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py |  103 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 97 insertions(+), 6 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index f3b397e..2866d99 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -20418,6 +20418,7 @@
                   ("SubCmd", c_ubyte),
                   ("MapID", c_ushort),    
                   ("FuncLineID", c_ushort),    #功能线路ID
+                  ("FuncMapID", c_ushort),    #功能地图ID
                   ]
 
     def __init__(self):
@@ -20436,6 +20437,7 @@
         self.SubCmd = 0x26
         self.MapID = 0
         self.FuncLineID = 0
+        self.FuncMapID = 0
         return
 
     def GetLength(self):
@@ -20449,13 +20451,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
 
@@ -20474,6 +20478,7 @@
                   ("SubCmd", c_ubyte),
                   ("MapID", c_int),    
                   ("FuncLineID", c_ushort),    #功能线路ID
+                  ("FuncMapID", c_ushort),    #功能地图ID
                   ]
 
     def __init__(self):
@@ -20492,6 +20497,7 @@
         self.SubCmd = 0x27
         self.MapID = 0
         self.FuncLineID = 0
+        self.FuncMapID = 0
         return
 
     def GetLength(self):
@@ -20505,13 +20511,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
 
@@ -28993,6 +29001,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)
@@ -29008,6 +29017,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)
@@ -29021,6 +29031,7 @@
         self.TreasureType = 0
         self.LuckValue = 0
         self.TreasureCount = 0
+        self.TreasureCountToday = 0
         self.FreeCountToday = 0
         self.TreasureCntAward = 0
         self.GridLimitCnt = 0
@@ -29031,6 +29042,7 @@
         length = 0
         length += 1
         length += 2
+        length += 4
         length += 4
         length += 2
         length += 4
@@ -29045,6 +29057,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)
@@ -29057,6 +29070,7 @@
                                 TreasureType:%d,
                                 LuckValue:%d,
                                 TreasureCount:%d,
+                                TreasureCountToday:%d,
                                 FreeCountToday:%d,
                                 TreasureCntAward:%d,
                                 GridLimitCnt:%d,
@@ -29066,6 +29080,7 @@
                                 self.TreasureType,
                                 self.LuckValue,
                                 self.TreasureCount,
+                                self.TreasureCountToday,
                                 self.FreeCountToday,
                                 self.TreasureCntAward,
                                 self.GridLimitCnt,
@@ -44378,11 +44393,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):
@@ -44398,6 +44472,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):
@@ -44405,6 +44484,8 @@
         self.Count = 0
         self.AwardItemList = list()
         self.NeedScore = 0
+        self.CountEx = 0
+        self.AwardItemExList = list()
         return
 
     def GetLength(self):
@@ -44414,6 +44495,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
 
@@ -44424,6 +44508,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):
@@ -44431,13 +44518,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
 

--
Gitblit v1.8.0