From f8afdf2b5358829706746834fc6540eb137cb44c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 11 三月 2020 18:42:20 +0800
Subject: [PATCH] 8399 每日灵石礼包修改(增加每日礼包表、每日礼包模板表)
---
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 1148 +++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 992 insertions(+), 156 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index 58315ef..a65ae36 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -5781,19 +5781,17 @@
# B0 01 新增协助 #tagGCAssistInfoList
class tagGCAssistInfo(Structure):
- GUID = "" #(char GUID[40])
+ AssistGUID = "" #(char AssistGUID[40])//协助GUID
+ PlayerID = 0 #(DWORD PlayerID)
PlayerName = "" #(char PlayerName[33])
Job = 0 #(BYTE Job)
LV = 0 #(WORD LV)//等级
RealmLV = 0 #(BYTE RealmLV)//境界
- AssistType = 0 #(BYTE AssistType)//协助类型 1-boss, 2-副本, 3-
- AssistValue1 = 0 #(DWORD AssistValue1)//协助参数1,由协助类型决定
- AssistValue2 = 0 #(DWORD AssistValue2)//协助参数2
- AssistValue3 = 0 #(DWORD AssistValue3)//协助参数3
- AssistValue4 = 0 #(DWORD AssistValue4)//协助参数4
- AssistValue5 = 0 #(DWORD AssistValue5)//协助参数5
- AssistDataLen = 0 #(WORD AssistDataLen)
- AssistData = "" #(String AssistData)//其他自定义数据
+ MapID = 0 #(DWORD MapID)
+ LineID = 0 #(DWORD LineID)
+ NPCID = 0 #(DWORD NPCID)
+ ExDataLen = 0 #(WORD ExDataLen)
+ ExData = "" #(String ExData)//其他自定义数据
data = None
def __init__(self):
@@ -5802,102 +5800,90 @@
def ReadData(self, _lpData, _pos=0, _Len=0):
self.Clear()
- self.GUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+ 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)
self.RealmLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.AssistType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.AssistValue1,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.AssistValue2,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.AssistValue3,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.AssistValue4,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.AssistValue5,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.AssistDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.AssistData,_pos = CommFunc.ReadString(_lpData, _pos,self.AssistDataLen)
+ self.MapID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.LineID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.NPCID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.ExDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.ExData,_pos = CommFunc.ReadString(_lpData, _pos,self.ExDataLen)
return _pos
def Clear(self):
- self.GUID = ""
+ self.AssistGUID = ""
+ self.PlayerID = 0
self.PlayerName = ""
self.Job = 0
self.LV = 0
self.RealmLV = 0
- self.AssistType = 0
- self.AssistValue1 = 0
- self.AssistValue2 = 0
- self.AssistValue3 = 0
- self.AssistValue4 = 0
- self.AssistValue5 = 0
- self.AssistDataLen = 0
- self.AssistData = ""
+ self.MapID = 0
+ self.LineID = 0
+ self.NPCID = 0
+ self.ExDataLen = 0
+ self.ExData = ""
return
def GetLength(self):
length = 0
length += 40
+ length += 4
length += 33
length += 1
length += 2
length += 1
- length += 1
- length += 4
- length += 4
length += 4
length += 4
length += 4
length += 2
- length += len(self.AssistData)
+ length += len(self.ExData)
return length
def GetBuffer(self):
data = ''
- data = CommFunc.WriteString(data, 40, self.GUID)
+ 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)
data = CommFunc.WriteBYTE(data, self.RealmLV)
- data = CommFunc.WriteBYTE(data, self.AssistType)
- data = CommFunc.WriteDWORD(data, self.AssistValue1)
- data = CommFunc.WriteDWORD(data, self.AssistValue2)
- data = CommFunc.WriteDWORD(data, self.AssistValue3)
- data = CommFunc.WriteDWORD(data, self.AssistValue4)
- data = CommFunc.WriteDWORD(data, self.AssistValue5)
- data = CommFunc.WriteWORD(data, self.AssistDataLen)
- data = CommFunc.WriteString(data, self.AssistDataLen, self.AssistData)
+ data = CommFunc.WriteDWORD(data, self.MapID)
+ data = CommFunc.WriteDWORD(data, self.LineID)
+ data = CommFunc.WriteDWORD(data, self.NPCID)
+ data = CommFunc.WriteWORD(data, self.ExDataLen)
+ data = CommFunc.WriteString(data, self.ExDataLen, self.ExData)
return data
def OutputString(self):
DumpString = '''
- GUID:%s,
+ AssistGUID:%s,
+ PlayerID:%d,
PlayerName:%s,
Job:%d,
LV:%d,
RealmLV:%d,
- AssistType:%d,
- AssistValue1:%d,
- AssistValue2:%d,
- AssistValue3:%d,
- AssistValue4:%d,
- AssistValue5:%d,
- AssistDataLen:%d,
- AssistData:%s
+ MapID:%d,
+ LineID:%d,
+ NPCID:%d,
+ ExDataLen:%d,
+ ExData:%s
'''\
%(
- self.GUID,
+ self.AssistGUID,
+ self.PlayerID,
self.PlayerName,
self.Job,
self.LV,
self.RealmLV,
- self.AssistType,
- self.AssistValue1,
- self.AssistValue2,
- self.AssistValue3,
- self.AssistValue4,
- self.AssistValue5,
- self.AssistDataLen,
- self.AssistData
+ self.MapID,
+ self.LineID,
+ self.NPCID,
+ self.ExDataLen,
+ self.ExData
)
return DumpString
@@ -5969,31 +5955,31 @@
#------------------------------------------------------
-# B0 02 删除协助 #tagGCClearAssist
+# B0 03 正在进行中的协助 #tagGCAssistingInfo
-class tagGCClearAssist(Structure):
+class tagGCAssistingInfo(Structure):
Head = tagHead()
- GUID = "" #(char GUID[40])
+ AssistGUID = "" #(char AssistGUID[40])//协助GUID
data = None
def __init__(self):
self.Clear()
self.Head.Cmd = 0xB0
- self.Head.SubCmd = 0x02
+ self.Head.SubCmd = 0x03
return
def ReadData(self, _lpData, _pos=0, _Len=0):
self.Clear()
_pos = self.Head.ReadData(_lpData, _pos)
- self.GUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+ 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 = 0x02
- self.GUID = ""
+ self.Head.SubCmd = 0x03
+ self.AssistGUID = ""
return
def GetLength(self):
@@ -6006,17 +5992,204 @@
def GetBuffer(self):
data = ''
data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 40, self.GUID)
+ data = CommFunc.WriteString(data, 40, self.AssistGUID)
return data
def OutputString(self):
DumpString = '''
Head:%s,
- GUID:%s
+ AssistGUID:%s
'''\
%(
self.Head.OutputString(),
- self.GUID
+ self.AssistGUID
+ )
+ return DumpString
+
+
+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
+
+
+#------------------------------------------------------
+# B0 06 可接收协助感谢礼物个数 #tagGCCanGetAssistThanksGiftCount
+
+class tagGCCanGetAssistThanksGiftCount(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("CanGetCount", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB0
+ 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 = 0xB0
+ self.SubCmd = 0x06
+ self.CanGetCount = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagGCCanGetAssistThanksGiftCount)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B0 06 可接收协助感谢礼物个数 //tagGCCanGetAssistThanksGiftCount:
+ Cmd:%s,
+ SubCmd:%s,
+ CanGetCount:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.CanGetCount
+ )
+ return DumpString
+
+
+m_NAtagGCCanGetAssistThanksGiftCount=tagGCCanGetAssistThanksGiftCount()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCCanGetAssistThanksGiftCount.Cmd,m_NAtagGCCanGetAssistThanksGiftCount.SubCmd))] = m_NAtagGCCanGetAssistThanksGiftCount
+
+
+#------------------------------------------------------
+# B0 02 删除协助 #tagGCClearAssist
+
+class tagGCClearAssist(Structure):
+ Head = tagHead()
+ AssistGUID = "" #(char AssistGUID[40])//协助GUID
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB0
+ self.Head.SubCmd = 0x02
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ 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 = 0x02
+ self.AssistGUID = ""
+ 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.AssistGUID)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ AssistGUID:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.AssistGUID
)
return DumpString
@@ -6151,6 +6324,324 @@
m_NAtagFamilyArrestOverStateInfo=tagFamilyArrestOverStateInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagFamilyArrestOverStateInfo.Head.Cmd,m_NAtagFamilyArrestOverStateInfo.Head.SubCmd))] = m_NAtagFamilyArrestOverStateInfo
+
+
+#------------------------------------------------------
+# B0 05 接收协助感谢礼物预览 #tagGCGetAssistThanksGiftPreview
+
+class tagGCGetAssistThanksGiftPreview(Structure):
+ Head = tagHead()
+ ItemID = 0 #(DWORD ItemID)//礼盒ID
+ PlayerID = 0 #(DWORD PlayerID)//发起玩家ID
+ PlayerName = "" #(char PlayerName[33])
+ Job = 0 #(BYTE Job)
+ LV = 0 #(WORD LV)
+ RealmLV = 0 #(BYTE RealmLV)//境界
+ MapID = 0 #(DWORD MapID)
+ LineID = 0 #(DWORD LineID)
+ NPCID = 0 #(DWORD NPCID)
+ ExDataLen = 0 #(WORD ExDataLen)
+ ExData = "" #(String ExData)//其他自定义数据
+ TimeStr = "" #(char TimeStr[19])//协助时间yyyy-MM-dd hh:mm:ss
+ ExtraAward = 0 #(BYTE ExtraAward)//是否有额外奖励
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB0
+ self.Head.SubCmd = 0x05
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.ItemID,_pos = CommFunc.ReadDWORD(_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.MapID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.LineID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.NPCID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.ExDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.ExData,_pos = CommFunc.ReadString(_lpData, _pos,self.ExDataLen)
+ self.TimeStr,_pos = CommFunc.ReadString(_lpData, _pos,19)
+ self.ExtraAward,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB0
+ self.Head.SubCmd = 0x05
+ self.ItemID = 0
+ self.PlayerID = 0
+ self.PlayerName = ""
+ self.Job = 0
+ self.LV = 0
+ self.RealmLV = 0
+ self.MapID = 0
+ self.LineID = 0
+ self.NPCID = 0
+ self.ExDataLen = 0
+ self.ExData = ""
+ self.TimeStr = ""
+ self.ExtraAward = 0
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 4
+ length += 4
+ length += 33
+ length += 1
+ length += 2
+ length += 1
+ length += 4
+ length += 4
+ length += 4
+ length += 2
+ length += len(self.ExData)
+ length += 19
+ length += 1
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteDWORD(data, self.ItemID)
+ 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.WriteDWORD(data, self.MapID)
+ data = CommFunc.WriteDWORD(data, self.LineID)
+ data = CommFunc.WriteDWORD(data, self.NPCID)
+ data = CommFunc.WriteWORD(data, self.ExDataLen)
+ data = CommFunc.WriteString(data, self.ExDataLen, self.ExData)
+ data = CommFunc.WriteString(data, 19, self.TimeStr)
+ data = CommFunc.WriteBYTE(data, self.ExtraAward)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ ItemID:%d,
+ PlayerID:%d,
+ PlayerName:%s,
+ Job:%d,
+ LV:%d,
+ RealmLV:%d,
+ MapID:%d,
+ LineID:%d,
+ NPCID:%d,
+ ExDataLen:%d,
+ ExData:%s,
+ TimeStr:%s,
+ ExtraAward:%d
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.ItemID,
+ self.PlayerID,
+ self.PlayerName,
+ self.Job,
+ self.LV,
+ self.RealmLV,
+ self.MapID,
+ self.LineID,
+ self.NPCID,
+ self.ExDataLen,
+ self.ExData,
+ self.TimeStr,
+ self.ExtraAward
+ )
+ return DumpString
+
+
+m_NAtagGCGetAssistThanksGiftPreview=tagGCGetAssistThanksGiftPreview()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCGetAssistThanksGiftPreview.Head.Cmd,m_NAtagGCGetAssistThanksGiftPreview.Head.SubCmd))] = m_NAtagGCGetAssistThanksGiftPreview
+
+
+#------------------------------------------------------
+# B0 04 使用协助感谢礼盒预览 #tagGCUseAssistThanksGiftPreview
+
+class tagGCAssistPlayerInfo(Structure):
+ PlayerID = 0 #(DWORD PlayerID)
+ PlayerName = "" #(char PlayerName[33])
+ Job = 0 #(BYTE Job)
+ LV = 0 #(WORD LV)
+ RealmLV = 0 #(BYTE RealmLV)//境界
+ 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.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.RealmLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ return _pos
+
+ def Clear(self):
+ self.PlayerID = 0
+ self.PlayerName = ""
+ self.Job = 0
+ self.LV = 0
+ self.RealmLV = 0
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 4
+ length += 33
+ length += 1
+ length += 2
+ length += 1
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ 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)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ PlayerID:%d,
+ PlayerName:%s,
+ Job:%d,
+ LV:%d,
+ RealmLV:%d
+ '''\
+ %(
+ self.PlayerID,
+ self.PlayerName,
+ self.Job,
+ self.LV,
+ self.RealmLV
+ )
+ return DumpString
+
+
+class tagGCUseAssistThanksGiftPreview(Structure):
+ Head = tagHead()
+ ItemID = 0 #(DWORD ItemID)//礼盒ID
+ MapID = 0 #(DWORD MapID)
+ LineID = 0 #(DWORD LineID)
+ NPCID = 0 #(DWORD NPCID)
+ ExDataLen = 0 #(WORD ExDataLen)
+ ExData = "" #(String ExData)//其他自定义数据
+ AssistPlayerCount = 0 #(BYTE AssistPlayerCount)
+ AssistPlayerList = list() #(vector<tagGCAssistPlayerInfo> AssistPlayerList)//协助玩家列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB0
+ self.Head.SubCmd = 0x04
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.MapID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.LineID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.NPCID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.ExDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.ExData,_pos = CommFunc.ReadString(_lpData, _pos,self.ExDataLen)
+ self.AssistPlayerCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.AssistPlayerCount):
+ temAssistPlayerList = tagGCAssistPlayerInfo()
+ _pos = temAssistPlayerList.ReadData(_lpData, _pos)
+ self.AssistPlayerList.append(temAssistPlayerList)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB0
+ self.Head.SubCmd = 0x04
+ self.ItemID = 0
+ self.MapID = 0
+ self.LineID = 0
+ self.NPCID = 0
+ self.ExDataLen = 0
+ self.ExData = ""
+ self.AssistPlayerCount = 0
+ self.AssistPlayerList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 4
+ length += 4
+ length += 4
+ length += 4
+ length += 2
+ length += len(self.ExData)
+ length += 1
+ for i in range(self.AssistPlayerCount):
+ length += self.AssistPlayerList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteDWORD(data, self.ItemID)
+ data = CommFunc.WriteDWORD(data, self.MapID)
+ data = CommFunc.WriteDWORD(data, self.LineID)
+ data = CommFunc.WriteDWORD(data, self.NPCID)
+ data = CommFunc.WriteWORD(data, self.ExDataLen)
+ data = CommFunc.WriteString(data, self.ExDataLen, self.ExData)
+ data = CommFunc.WriteBYTE(data, self.AssistPlayerCount)
+ for i in range(self.AssistPlayerCount):
+ data = CommFunc.WriteString(data, self.AssistPlayerList[i].GetLength(), self.AssistPlayerList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ ItemID:%d,
+ MapID:%d,
+ LineID:%d,
+ NPCID:%d,
+ ExDataLen:%d,
+ ExData:%s,
+ AssistPlayerCount:%d,
+ AssistPlayerList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.ItemID,
+ self.MapID,
+ self.LineID,
+ self.NPCID,
+ self.ExDataLen,
+ self.ExData,
+ self.AssistPlayerCount,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagGCUseAssistThanksGiftPreview=tagGCUseAssistThanksGiftPreview()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCUseAssistThanksGiftPreview.Head.Cmd,m_NAtagGCUseAssistThanksGiftPreview.Head.SubCmd))] = m_NAtagGCUseAssistThanksGiftPreview
#------------------------------------------------------
@@ -18737,16 +19228,20 @@
#------------------------------------------------------
#A3 01 坐骑培养信息 #tagTrainHorseData
-class tagMCHorseInfo(Structure):
+class tagTrainHorseData(Structure):
_pack_ = 1
_fields_ = [
- ("HorseID", c_int), #ID
- ("LV", c_ubyte), #等级
- ("Exp", c_int), #经验
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("LV", c_ubyte), #等阶
+ ("EatItemCount", c_ushort), #当前阶已吃丹个数
+ ("SkinPlusState", c_int), #幻化激活状态,按位存储是否激活,幻化编号ID对应位
]
def __init__(self):
self.Clear()
+ self.Cmd = 0xA3
+ self.SubCmd = 0x01
return
def ReadData(self, stringData, _pos=0, _len=0):
@@ -18755,102 +19250,39 @@
return _pos + self.GetLength()
def Clear(self):
- self.HorseID = 0
+ self.Cmd = 0xA3
+ self.SubCmd = 0x01
self.LV = 0
- self.Exp = 0
+ self.EatItemCount = 0
+ self.SkinPlusState = 0
return
def GetLength(self):
- return sizeof(tagMCHorseInfo)
+ return sizeof(tagTrainHorseData)
def GetBuffer(self):
return string_at(addressof(self), self.GetLength())
def OutputString(self):
DumpString = '''//A3 01 坐骑培养信息 //tagTrainHorseData:
- HorseID:%d,
+ Cmd:%s,
+ SubCmd:%s,
LV:%d,
- Exp:%d
+ EatItemCount:%d,
+ SkinPlusState:%d
'''\
%(
- self.HorseID,
+ self.Cmd,
+ self.SubCmd,
self.LV,
- self.Exp
- )
- return DumpString
-
-
-class tagTrainHorseData(Structure):
- Head = tagHead()
- Multiple = 0 #(BYTE Multiple)//下次暴击倍数
- Num = 0 #(BYTE Num)//个数
- InfoList = list() #(vector<tagMCHorseInfo> InfoList)// 坐骑数据列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x01
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.Multiple,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.Num,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Num):
- temInfoList = tagMCHorseInfo()
- _pos = temInfoList.ReadData(_lpData, _pos)
- self.InfoList.append(temInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x01
- self.Multiple = 0
- self.Num = 0
- self.InfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 1
- for i in range(self.Num):
- length += self.InfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.Multiple)
- data = CommFunc.WriteBYTE(data, self.Num)
- for i in range(self.Num):
- data = CommFunc.WriteString(data, self.InfoList[i].GetLength(), self.InfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Multiple:%d,
- Num:%d,
- InfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Multiple,
- self.Num,
- "..."
+ self.EatItemCount,
+ self.SkinPlusState
)
return DumpString
m_NAtagTrainHorseData=tagTrainHorseData()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagTrainHorseData.Head.Cmd,m_NAtagTrainHorseData.Head.SubCmd))] = m_NAtagTrainHorseData
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagTrainHorseData.Cmd,m_NAtagTrainHorseData.SubCmd))] = m_NAtagTrainHorseData
#------------------------------------------------------
@@ -25136,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):
@@ -25156,6 +25589,7 @@
self.SubCmd = 0x02
self.FirstGoldRewardState = 0
self.FirstGoldTry = 0
+ self.FirstGoldServerDay = 0
return
def GetLength(self):
@@ -25169,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
@@ -28850,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):
@@ -28947,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
#------------------------------------------------------
@@ -30795,6 +31400,7 @@
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
("Floor", c_int), # 已通关层
+ ("ServerRewardRecord", c_int), #全服挑战层领奖记录,按奖励记录二进制位存储是否已领取
]
def __init__(self):
@@ -30812,6 +31418,7 @@
self.Cmd = 0xB2
self.SubCmd = 0x13
self.Floor = 0
+ self.ServerRewardRecord = 0
return
def GetLength(self):
@@ -30824,12 +31431,14 @@
DumpString = '''// B2 13 天星塔通关层数 //tagMCSkyTowerInfo:
Cmd:%s,
SubCmd:%s,
- Floor:%d
+ Floor:%d,
+ ServerRewardRecord:%d
'''\
%(
self.Cmd,
self.SubCmd,
- self.Floor
+ self.Floor,
+ self.ServerRewardRecord
)
return DumpString
@@ -31071,6 +31680,226 @@
m_NAtagMCAddMaliciousAtkPlayer=tagMCAddMaliciousAtkPlayer()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCAddMaliciousAtkPlayer.Cmd,m_NAtagMCAddMaliciousAtkPlayer.SubCmd))] = m_NAtagMCAddMaliciousAtkPlayer
+
+
+#------------------------------------------------------
+# 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
#------------------------------------------------------
@@ -32000,6 +32829,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):
@@ -32021,6 +32851,7 @@
temHurtList = tagSkillPosHurtObj()
_pos = temHurtList.ReadData(_lpData, _pos)
self.HurtList.append(temHurtList)
+ self.SkillElementID,_pos = CommFunc.ReadWORD(_lpData, _pos)
return _pos
def Clear(self):
@@ -32035,6 +32866,7 @@
self.PosY = 0
self.HurtCount = 0
self.HurtList = list()
+ self.SkillElementID = 0
return
def GetLength(self):
@@ -32048,6 +32880,7 @@
length += 2
for i in range(self.HurtCount):
length += self.HurtList[i].GetLength()
+ length += 2
return length
@@ -32062,6 +32895,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):
@@ -32073,7 +32907,8 @@
PosX:%d,
PosY:%d,
HurtCount:%d,
- HurtList:%s
+ HurtList:%s,
+ SkillElementID:%d
'''\
%(
self.Head.OutputString(),
@@ -32083,7 +32918,8 @@
self.PosX,
self.PosY,
self.HurtCount,
- "..."
+ "...",
+ self.SkillElementID
)
return DumpString
--
Gitblit v1.8.0