From 898494b9c3f767f7da9d02d91db3898bdf9aeffd Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 04 十二月 2019 16:21:27 +0800
Subject: [PATCH] 8346 【恺英】【后端】协助系统(修改为正在进行中的协助信息, 增加boss伤血榜单通知)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py |  270 ++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 231 insertions(+), 39 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index e82c9e8..58a9645 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -5948,15 +5948,11 @@
 
 
 #------------------------------------------------------
-# B0 03 协助中的目标玩家信息 #tagGCAssistTagPlayerInfo
+# B0 03 正在进行中的协助 #tagGCAssistingInfo
 
-class  tagGCAssistTagPlayerInfo(Structure):
+class  tagGCAssistingInfo(Structure):
     Head = tagHead()
-    PlayerID = 0    #(DWORD PlayerID)
-    PlayerName = ""    #(char PlayerName[33])
-    Job = 0    #(BYTE Job)
-    LV = 0    #(WORD LV)
-    RealmLV = 0    #(BYTE RealmLV)
+    AssistGUID = ""    #(char AssistGUID[40])//协助GUID
     data = None
 
     def __init__(self):
@@ -5968,11 +5964,7 @@
     def ReadData(self, _lpData, _pos=0, _Len=0):
         self.Clear()
         _pos = self.Head.ReadData(_lpData, _pos)
-        self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.PlayerName,_pos = CommFunc.ReadString(_lpData, _pos,33)
-        self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        self.RealmLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.AssistGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
         return _pos
 
     def Clear(self):
@@ -5980,56 +5972,36 @@
         self.Head.Clear()
         self.Head.Cmd = 0xB0
         self.Head.SubCmd = 0x03
-        self.PlayerID = 0
-        self.PlayerName = ""
-        self.Job = 0
-        self.LV = 0
-        self.RealmLV = 0
+        self.AssistGUID = ""
         return
 
     def GetLength(self):
         length = 0
         length += self.Head.GetLength()
-        length += 4
-        length += 33
-        length += 1
-        length += 2
-        length += 1
+        length += 40
 
         return length
 
     def GetBuffer(self):
         data = ''
         data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteDWORD(data, self.PlayerID)
-        data = CommFunc.WriteString(data, 33, self.PlayerName)
-        data = CommFunc.WriteBYTE(data, self.Job)
-        data = CommFunc.WriteWORD(data, self.LV)
-        data = CommFunc.WriteBYTE(data, self.RealmLV)
+        data = CommFunc.WriteString(data, 40, self.AssistGUID)
         return data
 
     def OutputString(self):
         DumpString = '''
                                 Head:%s,
-                                PlayerID:%d,
-                                PlayerName:%s,
-                                Job:%d,
-                                LV:%d,
-                                RealmLV:%d
+                                AssistGUID:%s
                                 '''\
                                 %(
                                 self.Head.OutputString(),
-                                self.PlayerID,
-                                self.PlayerName,
-                                self.Job,
-                                self.LV,
-                                self.RealmLV
+                                self.AssistGUID
                                 )
         return DumpString
 
 
-m_NAtagGCAssistTagPlayerInfo=tagGCAssistTagPlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAssistTagPlayerInfo.Head.Cmd,m_NAtagGCAssistTagPlayerInfo.Head.SubCmd))] = m_NAtagGCAssistTagPlayerInfo
+m_NAtagGCAssistingInfo=tagGCAssistingInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAssistingInfo.Head.Cmd,m_NAtagGCAssistingInfo.Head.SubCmd))] = m_NAtagGCAssistingInfo
 
 
 #------------------------------------------------------
@@ -31563,6 +31535,226 @@
 
 
 #------------------------------------------------------
