From f8dab27621ee5061a48b3a0142c6860b360cf0c9 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 16 十月 2019 17:17:27 +0800
Subject: [PATCH] 8262 【主干】【后端】仙盟宴会及传功优化(增加宴会结束倒计时显示)

---
 ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py |  331 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 331 insertions(+), 0 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
index b2c6d08..81617d5 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -1248,6 +1248,62 @@
 
 
 #------------------------------------------------------
+# A9 01 获取Boss首杀奖励 #tagCGGetBossFirstKillAward
+
+class  tagCGGetBossFirstKillAward(Structure):
+    _pack_ = 1
+    _fields_ = [
+                  ("Cmd", c_ubyte),
+                  ("SubCmd", c_ubyte),
+                  ("NPCID", c_int),    
+                  ("AwardType", c_ubyte),    # 0-首杀红包奖励;1-个人首杀奖励
+                  ]
+
+    def __init__(self):
+        self.Clear()
+        self.Cmd = 0xA9
+        self.SubCmd = 0x01
+        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 = 0xA9
+        self.SubCmd = 0x01
+        self.NPCID = 0
+        self.AwardType = 0
+        return
+
+    def GetLength(self):
+        return sizeof(tagCGGetBossFirstKillAward)
+
+    def GetBuffer(self):
+        return string_at(addressof(self), self.GetLength())
+
+    def OutputString(self):
+        DumpString = '''// A9 01 获取Boss首杀奖励 //tagCGGetBossFirstKillAward:
+                                Cmd:%s,
+                                SubCmd:%s,
+                                NPCID:%d,
+                                AwardType:%d
+                                '''\
+                                %(
+                                self.Cmd,
+                                self.SubCmd,
+                                self.NPCID,
+                                self.AwardType
+                                )
+        return DumpString
+
+
+m_NAtagCGGetBossFirstKillAward=tagCGGetBossFirstKillAward()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGGetBossFirstKillAward.Cmd,m_NAtagCGGetBossFirstKillAward.SubCmd))] = m_NAtagCGGetBossFirstKillAward
+
+
+#------------------------------------------------------
 # A9 04 查询boss信息 #tagCGQueryBossInfo
 
 class  tagCGQueryBossInfo(Structure):
@@ -6211,6 +6267,104 @@
 
 
 #------------------------------------------------------
