From 388823edfe6308cba6f76ca6dc4f20022c5cb2be Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 30 六月 2025 19:03:50 +0800
Subject: [PATCH] 10431 【英文】看广告获得限时代金券

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

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChGameToMapPyPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChGameToMapPyPack.py
index c47d050..2f08604 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChGameToMapPyPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChGameToMapPyPack.py
@@ -101,6 +101,66 @@
 
         return  DumpString
 #------------------------------------------------------
+# 05 03 玩家离开队伍 #tagGMPlayerLeaveTeam
+
+class  tagGMPlayerLeaveTeam(Structure):
+    _pack_ = 1
+    _fields_ = [
+                  ("Cmd", c_ubyte),
+                  ("SubCmd", c_ubyte),
+                  ("PlayerID", c_int),    
+                  ("CopyMapID", c_int),    
+                  ("TeamID", c_int),    
+                  ]
+
+    def __init__(self):
+        self.Clear()
+        self.Cmd = 0x05
+        self.SubCmd = 0x03
+        return
+
+    def ReadData(self, stringData, _pos=0, _len=0):
+        self.Clear()
+        memmove(addressof(self), stringData[_pos:], self.GetLength())
+        return _pos + self.GetLength()
+
+    def Clear(self):
+        self.Cmd = 0x05
+        self.SubCmd = 0x03
+        self.PlayerID = 0
+        self.CopyMapID = 0
+        self.TeamID = 0
+        return
+
+    def GetLength(self):
+        return sizeof(tagGMPlayerLeaveTeam)
+
+    def GetBuffer(self):
+        return string_at(addressof(self), self.GetLength())
+
+    def OutputString(self):
+        DumpString = '''// 05 03 玩家离开队伍 //tagGMPlayerLeaveTeam:
+                                Cmd:%s,
+                                SubCmd:%s,
+                                PlayerID:%d,
+                                CopyMapID:%d,
+                                TeamID:%d
+                                '''\
+                                %(
+                                self.Cmd,
+                                self.SubCmd,
+                                self.PlayerID,
+                                self.CopyMapID,
+                                self.TeamID
+                                )
+        return DumpString
+
+
+m_NAtagGMPlayerLeaveTeam=tagGMPlayerLeaveTeam()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGMPlayerLeaveTeam.Cmd,m_NAtagGMPlayerLeaveTeam.SubCmd))] = m_NAtagGMPlayerLeaveTeam
+
+
+#------------------------------------------------------
 # 05 02 队伍信息刷新 #tagGMTeamInfo
 
 class  tagGMTeamMemInfo(Structure):
@@ -418,12 +478,14 @@
     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)//当前补偿物品数
     Gold = 0    #(DWORD Gold)//仙玉
     GoldPaper = 0    #(DWORD GoldPaper)//绑定仙玉
     Silver = 0    #(DWORD Silver)//铜钱
+    MoneySource = 0    #(BYTE MoneySource)//货币来源
     Items = list()    #(vector<tagGMCompensationItem> Items)//补偿物品信息
     data = None
 
@@ -439,12 +501,14 @@
         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)
         self.Gold,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.GoldPaper,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.Silver,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.MoneySource,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         for i in range(self.Count):
             temItems = tagGMCompensationItem()
             _pos = temItems.ReadData(_lpData, _pos)
@@ -459,12 +523,14 @@
         self.PlayerID = 0
         self.CompensationType = 0
         self.GUID = ""
+        self.CreateTime = ""
         self.TextLen = 0
         self.Text = ""
         self.Count = 0
         self.Gold = 0
         self.GoldPaper = 0
         self.Silver = 0
+        self.MoneySource = 0
         self.Items = list()
         return
 
@@ -474,12 +540,14 @@
         length += 4
         length += 1
         length += 40
+        length += 30
         length += 4
         length += len(self.Text)
         length += 1
         length += 4
         length += 4
         length += 4
+        length += 1
         for i in range(self.Count):
             length += self.Items[i].GetLength()
 
@@ -491,12 +559,14 @@
         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)
         data = CommFunc.WriteDWORD(data, self.Gold)
         data = CommFunc.WriteDWORD(data, self.GoldPaper)
         data = CommFunc.WriteDWORD(data, self.Silver)
+        data = CommFunc.WriteBYTE(data, self.MoneySource)
         for i in range(self.Count):
             data = CommFunc.WriteString(data, self.Items[i].GetLength(), self.Items[i].GetBuffer())
         return data
@@ -507,12 +577,14 @@
                                 PlayerID:%d,
                                 CompensationType:%d,
                                 GUID:%s,
+                                CreateTime:%s,
                                 TextLen:%d,
                                 Text:%s,
                                 Count:%d,
                                 Gold:%d,
                                 GoldPaper:%d,
                                 Silver:%d,
+                                MoneySource:%d,
                                 Items:%s
                                 '''\
                                 %(
@@ -520,12 +592,14 @@
                                 self.PlayerID,
                                 self.CompensationType,
                                 self.GUID,
+                                self.CreateTime,
                                 self.TextLen,
                                 self.Text,
                                 self.Count,
                                 self.Gold,
                                 self.GoldPaper,
                                 self.Silver,
+                                self.MoneySource,
                                 "..."
                                 )
         return DumpString
@@ -533,84 +607,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