From fc7847f19424c902c7e6fdac1d024b5039b3d725 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 14 二月 2019 15:16:49 +0800
Subject: [PATCH] 5315 【后端】【1.6】登录奖励活动

---
 ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py |   79 +++++++++------------------------------
 1 files changed, 19 insertions(+), 60 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index 66948d9..a79ee37 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -20479,56 +20479,13 @@
 #------------------------------------------------------
 # AA 0C 登录奖励活动信息 #tagMCActLoginAwardInfo
 
-class  tagMCActLoginAwardItem(Structure):
-    _pack_ = 1
-    _fields_ = [
-                  ("ItemID", c_int),    # 物品ID
-                  ("ItemCnt", 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.ItemCnt = 0
-        self.IsBind = 0
-        return
-
-    def GetLength(self):
-        return sizeof(tagMCActLoginAwardItem)
-
-    def GetBuffer(self):
-        return string_at(addressof(self), self.GetLength())
-
-    def OutputString(self):
-        DumpString = '''// AA 0C 登录奖励活动信息 //tagMCActLoginAwardInfo:
-                                ItemID:%d,
-                                ItemCnt:%d,
-                                IsBind:%d
-                                '''\
-                                %(
-                                self.ItemID,
-                                self.ItemCnt,
-                                self.IsBind
-                                )
-        return DumpString
-
-
 class  tagMCActLoginAwardAction(Structure):
     TemplateID = 0    #(DWORD TemplateID)// 模板ID
     ActionType = 0    #(WORD ActionType)// 活动类别
     TotalTimes = 0    #(DWORD TotalTimes)// 可完成的总次数,0表示不限次数
     SingleTimes = 0    #(DWORD SingleTimes)// 单次领奖需要的次数
-    Count = 0    #(BYTE Count)// 物品数
-    ItemInfo = list()    #(vector<tagMCActLoginAwardItem> ItemInfo)// 物品信息
+    Count = 0    #(WORD Count)// 物品配置长度
+    ItemInfo = ""    #(String ItemInfo)// 物品信息
     data = None
 
     def __init__(self):
@@ -20541,11 +20498,8 @@
         self.ActionType,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.TotalTimes,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.SingleTimes,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.Count):
-            temItemInfo = tagMCActLoginAwardItem()
-            _pos = temItemInfo.ReadData(_lpData, _pos)
-            self.ItemInfo.append(temItemInfo)
+        self.Count,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemInfo,_pos = CommFunc.ReadString(_lpData, _pos,self.Count)
         return _pos
 
     def Clear(self):
@@ -20554,7 +20508,7 @@
         self.TotalTimes = 0
         self.SingleTimes = 0
         self.Count = 0
-        self.ItemInfo = list()
+        self.ItemInfo = ""
         return
 
     def GetLength(self):
@@ -20563,9 +20517,8 @@
         length += 2
         length += 4
         length += 4
-        length += 1
-        for i in range(self.Count):
-            length += self.ItemInfo[i].GetLength()
+        length += 2
+        length += len(self.ItemInfo)
 
         return length
 
@@ -20575,9 +20528,8 @@
         data = CommFunc.WriteWORD(data, self.ActionType)
         data = CommFunc.WriteDWORD(data, self.TotalTimes)
         data = CommFunc.WriteDWORD(data, self.SingleTimes)
-        data = CommFunc.WriteBYTE(data, self.Count)
-        for i in range(self.Count):
-            data = CommFunc.WriteString(data, self.ItemInfo[i].GetLength(), self.ItemInfo[i].GetBuffer())
+        data = CommFunc.WriteWORD(data, self.Count)
+        data = CommFunc.WriteString(data, self.Count, self.ItemInfo)
         return data
 
     def OutputString(self):
@@ -20595,7 +20547,7 @@
                                 self.TotalTimes,
                                 self.SingleTimes,
                                 self.Count,
-                                "..."
+                                self.ItemInfo
                                 )
         return DumpString
 
@@ -20603,6 +20555,7 @@
 class  tagMCActLoginAwardDayInfo(Structure):
     ActCnt = 0    #(BYTE ActCnt)// 数量
     TemplateList = list()    #(vector<WORD> TemplateList)// 模板列表
+    WorldLV = 0    #(WORD WorldLV)// 世界等级
     data = None
 
     def __init__(self):
@@ -20615,17 +20568,20 @@
         for i in range(self.ActCnt):
             value,_pos=CommFunc.ReadWORD(_lpData,_pos)
             self.TemplateList.append(value)
+        self.WorldLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
         return _pos
 
     def Clear(self):
         self.ActCnt = 0
         self.TemplateList = list()
+        self.WorldLV = 0
         return
 
     def GetLength(self):
         length = 0
         length += 1
         length += 2 * self.ActCnt
+        length += 2
 
         return length
 
@@ -20634,16 +20590,19 @@
         data = CommFunc.WriteBYTE(data, self.ActCnt)
         for i in range(self.ActCnt):
             data = CommFunc.WriteWORD(data, self.TemplateList[i])
+        data = CommFunc.WriteWORD(data, self.WorldLV)
         return data
 
     def OutputString(self):
         DumpString = '''
                                 ActCnt:%d,
-                                TemplateList:%s
+                                TemplateList:%s,
+                                WorldLV:%d
                                 '''\
                                 %(
                                 self.ActCnt,
-                                "..."
+                                "...",
+                                self.WorldLV
                                 )
         return DumpString
 

--
Gitblit v1.8.0