From 0a17e139006a7e19bc3a100fa394ad7d9b4bb716 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 26 九月 2018 16:37:01 +0800
Subject: [PATCH] 3810 【后端】前期BOSS分线修改

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

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index 437b971..77a2b09 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -2317,8 +2317,9 @@
 
 class  tagGCBossShuntLineState(Structure):
     BossID = 0    #(DWORD BossID)// bossID
-    DeadLineCount = 0    #(BYTE DeadLineCount)
-    DeadLineList = list()    #(vector<BYTE> DeadLineList)// 已死亡的线路列表
+    LineCount = 0    #(BYTE LineCount)
+    LineIDList = list()    #(vector<BYTE> LineIDList)// 线路ID列表
+    StateList = list()    #(vector<BYTE> StateList)// 对应状态列表, 0-被击杀,1-活着
     data = None
 
     def __init__(self):
@@ -2328,43 +2329,52 @@
     def ReadData(self, _lpData, _pos=0, _Len=0):
         self.Clear()
         self.BossID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.DeadLineCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.DeadLineCount):
+        self.LineCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        for i in range(self.LineCount):
             value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
-            self.DeadLineList.append(value)
+            self.LineIDList.append(value)
+        for i in range(self.LineCount):
+            value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
+            self.StateList.append(value)
         return _pos
 
     def Clear(self):
         self.BossID = 0
-        self.DeadLineCount = 0
-        self.DeadLineList = list()
+        self.LineCount = 0
+        self.LineIDList = list()
+        self.StateList = list()
         return
 
     def GetLength(self):
         length = 0
         length += 4
         length += 1
-        length += 1 * self.DeadLineCount
+        length += 1 * self.LineCount
+        length += 1 * self.LineCount
 
         return length
 
     def GetBuffer(self):
         data = ''
         data = CommFunc.WriteDWORD(data, self.BossID)
-        data = CommFunc.WriteBYTE(data, self.DeadLineCount)
-        for i in range(self.DeadLineCount):
-            data = CommFunc.WriteBYTE(data, self.DeadLineList[i])
+        data = CommFunc.WriteBYTE(data, self.LineCount)
+        for i in range(self.LineCount):
+            data = CommFunc.WriteBYTE(data, self.LineIDList[i])
+        for i in range(self.LineCount):
+            data = CommFunc.WriteBYTE(data, self.StateList[i])
         return data
 
     def OutputString(self):
         DumpString = '''
                                 BossID:%d,
-                                DeadLineCount:%d,
-                                DeadLineList:%s
+                                LineCount:%d,
+                                LineIDList:%s,
+                                StateList:%s
                                 '''\
                                 %(
                                 self.BossID,
-                                self.DeadLineCount,
+                                self.LineCount,
+                                "...",
                                 "..."
                                 )
         return DumpString
@@ -2900,6 +2910,7 @@
     RecordLen = 0    #(WORD RecordLen)// 长度
     KillRecord = ""    #(String KillRecord)// 最近击杀记录时间玩家名size = RecordLen
     RefreshSecond = 0    #(DWORD RefreshSecond)// 刷新倒计时, 秒    
+    RefreshCD = 0    #(DWORD RefreshCD)// 刷新总CD时, 秒    
     data = None
 
     def __init__(self):
@@ -2913,6 +2924,7 @@
         self.RecordLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.KillRecord,_pos = CommFunc.ReadString(_lpData, _pos,self.RecordLen)
         self.RefreshSecond,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.RefreshCD,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         return _pos
 
     def Clear(self):
@@ -2921,6 +2933,7 @@
         self.RecordLen = 0
         self.KillRecord = ""
         self.RefreshSecond = 0
+        self.RefreshCD = 0
         return
 
     def GetLength(self):
@@ -2929,6 +2942,7 @@
         length += 1
         length += 2
         length += len(self.KillRecord)
+        length += 4
         length += 4
 
         return length
@@ -2940,6 +2954,7 @@
         data = CommFunc.WriteWORD(data, self.RecordLen)
         data = CommFunc.WriteString(data, self.RecordLen, self.KillRecord)
         data = CommFunc.WriteDWORD(data, self.RefreshSecond)
+        data = CommFunc.WriteDWORD(data, self.RefreshCD)
         return data
 
     def OutputString(self):
@@ -2948,14 +2963,16 @@
                                 IsAlive:%d,
                                 RecordLen:%d,
                                 KillRecord:%s,
-                                RefreshSecond:%d
+                                RefreshSecond:%d,
+                                RefreshCD:%d
                                 '''\
                                 %(
                                 self.BossID,
                                 self.IsAlive,
                                 self.RecordLen,
                                 self.KillRecord,
-                                self.RefreshSecond
+                                self.RefreshSecond,
+                                self.RefreshCD
                                 )
         return DumpString
 
@@ -22435,6 +22452,66 @@
 
 
 #------------------------------------------------------
+# B1 06 通知玩家向目标点移动 #tagMCNotifyPlayerMove
+
+class  tagMCNotifyPlayerMove(Structure):
+    _pack_ = 1
+    _fields_ = [
+                  ("Cmd", c_ubyte),
+                  ("SubCmd", c_ubyte),
+                  ("PosX", c_int),    
+                  ("PosY", c_int),    
+                  ("NPCID", c_int),    #目标点寻路NPCID, 可能为0
+                  ]
+
+    def __init__(self):
+        self.Clear()
+        self.Cmd = 0xB1
+        self.SubCmd = 0x06
+        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 = 0xB1
+        self.SubCmd = 0x06
+        self.PosX = 0
+        self.PosY = 0
+        self.NPCID = 0
+        return
+
+    def GetLength(self):
+        return sizeof(tagMCNotifyPlayerMove)
+
+    def GetBuffer(self):
+        return string_at(addressof(self), self.GetLength())
+
+    def OutputString(self):
+        DumpString = '''// B1 06 通知玩家向目标点移动 //tagMCNotifyPlayerMove:
+                                Cmd:%s,
+                                SubCmd:%s,
+                                PosX:%d,
+                                PosY:%d,
+                                NPCID:%d
+                                '''\
+                                %(
+                                self.Cmd,
+                                self.SubCmd,
+                                self.PosX,
+                                self.PosY,
+                                self.NPCID
+                                )
+        return DumpString
+
+
+m_NAtagMCNotifyPlayerMove=tagMCNotifyPlayerMove()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCNotifyPlayerMove.Cmd,m_NAtagMCNotifyPlayerMove.SubCmd))] = m_NAtagMCNotifyPlayerMove
+
+
+#------------------------------------------------------
 # B1 03 通知玩家死亡时间 #tagMCPlayerDeadTime
 
 class  tagMCPlayerDeadTime(Structure):

--
Gitblit v1.8.0