From aba770321dd1bf504f0389bd655ca43188c35d68 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 20 二月 2020 17:11:18 +0800
Subject: [PATCH] 4664 【主干】筋斗云传送改灵石

---
 ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py |  275 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 270 insertions(+), 5 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index 3b45d4a..3f9e9b0 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -5782,6 +5782,7 @@
 
 class  tagGCAssistInfo(Structure):
     AssistGUID = ""    #(char AssistGUID[40])//协助GUID
+    PlayerID = 0    #(DWORD PlayerID)
     PlayerName = ""    #(char PlayerName[33])
     Job = 0    #(BYTE Job)
     LV = 0    #(WORD LV)//等级
@@ -5800,6 +5801,7 @@
     def ReadData(self, _lpData, _pos=0, _Len=0):
         self.Clear()
         self.AssistGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+        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)
@@ -5813,6 +5815,7 @@
 
     def Clear(self):
         self.AssistGUID = ""
+        self.PlayerID = 0
         self.PlayerName = ""
         self.Job = 0
         self.LV = 0
@@ -5827,6 +5830,7 @@
     def GetLength(self):
         length = 0
         length += 40
+        length += 4
         length += 33
         length += 1
         length += 2
@@ -5842,6 +5846,7 @@
     def GetBuffer(self):
         data = ''
         data = CommFunc.WriteString(data, 40, self.AssistGUID)
+        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)
@@ -5856,6 +5861,7 @@
     def OutputString(self):
         DumpString = '''
                                 AssistGUID:%s,
+                                PlayerID:%d,
                                 PlayerName:%s,
                                 Job:%d,
                                 LV:%d,
@@ -5868,6 +5874,7 @@
                                 '''\
                                 %(
                                 self.AssistGUID,
+                                self.PlayerID,
                                 self.PlayerName,
                                 self.Job,
                                 self.LV,
@@ -6002,6 +6009,84 @@
 
 m_NAtagGCAssistingInfo=tagGCAssistingInfo()
 ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAssistingInfo.Head.Cmd,m_NAtagGCAssistingInfo.Head.SubCmd))] = m_NAtagGCAssistingInfo
+
+
+#------------------------------------------------------
+# B0 08 协助结束 #tagGCAssistOver
+
+class  tagGCAssistOver(Structure):
+    Head = tagHead()
+    IsTagPlayerReason = 0    #(BYTE IsTagPlayerReason)//是否发布方原因
+    ReasonLen = 0    #(BYTE ReasonLen)
+    Reason = ""    #(String Reason)//原因
+    AssistGUID = ""    #(char AssistGUID[40])//协助GUID
+    data = None
+
+    def __init__(self):
+        self.Clear()
+        self.Head.Cmd = 0xB0
+        self.Head.SubCmd = 0x08
+        return
+
+    def ReadData(self, _lpData, _pos=0, _Len=0):
+        self.Clear()
+        _pos = self.Head.ReadData(_lpData, _pos)
+        self.IsTagPlayerReason,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.ReasonLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.Reason,_pos = CommFunc.ReadString(_lpData, _pos,self.ReasonLen)
+        self.AssistGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+        return _pos
+
+    def Clear(self):
+        self.Head = tagHead()
+        self.Head.Clear()
+        self.Head.Cmd = 0xB0
+        self.Head.SubCmd = 0x08
+        self.IsTagPlayerReason = 0
+        self.ReasonLen = 0
+        self.Reason = ""
+        self.AssistGUID = ""
+        return
+
+    def GetLength(self):
+        length = 0
+        length += self.Head.GetLength()
+        length += 1
+        length += 1
+        length += len(self.Reason)
+        length += 40
+
+        return length
+
+    def GetBuffer(self):
+        data = ''
+        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+        data = CommFunc.WriteBYTE(data, self.IsTagPlayerReason)
+        data = CommFunc.WriteBYTE(data, self.ReasonLen)
+        data = CommFunc.WriteString(data, self.ReasonLen, self.Reason)
+        data = CommFunc.WriteString(data, 40, self.AssistGUID)
+        return data
+
+    def OutputString(self):
+        DumpString = '''
+                                Head:%s,
+                                IsTagPlayerReason:%d,
+                                ReasonLen:%d,
+                                Reason:%s,
+                                AssistGUID:%s
+                                '''\
+                                %(
+                                self.Head.OutputString(),
+                                self.IsTagPlayerReason,
+                                self.ReasonLen,
+                                self.Reason,
+                                self.AssistGUID
+                                )
+        return DumpString
+
+
+m_NAtagGCAssistOver=tagGCAssistOver()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAssistOver.Head.Cmd,m_NAtagGCAssistOver.Head.SubCmd))] = m_NAtagGCAssistOver
 
 
 #------------------------------------------------------