+# A3 30 装备神装进阶 #tagCMEquipEvolve
+
+class  tagCMEquipEvolve(Structure):
+    Head = tagHead()
+    EquipIndex = 0    #(BYTE EquipIndex)// 要进阶的装备在装备背包中索引
+    NeedEquipIDIndex = 0    #(BYTE NeedEquipIDIndex)// 所需固定装备B在背包中索引
+    NeedItemIDIndexCnt = 0    #(BYTE NeedItemIDIndexCnt)// 附加材料在背包中索引个数
+    NeedItemIDIndex = list()    #(vector<BYTE> NeedItemIDIndex)// 附加材料在背包的索引列表
+    NeedSuitIndexCnt = 0    #(BYTE NeedSuitIndexCnt)// 所需套装材料在背包中索引个数
+    NeedSuitIndex = list()    #(vector<BYTE> NeedSuitIndex)// 所需套装材料在背包的索引列表
+    data = None
+
+    def __init__(self):
+        self.Clear()
+        self.Head.Cmd = 0xA3
+        self.Head.SubCmd = 0x30
+        return
+
+    def ReadData(self, _lpData, _pos=0, _Len=0):
+        self.Clear()
+        _pos = self.Head.ReadData(_lpData, _pos)
+        self.EquipIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.NeedEquipIDIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.NeedItemIDIndexCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        for i in range(self.NeedItemIDIndexCnt):
+            value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
+            self.NeedItemIDIndex.append(value)
+        self.NeedSuitIndexCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        for i in range(self.NeedSuitIndexCnt):
+            value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
+            self.NeedSuitIndex.append(value)
+        return _pos
+
+    def Clear(self):
+        self.Head = tagHead()
+        self.Head.Clear()
+        self.Head.Cmd = 0xA3
+        self.Head.SubCmd = 0x30
+        self.EquipIndex = 0
+        self.NeedEquipIDIndex = 0
+        self.NeedItemIDIndexCnt = 0
+        self.NeedItemIDIndex = list()
+        self.NeedSuitIndexCnt = 0
+        self.NeedSuitIndex = list()
+        return
+
+    def GetLength(self):
+        length = 0
+        length += self.Head.GetLength()
+        length += 1
+        length += 1
+        length += 1
+        length += 1 * self.NeedItemIDIndexCnt
+        length += 1
+        length += 1 * self.NeedSuitIndexCnt
+
+        return length
+
+    def GetBuffer(self):
+        data = ''
+        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+        data = CommFunc.WriteBYTE(data, self.EquipIndex)
+        data = CommFunc.WriteBYTE(data, self.NeedEquipIDIndex)
+        data = CommFunc.WriteBYTE(data, self.NeedItemIDIndexCnt)
+        for i in range(self.NeedItemIDIndexCnt):
+            data = CommFunc.WriteBYTE(data, self.NeedItemIDIndex[i])
+        data = CommFunc.WriteBYTE(data, self.NeedSuitIndexCnt)
+        for i in range(self.NeedSuitIndexCnt):
+            data = CommFunc.WriteBYTE(data, self.NeedSuitIndex[i])
+        return data
+
+    def OutputString(self):
+        DumpString = '''
+                                Head:%s,
+                                EquipIndex:%d,
+                                NeedEquipIDIndex:%d,
+                                NeedItemIDIndexCnt:%d,
+                                NeedItemIDIndex:%s,
+                                NeedSuitIndexCnt:%d,
+                                NeedSuitIndex:%s
+                                '''\
+                                %(
+                                self.Head.OutputString(),
+                                self.EquipIndex,
+                                self.NeedEquipIDIndex,
+                                self.NeedItemIDIndexCnt,
+                                "...",
+                                self.NeedSuitIndexCnt,
+                                "..."
+                                )
+        return DumpString
+
+
+m_NAtagCMEquipEvolve=tagCMEquipEvolve()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipEvolve.Head.Cmd,m_NAtagCMEquipEvolve.Head.SubCmd))] = m_NAtagCMEquipEvolve
+
+
+#------------------------------------------------------
 #A3 01 装备强化 #tagEquipPlus
 
 class  tagEquipPlus(Structure):
@@ -9811,6 +9965,126 @@
 
 m_NAtagCMGoldInvest=tagCMGoldInvest()
 ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGoldInvest.Cmd,m_NAtagCMGoldInvest.SubCmd))] = m_NAtagCMGoldInvest