+# B4 15 Boss伤血排行榜信息 #tagMCBossHurtValueRankInfo
+
+class  tagMCBossHurtValueAssist(Structure):
+    PlayerID = 0    #(DWORD PlayerID)// 助战玩家ID
+    PlayerName = ""    #(char PlayerName[33])
+    HurtValue = 0    #(DWORD HurtValue)//不超过亿部分
+    HurtValueEx = 0    #(DWORD HurtValueEx)//支持超过20亿
+    data = None
+
+    def __init__(self):
+        self.Clear()
+        return
+
+    def ReadData(self, _lpData, _pos=0, _Len=0):
+        self.Clear()
+        self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.PlayerName,_pos = CommFunc.ReadString(_lpData, _pos,33)
+        self.HurtValue,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.HurtValueEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        return _pos
+
+    def Clear(self):
+        self.PlayerID = 0
+        self.PlayerName = ""
+        self.HurtValue = 0
+        self.HurtValueEx = 0
+        return
+
+    def GetLength(self):
+        length = 0
+        length += 4
+        length += 33
+        length += 4
+        length += 4
+
+        return length
+
+    def GetBuffer(self):
+        data = ''
+        data = CommFunc.WriteDWORD(data, self.PlayerID)
+        data = CommFunc.WriteString(data, 33, self.PlayerName)
+        data = CommFunc.WriteDWORD(data, self.HurtValue)
+        data = CommFunc.WriteDWORD(data, self.HurtValueEx)
+        return data
+
+    def OutputString(self):
+        DumpString = '''
+                                PlayerID:%d,
+                                PlayerName:%s,
+                                HurtValue:%d,
+                                HurtValueEx:%d
+                                '''\
+                                %(
+                                self.PlayerID,
+                                self.PlayerName,
+                                self.HurtValue,
+                                self.HurtValueEx
+                                )
+        return DumpString
+
+
+class  tagMCBossHurtValue(Structure):
+    HurtType = 0    #(BYTE HurtType)// 伤血类型 1-玩家,2-队伍
+    HurtID = 0    #(DWORD HurtID)//玩家时为玩家ID,队伍时为队伍ID
+    HurtName = ""    #(char HurtName[33])// 名称
+    HurtValue = 0    #(DWORD HurtValue)//不超过亿部分
+    HurtValueEx = 0    #(DWORD HurtValueEx)//支持超过20亿
+    data = None
+
+    def __init__(self):
+        self.Clear()
+        return
+
+    def ReadData(self, _lpData, _pos=0, _Len=0):
+        self.Clear()
+        self.HurtType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.HurtID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.HurtName,_pos = CommFunc.ReadString(_lpData, _pos,33)
+        self.HurtValue,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.HurtValueEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        return _pos
+
+    def Clear(self):
+        self.HurtType = 0
+        self.HurtID = 0
+        self.HurtName = ""
+        self.HurtValue = 0
+        self.HurtValueEx = 0
+        return
+
+    def GetLength(self):
+        length = 0
+        length += 1
+        length += 4
+        length += 33
+        length += 4
+        length += 4
+
+        return length
+
+    def GetBuffer(self):
+        data = ''
+        data = CommFunc.WriteBYTE(data, self.HurtType)
+        data = CommFunc.WriteDWORD(data, self.HurtID)
+        data = CommFunc.WriteString(data, 33, self.HurtName)
+        data = CommFunc.WriteDWORD(data, self.HurtValue)
+        data = CommFunc.WriteDWORD(data, self.HurtValueEx)
+        return data
+
+    def OutputString(self):
+        DumpString = '''
+                                HurtType:%d,
+                                HurtID:%d,
+                                HurtName:%s,
+                                HurtValue:%d,
+                                HurtValueEx:%d
+                                '''\
+                                %(
+                                self.HurtType,
+                                self.HurtID,
+                                self.HurtName,
+                                self.HurtValue,
+                                self.HurtValueEx
+                                )
+        return DumpString
+
+
+class  tagMCBossHurtValueRankInfo(Structure):
+    Head = tagHead()
+    ObjID = 0    #(DWORD ObjID)//NPC实例ID
+    HurtCount = 0    #(BYTE HurtCount)//伤血数目
+    HurtValueList = list()    #(vector<tagMCBossHurtValue> HurtValueList)
+    AssistHurtCount = 0    #(BYTE AssistHurtCount)//助战伤血数目
+    AssistHurtValueList = list()    #(vector<tagMCBossHurtValueAssist> AssistHurtValueList)
+    data = None
+
+    def __init__(self):
+        self.Clear()
+        self.Head.Cmd = 0xB4
+        self.Head.SubCmd = 0x15
+        return
+
+    def ReadData(self, _lpData, _pos=0, _Len=0):
+        self.Clear()
+        _pos = self.Head.ReadData(_lpData, _pos)
+        self.ObjID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.HurtCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        for i in range(self.HurtCount):
+            temHurtValueList = tagMCBossHurtValue()
+            _pos = temHurtValueList.ReadData(_lpData, _pos)
+            self.HurtValueList.append(temHurtValueList)
+        self.AssistHurtCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        for i in range(self.AssistHurtCount):
+            temAssistHurtValueList = tagMCBossHurtValueAssist()
+            _pos = temAssistHurtValueList.ReadData(_lpData, _pos)
+            self.AssistHurtValueList.append(temAssistHurtValueList)
+        return _pos
+
+    def Clear(self):
+        self.Head = tagHead()
+        self.Head.Clear()
+        self.Head.Cmd = 0xB4
+        self.Head.SubCmd = 0x15
+        self.ObjID = 0
+        self.HurtCount = 0
+        self.HurtValueList = list()
+        self.AssistHurtCount = 0
+        self.AssistHurtValueList = list()
+        return
+
+    def GetLength(self):
+        length = 0
+        length += self.Head.GetLength()
+        length += 4
+        length += 1
+        for i in range(self.HurtCount):
+            length += self.HurtValueList[i].GetLength()
+        length += 1
+        for i in range(self.AssistHurtCount):
+            length += self.AssistHurtValueList[i].GetLength()
+
+        return length
+
+    def GetBuffer(self):
+        data = ''
+        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+        data = CommFunc.WriteDWORD(data, self.ObjID)
+        data = CommFunc.WriteBYTE(data, self.HurtCount)
+        for i in range(self.HurtCount):
+            data = CommFunc.WriteString(data, self.HurtValueList[i].GetLength(), self.HurtValueList[i].GetBuffer())
+        data = CommFunc.WriteBYTE(data, self.AssistHurtCount)
+        for i in range(self.AssistHurtCount):
+            data = CommFunc.WriteString(data, self.AssistHurtValueList[i].GetLength(), self.AssistHurtValueList[i].GetBuffer())
+        return data
+
+    def OutputString(self):
+        DumpString = '''
+                                Head:%s,
+                                ObjID:%d,
+                                HurtCount:%d,
+                                HurtValueList:%s,
+                                AssistHurtCount:%d,
+                                AssistHurtValueList:%s
+                                '''\
+                                %(
+                                self.Head.OutputString(),
+                                self.ObjID,
+                                self.HurtCount,
+                                "...",
+                                self.AssistHurtCount,
+                                "..."
+                                )
+        return DumpString
+
+
+m_NAtagMCBossHurtValueRankInfo=tagMCBossHurtValueRankInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCBossHurtValueRankInfo.Head.Cmd,m_NAtagMCBossHurtValueRankInfo.Head.SubCmd))] = m_NAtagMCBossHurtValueRankInfo
+
+
+#------------------------------------------------------
 # B4 12 删除恶意攻击玩家 #tagMCDelMaliciousAtkPlayer
 
 class  tagMCDelMaliciousAtkPlayer(Structure):

--
Gitblit v1.8.0