@@ -25483,8 +25568,9 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("FirstGoldRewardState", c_ubyte),    #首充奖励是否已领奖
+                  ("FirstGoldRewardState", c_ubyte),    #首充奖励领奖记录,按位记录首充第X天是否已领取,第1天为第0索引位
                   ("FirstGoldTry", c_ubyte),    #首充试用状态0-不可试用 1-可试用 2-已试用
+                  ("FirstGoldServerDay", c_ushort),    #首充时是开服第几天,从1开始,0代表未记录充值
                   ]
 
     def __init__(self):
@@ -25503,6 +25589,7 @@
         self.SubCmd = 0x02
         self.FirstGoldRewardState = 0
         self.FirstGoldTry = 0
+        self.FirstGoldServerDay = 0
         return
 
     def GetLength(self):
@@ -25516,13 +25603,15 @@
                                 Cmd:%s,
                                 SubCmd:%s,
                                 FirstGoldRewardState:%d,
-                                FirstGoldTry:%d
+                                FirstGoldTry:%d,
+                                FirstGoldServerDay:%d
                                 '''\
                                 %(
                                 self.Cmd,
                                 self.SubCmd,
                                 self.FirstGoldRewardState,
-                                self.FirstGoldTry
+                                self.FirstGoldTry,
+                                self.FirstGoldServerDay
                                 )
         return DumpString
 
@@ -29197,6 +29286,119 @@
 
 
 #------------------------------------------------------
+# B0 27 活跃放置信息 #tagMCActivityPlaceInfo
+
+class  tagMCActivityPlaceInfo(Structure):
+    Head = tagHead()
+    StartTime = 0    #(DWORD StartTime)// 开始探索time时间戳,完成一次探索会自动下一次探索并更新该时间
+    PlaceCount = 0    #(BYTE PlaceCount)// 剩余未完成探索次数
+    RewardCount = 0    #(BYTE RewardCount)// 累计未领取探索奖励次数
+    RewardLen = 0    #(BYTE RewardLen)
+    RewardInfo = ""    #(String RewardInfo)//累计未领取探索奖励 [[itemID, count], ...]
+    TodayExp = 0    #(DWORD TodayExp)
+    TodayExpPoint = 0    #(DWORD TodayExpPoint)
+    YestordayExp = 0    #(DWORD YestordayExp)
+    YestordayExpPoint = 0    #(DWORD YestordayExpPoint)
+    data = None
+
+    def __init__(self):
+        self.Clear()
+        self.Head.Cmd = 0xB0
+        self.Head.SubCmd = 0x27
+        return
+
+    def ReadData(self, _lpData, _pos=0, _Len=0):
+        self.Clear()
+        _pos = self.Head.ReadData(_lpData, _pos)
+        self.StartTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.PlaceCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.RewardCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.RewardLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.RewardInfo,_pos = CommFunc.ReadString(_lpData, _pos,self.RewardLen)
+        self.TodayExp,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.TodayExpPoint,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.YestordayExp,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.YestordayExpPoint,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        return _pos
+
+    def Clear(self):
+        self.Head = tagHead()
+        self.Head.Clear()
+        self.Head.Cmd = 0xB0
+        self.Head.SubCmd = 0x27
+        self.StartTime = 0
+        self.PlaceCount = 0
+        self.RewardCount = 0
+        self.RewardLen = 0
+        self.RewardInfo = ""
+        self.TodayExp = 0
+        self.TodayExpPoint = 0
+        self.YestordayExp = 0
+        self.YestordayExpPoint = 0
+        return
+
+    def GetLength(self):
+        length = 0
+        length += self.Head.GetLength()
+        length += 4
+        length += 1
+        length += 1
+        length += 1
+        length += len(self.RewardInfo)
+        length += 4
+        length += 4
+        length += 4
+        length += 4
+
+        return length
+
+    def GetBuffer(self):
+        data = ''
+        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+        data = CommFunc.WriteDWORD(data, self.StartTime)
+        data = CommFunc.WriteBYTE(data, self.PlaceCount)
+        data = CommFunc.WriteBYTE(data, self.RewardCount)
+        data = CommFunc.WriteBYTE(data, self.RewardLen)
+        data = CommFunc.WriteString(data, self.RewardLen, self.RewardInfo)
+        data = CommFunc.WriteDWORD(data, self.TodayExp)
+        data = CommFunc.WriteDWORD(data, self.TodayExpPoint)
+        data = CommFunc.WriteDWORD(data, self.YestordayExp)
+        data = CommFunc.WriteDWORD(data, self.YestordayExpPoint)
+        return data
+
+    def OutputString(self):
+        DumpString = '''
+                                Head:%s,
+                                StartTime:%d,
+                                PlaceCount:%d,
+                                RewardCount:%d,
+                                RewardLen:%d,
+                                RewardInfo:%s,
+                                TodayExp:%d,
+                                TodayExpPoint:%d,
+                                YestordayExp:%d,
+                                YestordayExpPoint:%d
+                                '''\
+                                %(
+                                self.Head.OutputString(),
+                                self.StartTime,
+                                self.PlaceCount,
+                                self.RewardCount,
+                                self.RewardLen,
+                                self.RewardInfo,
+                                self.TodayExp,
+                                self.TodayExpPoint,
+                                self.YestordayExp,
+                                self.YestordayExpPoint
+                                )
+        return DumpString
+
+
+m_NAtagMCActivityPlaceInfo=tagMCActivityPlaceInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActivityPlaceInfo.Head.Cmd,m_NAtagMCActivityPlaceInfo.Head.SubCmd))] = m_NAtagMCActivityPlaceInfo
+
+
+#------------------------------------------------------
 #B0 25 家族悬赏任务奖励领取情况 #tagFamilyArrestAwardReceiveState
 
 class  tagFamilyArrestAwardReceiveState(Structure):
@@ -29294,6 +29496,62 @@
 
 m_NAtagMCFishResult=tagMCFishResult()
 ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFishResult.Cmd,m_NAtagMCFishResult.SubCmd))] = m_NAtagMCFishResult
+
+
+#------------------------------------------------------
+# B0 07 今日协助活跃令信息 #tagMCTodayAssistMoneyInfo
+
+class  tagMCTodayAssistMoneyInfo(Structure):
+    _pack_ = 1
+    _fields_ = [
+                  ("Cmd", c_ubyte),
+                  ("SubCmd", c_ubyte),
+                  ("TodayAssistMoney", c_ushort),    #今日已获得活跃令,不含社交加成
+                  ("SocialMoney", c_ushort),    #社交额外加成
+                  ]
+
+    def __init__(self):
+        self.Clear()
+        self.Cmd = 0xB0
+        self.SubCmd = 0x07
+        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 = 0xB0
+        self.SubCmd = 0x07
+        self.TodayAssistMoney = 0
+        self.SocialMoney = 0
+        return
+
+    def GetLength(self):
+        return sizeof(tagMCTodayAssistMoneyInfo)
+
+    def GetBuffer(self):
+        return string_at(addressof(self), self.GetLength())
+
+    def OutputString(self):
+        DumpString = '''// B0 07 今日协助活跃令信息 //tagMCTodayAssistMoneyInfo:
+                                Cmd:%s,
+                                SubCmd:%s,
+                                TodayAssistMoney:%d,
+                                SocialMoney:%d
+                                '''\
+                                %(
+                                self.Cmd,
+                                self.SubCmd,
+                                self.TodayAssistMoney,
+                                self.SocialMoney
+                                )
+        return DumpString
+
+
+m_NAtagMCTodayAssistMoneyInfo=tagMCTodayAssistMoneyInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCTodayAssistMoneyInfo.Cmd,m_NAtagMCTodayAssistMoneyInfo.SubCmd))] = m_NAtagMCTodayAssistMoneyInfo
 
 
 #------------------------------------------------------
@@ -32567,6 +32825,7 @@
     PosY = 0    #(WORD PosY)
     HurtCount = 0    #(WORD HurtCount)//伤害数目
     HurtList = list()    #(vector<tagSkillPosHurtObj> HurtList)//size = HurtCount
+    SkillElementID = 0    #(WORD SkillElementID)//专精技能ID
     data = None
 
     def __init__(self):
@@ -32588,6 +32847,7 @@
             temHurtList = tagSkillPosHurtObj()
             _pos = temHurtList.ReadData(_lpData, _pos)
             self.HurtList.append(temHurtList)
+        self.SkillElementID,_pos = CommFunc.ReadWORD(_lpData, _pos)
         return _pos
 
     def Clear(self):
@@ -32602,6 +32862,7 @@
         self.PosY = 0
         self.HurtCount = 0
         self.HurtList = list()
+        self.SkillElementID = 0
         return
 
     def GetLength(self):
@@ -32615,6 +32876,7 @@
         length += 2
         for i in range(self.HurtCount):
             length += self.HurtList[i].GetLength()
+        length += 2
 
         return length
 
@@ -32629,6 +32891,7 @@
         data = CommFunc.WriteWORD(data, self.HurtCount)
         for i in range(self.HurtCount):
             data = CommFunc.WriteString(data, self.HurtList[i].GetLength(), self.HurtList[i].GetBuffer())
+        data = CommFunc.WriteWORD(data, self.SkillElementID)
         return data
 
     def OutputString(self):
@@ -32640,7 +32903,8 @@
                                 PosX:%d,
                                 PosY:%d,
                                 HurtCount:%d,
-                                HurtList:%s
+                                HurtList:%s,
+                                SkillElementID:%d
                                 '''\
                                 %(
                                 self.Head.OutputString(),
@@ -32650,7 +32914,8 @@
                                 self.PosX,
                                 self.PosY,
                                 self.HurtCount,
-                                "..."
+                                "...",
+                                self.SkillElementID
                                 )
         return DumpString
 

--
Gitblit v1.8.0