+
+
+#------------------------------------------------------
+# A5 29 骑宠觉醒 #tagCMHorsePetAwake
+
+class  tagCMHorsePetAwake(Structure):
+    _pack_ = 1
+    _fields_ = [
+                  ("Cmd", c_ubyte),
+                  ("SubCmd", c_ubyte),
+                  ("Type", c_ushort),    # 1-坐骑 2-灵宠
+                  ("ID", c_int),    # 对应坐骑表灵宠表ID
+                  ("EatItemID", c_int),    # 吞噬的物品ID
+                  ]
+
+    def __init__(self):
+        self.Clear()
+        self.Cmd = 0xA5
+        self.SubCmd = 0x29
+        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 = 0xA5
+        self.SubCmd = 0x29
+        self.Type = 0
+        self.ID = 0
+        self.EatItemID = 0
+        return
+
+    def GetLength(self):
+        return sizeof(tagCMHorsePetAwake)
+
+    def GetBuffer(self):
+        return string_at(addressof(self), self.GetLength())
+
+    def OutputString(self):
+        DumpString = '''// A5 29 骑宠觉醒 //tagCMHorsePetAwake:
+                                Cmd:%s,
+                                SubCmd:%s,
+                                Type:%d,
+                                ID:%d,
+                                EatItemID:%d
+                                '''\
+                                %(
+                                self.Cmd,
+                                self.SubCmd,
+                                self.Type,
+                                self.ID,
+                                self.EatItemID
+                                )
+        return DumpString
+
+
+m_NAtagCMHorsePetAwake=tagCMHorsePetAwake()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMHorsePetAwake.Cmd,m_NAtagCMHorsePetAwake.SubCmd))] = m_NAtagCMHorsePetAwake
+
+
+#------------------------------------------------------
+# A5 30 骑宠外观选择 #tagCMHorsePetSkinSelect
+
+class  tagCMHorsePetSkinSelect(Structure):
+    _pack_ = 1
+    _fields_ = [
+                  ("Cmd", c_ubyte),
+                  ("SubCmd", c_ubyte),
+                  ("Type", c_ushort),    # 1-坐骑 2-灵宠
+                  ("ID", c_int),    # 对应坐骑表灵宠表ID
+                  ("SkinIndex", c_ubyte),    # 外观索引
+                  ]
+
+    def __init__(self):
+        self.Clear()
+        self.Cmd = 0xA5
+        self.SubCmd = 0x30
+        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 = 0xA5
+        self.SubCmd = 0x30
+        self.Type = 0
+        self.ID = 0
+        self.SkinIndex = 0
+        return
+
+    def GetLength(self):
+        return sizeof(tagCMHorsePetSkinSelect)
+
+    def GetBuffer(self):
+        return string_at(addressof(self), self.GetLength())
+
+    def OutputString(self):
+        DumpString = '''// A5 30 骑宠外观选择 //tagCMHorsePetSkinSelect:
+                                Cmd:%s,
+                                SubCmd:%s,
+                                Type:%d,
+                                ID:%d,
+                                SkinIndex:%d
+                                '''\
+                                %(
+                                self.Cmd,
+                                self.SubCmd,
+                                self.Type,
+                                self.ID,
+                                self.SkinIndex
+                                )
+        return DumpString
+
+
+m_NAtagCMHorsePetSkinSelect=tagCMHorsePetSkinSelect()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMHorsePetSkinSelect.Cmd,m_NAtagCMHorsePetSkinSelect.SubCmd))] = m_NAtagCMHorsePetSkinSelect
 
 
 #------------------------------------------------------
@@ -15788,6 +16062,63 @@
 
 
 #------------------------------------------------------
+# B5 15 拍卖行下架拍品 #tagCMUnsellAuctionItem
+
+class  tagCMUnsellAuctionItem(Structure):
+    Head = tagHead()
+    ItemGUID = ""    #(char ItemGUID[40])
+    data = None
+
+    def __init__(self):
+        self.Clear()
+        self.Head.Cmd = 0xB5
+        self.Head.SubCmd = 0x15
+        return
+
+    def ReadData(self, _lpData, _pos=0, _Len=0):
+        self.Clear()
+        _pos = self.Head.ReadData(_lpData, _pos)
+        self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+        return _pos
+
+    def Clear(self):
+        self.Head = tagHead()
+        self.Head.Clear()
+        self.Head.Cmd = 0xB5
+        self.Head.SubCmd = 0x15
+        self.ItemGUID = ""
+        return
+
+    def GetLength(self):
+        length = 0
+        length += self.Head.GetLength()
+        length += 40
+
+        return length
+
+    def GetBuffer(self):
+        data = ''
+        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+        data = CommFunc.WriteString(data, 40, self.ItemGUID)
+        return data
+
+    def OutputString(self):
+        DumpString = '''
+                                Head:%s,
+                                ItemGUID:%s
+                                '''\
+                                %(
+                                self.Head.OutputString(),
+                                self.ItemGUID
+                                )
+        return DumpString
+
+
+m_NAtagCMUnsellAuctionItem=tagCMUnsellAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMUnsellAuctionItem.Head.Cmd,m_NAtagCMUnsellAuctionItem.Head.SubCmd))] = m_NAtagCMUnsellAuctionItem
+
+
+#------------------------------------------------------
 # B9 04 修改队伍相关审核状态 #tagCMChangeTeamCheckState
 
 class  tagCMChangeTeamCheckState(Structure):

--
Gitblit v1.8.0