From 78882065bd4a4ed7fb45327e766606dd81bbaf16 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 15 十月 2024 17:03:12 +0800
Subject: [PATCH] 5328 【越南】【英文】【砍树】神兽装备格子拓展(扩展为150格)
---
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 1916 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 1,815 insertions(+), 101 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index aa6bd9b..d511bef 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -1180,6 +1180,7 @@
Job = 0 #(BYTE Job)// 玩家职业
RealmLV = 0 #(WORD RealmLV)// 玩家境界等级
Face = 0 #(DWORD Face)//基本脸型
+ FacePic = 0 #(DWORD FacePic)//头像框
data = None
def __init__(self):
@@ -1198,6 +1199,7 @@
self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
return _pos
def Clear(self):
@@ -1212,6 +1214,7 @@
self.Job = 0
self.RealmLV = 0
self.Face = 0
+ self.FacePic = 0
return
def GetLength(self):
@@ -1223,6 +1226,7 @@
length += 2
length += 1
length += 2
+ length += 4
length += 4
return length
@@ -1237,6 +1241,7 @@
data = CommFunc.WriteBYTE(data, self.Job)
data = CommFunc.WriteWORD(data, self.RealmLV)
data = CommFunc.WriteDWORD(data, self.Face)
+ data = CommFunc.WriteDWORD(data, self.FacePic)
return data
def OutputString(self):
@@ -1248,7 +1253,8 @@
LV:%d,
Job:%d,
RealmLV:%d,
- Face:%d
+ Face:%d,
+ FacePic:%d
'''\
%(
self.Head.OutputString(),
@@ -1258,7 +1264,8 @@
self.LV,
self.Job,
self.RealmLV,
- self.Face
+ self.Face,
+ self.FacePic
)
return DumpString
@@ -1740,6 +1747,8 @@
NameLen = 0 #(BYTE NameLen)
Name = "" #(String Name)//名字
PlayeJob = 0 #(BYTE PlayeJob)//玩家职业
+ Face = 0 #(DWORD Face)//基本脸型
+ FacePic = 0 #(DWORD FacePic)//头像框
MoneyNum = 0 #(DWORD MoneyNum)//金钱数量
data = None
@@ -1752,6 +1761,8 @@
self.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.Name,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
self.PlayeJob,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.MoneyNum,_pos = CommFunc.ReadDWORD(_lpData, _pos)
return _pos
@@ -1759,6 +1770,8 @@
self.NameLen = 0
self.Name = ""
self.PlayeJob = 0
+ self.Face = 0
+ self.FacePic = 0
self.MoneyNum = 0
return
@@ -1768,6 +1781,8 @@
length += len(self.Name)
length += 1
length += 4
+ length += 4
+ length += 4
return length
@@ -1776,6 +1791,8 @@
data = CommFunc.WriteBYTE(data, self.NameLen)
data = CommFunc.WriteString(data, self.NameLen, self.Name)
data = CommFunc.WriteBYTE(data, self.PlayeJob)
+ data = CommFunc.WriteDWORD(data, self.Face)
+ data = CommFunc.WriteDWORD(data, self.FacePic)
data = CommFunc.WriteDWORD(data, self.MoneyNum)
return data
@@ -1784,12 +1801,16 @@
NameLen:%d,
Name:%s,
PlayeJob:%d,
+ Face:%d,
+ FacePic:%d,
MoneyNum:%d
'''\
%(
self.NameLen,
self.Name,
self.PlayeJob,
+ self.Face,
+ self.FacePic,
self.MoneyNum
)
return DumpString
@@ -1878,6 +1899,8 @@
Name = "" #(String Name)//玩家名字
Time = 0 #(DWORD Time)//时间
PlayeJob = 0 #(BYTE PlayeJob)//玩家职业
+ Face = 0 #(DWORD Face)//基本脸型
+ FacePic = 0 #(DWORD FacePic)//头像框
MoneyType = 0 #(BYTE MoneyType)//金钱类型
MoneyNum = 0 #(DWORD MoneyNum)//金钱数量
GetWay = 0 #(BYTE GetWay)//获得途径
@@ -1900,6 +1923,8 @@
self.Name,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
self.Time,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.PlayeJob,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.MoneyType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.MoneyNum,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.GetWay,_pos = CommFunc.ReadBYTE(_lpData, _pos)
@@ -1917,6 +1942,8 @@
self.Name = ""
self.Time = 0
self.PlayeJob = 0
+ self.Face = 0
+ self.FacePic = 0
self.MoneyType = 0
self.MoneyNum = 0
self.GetWay = 0
@@ -1935,6 +1962,8 @@
length += len(self.Name)
length += 4
length += 1
+ length += 4
+ length += 4
length += 1
length += 4
length += 1
@@ -1954,6 +1983,8 @@
data = CommFunc.WriteString(data, self.NameLen, self.Name)
data = CommFunc.WriteDWORD(data, self.Time)
data = CommFunc.WriteBYTE(data, self.PlayeJob)
+ data = CommFunc.WriteDWORD(data, self.Face)
+ data = CommFunc.WriteDWORD(data, self.FacePic)
data = CommFunc.WriteBYTE(data, self.MoneyType)
data = CommFunc.WriteDWORD(data, self.MoneyNum)
data = CommFunc.WriteBYTE(data, self.GetWay)
@@ -1972,6 +2003,8 @@
Name:%s,
Time:%d,
PlayeJob:%d,
+ Face:%d,
+ FacePic:%d,
MoneyType:%d,
MoneyNum:%d,
GetWay:%d,
@@ -1988,6 +2021,8 @@
self.Name,
self.Time,
self.PlayeJob,
+ self.Face,
+ self.FacePic,
self.MoneyType,
self.MoneyNum,
self.GetWay,
@@ -2416,6 +2451,7 @@
WarRank = 0 #(BYTE WarRank)//联赛排名
TotalFightPower = 0 #(DWORD TotalFightPower)//总战力,不足1个亿的部分
TotalFightPowerEx = 0 #(DWORD TotalFightPowerEx)//总战力点,1点=1亿
+ EmblemID = 0 #(BYTE EmblemID)//徽章ID
data = None
def __init__(self):
@@ -2438,6 +2474,7 @@
self.WarRank,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.TotalFightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.TotalFightPowerEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.EmblemID,_pos = CommFunc.ReadBYTE(_lpData, _pos)
return _pos
def Clear(self):
@@ -2455,6 +2492,7 @@
self.WarRank = 0
self.TotalFightPower = 0
self.TotalFightPowerEx = 0
+ self.EmblemID = 0
return
def GetLength(self):
@@ -2473,6 +2511,7 @@
length += 1
length += 4
length += 4
+ length += 1
return length
@@ -2492,6 +2531,7 @@
data = CommFunc.WriteBYTE(data, self.WarRank)
data = CommFunc.WriteDWORD(data, self.TotalFightPower)
data = CommFunc.WriteDWORD(data, self.TotalFightPowerEx)
+ data = CommFunc.WriteBYTE(data, self.EmblemID)
return data
def OutputString(self):
@@ -2509,7 +2549,8 @@
JoinAccept:%d,
WarRank:%d,
TotalFightPower:%d,
- TotalFightPowerEx:%d
+ TotalFightPowerEx:%d,
+ EmblemID:%d
'''\
%(
self.FamilyIndex,
@@ -2525,7 +2566,8 @@
self.JoinAccept,
self.WarRank,
self.TotalFightPower,
- self.TotalFightPowerEx
+ self.TotalFightPowerEx,
+ self.EmblemID
)
return DumpString
@@ -5269,6 +5311,7 @@
Job = 0 #(BYTE Job)
RealmLV = 0 #(WORD RealmLV)//境界
Face = 0 #(DWORD Face)//基本脸型
+ FacePic = 0 #(DWORD FacePic)//头像框
data = None
def __init__(self):
@@ -5283,6 +5326,7 @@
self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
return _pos
def Clear(self):
@@ -5292,6 +5336,7 @@
self.Job = 0
self.RealmLV = 0
self.Face = 0
+ self.FacePic = 0
return
def GetLength(self):
@@ -5301,6 +5346,7 @@
length += 4
length += 1
length += 2
+ length += 4
length += 4
return length
@@ -5313,6 +5359,7 @@
data = CommFunc.WriteBYTE(data, self.Job)
data = CommFunc.WriteWORD(data, self.RealmLV)
data = CommFunc.WriteDWORD(data, self.Face)
+ data = CommFunc.WriteDWORD(data, self.FacePic)
return data
def OutputString(self):
@@ -5322,7 +5369,8 @@
LV:%d,
Job:%d,
RealmLV:%d,
- Face:%d
+ Face:%d,
+ FacePic:%d
'''\
%(
self.ID,
@@ -5330,7 +5378,8 @@
self.LV,
self.Job,
self.RealmLV,
- self.Face
+ self.Face,
+ self.FacePic
)
return DumpString
@@ -5411,6 +5460,7 @@
LV = 0 #(WORD LV)//等级
RealmLV = 0 #(WORD RealmLV)//境界
Face = 0 #(DWORD Face)//基本脸型
+ FacePic = 0 #(DWORD FacePic)//头像框
data = None
def __init__(self):
@@ -5425,6 +5475,7 @@
self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
return _pos
def Clear(self):
@@ -5434,6 +5485,7 @@
self.LV = 0
self.RealmLV = 0
self.Face = 0
+ self.FacePic = 0
return
def GetLength(self):
@@ -5443,6 +5495,7 @@
length += 1
length += 2
length += 2
+ length += 4
length += 4
return length
@@ -5455,6 +5508,7 @@
data = CommFunc.WriteWORD(data, self.LV)
data = CommFunc.WriteWORD(data, self.RealmLV)
data = CommFunc.WriteDWORD(data, self.Face)
+ data = CommFunc.WriteDWORD(data, self.FacePic)
return data
def OutputString(self):
@@ -5464,7 +5518,8 @@
Job:%d,
LV:%d,
RealmLV:%d,
- Face:%d
+ Face:%d,
+ FacePic:%d
'''\
%(
self.PlayerID,
@@ -5472,7 +5527,8 @@
self.Job,
self.LV,
self.RealmLV,
- self.Face
+ self.Face,
+ self.FacePic
)
return DumpString
@@ -5775,6 +5831,356 @@
m_NAtagUpdatePlayerNameResult=tagUpdatePlayerNameResult()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagUpdatePlayerNameResult.Cmd,m_NAtagUpdatePlayerNameResult.SubCmd))] = m_NAtagUpdatePlayerNameResult
+
+
+#------------------------------------------------------
+# A9 27 仙宫新晋玩家信息 #tagGCXiangongNewPlayerInfo
+
+class tagGCXiangongNewPlayer(Structure):
+ AddTime = 0 #(DWORD AddTime)// 新晋时间戳
+ ServerID = 0 #(DWORD ServerID)
+ PlayerID = 0 #(DWORD PlayerID)
+ NameLen = 0 #(BYTE NameLen)
+ Name = "" #(String Name)// 玩家名,size = NameLen
+ LV = 0 #(WORD LV)// 玩家等级
+ Job = 0 #(BYTE Job)// 玩家职业
+ RealmLV = 0 #(WORD RealmLV)// 玩家境界
+ EquipShowSwitch = 0 #(DWORD EquipShowSwitch)
+ EquipShowIDCount = 0 #(BYTE EquipShowIDCount)
+ EquipShowID = list() #(vector<DWORD> EquipShowID)
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ self.AddTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.ServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.Name,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
+ self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.EquipShowSwitch,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.EquipShowIDCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.EquipShowIDCount):
+ value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
+ self.EquipShowID.append(value)
+ return _pos
+
+ def Clear(self):
+ self.AddTime = 0
+ self.ServerID = 0
+ self.PlayerID = 0
+ self.NameLen = 0
+ self.Name = ""
+ self.LV = 0
+ self.Job = 0
+ self.RealmLV = 0
+ self.EquipShowSwitch = 0
+ self.EquipShowIDCount = 0
+ self.EquipShowID = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 4
+ length += 4
+ length += 4
+ length += 1
+ length += len(self.Name)
+ length += 2
+ length += 1
+ length += 2
+ length += 4
+ length += 1
+ length += 4 * self.EquipShowIDCount
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteDWORD(data, self.AddTime)
+ data = CommFunc.WriteDWORD(data, self.ServerID)
+ data = CommFunc.WriteDWORD(data, self.PlayerID)
+ data = CommFunc.WriteBYTE(data, self.NameLen)
+ data = CommFunc.WriteString(data, self.NameLen, self.Name)
+ data = CommFunc.WriteWORD(data, self.LV)
+ data = CommFunc.WriteBYTE(data, self.Job)
+ data = CommFunc.WriteWORD(data, self.RealmLV)
+ data = CommFunc.WriteDWORD(data, self.EquipShowSwitch)
+ data = CommFunc.WriteBYTE(data, self.EquipShowIDCount)
+ for i in range(self.EquipShowIDCount):
+ data = CommFunc.WriteDWORD(data, self.EquipShowID[i])
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ AddTime:%d,
+ ServerID:%d,
+ PlayerID:%d,
+ NameLen:%d,
+ Name:%s,
+ LV:%d,
+ Job:%d,
+ RealmLV:%d,
+ EquipShowSwitch:%d,
+ EquipShowIDCount:%d,
+ EquipShowID:%s
+ '''\
+ %(
+ self.AddTime,
+ self.ServerID,
+ self.PlayerID,
+ self.NameLen,
+ self.Name,
+ self.LV,
+ self.Job,
+ self.RealmLV,
+ self.EquipShowSwitch,
+ self.EquipShowIDCount,
+ "..."
+ )
+ return DumpString
+
+
+class tagGCXiangongNewPlayerInfo(Structure):
+ Head = tagHead()
+ XiangongID = 0 #(WORD XiangongID)// 仙宫ID
+ NewPlayerCount = 0 #(BYTE NewPlayerCount)
+ NewPlayerList = list() #(vector<tagGCXiangongNewPlayer> NewPlayerList)
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xA9
+ self.Head.SubCmd = 0x27
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.XiangongID,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.NewPlayerCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.NewPlayerCount):
+ temNewPlayerList = tagGCXiangongNewPlayer()
+ _pos = temNewPlayerList.ReadData(_lpData, _pos)
+ self.NewPlayerList.append(temNewPlayerList)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xA9
+ self.Head.SubCmd = 0x27
+ self.XiangongID = 0
+ self.NewPlayerCount = 0
+ self.NewPlayerList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 2
+ length += 1
+ for i in range(self.NewPlayerCount):
+ length += self.NewPlayerList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteWORD(data, self.XiangongID)
+ data = CommFunc.WriteBYTE(data, self.NewPlayerCount)
+ for i in range(self.NewPlayerCount):
+ data = CommFunc.WriteString(data, self.NewPlayerList[i].GetLength(), self.NewPlayerList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ XiangongID:%d,
+ NewPlayerCount:%d,
+ NewPlayerList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.XiangongID,
+ self.NewPlayerCount,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagGCXiangongNewPlayerInfo=tagGCXiangongNewPlayerInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCXiangongNewPlayerInfo.Head.Cmd,m_NAtagGCXiangongNewPlayerInfo.Head.SubCmd))] = m_NAtagGCXiangongNewPlayerInfo
+
+
+#------------------------------------------------------
+# A9 28 仙宫仙名录玩家信息 #tagGCXiangongRecPlayerInfo
+
+class tagGCXiangongRecPlayer(Structure):
+ AddTime = 0 #(DWORD AddTime)// 新晋时间戳
+ ServerID = 0 #(DWORD ServerID)
+ PlayerID = 0 #(DWORD PlayerID)
+ NameLen = 0 #(BYTE NameLen)
+ Name = "" #(String Name)// 玩家名,size = NameLen
+ LV = 0 #(WORD LV)// 玩家等级
+ Job = 0 #(BYTE Job)// 玩家职业
+ RealmLV = 0 #(WORD RealmLV)// 玩家境界
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ self.AddTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.ServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.Name,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
+ self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ return _pos
+
+ def Clear(self):
+ self.AddTime = 0
+ self.ServerID = 0
+ self.PlayerID = 0
+ self.NameLen = 0
+ self.Name = ""
+ self.LV = 0
+ self.Job = 0
+ self.RealmLV = 0
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 4
+ length += 4
+ length += 4
+ length += 1
+ length += len(self.Name)
+ length += 2
+ length += 1
+ length += 2
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteDWORD(data, self.AddTime)
+ data = CommFunc.WriteDWORD(data, self.ServerID)
+ data = CommFunc.WriteDWORD(data, self.PlayerID)
+ data = CommFunc.WriteBYTE(data, self.NameLen)
+ data = CommFunc.WriteString(data, self.NameLen, self.Name)
+ data = CommFunc.WriteWORD(data, self.LV)
+ data = CommFunc.WriteBYTE(data, self.Job)
+ data = CommFunc.WriteWORD(data, self.RealmLV)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ AddTime:%d,
+ ServerID:%d,
+ PlayerID:%d,
+ NameLen:%d,
+ Name:%s,
+ LV:%d,
+ Job:%d,
+ RealmLV:%d
+ '''\
+ %(
+ self.AddTime,
+ self.ServerID,
+ self.PlayerID,
+ self.NameLen,
+ self.Name,
+ self.LV,
+ self.Job,
+ self.RealmLV
+ )
+ return DumpString
+
+
+class tagGCXiangongRecPlayerInfo(Structure):
+ Head = tagHead()
+ XiangongID = 0 #(WORD XiangongID)// 仙宫ID
+ RecPlayerCount = 0 #(BYTE RecPlayerCount)
+ RecPlayerList = list() #(vector<tagGCXiangongRecPlayer> RecPlayerList)
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xA9
+ self.Head.SubCmd = 0x28
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.XiangongID,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.RecPlayerCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.RecPlayerCount):
+ temRecPlayerList = tagGCXiangongRecPlayer()
+ _pos = temRecPlayerList.ReadData(_lpData, _pos)
+ self.RecPlayerList.append(temRecPlayerList)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xA9
+ self.Head.SubCmd = 0x28
+ self.XiangongID = 0
+ self.RecPlayerCount = 0
+ self.RecPlayerList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 2
+ length += 1
+ for i in range(self.RecPlayerCount):
+ length += self.RecPlayerList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteWORD(data, self.XiangongID)
+ data = CommFunc.WriteBYTE(data, self.RecPlayerCount)
+ for i in range(self.RecPlayerCount):
+ data = CommFunc.WriteString(data, self.RecPlayerList[i].GetLength(), self.RecPlayerList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ XiangongID:%d,
+ RecPlayerCount:%d,
+ RecPlayerList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.XiangongID,
+ self.RecPlayerCount,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagGCXiangongRecPlayerInfo=tagGCXiangongRecPlayerInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCXiangongRecPlayerInfo.Head.Cmd,m_NAtagGCXiangongRecPlayerInfo.Head.SubCmd))] = m_NAtagGCXiangongRecPlayerInfo
#------------------------------------------------------
@@ -7323,6 +7729,8 @@
Job = 0 #(BYTE Job)
LV = 0 #(WORD LV)//等级
RealmLV = 0 #(BYTE RealmLV)//境界
+ Face = 0 #(DWORD Face)//基本脸型
+ FacePic = 0 #(DWORD FacePic)//头像框
MapID = 0 #(DWORD MapID)
LineID = 0 #(DWORD LineID)
NPCID = 0 #(DWORD NPCID)
@@ -7342,6 +7750,8 @@
self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.RealmLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.FacePic,_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)
@@ -7356,6 +7766,8 @@
self.Job = 0
self.LV = 0
self.RealmLV = 0
+ self.Face = 0
+ self.FacePic = 0
self.MapID = 0
self.LineID = 0
self.NPCID = 0
@@ -7374,6 +7786,8 @@
length += 4
length += 4
length += 4
+ length += 4
+ length += 4
length += 2
length += len(self.ExData)
@@ -7387,6 +7801,8 @@
data = CommFunc.WriteBYTE(data, self.Job)
data = CommFunc.WriteWORD(data, self.LV)
data = CommFunc.WriteBYTE(data, self.RealmLV)
+ data = CommFunc.WriteDWORD(data, self.Face)
+ data = CommFunc.WriteDWORD(data, self.FacePic)
data = CommFunc.WriteDWORD(data, self.MapID)
data = CommFunc.WriteDWORD(data, self.LineID)
data = CommFunc.WriteDWORD(data, self.NPCID)
@@ -7402,6 +7818,8 @@
Job:%d,
LV:%d,
RealmLV:%d,
+ Face:%d,
+ FacePic:%d,
MapID:%d,
LineID:%d,
NPCID:%d,
@@ -7415,6 +7833,8 @@
self.Job,
self.LV,
self.RealmLV,
+ self.Face,
+ self.FacePic,
self.MapID,
self.LineID,
self.NPCID,
@@ -7873,6 +8293,8 @@
Job = 0 #(BYTE Job)
LV = 0 #(WORD LV)
RealmLV = 0 #(BYTE RealmLV)//境界
+ Face = 0 #(DWORD Face)//基本脸型
+ FacePic = 0 #(DWORD FacePic)//头像框
MapID = 0 #(DWORD MapID)
LineID = 0 #(DWORD LineID)
NPCID = 0 #(DWORD NPCID)
@@ -7897,6 +8319,8 @@
self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.RealmLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.FacePic,_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)
@@ -7917,6 +8341,8 @@
self.Job = 0
self.LV = 0
self.RealmLV = 0
+ self.Face = 0
+ self.FacePic = 0
self.MapID = 0
self.LineID = 0
self.NPCID = 0
@@ -7938,6 +8364,8 @@
length += 4
length += 4
length += 4
+ length += 4
+ length += 4
length += 2
length += len(self.ExData)
length += 19
@@ -7954,6 +8382,8 @@
data = CommFunc.WriteBYTE(data, self.Job)
data = CommFunc.WriteWORD(data, self.LV)
data = CommFunc.WriteBYTE(data, self.RealmLV)
+ data = CommFunc.WriteDWORD(data, self.Face)
+ data = CommFunc.WriteDWORD(data, self.FacePic)
data = CommFunc.WriteDWORD(data, self.MapID)
data = CommFunc.WriteDWORD(data, self.LineID)
data = CommFunc.WriteDWORD(data, self.NPCID)
@@ -7972,6 +8402,8 @@
Job:%d,
LV:%d,
RealmLV:%d,
+ Face:%d,
+ FacePic:%d,
MapID:%d,
LineID:%d,
NPCID:%d,
@@ -7988,6 +8420,8 @@
self.Job,
self.LV,
self.RealmLV,
+ self.Face,
+ self.FacePic,
self.MapID,
self.LineID,
self.NPCID,
@@ -8572,6 +9006,8 @@
Job = 0 #(BYTE Job)
LV = 0 #(WORD LV)
RealmLV = 0 #(BYTE RealmLV)//境界
+ Face = 0 #(DWORD Face)//基本脸型
+ FacePic = 0 #(DWORD FacePic)//头像框
data = None
def __init__(self):
@@ -8585,6 +9021,8 @@
self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.RealmLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
return _pos
def Clear(self):
@@ -8593,6 +9031,8 @@
self.Job = 0
self.LV = 0
self.RealmLV = 0
+ self.Face = 0
+ self.FacePic = 0
return
def GetLength(self):
@@ -8602,6 +9042,8 @@
length += 1
length += 2
length += 1
+ length += 4
+ length += 4
return length
@@ -8612,6 +9054,8 @@
data = CommFunc.WriteBYTE(data, self.Job)
data = CommFunc.WriteWORD(data, self.LV)
data = CommFunc.WriteBYTE(data, self.RealmLV)
+ data = CommFunc.WriteDWORD(data, self.Face)
+ data = CommFunc.WriteDWORD(data, self.FacePic)
return data
def OutputString(self):
@@ -8620,14 +9064,18 @@
PlayerName:%s,
Job:%d,
LV:%d,
- RealmLV:%d
+ RealmLV:%d,
+ Face:%d,
+ FacePic:%d
'''\
%(
self.PlayerID,
self.PlayerName,
self.Job,
self.LV,
- self.RealmLV
+ self.RealmLV,
+ self.Face,
+ self.FacePic
)
return DumpString
@@ -8957,6 +9405,7 @@
LV = 0 #(WORD LV)
RealmLV = 0 #(WORD RealmLV)//境界等级
Face = 0 #(DWORD Face)//基本脸型
+ FacePic = 0 #(DWORD FacePic)//头像框
data = None
def __init__(self):
@@ -8973,6 +9422,7 @@
self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
return _pos
def Clear(self):
@@ -8985,6 +9435,7 @@
self.LV = 0
self.RealmLV = 0
self.Face = 0
+ self.FacePic = 0
return
def GetLength(self):
@@ -8994,6 +9445,7 @@
length += 33
length += 2
length += 2
+ length += 4
length += 4
return length
@@ -9006,6 +9458,7 @@
data = CommFunc.WriteWORD(data, self.LV)
data = CommFunc.WriteWORD(data, self.RealmLV)
data = CommFunc.WriteDWORD(data, self.Face)
+ data = CommFunc.WriteDWORD(data, self.FacePic)
return data
def OutputString(self):
@@ -9015,7 +9468,8 @@
Name:%s,
LV:%d,
RealmLV:%d,
- Face:%d
+ Face:%d,
+ FacePic:%d
'''\
%(
self.Head.OutputString(),
@@ -9023,7 +9477,8 @@
self.Name,
self.LV,
self.RealmLV,
- self.Face
+ self.Face,
+ self.FacePic
)
return DumpString
@@ -10154,6 +10609,7 @@
IsInTeam = 0 #(BYTE IsInTeam)//是否有队伍
ServerGroupID = 0 #(DWORD ServerGroupID)//服务器组ID
Face = 0 #(DWORD Face)//基本脸型
+ FacePic = 0 #(DWORD FacePic)//头像框
data = None
def __init__(self):
@@ -10174,6 +10630,7 @@
self.IsInTeam,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.ServerGroupID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
return _pos
def Clear(self):
@@ -10190,6 +10647,7 @@
self.IsInTeam = 0
self.ServerGroupID = 0
self.Face = 0
+ self.FacePic = 0
return
def GetLength(self):
@@ -10202,6 +10660,7 @@
length += 2
length += 1
length += 1
+ length += 4
length += 4
length += 4
@@ -10219,6 +10678,7 @@
data = CommFunc.WriteBYTE(data, self.IsInTeam)
data = CommFunc.WriteDWORD(data, self.ServerGroupID)
data = CommFunc.WriteDWORD(data, self.Face)
+ data = CommFunc.WriteDWORD(data, self.FacePic)
return data
def OutputString(self):
@@ -10232,7 +10692,8 @@
OnlineType:%d,
IsInTeam:%d,
ServerGroupID:%d,
- Face:%d
+ Face:%d,
+ FacePic:%d
'''\
%(
self.Head.OutputString(),
@@ -10244,7 +10705,8 @@
self.OnlineType,
self.IsInTeam,
self.ServerGroupID,
- self.Face
+ self.Face,
+ self.FacePic
)
return DumpString
@@ -10320,6 +10782,7 @@
RealmLV = 0 #(WORD RealmLV)//境界
OnlineType = 0 #(BYTE OnlineType)//0不在线 1在线 2脱机在线
Face = 0 #(DWORD Face)//基本脸型
+ FacePic = 0 #(DWORD FacePic)//头像框
data = None
def __init__(self):
@@ -10335,6 +10798,7 @@
self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.OnlineType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
return _pos
def Clear(self):
@@ -10345,6 +10809,7 @@
self.RealmLV = 0
self.OnlineType = 0
self.Face = 0
+ self.FacePic = 0
return
def GetLength(self):
@@ -10355,6 +10820,7 @@
length += 2
length += 2
length += 1
+ length += 4
length += 4
return length
@@ -10368,6 +10834,7 @@
data = CommFunc.WriteWORD(data, self.RealmLV)
data = CommFunc.WriteBYTE(data, self.OnlineType)
data = CommFunc.WriteDWORD(data, self.Face)
+ data = CommFunc.WriteDWORD(data, self.FacePic)
return data
def OutputString(self):
@@ -10378,7 +10845,8 @@
LV:%d,
RealmLV:%d,
OnlineType:%d,
- Face:%d
+ Face:%d,
+ FacePic:%d
'''\
%(
self.PlayerID,
@@ -10387,7 +10855,8 @@
self.LV,
self.RealmLV,
self.OnlineType,
- self.Face
+ self.Face,
+ self.FacePic
)
return DumpString
@@ -13926,6 +14395,8 @@
Job = 0 #(BYTE Job)// 玩家职业
JobLevel = 0 #(BYTE JobLevel)// 玩家职业阶级
RealmLV = 0 #(WORD RealmLV)// 玩家境界等级
+ Face = 0 #(DWORD Face)//基本脸型
+ FacePic = 0 #(DWORD FacePic)//头像框
data = None
def __init__(self):
@@ -13941,6 +14412,8 @@
self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.JobLevel,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
return _pos
def Clear(self):
@@ -13951,6 +14424,8 @@
self.Job = 0
self.JobLevel = 0
self.RealmLV = 0
+ self.Face = 0
+ self.FacePic = 0
return
def GetLength(self):
@@ -13962,6 +14437,8 @@
length += 1
length += 1
length += 2
+ length += 4
+ length += 4
return length
@@ -13974,6 +14451,8 @@
data = CommFunc.WriteBYTE(data, self.Job)
data = CommFunc.WriteBYTE(data, self.JobLevel)
data = CommFunc.WriteWORD(data, self.RealmLV)
+ data = CommFunc.WriteDWORD(data, self.Face)
+ data = CommFunc.WriteDWORD(data, self.FacePic)
return data
def OutputString(self):
@@ -13984,7 +14463,9 @@
LV:%d,
Job:%d,
JobLevel:%d,
- RealmLV:%d
+ RealmLV:%d,
+ Face:%d,
+ FacePic:%d
'''\
%(
self.PlayerID,
@@ -13993,7 +14474,9 @@
self.LV,
self.Job,
self.JobLevel,
- self.RealmLV
+ self.RealmLV,
+ self.Face,
+ self.FacePic
)
return DumpString
@@ -14605,6 +15088,8 @@
Job = 0 #(BYTE Job)// 玩家职业
JobLevel = 0 #(BYTE JobLevel)// 玩家职业阶级
RealmLV = 0 #(WORD RealmLV)// 玩家境界等级
+ Face = 0 #(DWORD Face)//基本脸型
+ FacePic = 0 #(DWORD FacePic)//头像框
PlayerState = 0 #(BYTE PlayerState)// 0: 离线 1:在线
MapID = 0 #(DWORD MapID)// 地图ID
LineID = 0 #(BYTE LineID)// 线路ID
@@ -14625,6 +15110,8 @@
self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.JobLevel,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.PlayerState,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.MapID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.LineID,_pos = CommFunc.ReadBYTE(_lpData, _pos)
@@ -14640,6 +15127,8 @@
self.Job = 0
self.JobLevel = 0
self.RealmLV = 0
+ self.Face = 0
+ self.FacePic = 0
self.PlayerState = 0
self.MapID = 0
self.LineID = 0
@@ -14656,6 +15145,8 @@
length += 1
length += 1
length += 2
+ length += 4
+ length += 4
length += 1
length += 4
length += 1
@@ -14673,6 +15164,8 @@
data = CommFunc.WriteBYTE(data, self.Job)
data = CommFunc.WriteBYTE(data, self.JobLevel)
data = CommFunc.WriteWORD(data, self.RealmLV)
+ data = CommFunc.WriteDWORD(data, self.Face)
+ data = CommFunc.WriteDWORD(data, self.FacePic)
data = CommFunc.WriteBYTE(data, self.PlayerState)
data = CommFunc.WriteDWORD(data, self.MapID)
data = CommFunc.WriteBYTE(data, self.LineID)
@@ -14689,6 +15182,8 @@
Job:%d,
JobLevel:%d,
RealmLV:%d,
+ Face:%d,
+ FacePic:%d,
PlayerState:%d,
MapID:%d,
LineID:%d
@@ -14703,6 +15198,8 @@
self.Job,
self.JobLevel,
self.RealmLV,
+ self.Face,
+ self.FacePic,
self.PlayerState,
self.MapID,
self.LineID
@@ -15678,6 +16175,8 @@
FightPower = 0 #(DWORD FightPower)// 战力求余亿部分
FightPowerEx = 0 #(DWORD FightPowerEx)// 战力整除亿部分
RealmLV = 0 #(WORD RealmLV)
+ Face = 0 #(DWORD Face)//基本脸型
+ FacePic = 0 #(DWORD FacePic)//头像框
data = None
def __init__(self):
@@ -15694,6 +16193,8 @@
self.FightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.FightPowerEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
return _pos
def Clear(self):
@@ -15705,6 +16206,8 @@
self.FightPower = 0
self.FightPowerEx = 0
self.RealmLV = 0
+ self.Face = 0
+ self.FacePic = 0
return
def GetLength(self):
@@ -15717,6 +16220,8 @@
length += 4
length += 4
length += 2
+ length += 4
+ length += 4
return length
@@ -15730,6 +16235,8 @@
data = CommFunc.WriteDWORD(data, self.FightPower)
data = CommFunc.WriteDWORD(data, self.FightPowerEx)
data = CommFunc.WriteWORD(data, self.RealmLV)
+ data = CommFunc.WriteDWORD(data, self.Face)
+ data = CommFunc.WriteDWORD(data, self.FacePic)
return data
def OutputString(self):
@@ -15741,7 +16248,9 @@
LV:%d,
FightPower:%d,
FightPowerEx:%d,
- RealmLV:%d
+ RealmLV:%d,
+ Face:%d,
+ FacePic:%d
'''\
%(
self.PlayerID,
@@ -15751,7 +16260,9 @@
self.LV,
self.FightPower,
self.FightPowerEx,
- self.RealmLV
+ self.RealmLV,
+ self.Face,
+ self.FacePic
)
return DumpString
@@ -16699,6 +17210,8 @@
FightPower = 0 #(DWORD FightPower)// 战力求余亿部分
FightPowerEx = 0 #(DWORD FightPowerEx)// 战力整除亿部分
RealmLV = 0 #(WORD RealmLV)
+ Face = 0 #(DWORD Face)//基本脸型
+ FacePic = 0 #(DWORD FacePic)//头像框
data = None
def __init__(self):
@@ -16715,6 +17228,8 @@
self.FightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.FightPowerEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
return _pos
def Clear(self):
@@ -16726,6 +17241,8 @@
self.FightPower = 0
self.FightPowerEx = 0
self.RealmLV = 0
+ self.Face = 0
+ self.FacePic = 0
return
def GetLength(self):
@@ -16738,6 +17255,8 @@
length += 4
length += 4
length += 2
+ length += 4
+ length += 4
return length
@@ -16751,6 +17270,8 @@
data = CommFunc.WriteDWORD(data, self.FightPower)
data = CommFunc.WriteDWORD(data, self.FightPowerEx)
data = CommFunc.WriteWORD(data, self.RealmLV)
+ data = CommFunc.WriteDWORD(data, self.Face)
+ data = CommFunc.WriteDWORD(data, self.FacePic)
return data
def OutputString(self):
@@ -16762,7 +17283,9 @@
LV:%d,
FightPower:%d,
FightPowerEx:%d,
- RealmLV:%d
+ RealmLV:%d,
+ Face:%d,
+ FacePic:%d
'''\
%(
self.PlayerID,
@@ -16772,7 +17295,9 @@
self.LV,
self.FightPower,
self.FightPowerEx,
- self.RealmLV
+ self.RealmLV,
+ self.Face,
+ self.FacePic
)
return DumpString
@@ -18753,6 +19278,7 @@
ExAttr20 = 0 #(DWORD ExAttr20)//预留的扩展属性字段,用来存放项目特定的属性
HPEx = 0 #(DWORD HPEx)//当前血量 超过E的记录
Face = 0 #(DWORD Face)//基本脸型
+ FacePic = 0 #(DWORD FacePic)//头像框
RoleType = 0 #(DWORD RoleType)//角色类型(各项目可自定义含义,如种族,与职业区分)
data = None
@@ -18861,6 +19387,7 @@
self.ExAttr20,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.HPEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.RoleType,_pos = CommFunc.ReadDWORD(_lpData, _pos)
return _pos
@@ -18965,6 +19492,7 @@
self.ExAttr20 = 0
self.HPEx = 0
self.Face = 0
+ self.FacePic = 0
self.RoleType = 0
return
@@ -19058,6 +19586,7 @@
length += 4
length += 4
length += 15
+ length += 4
length += 4
length += 4
length += 4
@@ -19170,6 +19699,7 @@
data = CommFunc.WriteDWORD(data, self.ExAttr20)
data = CommFunc.WriteDWORD(data, self.HPEx)
data = CommFunc.WriteDWORD(data, self.Face)
+ data = CommFunc.WriteDWORD(data, self.FacePic)
data = CommFunc.WriteDWORD(data, self.RoleType)
return data
@@ -19272,6 +19802,7 @@
ExAttr20:%d,
HPEx:%d,
Face:%d,
+ FacePic:%d,
RoleType:%d
'''\
%(
@@ -19372,6 +19903,7 @@
self.ExAttr20,
self.HPEx,
self.Face,
+ self.FacePic,
self.RoleType
)
return DumpString
@@ -30230,18 +30762,17 @@
#------------------------------------------------------
# A7 17 聊天气泡框状态 #tagMCChatBubbleBoxState
-class tagMCChatBubbleBoxState(Structure):
+class tagMCChatBubbleBox(Structure):
_pack_ = 1
_fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("BoxState", c_int), # 按二进制位存储代表是否已开启,暂支持31位,以后有需要再加
+ ("BoxID", c_ubyte), #气泡ID
+ ("State", c_ubyte), #是否已激活
+ ("EndTime", c_int), #到期时间戳,0为永久
+ ("Star", c_ubyte), #星级
]
def __init__(self):
self.Clear()
- self.Cmd = 0xA7
- self.SubCmd = 0x17
return
def ReadData(self, stringData, _pos=0, _len=0):
@@ -30250,33 +30781,98 @@
return _pos + self.GetLength()
def Clear(self):
- self.Cmd = 0xA7
- self.SubCmd = 0x17
- self.BoxState = 0
+ self.BoxID = 0
+ self.State = 0
+ self.EndTime = 0
+ self.Star = 0
return
def GetLength(self):
- return sizeof(tagMCChatBubbleBoxState)
+ return sizeof(tagMCChatBubbleBox)
def GetBuffer(self):
return string_at(addressof(self), self.GetLength())
def OutputString(self):
DumpString = '''// A7 17 聊天气泡框状态 //tagMCChatBubbleBoxState:
- Cmd:%s,
- SubCmd:%s,
- BoxState:%d
+ BoxID:%d,
+ State:%d,
+ EndTime:%d,
+ Star:%d
'''\
%(
- self.Cmd,
- self.SubCmd,
- self.BoxState
+ self.BoxID,
+ self.State,
+ self.EndTime,
+ self.Star
+ )
+ return DumpString
+
+
+class tagMCChatBubbleBoxState(Structure):
+ Head = tagHead()
+ Count = 0 #(BYTE Count)
+ BoxList = list() #(vector<tagMCChatBubbleBox> BoxList)
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xA7
+ self.Head.SubCmd = 0x17
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.Count):
+ temBoxList = tagMCChatBubbleBox()
+ _pos = temBoxList.ReadData(_lpData, _pos)
+ self.BoxList.append(temBoxList)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xA7
+ self.Head.SubCmd = 0x17
+ self.Count = 0
+ self.BoxList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ for i in range(self.Count):
+ length += self.BoxList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteBYTE(data, self.Count)
+ for i in range(self.Count):
+ data = CommFunc.WriteString(data, self.BoxList[i].GetLength(), self.BoxList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ Count:%d,
+ BoxList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.Count,
+ "..."
)
return DumpString
m_NAtagMCChatBubbleBoxState=tagMCChatBubbleBoxState()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCChatBubbleBoxState.Cmd,m_NAtagMCChatBubbleBoxState.SubCmd))] = m_NAtagMCChatBubbleBoxState
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCChatBubbleBoxState.Head.Cmd,m_NAtagMCChatBubbleBoxState.Head.SubCmd))] = m_NAtagMCChatBubbleBoxState
#------------------------------------------------------
@@ -30575,6 +31171,118 @@
m_NAtagMCDynamicBarrierState=tagMCDynamicBarrierState()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCDynamicBarrierState.Head.Cmd,m_NAtagMCDynamicBarrierState.Head.SubCmd))] = m_NAtagMCDynamicBarrierState
+
+
+#------------------------------------------------------
+# A7 21 表情包信息 #tagMCEmojiPackInfo
+
+class tagMCEmojiPack(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("PackID", c_ubyte), #表情包ID
+ ("State", c_ubyte), #是否已激活
+ ("EndTime", c_int), #到期时间戳,0为永久
+ ]
+
+ 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.PackID = 0
+ self.State = 0
+ self.EndTime = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagMCEmojiPack)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A7 21 表情包信息 //tagMCEmojiPackInfo:
+ PackID:%d,
+ State:%d,
+ EndTime:%d
+ '''\
+ %(
+ self.PackID,
+ self.State,
+ self.EndTime
+ )
+ return DumpString
+
+
+class tagMCEmojiPackInfo(Structure):
+ Head = tagHead()
+ Count = 0 #(BYTE Count)
+ EmojiPackList = list() #(vector<tagMCEmojiPack> EmojiPackList)
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xA7
+ self.Head.SubCmd = 0x21
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.Count):
+ temEmojiPackList = tagMCEmojiPack()
+ _pos = temEmojiPackList.ReadData(_lpData, _pos)
+ self.EmojiPackList.append(temEmojiPackList)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xA7
+ self.Head.SubCmd = 0x21
+ self.Count = 0
+ self.EmojiPackList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ for i in range(self.Count):
+ length += self.EmojiPackList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteBYTE(data, self.Count)
+ for i in range(self.Count):
+ data = CommFunc.WriteString(data, self.EmojiPackList[i].GetLength(), self.EmojiPackList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ Count:%d,
+ EmojiPackList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.Count,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagMCEmojiPackInfo=tagMCEmojiPackInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCEmojiPackInfo.Head.Cmd,m_NAtagMCEmojiPackInfo.Head.SubCmd))] = m_NAtagMCEmojiPackInfo
#------------------------------------------------------
@@ -33121,12 +33829,72 @@
return DumpString
+class tagMCActBossTrialAwardEx(Structure):
+ NeedScore = 0 #(DWORD NeedScore)// 额外奖励所需积分
+ Count = 0 #(BYTE Count)// 额外奖励物品数
+ AwardItemList = list() #(vector<tagMCActBossTrialItem> AwardItemList)// 额外奖励物品列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ self.NeedScore,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.Count):
+ temAwardItemList = tagMCActBossTrialItem()
+ _pos = temAwardItemList.ReadData(_lpData, _pos)
+ self.AwardItemList.append(temAwardItemList)
+ return _pos
+
+ def Clear(self):
+ self.NeedScore = 0
+ self.Count = 0
+ self.AwardItemList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 4
+ length += 1
+ for i in range(self.Count):
+ length += self.AwardItemList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteDWORD(data, self.NeedScore)
+ data = CommFunc.WriteBYTE(data, self.Count)
+ for i in range(self.Count):
+ data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ NeedScore:%d,
+ Count:%d,
+ AwardItemList:%s
+ '''\
+ %(
+ self.NeedScore,
+ self.Count,
+ "..."
+ )
+ return DumpString
+
+
class tagMCActBossTrialBillard(Structure):
Rank = 0 #(DWORD Rank)// 名次,1-代表第一名;支持夸段,如1,3 代表第1名,第2~3名
Count = 0 #(BYTE Count)// 奖励物品数
AwardItemList = list() #(vector<tagMCActBossTrialItem> AwardItemList)// 奖励物品列表,当仙盟榜时,如果有该奖励则代表盟主奖励,否则默认均为成员奖励
MemCount = 0 #(BYTE MemCount)// 成员奖励物品数
MemAwardItemList = list() #(vector<tagMCActBossTrialItem> MemAwardItemList)// 成员奖励物品列表,仅仙盟榜时有效
+ NeedScore = 0 #(DWORD NeedScore)// 上榜所需积分
+ CountEx = 0 #(BYTE CountEx)// 额外奖励数
+ AwardItemExList = list() #(vector<tagMCActBossTrialAwardEx> AwardItemExList)// 额外奖励列表
data = None
def __init__(self):
@@ -33146,6 +33914,12 @@
temMemAwardItemList = tagMCActBossTrialItem()
_pos = temMemAwardItemList.ReadData(_lpData, _pos)
self.MemAwardItemList.append(temMemAwardItemList)
+ self.NeedScore,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.CountEx,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.CountEx):
+ temAwardItemExList = tagMCActBossTrialAwardEx()
+ _pos = temAwardItemExList.ReadData(_lpData, _pos)
+ self.AwardItemExList.append(temAwardItemExList)
return _pos
def Clear(self):
@@ -33154,6 +33928,9 @@
self.AwardItemList = list()
self.MemCount = 0
self.MemAwardItemList = list()
+ self.NeedScore = 0
+ self.CountEx = 0
+ self.AwardItemExList = list()
return
def GetLength(self):
@@ -33165,6 +33942,10 @@
length += 1
for i in range(self.MemCount):
length += self.MemAwardItemList[i].GetLength()
+ length += 4
+ length += 1
+ for i in range(self.CountEx):
+ length += self.AwardItemExList[i].GetLength()
return length
@@ -33177,6 +33958,10 @@
data = CommFunc.WriteBYTE(data, self.MemCount)
for i in range(self.MemCount):
data = CommFunc.WriteString(data, self.MemAwardItemList[i].GetLength(), self.MemAwardItemList[i].GetBuffer())
+ data = CommFunc.WriteDWORD(data, self.NeedScore)
+ data = CommFunc.WriteBYTE(data, self.CountEx)
+ for i in range(self.CountEx):
+ data = CommFunc.WriteString(data, self.AwardItemExList[i].GetLength(), self.AwardItemExList[i].GetBuffer())
return data
def OutputString(self):
@@ -33185,13 +33970,19 @@
Count:%d,
AwardItemList:%s,
MemCount:%d,
- MemAwardItemList:%s
+ MemAwardItemList:%s,
+ NeedScore:%d,
+ CountEx:%d,
+ AwardItemExList:%s
'''\
%(
self.Rank,
self.Count,
"...",
self.MemCount,
+ "...",
+ self.NeedScore,
+ self.CountEx,
"..."
)
return DumpString
@@ -35736,10 +36527,10 @@
return DumpString
-class tagMCActGubaoBillard(Structure):
- Rank = 0 #(DWORD Rank)// 名次,1-代表第一名;支持夸段,如1,3 代表第1名,第2~3名
- Count = 0 #(BYTE Count)// 奖励物品数
- AwardItemList = list() #(vector<tagMCActGubaoItem> AwardItemList)// 奖励物品列表
+class tagMCActGubaoAwardEx(Structure):
+ NeedScore = 0 #(DWORD NeedScore)// 额外奖励所需积分
+ Count = 0 #(BYTE Count)// 额外奖励物品数
+ AwardItemList = list() #(vector<tagMCActGubaoItem> AwardItemList)// 额外奖励物品列表
data = None
def __init__(self):
@@ -35748,7 +36539,7 @@
def ReadData(self, _lpData, _pos=0, _Len=0):
self.Clear()
- self.Rank,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.NeedScore,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.Count):
temAwardItemList = tagMCActGubaoItem()
@@ -35757,7 +36548,7 @@
return _pos
def Clear(self):
- self.Rank = 0
+ self.NeedScore = 0
self.Count = 0
self.AwardItemList = list()
return
@@ -35773,7 +36564,7 @@
def GetBuffer(self):
data = ''
- data = CommFunc.WriteDWORD(data, self.Rank)
+ data = CommFunc.WriteDWORD(data, self.NeedScore)
data = CommFunc.WriteBYTE(data, self.Count)
for i in range(self.Count):
data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
@@ -35781,13 +36572,96 @@
def OutputString(self):
DumpString = '''
- Rank:%d,
+ NeedScore:%d,
Count:%d,
AwardItemList:%s
'''\
%(
+ self.NeedScore,
+ self.Count,
+ "..."
+ )
+ return DumpString
+
+
+class tagMCActGubaoBillard(Structure):
+ Rank = 0 #(DWORD Rank)// 名次,1-代表第一名;支持夸段,如1,3 代表第1名,第2~3名
+ Count = 0 #(BYTE Count)// 奖励物品数
+ AwardItemList = list() #(vector<tagMCActGubaoItem> AwardItemList)// 奖励物品列表
+ NeedScore = 0 #(DWORD NeedScore)// 上榜所需积分
+ CountEx = 0 #(BYTE CountEx)// 额外奖励数
+ AwardItemExList = list() #(vector<tagMCActGubaoAwardEx> AwardItemExList)// 额外奖励列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ self.Rank,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.Count):
+ temAwardItemList = tagMCActGubaoItem()
+ _pos = temAwardItemList.ReadData(_lpData, _pos)
+ self.AwardItemList.append(temAwardItemList)
+ self.NeedScore,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.CountEx,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.CountEx):
+ temAwardItemExList = tagMCActGubaoAwardEx()
+ _pos = temAwardItemExList.ReadData(_lpData, _pos)
+ self.AwardItemExList.append(temAwardItemExList)
+ return _pos
+
+ def Clear(self):
+ self.Rank = 0
+ self.Count = 0
+ self.AwardItemList = list()
+ self.NeedScore = 0
+ self.CountEx = 0
+ self.AwardItemExList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 4
+ length += 1
+ for i in range(self.Count):
+ length += self.AwardItemList[i].GetLength()
+ length += 4
+ length += 1
+ for i in range(self.CountEx):
+ length += self.AwardItemExList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteDWORD(data, self.Rank)
+ data = CommFunc.WriteBYTE(data, self.Count)
+ for i in range(self.Count):
+ data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
+ data = CommFunc.WriteDWORD(data, self.NeedScore)
+ data = CommFunc.WriteBYTE(data, self.CountEx)
+ for i in range(self.CountEx):
+ data = CommFunc.WriteString(data, self.AwardItemExList[i].GetLength(), self.AwardItemExList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Rank:%d,
+ Count:%d,
+ AwardItemList:%s,
+ NeedScore:%d,
+ CountEx:%d,
+ AwardItemExList:%s
+ '''\
+ %(
self.Rank,
self.Count,
+ "...",
+ self.NeedScore,
+ self.CountEx,
"..."
)
return DumpString
@@ -35801,6 +36675,7 @@
JoinStartTime = "" #(char JoinStartTime[5])// 参与开始时间点 mm:ss
JoinEndTime = "" #(char JoinEndTime[5])// 参与结束时间点 mm:ss
LimitLV = 0 #(WORD LimitLV)// 限制等级
+ ShopType = 0 #(WORD ShopType)// 开放商店类型,可能为0不开放
PersonalBillCount = 0 #(BYTE PersonalBillCount)
PersonalBillboardInfoList = list() #(vector<tagMCActGubaoBillard> PersonalBillboardInfoList)// 个人榜单奖励信息列表,如果没有代表本次活动没有该榜奖励
data = None
@@ -35820,6 +36695,7 @@
self.JoinStartTime,_pos = CommFunc.ReadString(_lpData, _pos,5)
self.JoinEndTime,_pos = CommFunc.ReadString(_lpData, _pos,5)
self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.ShopType,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.PersonalBillCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.PersonalBillCount):
temPersonalBillboardInfoList = tagMCActGubaoBillard()
@@ -35838,6 +36714,7 @@
self.JoinStartTime = ""
self.JoinEndTime = ""
self.LimitLV = 0
+ self.ShopType = 0
self.PersonalBillCount = 0
self.PersonalBillboardInfoList = list()
return
@@ -35850,6 +36727,7 @@
length += 10
length += 5
length += 5
+ length += 2
length += 2
length += 1
for i in range(self.PersonalBillCount):
@@ -35866,6 +36744,7 @@
data = CommFunc.WriteString(data, 5, self.JoinStartTime)
data = CommFunc.WriteString(data, 5, self.JoinEndTime)
data = CommFunc.WriteWORD(data, self.LimitLV)
+ data = CommFunc.WriteWORD(data, self.ShopType)
data = CommFunc.WriteBYTE(data, self.PersonalBillCount)
for i in range(self.PersonalBillCount):
data = CommFunc.WriteString(data, self.PersonalBillboardInfoList[i].GetLength(), self.PersonalBillboardInfoList[i].GetBuffer())
@@ -35880,6 +36759,7 @@
JoinStartTime:%s,
JoinEndTime:%s,
LimitLV:%d,
+ ShopType:%d,
PersonalBillCount:%d,
PersonalBillboardInfoList:%s
'''\
@@ -35891,6 +36771,7 @@
self.JoinStartTime,
self.JoinEndTime,
self.LimitLV,
+ self.ShopType,
self.PersonalBillCount,
"..."
)
@@ -40049,10 +40930,10 @@
return DumpString
-class tagMCActXianXiaMJBillard(Structure):
- Rank = 0 #(DWORD Rank)// 名次,1-代表第一名;支持夸段,如1,3 代表第1名,第2~3名
- Count = 0 #(BYTE Count)// 奖励物品数
- AwardItemList = list() #(vector<tagMCActXianXiaMJItem> AwardItemList)// 奖励物品列表
+class tagMCActXianXiaMJAwardEx(Structure):
+ NeedScore = 0 #(DWORD NeedScore)// 额外奖励所需积分
+ Count = 0 #(BYTE Count)// 额外奖励物品数
+ AwardItemList = list() #(vector<tagMCActXianXiaMJItem> AwardItemList)// 额外奖励物品列表
data = None
def __init__(self):
@@ -40061,7 +40942,7 @@
def ReadData(self, _lpData, _pos=0, _Len=0):
self.Clear()
- self.Rank,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.NeedScore,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.Count):
temAwardItemList = tagMCActXianXiaMJItem()
@@ -40070,7 +40951,7 @@
return _pos
def Clear(self):
- self.Rank = 0
+ self.NeedScore = 0
self.Count = 0
self.AwardItemList = list()
return
@@ -40086,7 +40967,7 @@
def GetBuffer(self):
data = ''
- data = CommFunc.WriteDWORD(data, self.Rank)
+ data = CommFunc.WriteDWORD(data, self.NeedScore)
data = CommFunc.WriteBYTE(data, self.Count)
for i in range(self.Count):
data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
@@ -40094,13 +40975,96 @@
def OutputString(self):
DumpString = '''
- Rank:%d,
+ NeedScore:%d,
Count:%d,
AwardItemList:%s
'''\
%(
+ self.NeedScore,
+ self.Count,
+ "..."
+ )
+ return DumpString
+
+
+class tagMCActXianXiaMJBillard(Structure):
+ Rank = 0 #(DWORD Rank)// 名次,1-代表第一名;支持夸段,如1,3 代表第1名,第2~3名
+ Count = 0 #(BYTE Count)// 奖励物品数
+ AwardItemList = list() #(vector<tagMCActXianXiaMJItem> AwardItemList)// 奖励物品列表
+ NeedScore = 0 #(DWORD NeedScore)// 上榜所需积分
+ CountEx = 0 #(BYTE CountEx)// 额外奖励数
+ AwardItemExList = list() #(vector<tagMCActXianXiaMJAwardEx> AwardItemExList)// 额外奖励列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ self.Rank,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.Count):
+ temAwardItemList = tagMCActXianXiaMJItem()
+ _pos = temAwardItemList.ReadData(_lpData, _pos)
+ self.AwardItemList.append(temAwardItemList)
+ self.NeedScore,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.CountEx,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.CountEx):
+ temAwardItemExList = tagMCActXianXiaMJAwardEx()
+ _pos = temAwardItemExList.ReadData(_lpData, _pos)
+ self.AwardItemExList.append(temAwardItemExList)
+ return _pos
+
+ def Clear(self):
+ self.Rank = 0
+ self.Count = 0
+ self.AwardItemList = list()
+ self.NeedScore = 0
+ self.CountEx = 0
+ self.AwardItemExList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 4
+ length += 1
+ for i in range(self.Count):
+ length += self.AwardItemList[i].GetLength()
+ length += 4
+ length += 1
+ for i in range(self.CountEx):
+ length += self.AwardItemExList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteDWORD(data, self.Rank)
+ data = CommFunc.WriteBYTE(data, self.Count)
+ for i in range(self.Count):
+ data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
+ data = CommFunc.WriteDWORD(data, self.NeedScore)
+ data = CommFunc.WriteBYTE(data, self.CountEx)
+ for i in range(self.CountEx):
+ data = CommFunc.WriteString(data, self.AwardItemExList[i].GetLength(), self.AwardItemExList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Rank:%d,
+ Count:%d,
+ AwardItemList:%s,
+ NeedScore:%d,
+ CountEx:%d,
+ AwardItemExList:%s
+ '''\
+ %(
self.Rank,
self.Count,
+ "...",
+ self.NeedScore,
+ self.CountEx,
"..."
)
return DumpString
@@ -41397,12 +42361,72 @@
return DumpString
+class tagMCCrossActBossTrialAwardEx(Structure):
+ NeedScore = 0 #(DWORD NeedScore)// 额外奖励所需积分
+ Count = 0 #(BYTE Count)// 额外奖励物品数
+ AwardItemList = list() #(vector<tagMCCrossActBossTrialItem> AwardItemList)// 额外奖励物品列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ self.NeedScore,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.Count):
+ temAwardItemList = tagMCCrossActBossTrialItem()
+ _pos = temAwardItemList.ReadData(_lpData, _pos)
+ self.AwardItemList.append(temAwardItemList)
+ return _pos
+
+ def Clear(self):
+ self.NeedScore = 0
+ self.Count = 0
+ self.AwardItemList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 4
+ length += 1
+ for i in range(self.Count):
+ length += self.AwardItemList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteDWORD(data, self.NeedScore)
+ data = CommFunc.WriteBYTE(data, self.Count)
+ for i in range(self.Count):
+ data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ NeedScore:%d,
+ Count:%d,
+ AwardItemList:%s
+ '''\
+ %(
+ self.NeedScore,
+ self.Count,
+ "..."
+ )
+ return DumpString
+
+
class tagMCCrossActBossTrialBillard(Structure):
Rank = 0 #(DWORD Rank)// 名次,1-代表第一名;支持夸段,如1,3 代表第1名,第2~3名
Count = 0 #(BYTE Count)// 奖励物品数
AwardItemList = list() #(vector<tagMCCrossActBossTrialItem> AwardItemList)// 奖励物品列表,当仙盟榜时,如果有该奖励则代表盟主奖励,否则默认均为成员奖励
MemCount = 0 #(BYTE MemCount)// 成员奖励物品数
MemAwardItemList = list() #(vector<tagMCCrossActBossTrialItem> MemAwardItemList)// 成员奖励物品列表,仅仙盟榜时有效
+ NeedScore = 0 #(DWORD NeedScore)// 上榜所需积分
+ CountEx = 0 #(BYTE CountEx)// 额外奖励数
+ AwardItemExList = list() #(vector<tagMCCrossActBossTrialAwardEx> AwardItemExList)// 额外奖励列表
data = None
def __init__(self):
@@ -41422,6 +42446,12 @@
temMemAwardItemList = tagMCCrossActBossTrialItem()
_pos = temMemAwardItemList.ReadData(_lpData, _pos)
self.MemAwardItemList.append(temMemAwardItemList)
+ self.NeedScore,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.CountEx,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.CountEx):
+ temAwardItemExList = tagMCCrossActBossTrialAwardEx()
+ _pos = temAwardItemExList.ReadData(_lpData, _pos)
+ self.AwardItemExList.append(temAwardItemExList)
return _pos
def Clear(self):
@@ -41430,6 +42460,9 @@
self.AwardItemList = list()
self.MemCount = 0
self.MemAwardItemList = list()
+ self.NeedScore = 0
+ self.CountEx = 0
+ self.AwardItemExList = list()
return
def GetLength(self):
@@ -41441,6 +42474,10 @@
length += 1
for i in range(self.MemCount):
length += self.MemAwardItemList[i].GetLength()
+ length += 4
+ length += 1
+ for i in range(self.CountEx):
+ length += self.AwardItemExList[i].GetLength()
return length
@@ -41453,6 +42490,10 @@
data = CommFunc.WriteBYTE(data, self.MemCount)
for i in range(self.MemCount):
data = CommFunc.WriteString(data, self.MemAwardItemList[i].GetLength(), self.MemAwardItemList[i].GetBuffer())
+ data = CommFunc.WriteDWORD(data, self.NeedScore)
+ data = CommFunc.WriteBYTE(data, self.CountEx)
+ for i in range(self.CountEx):
+ data = CommFunc.WriteString(data, self.AwardItemExList[i].GetLength(), self.AwardItemExList[i].GetBuffer())
return data
def OutputString(self):
@@ -41461,13 +42502,19 @@
Count:%d,
AwardItemList:%s,
MemCount:%d,
- MemAwardItemList:%s
+ MemAwardItemList:%s,
+ NeedScore:%d,
+ CountEx:%d,
+ AwardItemExList:%s
'''\
%(
self.Rank,
self.Count,
"...",
self.MemCount,
+ "...",
+ self.NeedScore,
+ self.CountEx,
"..."
)
return DumpString
@@ -41484,8 +42531,6 @@
JoinEndTime = "" #(char JoinEndTime[5])// 参与结束时间点 mm:ss
IsDayReset = 0 #(BYTE IsDayReset)// 是否每天重置
ResetType = 0 #(BYTE ResetType)// 重置类型,0-0点重置;1-5点重置
- RankLimitPersonal = 0 #(WORD RankLimitPersonal)// 个人榜上榜个数保底限制;
- RankLimitFamily = 0 #(WORD RankLimitFamily)// 仙盟榜上榜个数保底限制;
PersonalBillCount = 0 #(BYTE PersonalBillCount)
PersonalBillboardInfoList = list() #(vector<tagMCCrossActBossTrialBillard> PersonalBillboardInfoList)// 个人榜单奖励信息列表,如果没有代表本次活动没有该榜奖励
FamilyBillCount = 0 #(BYTE FamilyBillCount)
@@ -41510,8 +42555,6 @@
self.JoinEndTime,_pos = CommFunc.ReadString(_lpData, _pos,5)
self.IsDayReset,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.ResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.RankLimitPersonal,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.RankLimitFamily,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.PersonalBillCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.PersonalBillCount):
temPersonalBillboardInfoList = tagMCCrossActBossTrialBillard()
@@ -41538,8 +42581,6 @@
self.JoinEndTime = ""
self.IsDayReset = 0
self.ResetType = 0
- self.RankLimitPersonal = 0
- self.RankLimitFamily = 0
self.PersonalBillCount = 0
self.PersonalBillboardInfoList = list()
self.FamilyBillCount = 0
@@ -41558,8 +42599,6 @@
length += 5
length += 1
length += 1
- length += 2
- length += 2
length += 1
for i in range(self.PersonalBillCount):
length += self.PersonalBillboardInfoList[i].GetLength()
@@ -41581,8 +42620,6 @@
data = CommFunc.WriteString(data, 5, self.JoinEndTime)
data = CommFunc.WriteBYTE(data, self.IsDayReset)
data = CommFunc.WriteBYTE(data, self.ResetType)
- data = CommFunc.WriteWORD(data, self.RankLimitPersonal)
- data = CommFunc.WriteWORD(data, self.RankLimitFamily)
data = CommFunc.WriteBYTE(data, self.PersonalBillCount)
for i in range(self.PersonalBillCount):
data = CommFunc.WriteString(data, self.PersonalBillboardInfoList[i].GetLength(), self.PersonalBillboardInfoList[i].GetBuffer())
@@ -41603,8 +42640,6 @@
JoinEndTime:%s,
IsDayReset:%d,
ResetType:%d,
- RankLimitPersonal:%d,
- RankLimitFamily:%d,
PersonalBillCount:%d,
PersonalBillboardInfoList:%s,
FamilyBillCount:%d,
@@ -41621,8 +42656,6 @@
self.JoinEndTime,
self.IsDayReset,
self.ResetType,
- self.RankLimitPersonal,
- self.RankLimitFamily,
self.PersonalBillCount,
"...",
self.FamilyBillCount,
@@ -41681,10 +42714,10 @@
return DumpString
-class tagMCCrossActGubaoBillard(Structure):
- Rank = 0 #(DWORD Rank)// 名次,1-代表第一名;支持夸段,如1,3 代表第1名,第2~3名
- Count = 0 #(BYTE Count)// 奖励物品数
- AwardItemList = list() #(vector<tagMCCrossActGubaoItem> AwardItemList)// 奖励物品列表
+class tagMCCrossActGubaoAwardEx(Structure):
+ NeedScore = 0 #(DWORD NeedScore)// 额外奖励所需积分
+ Count = 0 #(BYTE Count)// 额外奖励物品数
+ AwardItemList = list() #(vector<tagMCCrossActGubaoItem> AwardItemList)// 额外奖励物品列表
data = None
def __init__(self):
@@ -41693,7 +42726,7 @@
def ReadData(self, _lpData, _pos=0, _Len=0):
self.Clear()
- self.Rank,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.NeedScore,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.Count):
temAwardItemList = tagMCCrossActGubaoItem()
@@ -41702,7 +42735,7 @@
return _pos
def Clear(self):
- self.Rank = 0
+ self.NeedScore = 0
self.Count = 0
self.AwardItemList = list()
return
@@ -41718,7 +42751,7 @@
def GetBuffer(self):
data = ''
- data = CommFunc.WriteDWORD(data, self.Rank)
+ data = CommFunc.WriteDWORD(data, self.NeedScore)
data = CommFunc.WriteBYTE(data, self.Count)
for i in range(self.Count):
data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
@@ -41726,13 +42759,96 @@
def OutputString(self):
DumpString = '''
- Rank:%d,
+ NeedScore:%d,
Count:%d,
AwardItemList:%s
'''\
%(
+ self.NeedScore,
+ self.Count,
+ "..."
+ )
+ return DumpString
+
+
+class tagMCCrossActGubaoBillard(Structure):
+ Rank = 0 #(DWORD Rank)// 名次,1-代表第一名;支持夸段,如1,3 代表第1名,第2~3名
+ Count = 0 #(BYTE Count)// 奖励物品数
+ AwardItemList = list() #(vector<tagMCCrossActGubaoItem> AwardItemList)// 奖励物品列表
+ NeedScore = 0 #(DWORD NeedScore)// 上榜所需积分
+ CountEx = 0 #(BYTE CountEx)// 额外奖励数
+ AwardItemExList = list() #(vector<tagMCCrossActGubaoAwardEx> AwardItemExList)// 额外奖励列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ self.Rank,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.Count):
+ temAwardItemList = tagMCCrossActGubaoItem()
+ _pos = temAwardItemList.ReadData(_lpData, _pos)
+ self.AwardItemList.append(temAwardItemList)
+ self.NeedScore,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.CountEx,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.CountEx):
+ temAwardItemExList = tagMCCrossActGubaoAwardEx()
+ _pos = temAwardItemExList.ReadData(_lpData, _pos)
+ self.AwardItemExList.append(temAwardItemExList)
+ return _pos
+
+ def Clear(self):
+ self.Rank = 0
+ self.Count = 0
+ self.AwardItemList = list()
+ self.NeedScore = 0
+ self.CountEx = 0
+ self.AwardItemExList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 4
+ length += 1
+ for i in range(self.Count):
+ length += self.AwardItemList[i].GetLength()
+ length += 4
+ length += 1
+ for i in range(self.CountEx):
+ length += self.AwardItemExList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteDWORD(data, self.Rank)
+ data = CommFunc.WriteBYTE(data, self.Count)
+ for i in range(self.Count):
+ data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
+ data = CommFunc.WriteDWORD(data, self.NeedScore)
+ data = CommFunc.WriteBYTE(data, self.CountEx)
+ for i in range(self.CountEx):
+ data = CommFunc.WriteString(data, self.AwardItemExList[i].GetLength(), self.AwardItemExList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Rank:%d,
+ Count:%d,
+ AwardItemList:%s,
+ NeedScore:%d,
+ CountEx:%d,
+ AwardItemExList:%s
+ '''\
+ %(
self.Rank,
self.Count,
+ "...",
+ self.NeedScore,
+ self.CountEx,
"..."
)
return DumpString
@@ -41747,7 +42863,6 @@
EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
JoinStartTime = "" #(char JoinStartTime[5])// 参与开始时间点 mm:ss
JoinEndTime = "" #(char JoinEndTime[5])// 参与结束时间点 mm:ss
- RankLimitPersonal = 0 #(WORD RankLimitPersonal)// 个人榜上榜积分保底限制;
PersonalBillCount = 0 #(BYTE PersonalBillCount)
PersonalBillboardInfoList = list() #(vector<tagMCCrossActGubaoBillard> PersonalBillboardInfoList)// 个人榜单奖励信息列表,如果没有代表本次活动没有该榜奖励
data = None
@@ -41768,7 +42883,6 @@
self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
self.JoinStartTime,_pos = CommFunc.ReadString(_lpData, _pos,5)
self.JoinEndTime,_pos = CommFunc.ReadString(_lpData, _pos,5)
- self.RankLimitPersonal,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.PersonalBillCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.PersonalBillCount):
temPersonalBillboardInfoList = tagMCCrossActGubaoBillard()
@@ -41788,7 +42902,6 @@
self.EndtDate = ""
self.JoinStartTime = ""
self.JoinEndTime = ""
- self.RankLimitPersonal = 0
self.PersonalBillCount = 0
self.PersonalBillboardInfoList = list()
return
@@ -41803,7 +42916,6 @@
length += 10
length += 5
length += 5
- length += 2
length += 1
for i in range(self.PersonalBillCount):
length += self.PersonalBillboardInfoList[i].GetLength()
@@ -41820,7 +42932,6 @@
data = CommFunc.WriteString(data, 10, self.EndtDate)
data = CommFunc.WriteString(data, 5, self.JoinStartTime)
data = CommFunc.WriteString(data, 5, self.JoinEndTime)
- data = CommFunc.WriteWORD(data, self.RankLimitPersonal)
data = CommFunc.WriteBYTE(data, self.PersonalBillCount)
for i in range(self.PersonalBillCount):
data = CommFunc.WriteString(data, self.PersonalBillboardInfoList[i].GetLength(), self.PersonalBillboardInfoList[i].GetBuffer())
@@ -41836,7 +42947,6 @@
EndtDate:%s,
JoinStartTime:%s,
JoinEndTime:%s,
- RankLimitPersonal:%d,
PersonalBillCount:%d,
PersonalBillboardInfoList:%s
'''\
@@ -41849,7 +42959,6 @@
self.EndtDate,
self.JoinStartTime,
self.JoinEndTime,
- self.RankLimitPersonal,
self.PersonalBillCount,
"..."
)
@@ -42207,10 +43316,10 @@
return DumpString
-class tagMCCrossActXianXiaMJBillard(Structure):
- Rank = 0 #(DWORD Rank)// 名次,1-代表第一名;支持夸段,如1,3 代表第1名,第2~3名
- Count = 0 #(BYTE Count)// 奖励物品数
- AwardItemList = list() #(vector<tagMCCrossActXianXiaMJItem> AwardItemList)// 奖励物品列表
+class tagMCCrossActXianXiaMJAwardEx(Structure):
+ NeedScore = 0 #(DWORD NeedScore)// 额外奖励所需积分
+ Count = 0 #(BYTE Count)// 额外奖励物品数
+ AwardItemList = list() #(vector<tagMCCrossActXianXiaMJItem> AwardItemList)// 额外奖励物品列表
data = None
def __init__(self):
@@ -42219,7 +43328,7 @@
def ReadData(self, _lpData, _pos=0, _Len=0):
self.Clear()
- self.Rank,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.NeedScore,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.Count):
temAwardItemList = tagMCCrossActXianXiaMJItem()
@@ -42228,7 +43337,7 @@
return _pos
def Clear(self):
- self.Rank = 0
+ self.NeedScore = 0
self.Count = 0
self.AwardItemList = list()
return
@@ -42244,7 +43353,7 @@
def GetBuffer(self):
data = ''
- data = CommFunc.WriteDWORD(data, self.Rank)
+ data = CommFunc.WriteDWORD(data, self.NeedScore)
data = CommFunc.WriteBYTE(data, self.Count)
for i in range(self.Count):
data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
@@ -42252,13 +43361,96 @@
def OutputString(self):
DumpString = '''
- Rank:%d,
+ NeedScore:%d,
Count:%d,
AwardItemList:%s
'''\
%(
+ self.NeedScore,
+ self.Count,
+ "..."
+ )
+ return DumpString
+
+
+class tagMCCrossActXianXiaMJBillard(Structure):
+ Rank = 0 #(DWORD Rank)// 名次,1-代表第一名;支持夸段,如1,3 代表第1名,第2~3名
+ Count = 0 #(BYTE Count)// 奖励物品数
+ AwardItemList = list() #(vector<tagMCCrossActXianXiaMJItem> AwardItemList)// 奖励物品列表
+ NeedScore = 0 #(DWORD NeedScore)// 上榜所需积分
+ CountEx = 0 #(BYTE CountEx)// 额外奖励数
+ AwardItemExList = list() #(vector<tagMCCrossActXianXiaMJAwardEx> AwardItemExList)// 额外奖励列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ self.Rank,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.Count):
+ temAwardItemList = tagMCCrossActXianXiaMJItem()
+ _pos = temAwardItemList.ReadData(_lpData, _pos)
+ self.AwardItemList.append(temAwardItemList)
+ self.NeedScore,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.CountEx,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.CountEx):
+ temAwardItemExList = tagMCCrossActXianXiaMJAwardEx()
+ _pos = temAwardItemExList.ReadData(_lpData, _pos)
+ self.AwardItemExList.append(temAwardItemExList)
+ return _pos
+
+ def Clear(self):
+ self.Rank = 0
+ self.Count = 0
+ self.AwardItemList = list()
+ self.NeedScore = 0
+ self.CountEx = 0
+ self.AwardItemExList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 4
+ length += 1
+ for i in range(self.Count):
+ length += self.AwardItemList[i].GetLength()
+ length += 4
+ length += 1
+ for i in range(self.CountEx):
+ length += self.AwardItemExList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteDWORD(data, self.Rank)
+ data = CommFunc.WriteBYTE(data, self.Count)
+ for i in range(self.Count):
+ data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
+ data = CommFunc.WriteDWORD(data, self.NeedScore)
+ data = CommFunc.WriteBYTE(data, self.CountEx)
+ for i in range(self.CountEx):
+ data = CommFunc.WriteString(data, self.AwardItemExList[i].GetLength(), self.AwardItemExList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Rank:%d,
+ Count:%d,
+ AwardItemList:%s,
+ NeedScore:%d,
+ CountEx:%d,
+ AwardItemExList:%s
+ '''\
+ %(
self.Rank,
self.Count,
+ "...",
+ self.NeedScore,
+ self.CountEx,
"..."
)
return DumpString
@@ -42274,7 +43466,6 @@
JoinStartTime = "" #(char JoinStartTime[5])// 参与开始时间点 mm:ss
JoinEndTime = "" #(char JoinEndTime[5])// 参与结束时间点 mm:ss
IsDayReset = 0 #(BYTE IsDayReset)// 是否每天重置
- RankLimitPersonal = 0 #(WORD RankLimitPersonal)// 个人榜上榜积分保底限制;
PersonalBillCount = 0 #(BYTE PersonalBillCount)
PersonalBillboardInfoList = list() #(vector<tagMCCrossActXianXiaMJBillard> PersonalBillboardInfoList)// 个人榜单奖励信息列表,如果没有代表本次活动没有该榜奖励
data = None
@@ -42296,7 +43487,6 @@
self.JoinStartTime,_pos = CommFunc.ReadString(_lpData, _pos,5)
self.JoinEndTime,_pos = CommFunc.ReadString(_lpData, _pos,5)
self.IsDayReset,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.RankLimitPersonal,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.PersonalBillCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.PersonalBillCount):
temPersonalBillboardInfoList = tagMCCrossActXianXiaMJBillard()
@@ -42317,7 +43507,6 @@
self.JoinStartTime = ""
self.JoinEndTime = ""
self.IsDayReset = 0
- self.RankLimitPersonal = 0
self.PersonalBillCount = 0
self.PersonalBillboardInfoList = list()
return
@@ -42333,7 +43522,6 @@
length += 5
length += 5
length += 1
- length += 2
length += 1
for i in range(self.PersonalBillCount):
length += self.PersonalBillboardInfoList[i].GetLength()
@@ -42351,7 +43539,6 @@
data = CommFunc.WriteString(data, 5, self.JoinStartTime)
data = CommFunc.WriteString(data, 5, self.JoinEndTime)
data = CommFunc.WriteBYTE(data, self.IsDayReset)
- data = CommFunc.WriteWORD(data, self.RankLimitPersonal)
data = CommFunc.WriteBYTE(data, self.PersonalBillCount)
for i in range(self.PersonalBillCount):
data = CommFunc.WriteString(data, self.PersonalBillboardInfoList[i].GetLength(), self.PersonalBillboardInfoList[i].GetBuffer())
@@ -42368,7 +43555,6 @@
JoinStartTime:%s,
JoinEndTime:%s,
IsDayReset:%d,
- RankLimitPersonal:%d,
PersonalBillCount:%d,
PersonalBillboardInfoList:%s
'''\
@@ -42382,7 +43568,6 @@
self.JoinStartTime,
self.JoinEndTime,
self.IsDayReset,
- self.RankLimitPersonal,
self.PersonalBillCount,
"..."
)
@@ -49059,6 +50244,238 @@
#------------------------------------------------------
+# B1 17 头像信息 #tagMCFaceInfo
+
+class tagMCFace(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("FaceID", c_int), #头像ID
+ ("State", c_ubyte), #是否已激活
+ ("EndTime", c_int), #到期时间戳,0为永久
+ ("Star", c_ubyte), #星级
+ ]
+
+ 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.FaceID = 0
+ self.State = 0
+ self.EndTime = 0
+ self.Star = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagMCFace)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B1 17 头像信息 //tagMCFaceInfo:
+ FaceID:%d,
+ State:%d,
+ EndTime:%d,
+ Star:%d
+ '''\
+ %(
+ self.FaceID,
+ self.State,
+ self.EndTime,
+ self.Star
+ )
+ return DumpString
+
+
+class tagMCFaceInfo(Structure):
+ Head = tagHead()
+ Count = 0 #(BYTE Count)
+ FaceList = list() #(vector<tagMCFace> FaceList)
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB1
+ self.Head.SubCmd = 0x17
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.Count):
+ temFaceList = tagMCFace()
+ _pos = temFaceList.ReadData(_lpData, _pos)
+ self.FaceList.append(temFaceList)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB1
+ self.Head.SubCmd = 0x17
+ self.Count = 0
+ self.FaceList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ for i in range(self.Count):
+ length += self.FaceList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteBYTE(data, self.Count)
+ for i in range(self.Count):
+ data = CommFunc.WriteString(data, self.FaceList[i].GetLength(), self.FaceList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ Count:%d,
+ FaceList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.Count,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagMCFaceInfo=tagMCFaceInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFaceInfo.Head.Cmd,m_NAtagMCFaceInfo.Head.SubCmd))] = m_NAtagMCFaceInfo
+
+
+#------------------------------------------------------
+# B1 18 头像框信息 #tagMCFacePicInfo
+
+class tagMCFacePic(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("FacePicID", c_int), #头像框ID
+ ("State", c_ubyte), #是否已激活
+ ("EndTime", c_int), #到期时间戳,0为永久
+ ("Star", c_ubyte), #星级
+ ]
+
+ 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.FacePicID = 0
+ self.State = 0
+ self.EndTime = 0
+ self.Star = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagMCFacePic)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B1 18 头像框信息 //tagMCFacePicInfo:
+ FacePicID:%d,
+ State:%d,
+ EndTime:%d,
+ Star:%d
+ '''\
+ %(
+ self.FacePicID,
+ self.State,
+ self.EndTime,
+ self.Star
+ )
+ return DumpString
+
+
+class tagMCFacePicInfo(Structure):
+ Head = tagHead()
+ Count = 0 #(BYTE Count)
+ FacePicList = list() #(vector<tagMCFacePic> FacePicList)
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB1
+ self.Head.SubCmd = 0x18
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.Count):
+ temFacePicList = tagMCFacePic()
+ _pos = temFacePicList.ReadData(_lpData, _pos)
+ self.FacePicList.append(temFacePicList)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB1
+ self.Head.SubCmd = 0x18
+ self.Count = 0
+ self.FacePicList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ for i in range(self.Count):
+ length += self.FacePicList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteBYTE(data, self.Count)
+ for i in range(self.Count):
+ data = CommFunc.WriteString(data, self.FacePicList[i].GetLength(), self.FacePicList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ Count:%d,
+ FacePicList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.Count,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagMCFacePicInfo=tagMCFacePicInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFacePicInfo.Head.Cmd,m_NAtagMCFacePicInfo.Head.SubCmd))] = m_NAtagMCFacePicInfo
+
+
+#------------------------------------------------------
# B1 11 功能系统特权信息 #tagMCFuncSysPrivilegeInfoList
class tagMCFuncSysPrivilegeInfo(Structure):
@@ -50019,6 +51436,80 @@
#------------------------------------------------------
+# B1 15 天道树信息 #tagMCTiandaoTreeInfo
+
+class tagMCTiandaoTreeInfo(Structure):
+ Head = tagHead()
+ Qiyun = 0 #(DWORD Qiyun)// 当前气运值
+ AwardCount = 0 #(BYTE AwardCount)// 天道果领取记录值个数
+ AwardStateList = list() #(vector<DWORD> AwardStateList)// 天道果领取记录值列表,按奖励索引位二进制记录是否已领取,一个值可存31位,如值1存0~30,值2存31~61,...
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB1
+ self.Head.SubCmd = 0x15
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.Qiyun,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.AwardCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.AwardCount):
+ value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
+ self.AwardStateList.append(value)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB1
+ self.Head.SubCmd = 0x15
+ self.Qiyun = 0
+ self.AwardCount = 0
+ self.AwardStateList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 4
+ length += 1
+ length += 4 * self.AwardCount
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteDWORD(data, self.Qiyun)
+ data = CommFunc.WriteBYTE(data, self.AwardCount)
+ for i in range(self.AwardCount):
+ data = CommFunc.WriteDWORD(data, self.AwardStateList[i])
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ Qiyun:%d,
+ AwardCount:%d,
+ AwardStateList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.Qiyun,
+ self.AwardCount,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagMCTiandaoTreeInfo=tagMCTiandaoTreeInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCTiandaoTreeInfo.Head.Cmd,m_NAtagMCTiandaoTreeInfo.Head.SubCmd))] = m_NAtagMCTiandaoTreeInfo
+
+
+#------------------------------------------------------
# B1 12 培养功能境界信息 #tagMCTrainRealmLVInfo
class tagMCTrainRealmLV(Structure):
@@ -50187,6 +51678,229 @@
#------------------------------------------------------
+# B1 16 累计消耗货币信息 #tagMCUseMoneyTotalInfo
+
+class tagMCUseMoneyTotal(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("MoneyType", c_ubyte), # 货币类型,仅同步需要记录的货币类型
+ ("UseTotal", c_int), # 累计消耗货币值
+ ]
+
+ 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.MoneyType = 0
+ self.UseTotal = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagMCUseMoneyTotal)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B1 16 累计消耗货币信息 //tagMCUseMoneyTotalInfo:
+ MoneyType:%d,
+ UseTotal:%d
+ '''\
+ %(
+ self.MoneyType,
+ self.UseTotal
+ )
+ return DumpString
+
+
+class tagMCUseMoneyTotalInfo(Structure):
+ Head = tagHead()
+ Count = 0 #(BYTE Count)
+ InfoList = list() #(vector<tagMCUseMoneyTotal> InfoList)
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB1
+ self.Head.SubCmd = 0x16
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.Count):
+ temInfoList = tagMCUseMoneyTotal()
+ _pos = temInfoList.ReadData(_lpData, _pos)
+ self.InfoList.append(temInfoList)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB1
+ self.Head.SubCmd = 0x16
+ self.Count = 0
+ self.InfoList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ for i in range(self.Count):
+ 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.Count)
+ for i in range(self.Count):
+ data = CommFunc.WriteString(data, self.InfoList[i].GetLength(), self.InfoList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ Count:%d,
+ InfoList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.Count,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagMCUseMoneyTotalInfo=tagMCUseMoneyTotalInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCUseMoneyTotalInfo.Head.Cmd,m_NAtagMCUseMoneyTotalInfo.Head.SubCmd))] = m_NAtagMCUseMoneyTotalInfo
+
+
+#------------------------------------------------------
+# B1 14 仙宫信息 #tagMCXiangongInfo
+
+class tagMCXiangong(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("XiangongID", c_ushort), # 仙宫ID
+ ("LikeStateToday", c_ubyte), # 今日是否已点赞
+ ]
+
+ 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.XiangongID = 0
+ self.LikeStateToday = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagMCXiangong)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B1 14 仙宫信息 //tagMCXiangongInfo:
+ XiangongID:%d,
+ LikeStateToday:%d
+ '''\
+ %(
+ self.XiangongID,
+ self.LikeStateToday
+ )
+ return DumpString
+
+
+class tagMCXiangongInfo(Structure):
+ Head = tagHead()
+ LikeStateToday = 0 #(BYTE LikeStateToday)// 今日是否已点赞,指仙宫的外层点赞,非某个指定仙宫
+ XiangongCount = 0 #(BYTE XiangongCount)
+ XiangongList = list() #(vector<tagMCXiangong> XiangongList)
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB1
+ self.Head.SubCmd = 0x14
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.LikeStateToday,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.XiangongCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.XiangongCount):
+ temXiangongList = tagMCXiangong()
+ _pos = temXiangongList.ReadData(_lpData, _pos)
+ self.XiangongList.append(temXiangongList)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB1
+ self.Head.SubCmd = 0x14
+ self.LikeStateToday = 0
+ self.XiangongCount = 0
+ self.XiangongList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ length += 1
+ for i in range(self.XiangongCount):
+ length += self.XiangongList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteBYTE(data, self.LikeStateToday)
+ data = CommFunc.WriteBYTE(data, self.XiangongCount)
+ for i in range(self.XiangongCount):
+ data = CommFunc.WriteString(data, self.XiangongList[i].GetLength(), self.XiangongList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ LikeStateToday:%d,
+ XiangongCount:%d,
+ XiangongList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.LikeStateToday,
+ self.XiangongCount,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagMCXiangongInfo=tagMCXiangongInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCXiangongInfo.Head.Cmd,m_NAtagMCXiangongInfo.Head.SubCmd))] = m_NAtagMCXiangongInfo
+
+
+#------------------------------------------------------
# B1 20 战令信息 #tagMCZhanlingInfo
class tagMCZhanling(Structure):
--
Gitblit v1.8.0