From 562f3491c2f87a55fe333d855cd5737223562731 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 25 六月 2021 16:13:47 +0800
Subject: [PATCH] 8921 【主干】【BT2】【后端】H.活动-节日活动-垃圾分类(修复仙匣秘境没有同步大奖已抽次数bug)

---
 ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py |  151 +++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 119 insertions(+), 32 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index ea699ce..8f401d7 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -15427,6 +15427,87 @@
 
 
 #------------------------------------------------------
+# A3 C4 装备神装拆解结果 #tagMCEquipDecomposeRet
+
+class  tagMCEquipDecomposeRet(Structure):
+    Head = tagHead()
+    DecomposeEquipIDCount = 0    #(BYTE DecomposeEquipIDCount)// 已分解的装备个数
+    DecomposeEquipIDList = list()    #(vector<DWORD> DecomposeEquipIDList)// 已分解的神装装备ID列表
+    GetItemLen = 0    #(WORD GetItemLen)
+    GetItemData = ""    #(String GetItemData)//  获得物品信息 [[itemID,itemCount,isBind], [或itemID,itemCount,isBind,isAppoint], {或物品信息字典}, ...] 
+    data = None
+
+    def __init__(self):
+        self.Clear()
+        self.Head.Cmd = 0xA3
+        self.Head.SubCmd = 0xC4
+        return
+
+    def ReadData(self, _lpData, _pos=0, _Len=0):
+        self.Clear()
+        _pos = self.Head.ReadData(_lpData, _pos)
+        self.DecomposeEquipIDCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        for i in range(self.DecomposeEquipIDCount):
+            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
+            self.DecomposeEquipIDList.append(value)
+        self.GetItemLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.GetItemData,_pos = CommFunc.ReadString(_lpData, _pos,self.GetItemLen)
+        return _pos
+
+    def Clear(self):
+        self.Head = tagHead()
+        self.Head.Clear()
+        self.Head.Cmd = 0xA3
+        self.Head.SubCmd = 0xC4
+        self.DecomposeEquipIDCount = 0
+        self.DecomposeEquipIDList = list()
+        self.GetItemLen = 0
+        self.GetItemData = ""
+        return
+
+    def GetLength(self):
+        length = 0
+        length += self.Head.GetLength()
+        length += 1
+        length += 4 * self.DecomposeEquipIDCount
+        length += 2
+        length += len(self.GetItemData)
+
+        return length
+
+    def GetBuffer(self):
+        data = ''
+        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+        data = CommFunc.WriteBYTE(data, self.DecomposeEquipIDCount)
+        for i in range(self.DecomposeEquipIDCount):
+            data = CommFunc.WriteDWORD(data, self.DecomposeEquipIDList[i])
+        data = CommFunc.WriteWORD(data, self.GetItemLen)
+        data = CommFunc.WriteString(data, self.GetItemLen, self.GetItemData)
+        return data
+
+    def OutputString(self):
+        DumpString = '''
+                                Head:%s,
+                                DecomposeEquipIDCount:%d,
+                                DecomposeEquipIDList:%s,
+                                GetItemLen:%d,
+                                GetItemData:%s
+                                '''\
+                                %(
+                                self.Head.OutputString(),
+                                self.DecomposeEquipIDCount,
+                                "...",
+                                self.GetItemLen,
+                                self.GetItemData
+                                )
+        return DumpString
+
+
+m_NAtagMCEquipDecomposeRet=tagMCEquipDecomposeRet()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCEquipDecomposeRet.Head.Cmd,m_NAtagMCEquipDecomposeRet.Head.SubCmd))] = m_NAtagMCEquipDecomposeRet
+
+
+#------------------------------------------------------
 # A3 B1 装备部位星数信息 #tagMCEquipPartStarInfo
 
 class  tagMCEquipPartStar(Structure):
@@ -24723,17 +24804,23 @@
 
 
 #------------------------------------------------------
-# AA 56 垃圾收集活动任务进度信息 #tagMCActGarbageTaskInfo
+# AA 57 垃圾收集活动分类结果 #tagMCActGarbageSortingResult
 
-class  tagMCActGarbageTaskItem(Structure):
+class  tagMCActGarbageSortingResult(Structure):
     _pack_ = 1
     _fields_ = [
-                  ("ItemID", c_int),    
-                  ("ItemCount", c_ushort),    
+                  ("Cmd", c_ubyte),
+                  ("SubCmd", c_ubyte),
+                  ("ActNum", c_ubyte),    #活动编号
+                  ("GarbageSortingType", c_ubyte),    #垃圾分类类型
+                  ("IsRight", c_ubyte),    #是否正确
+                  ("AddEnvValue", c_ushort),    #增加环保值
                   ]
 
     def __init__(self):
         self.Clear()
+        self.Cmd = 0xAA
+        self.SubCmd = 0x57
         return
 
     def ReadData(self, stringData, _pos=0, _len=0):
