From ff48a24b8da42998da61b4ff4000e758d8d1b041 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 27 一月 2021 11:18:52 +0800
Subject: [PATCH] 8710 【开发】【主干】【BT2】根据世界等级配置奖励(成长必买改为通知对应不同世界等级的物品信息);

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py |  123 ++++++++++++++++++++++++++++++++++++----
 1 files changed, 109 insertions(+), 14 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index 474567b..a1fbe33 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -24481,9 +24481,109 @@
 #------------------------------------------------------
 # AA 31 成长必买活动信息 #tagMCActGrowupBuyInfo
 
+class  tagMCActGrowupBuyCTGItem(Structure):
+    _pack_ = 1
+    _fields_ = [
+                  ("ItemID", c_int),    
+                  ("ItemCount", c_ushort),    
+                  ("IsBind", c_ubyte),    
+                  ]
+
+    def __init__(self):
+        self.Clear()
+        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.ItemID = 0
+        self.ItemCount = 0
+        self.IsBind = 0
+        return
+
+    def GetLength(self):
+        return sizeof(tagMCActGrowupBuyCTGItem)
+
+    def GetBuffer(self):
+        return string_at(addressof(self), self.GetLength())
+
+    def OutputString(self):
+        DumpString = '''// AA 31 成长必买活动信息 //tagMCActGrowupBuyInfo:
+                                ItemID:%d,
+                                ItemCount:%d,
+                                IsBind:%d
+                                '''\
+                                %(
+                                self.ItemID,
+                                self.ItemCount,
+                                self.IsBind
+                                )
+        return DumpString
+
+
+class  tagMCActGrowupBuyCTGInfo(Structure):
+    CTGID = 0    #(BYTE CTGID)// 充值表ID
+    GainItemCount = 0    #(BYTE GainItemCount)// 获得物品数
+    GainItemList = list()    #(vector<tagMCActGrowupBuyCTGItem> GainItemList)// 获得物品列表,替换充值表中的 GainItemList 字段信息
+    data = None
+
+    def __init__(self):
+        self.Clear()
+        return
+
+    def ReadData(self, _lpData, _pos=0, _Len=0):
+        self.Clear()
+        self.CTGID,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.GainItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        for i in range(self.GainItemCount):
+            temGainItemList = tagMCActGrowupBuyCTGItem()
+            _pos = temGainItemList.ReadData(_lpData, _pos)
+            self.GainItemList.append(temGainItemList)
+        return _pos
+
+    def Clear(self):
+        self.CTGID = 0
+        self.GainItemCount = 0
+        self.GainItemList = list()
+        return
+
+    def GetLength(self):
+        length = 0
+        length += 1
+        length += 1
+        for i in range(self.GainItemCount):
+            length += self.GainItemList[i].GetLength()
+
+        return length
+
+    def GetBuffer(self):
+        data = ''
+        data = CommFunc.WriteBYTE(data, self.CTGID)
+        data = CommFunc.WriteBYTE(data, self.GainItemCount)
+        for i in range(self.GainItemCount):
+            data = CommFunc.WriteString(data, self.GainItemList[i].GetLength(), self.GainItemList[i].GetBuffer())
+        return data
+
+    def OutputString(self):
+        DumpString = '''
+                                CTGID:%d,
+                                GainItemCount:%d,
+                                GainItemList:%s
+                                '''\
+                                %(
+                                self.CTGID,
+                                self.GainItemCount,
+                                "..."
+                                )
+        return DumpString
+
+
 class  tagMCActGrowupBuyGroup(Structure):
     BuyCount = 0    #(BYTE BuyCount)// 循环购买礼包数
-    BuyCTGIDList = list()    #(vector<DWORD> BuyCTGIDList)// 循环购买礼包充值ID列表
+    BuyCTGIDList = list()    #(vector<tagMCActGrowupBuyCTGInfo> BuyCTGIDList)// 循环购买礼包充值ID信息列表
     PlayerBuyIndex = 0    #(BYTE PlayerBuyIndex)// 玩家当前可购买的礼包充值ID在列表中索引
     data = None
 
@@ -24495,8 +24595,9 @@
         self.Clear()
         self.BuyCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         for i in range(self.BuyCount):
-            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
-            self.BuyCTGIDList.append(value)
+            temBuyCTGIDList = tagMCActGrowupBuyCTGInfo()
+            _pos = temBuyCTGIDList.ReadData(_lpData, _pos)
+            self.BuyCTGIDList.append(temBuyCTGIDList)
         self.PlayerBuyIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         return _pos
 
@@ -24509,7 +24610,8 @@
     def GetLength(self):
         length = 0
         length += 1
-        length += 4 * self.BuyCount
+        for i in range(self.BuyCount):
+            length += self.BuyCTGIDList[i].GetLength()
         length += 1
 
         return length
@@ -24518,7 +24620,7 @@
         data = ''
         data = CommFunc.WriteBYTE(data, self.BuyCount)
         for i in range(self.BuyCount):
-            data = CommFunc.WriteDWORD(data, self.BuyCTGIDList[i])
+            data = CommFunc.WriteString(data, self.BuyCTGIDList[i].GetLength(), self.BuyCTGIDList[i].GetBuffer())
         data = CommFunc.WriteBYTE(data, self.PlayerBuyIndex)
         return data
 
@@ -24542,7 +24644,6 @@
     EndtDate = ""    #(char EndtDate[10])// 结束日期 y-m-d
     GroupCount = 0    #(BYTE GroupCount)// 循环购买礼包组数
     GroupList = list()    #(vector<tagMCActGrowupBuyGroup> GroupList)//循环购买礼包组列表
-    ActWorldLV = 0    #(WORD ActWorldLV)// 活动世界等级
     data = None
 
     def __init__(self):
@@ -24561,7 +24662,6 @@
             temGroupList = tagMCActGrowupBuyGroup()
             _pos = temGroupList.ReadData(_lpData, _pos)
             self.GroupList.append(temGroupList)
-        self.ActWorldLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
         return _pos
 
     def Clear(self):
@@ -24573,7 +24673,6 @@
         self.EndtDate = ""
         self.GroupCount = 0
         self.GroupList = list()
-        self.ActWorldLV = 0
         return
 
     def GetLength(self):
@@ -24584,7 +24683,6 @@
         length += 1
         for i in range(self.GroupCount):
             length += self.GroupList[i].GetLength()
-        length += 2
 
         return length
 
@@ -24596,7 +24694,6 @@
         data = CommFunc.WriteBYTE(data, self.GroupCount)
         for i in range(self.GroupCount):
             data = CommFunc.WriteString(data, self.GroupList[i].GetLength(), self.GroupList[i].GetBuffer())
-        data = CommFunc.WriteWORD(data, self.ActWorldLV)
         return data
 
     def OutputString(self):
@@ -24605,16 +24702,14 @@
                                 StartDate:%s,
                                 EndtDate:%s,
                                 GroupCount:%d,
-                                GroupList:%s,
-                                ActWorldLV:%d
+                                GroupList:%s
                                 '''\
                                 %(
                                 self.Head.OutputString(),
                                 self.StartDate,
                                 self.EndtDate,
                                 self.GroupCount,
-                                "...",
-                                self.ActWorldLV
+                                "..."
                                 )
         return DumpString
 

--
Gitblit v1.8.0