From 78a2ce57d2d546ebade26a801b33c5cb0d8a408c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 21 十月 2019 14:09:33 +0800
Subject: [PATCH] 8309 【恺英】邮件神装物品传奇属性异常
---
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 168 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 166 insertions(+), 2 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index cf75829..b994baa 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -24074,6 +24074,58 @@
#------------------------------------------------------
+# AA 24 每日免费直购礼包信息 #tagMCDayFreeGoldGiftState
+
+class tagMCDayFreeGoldGiftState(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("DayFreeGoldGiftState", c_ubyte), #每日免费直购礼包是否已领奖 0-未领 1-已领
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xAA
+ self.SubCmd = 0x24
+ 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 = 0xAA
+ self.SubCmd = 0x24
+ self.DayFreeGoldGiftState = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagMCDayFreeGoldGiftState)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// AA 24 每日免费直购礼包信息 //tagMCDayFreeGoldGiftState:
+ Cmd:%s,
+ SubCmd:%s,
+ DayFreeGoldGiftState:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.DayFreeGoldGiftState
+ )
+ return DumpString
+
+
+m_NAtagMCDayFreeGoldGiftState=tagMCDayFreeGoldGiftState()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCDayFreeGoldGiftState.Cmd,m_NAtagMCDayFreeGoldGiftState.SubCmd))] = m_NAtagMCDayFreeGoldGiftState
+
+
+#------------------------------------------------------
# AA 20 节日巡礼活动信息 #tagMCFeastWeekPartyInfo
class tagMCFeastWeekPartyItem(Structure):
@@ -27052,6 +27104,114 @@
#------------------------------------------------------
+# AB 01 Boss首杀玩家奖励信息 #tagMCBossFirstKillStateInfo
+
+class tagMCBossFirstKillState(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("NPCID", c_int),
+ ("FKState", c_int), # 玩家该boss首杀相关状态,按位存:个位-玩家是否击杀过,十位-是否已领取首杀全服奖励,百位-是否已领取个人首杀奖励
+ ]
+
+ def __init__(self):
+ self.Clear()
+ 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.NPCID = 0
+ self.FKState = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagMCBossFirstKillState)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// AB 01 Boss首杀玩家奖励信息 //tagMCBossFirstKillStateInfo:
+ NPCID:%d,
+ FKState:%d
+ '''\
+ %(
+ self.NPCID,
+ self.FKState
+ )
+ return DumpString
+
+
+class tagMCBossFirstKillStateInfo(Structure):
+ Head = tagHead()
+ BossCount = 0 #(BYTE BossCount)
+ FirstKillStateList = list() #(vector<tagMCBossFirstKillState> FirstKillStateList)
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xAB
+ self.Head.SubCmd = 0x01
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.BossCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.BossCount):
+ temFirstKillStateList = tagMCBossFirstKillState()
+ _pos = temFirstKillStateList.ReadData(_lpData, _pos)
+ self.FirstKillStateList.append(temFirstKillStateList)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xAB
+ self.Head.SubCmd = 0x01
+ self.BossCount = 0
+ self.FirstKillStateList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ for i in range(self.BossCount):
+ length += self.FirstKillStateList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteBYTE(data, self.BossCount)
+ for i in range(self.BossCount):
+ data = CommFunc.WriteString(data, self.FirstKillStateList[i].GetLength(), self.FirstKillStateList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ BossCount:%d,
+ FirstKillStateList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.BossCount,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagMCBossFirstKillStateInfo=tagMCBossFirstKillStateInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCBossFirstKillStateInfo.Head.Cmd,m_NAtagMCBossFirstKillStateInfo.Head.SubCmd))] = m_NAtagMCBossFirstKillStateInfo
+
+
+#------------------------------------------------------
# AB 03 Boss复活玩家活动信息 #tagMCBossRebornPlayerInfo
class tagMCBossRebornData(Structure):
@@ -29301,6 +29461,7 @@
_fields_ = [
("DataMapID", c_int), # 地图ID
("RemainTime", c_int), # 剩余时间秒
+ ("RegainCnt", c_ubyte), # 今日已恢复次数
]
def __init__(self):
@@ -29315,6 +29476,7 @@
def Clear(self):
self.DataMapID = 0
self.RemainTime = 0
+ self.RegainCnt = 0
return
def GetLength(self):
@@ -29326,11 +29488,13 @@
def OutputString(self):
DumpString = '''// B2 09 副本次数恢复剩余时间 //tagMCFBCntRegainRemainTime:
DataMapID:%d,
- RemainTime:%d
+ RemainTime:%d,
+ RegainCnt:%d
'''\
%(
self.DataMapID,
- self.RemainTime
+ self.RemainTime,
+ self.RegainCnt
)
return DumpString
--
Gitblit v1.8.0