@@ -24742,27 +24829,46 @@
         return _pos + self.GetLength()
 
     def Clear(self):
-        self.ItemID = 0
-        self.ItemCount = 0
+        self.Cmd = 0xAA
+        self.SubCmd = 0x57
+        self.ActNum = 0
+        self.GarbageSortingType = 0
+        self.IsRight = 0
+        self.AddEnvValue = 0
         return
 
     def GetLength(self):
-        return sizeof(tagMCActGarbageTaskItem)
+        return sizeof(tagMCActGarbageSortingResult)
 
     def GetBuffer(self):
         return string_at(addressof(self), self.GetLength())
 
     def OutputString(self):
-        DumpString = '''// AA 56 垃圾收集活动任务进度信息 //tagMCActGarbageTaskInfo:
-                                ItemID:%d,
-                                ItemCount:%d
+        DumpString = '''// AA 57 垃圾收集活动分类结果 //tagMCActGarbageSortingResult:
+                                Cmd:%s,
+                                SubCmd:%s,
+                                ActNum:%d,
+                                GarbageSortingType:%d,
+                                IsRight:%d,
+                                AddEnvValue:%d
                                 '''\
                                 %(
-                                self.ItemID,
-                                self.ItemCount
+                                self.Cmd,
+                                self.SubCmd,
+                                self.ActNum,
+                                self.GarbageSortingType,
+                                self.IsRight,
+                                self.AddEnvValue
                                 )
         return DumpString
 
+
+m_NAtagMCActGarbageSortingResult=tagMCActGarbageSortingResult()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActGarbageSortingResult.Cmd,m_NAtagMCActGarbageSortingResult.SubCmd))] = m_NAtagMCActGarbageSortingResult
+
+
+#------------------------------------------------------
+# AA 56 垃圾收集活动任务进度信息 #tagMCActGarbageTaskInfo
 
 class  tagMCActGarbageTask(Structure):
     _pack_ = 1
@@ -24812,8 +24918,6 @@
     ActNum = 0    #(BYTE ActNum)// 活动编号
     GarbageTaskCount = 0    #(BYTE GarbageTaskCount)//任务数
     GarbageTaskList = list()    #(vector<tagMCActGarbageTask> GarbageTaskList)//任务信息列表
-    TaskItemCount = 0    #(BYTE TaskItemCount)//本次获得的垃圾收集任务奖励物品个数,可能为0
-    GarbageTaskItemList = list()    #(vector<tagMCActGarbageTaskItem> GarbageTaskItemList)
     data = None
 
     def __init__(self):
@@ -24831,11 +24935,6 @@
             temGarbageTaskList = tagMCActGarbageTask()
             _pos = temGarbageTaskList.ReadData(_lpData, _pos)
             self.GarbageTaskList.append(temGarbageTaskList)
-        self.TaskItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.TaskItemCount):
-            temGarbageTaskItemList = tagMCActGarbageTaskItem()
-            _pos = temGarbageTaskItemList.ReadData(_lpData, _pos)
-            self.GarbageTaskItemList.append(temGarbageTaskItemList)
         return _pos
 
     def Clear(self):
@@ -24846,8 +24945,6 @@
         self.ActNum = 0
         self.GarbageTaskCount = 0
         self.GarbageTaskList = list()
-        self.TaskItemCount = 0
-        self.GarbageTaskItemList = list()
         return
 
     def GetLength(self):
@@ -24857,9 +24954,6 @@
         length += 1
         for i in range(self.GarbageTaskCount):
             length += self.GarbageTaskList[i].GetLength()
-        length += 1
-        for i in range(self.TaskItemCount):
-            length += self.GarbageTaskItemList[i].GetLength()
 
         return length
 
@@ -24870,9 +24964,6 @@
         data = CommFunc.WriteBYTE(data, self.GarbageTaskCount)
         for i in range(self.GarbageTaskCount):
             data = CommFunc.WriteString(data, self.GarbageTaskList[i].GetLength(), self.GarbageTaskList[i].GetBuffer())
-        data = CommFunc.WriteBYTE(data, self.TaskItemCount)
-        for i in range(self.TaskItemCount):
-            data = CommFunc.WriteString(data, self.GarbageTaskItemList[i].GetLength(), self.GarbageTaskItemList[i].GetBuffer())
         return data
 
     def OutputString(self):
@@ -24880,16 +24971,12 @@
                                 Head:%s,
                                 ActNum:%d,
                                 GarbageTaskCount:%d,
-                                GarbageTaskList:%s,
-                                TaskItemCount:%d,
-                                GarbageTaskItemList:%s
+                                GarbageTaskList:%s
                                 '''\
                                 %(
                                 self.Head.OutputString(),
                                 self.ActNum,
                                 self.GarbageTaskCount,
-                                "...",
-                                self.TaskItemCount,
                                 "..."
                                 )
         return DumpString

--
Gitblit v1.8.0