From c3bbd3b0263fc6c2127cd9f072f497f46f98758b Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 07 二月 2026 21:43:20 +0800
Subject: [PATCH] 389 流向记录(简化战斗流向记录,只统计出场的武将ID;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 4005 +++++-----------------------------------------------------
1 files changed, 389 insertions(+), 3,616 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index c146402..f140163 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -2386,6 +2386,127 @@
#------------------------------------------------------
+# A1 31 前端自定义保存的设置内容信息 #tagSCSettingDataInfo
+
+class tagSCSettingData(Structure):
+ KeyNum = 0 #(BYTE KeyNum)// 自定义key编号,后端使用数字key存储,前端自行进行转换定义,限制100个
+ DataLen = 0 #(BYTE DataLen)
+ SetData = "" #(String SetData)//自定义保存的内容
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ self.KeyNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.DataLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.SetData,_pos = CommFunc.ReadString(_lpData, _pos,self.DataLen)
+ return _pos
+
+ def Clear(self):
+ self.KeyNum = 0
+ self.DataLen = 0
+ self.SetData = ""
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 1
+ length += 1
+ length += len(self.SetData)
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteBYTE(data, self.KeyNum)
+ data = CommFunc.WriteBYTE(data, self.DataLen)
+ data = CommFunc.WriteString(data, self.DataLen, self.SetData)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ KeyNum:%d,
+ DataLen:%d,
+ SetData:%s
+ '''\
+ %(
+ self.KeyNum,
+ self.DataLen,
+ self.SetData
+ )
+ return DumpString
+
+
+class tagSCSettingDataInfo(Structure):
+ Head = tagHead()
+ DataCnt = 0 #(WORD DataCnt)
+ SettingDataList = list() #(vector<tagSCSettingData> SettingDataList)
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xA1
+ self.Head.SubCmd = 0x31
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.DataCnt,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ for i in range(self.DataCnt):
+ temSettingDataList = tagSCSettingData()
+ _pos = temSettingDataList.ReadData(_lpData, _pos)
+ self.SettingDataList.append(temSettingDataList)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xA1
+ self.Head.SubCmd = 0x31
+ self.DataCnt = 0
+ self.SettingDataList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 2
+ for i in range(self.DataCnt):
+ length += self.SettingDataList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteWORD(data, self.DataCnt)
+ for i in range(self.DataCnt):
+ data = CommFunc.WriteString(data, self.SettingDataList[i].GetLength(), self.SettingDataList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ DataCnt:%d,
+ SettingDataList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.DataCnt,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagSCSettingDataInfo=tagSCSettingDataInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagSCSettingDataInfo.Head.Cmd,m_NAtagSCSettingDataInfo.Head.SubCmd))] = m_NAtagSCSettingDataInfo
+
+
+#------------------------------------------------------
#A1 26 准备切换地图 #tagMCPrepareChangeMap
class tagMCPrepareChangeMap(Structure):
@@ -7419,80 +7540,6 @@
#------------------------------------------------------
-# A3 1F 玩家符印信息 #tagMCRuneInfo
-
-class tagMCRuneInfo(Structure):
- Head = tagHead()
- RuneHoleOpenState = 0 #(DWORD RuneHoleOpenState)//符印孔状态, 按索引表示激活状态
- Count = 0 #(BYTE Count)// 符印孔信息数
- RuneDataList = list() #(vector<DWORD> RuneDataList)// 符印孔数据信息, 数据与背包数据相同
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x1F
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.RuneHoleOpenState,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Count):
- value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
- self.RuneDataList.append(value)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x1F
- self.RuneHoleOpenState = 0
- self.Count = 0
- self.RuneDataList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 4
- length += 1
- length += 4 * self.Count
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteDWORD(data, self.RuneHoleOpenState)
- data = CommFunc.WriteBYTE(data, self.Count)
- for i in range(self.Count):
- data = CommFunc.WriteDWORD(data, self.RuneDataList[i])
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- RuneHoleOpenState:%d,
- Count:%d,
- RuneDataList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.RuneHoleOpenState,
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCRuneInfo=tagMCRuneInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCRuneInfo.Head.Cmd,m_NAtagMCRuneInfo.Head.SubCmd))] = m_NAtagMCRuneInfo
-
-
-#------------------------------------------------------
# A3 44 当日累计充值多选一礼包信息 #tagMCSingleGoldGift
class tagMCSingleGoldGift(Structure):
@@ -8388,290 +8435,6 @@
m_NAtagMCSyncRealmInfo=tagMCSyncRealmInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCSyncRealmInfo.Head.Cmd,m_NAtagMCSyncRealmInfo.Head.SubCmd))] = m_NAtagMCSyncRealmInfo
-
-
-#------------------------------------------------------
-# A3 56 通天令信息 #tagMCTongTianLingInfo
-
-class tagMCTongTianLingInfo(Structure):
- Head = tagHead()
- TTLBuyState = 0 #(BYTE TTLBuyState)//通天令是否已购买
- TTLLV = 0 #(BYTE TTLLV)//通天令等级,从0开始
- CurPoint = 0 #(DWORD CurPoint)//通天令当前等级经验积分点
- AwardStateCount = 0 #(BYTE AwardStateCount)//等级领奖记录值数,每个值存31个记录 0-30, 31-61, ...
- CommAwardStateList = list() #(vector<DWORD> CommAwardStateList)//常规奖励领奖记录,按等级二进制位存储是否领奖
- XianAwardStateList = list() #(vector<DWORD> XianAwardStateList)//仙品奖励领奖记录,按等级二进制位存储是否领奖
- StartTime = 0 #(DWORD StartTime)//通天令本轮开始时间戳,秒
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x56
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.TTLBuyState,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.TTLLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.CurPoint,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.AwardStateCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.AwardStateCount):
- value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
- self.CommAwardStateList.append(value)
- for i in range(self.AwardStateCount):
- value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
- self.XianAwardStateList.append(value)
- self.StartTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x56
- self.TTLBuyState = 0
- self.TTLLV = 0
- self.CurPoint = 0
- self.AwardStateCount = 0
- self.CommAwardStateList = list()
- self.XianAwardStateList = list()
- self.StartTime = 0
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 1
- length += 4
- length += 1
- length += 4 * self.AwardStateCount
- length += 4 * self.AwardStateCount
- length += 4
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.TTLBuyState)
- data = CommFunc.WriteBYTE(data, self.TTLLV)
- data = CommFunc.WriteDWORD(data, self.CurPoint)
- data = CommFunc.WriteBYTE(data, self.AwardStateCount)
- for i in range(self.AwardStateCount):
- data = CommFunc.WriteDWORD(data, self.CommAwardStateList[i])
- for i in range(self.AwardStateCount):
- data = CommFunc.WriteDWORD(data, self.XianAwardStateList[i])
- data = CommFunc.WriteDWORD(data, self.StartTime)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- TTLBuyState:%d,
- TTLLV:%d,
- CurPoint:%d,
- AwardStateCount:%d,
- CommAwardStateList:%s,
- XianAwardStateList:%s,
- StartTime:%d
- '''\
- %(
- self.Head.OutputString(),
- self.TTLBuyState,
- self.TTLLV,
- self.CurPoint,
- self.AwardStateCount,
- "...",
- "...",
- self.StartTime
- )
- return DumpString
-
-
-m_NAtagMCTongTianLingInfo=tagMCTongTianLingInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCTongTianLingInfo.Head.Cmd,m_NAtagMCTongTianLingInfo.Head.SubCmd))] = m_NAtagMCTongTianLingInfo
-
-
-#------------------------------------------------------
-# A3 58 通天令任务奖励信息 #tagMCTongTianLingTaskAwardInfo
-
-class tagMCTongTianLingTaskAwardInfo(Structure):
- Head = tagHead()
- AwardStateCount = 0 #(BYTE AwardStateCount)
- TaskAwardStateList = list() #(vector<DWORD> TaskAwardStateList)//任务领奖记录值个数,按任务ID二进制位存储是否已领取,每个值存31个记录 0-30, 31-61, ...
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x58
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.AwardStateCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.AwardStateCount):
- value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
- self.TaskAwardStateList.append(value)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x58
- self.AwardStateCount = 0
- self.TaskAwardStateList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 4 * self.AwardStateCount
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.AwardStateCount)
- for i in range(self.AwardStateCount):
- data = CommFunc.WriteDWORD(data, self.TaskAwardStateList[i])
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- AwardStateCount:%d,
- TaskAwardStateList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.AwardStateCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCTongTianLingTaskAwardInfo=tagMCTongTianLingTaskAwardInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCTongTianLingTaskAwardInfo.Head.Cmd,m_NAtagMCTongTianLingTaskAwardInfo.Head.SubCmd))] = m_NAtagMCTongTianLingTaskAwardInfo
-
-
-#------------------------------------------------------
-# A3 57 通天令任务进度信息 #tagMCTongTianLingTaskValueInfo
-
-class tagMCTongTianLingTaskValue(Structure):
- _pack_ = 1
- _fields_ = [
- ("TaskType", c_ubyte), #成就类型
- ("IsDaily", c_ubyte), #是否每日任务
- ("TaskValue", 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.TaskType = 0
- self.IsDaily = 0
- self.TaskValue = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCTongTianLingTaskValue)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A3 57 通天令任务进度信息 //tagMCTongTianLingTaskValueInfo:
- TaskType:%d,
- IsDaily:%d,
- TaskValue:%d
- '''\
- %(
- self.TaskType,
- self.IsDaily,
- self.TaskValue
- )
- return DumpString
-
-
-class tagMCTongTianLingTaskValueInfo(Structure):
- Head = tagHead()
- Count = 0 #(BYTE Count)//信息个数
- TaskValueList = list() #(vector<tagMCTongTianLingTaskValue> TaskValueList)
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x57
- 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):
- temTaskValueList = tagMCTongTianLingTaskValue()
- _pos = temTaskValueList.ReadData(_lpData, _pos)
- self.TaskValueList.append(temTaskValueList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x57
- self.Count = 0
- self.TaskValueList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.Count):
- length += self.TaskValueList[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.TaskValueList[i].GetLength(), self.TaskValueList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Count:%d,
- TaskValueList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCTongTianLingTaskValueInfo=tagMCTongTianLingTaskValueInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCTongTianLingTaskValueInfo.Head.Cmd,m_NAtagMCTongTianLingTaskValueInfo.Head.SubCmd))] = m_NAtagMCTongTianLingTaskValueInfo
#------------------------------------------------------
@@ -11346,6 +11109,7 @@
LeaderID = 0 #(DWORD LeaderID)//族长ID
LeaderNameLen = 0 #(BYTE LeaderNameLen)
LeaderName = "" #(String LeaderName)//size = LeaderNameLen
+ LeaderServerID = 0 #(DWORD LeaderServerID)//族长服务器ID
FamilyLV = 0 #(BYTE FamilyLV)//家族等级
JoinReview = 0 #(BYTE JoinReview)//成员加入是否需要审核,默认0自动加入
JoinLVMin = 0 #(WORD JoinLVMin)//限制最低可加入的玩家等级
@@ -11370,6 +11134,7 @@
self.LeaderID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.LeaderNameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.LeaderName,_pos = CommFunc.ReadString(_lpData, _pos,self.LeaderNameLen)
+ self.LeaderServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.FamilyLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.JoinReview,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.JoinLVMin,_pos = CommFunc.ReadWORD(_lpData, _pos)
@@ -11389,6 +11154,7 @@
self.LeaderID = 0
self.LeaderNameLen = 0
self.LeaderName = ""
+ self.LeaderServerID = 0
self.FamilyLV = 0
self.JoinReview = 0
self.JoinLVMin = 0
@@ -11409,6 +11175,7 @@
length += 4
length += 1
length += len(self.LeaderName)
+ length += 4
length += 1
length += 1
length += 2
@@ -11430,6 +11197,7 @@
data = CommFunc.WriteDWORD(data, self.LeaderID)
data = CommFunc.WriteBYTE(data, self.LeaderNameLen)
data = CommFunc.WriteString(data, self.LeaderNameLen, self.LeaderName)
+ data = CommFunc.WriteDWORD(data, self.LeaderServerID)
data = CommFunc.WriteBYTE(data, self.FamilyLV)
data = CommFunc.WriteBYTE(data, self.JoinReview)
data = CommFunc.WriteWORD(data, self.JoinLVMin)
@@ -11450,6 +11218,7 @@
LeaderID:%d,
LeaderNameLen:%d,
LeaderName:%s,
+ LeaderServerID:%d,
FamilyLV:%d,
JoinReview:%d,
JoinLVMin:%d,
@@ -11468,6 +11237,7 @@
self.LeaderID,
self.LeaderNameLen,
self.LeaderName,
+ self.LeaderServerID,
self.FamilyLV,
self.JoinReview,
self.JoinLVMin,
@@ -12048,6 +11818,175 @@
m_NAtagMCRoleFamilyInfo=tagMCRoleFamilyInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCRoleFamilyInfo.Head.Cmd,m_NAtagMCRoleFamilyInfo.Head.SubCmd))] = m_NAtagMCRoleFamilyInfo
+
+
+#------------------------------------------------------
+# A5 19 查看目标公会信息 #tagSCTagFamilyInfo
+
+class tagSCTagFamilyInfo(Structure):
+ Head = tagHead()
+ FamilyID = 0 #(DWORD FamilyID)//家族ID
+ FamilyNameLen = 0 #(BYTE FamilyNameLen)
+ FamilyName = "" #(String FamilyName)//size = FamilyNameLen
+ LeaderID = 0 #(DWORD LeaderID)//族长ID
+ LeaderNameLen = 0 #(BYTE LeaderNameLen)
+ LeaderName = "" #(String LeaderName)//size = LeaderNameLen
+ LeaderServerID = 0 #(DWORD LeaderServerID)//会长区服ID
+ FamilyLV = 0 #(BYTE FamilyLV)//家族等级
+ ServerID = 0 #(DWORD ServerID)//区服ID
+ EmblemID = 0 #(DWORD EmblemID)//徽章ID
+ EmblemWord = "" #(char EmblemWord[3])//徽章文字
+ FightPower = 0 #(DWORD FightPower)//总战力,求余亿部分
+ FightPowerEx = 0 #(DWORD FightPowerEx)//总战力,整除亿部分
+ BroadcastLen = 0 #(WORD BroadcastLen)//公告
+ Broadcast = "" #(String Broadcast)//size = BroadcastLen
+ MemberCount = 0 #(BYTE MemberCount)//成员人数
+ DataServerID = 0 #(DWORD DataServerID)//数据所在服务器ID
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xA5
+ self.Head.SubCmd = 0x19
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.FamilyID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.FamilyNameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.FamilyName,_pos = CommFunc.ReadString(_lpData, _pos,self.FamilyNameLen)
+ self.LeaderID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.LeaderNameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.LeaderName,_pos = CommFunc.ReadString(_lpData, _pos,self.LeaderNameLen)
+ self.LeaderServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.FamilyLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.ServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.EmblemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.EmblemWord,_pos = CommFunc.ReadString(_lpData, _pos,3)
+ self.FightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.FightPowerEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.BroadcastLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.Broadcast,_pos = CommFunc.ReadString(_lpData, _pos,self.BroadcastLen)
+ self.MemberCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.DataServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xA5
+ self.Head.SubCmd = 0x19
+ self.FamilyID = 0
+ self.FamilyNameLen = 0
+ self.FamilyName = ""
+ self.LeaderID = 0
+ self.LeaderNameLen = 0
+ self.LeaderName = ""
+ self.LeaderServerID = 0
+ self.FamilyLV = 0
+ self.ServerID = 0
+ self.EmblemID = 0
+ self.EmblemWord = ""
+ self.FightPower = 0
+ self.FightPowerEx = 0
+ self.BroadcastLen = 0
+ self.Broadcast = ""
+ self.MemberCount = 0
+ self.DataServerID = 0
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 4
+ length += 1
+ length += len(self.FamilyName)
+ length += 4
+ length += 1
+ length += len(self.LeaderName)
+ length += 4
+ length += 1
+ length += 4
+ length += 4
+ length += 3
+ length += 4
+ length += 4
+ length += 2
+ length += len(self.Broadcast)
+ length += 1
+ length += 4
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteDWORD(data, self.FamilyID)
+ data = CommFunc.WriteBYTE(data, self.FamilyNameLen)
+ data = CommFunc.WriteString(data, self.FamilyNameLen, self.FamilyName)
+ data = CommFunc.WriteDWORD(data, self.LeaderID)
+ data = CommFunc.WriteBYTE(data, self.LeaderNameLen)
+ data = CommFunc.WriteString(data, self.LeaderNameLen, self.LeaderName)
+ data = CommFunc.WriteDWORD(data, self.LeaderServerID)
+ data = CommFunc.WriteBYTE(data, self.FamilyLV)
+ data = CommFunc.WriteDWORD(data, self.ServerID)
+ data = CommFunc.WriteDWORD(data, self.EmblemID)
+ data = CommFunc.WriteString(data, 3, self.EmblemWord)
+ data = CommFunc.WriteDWORD(data, self.FightPower)
+ data = CommFunc.WriteDWORD(data, self.FightPowerEx)
+ data = CommFunc.WriteWORD(data, self.BroadcastLen)
+ data = CommFunc.WriteString(data, self.BroadcastLen, self.Broadcast)
+ data = CommFunc.WriteBYTE(data, self.MemberCount)
+ data = CommFunc.WriteDWORD(data, self.DataServerID)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ FamilyID:%d,
+ FamilyNameLen:%d,
+ FamilyName:%s,
+ LeaderID:%d,
+ LeaderNameLen:%d,
+ LeaderName:%s,
+ LeaderServerID:%d,
+ FamilyLV:%d,
+ ServerID:%d,
+ EmblemID:%d,
+ EmblemWord:%s,
+ FightPower:%d,
+ FightPowerEx:%d,
+ BroadcastLen:%d,
+ Broadcast:%s,
+ MemberCount:%d,
+ DataServerID:%d
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.FamilyID,
+ self.FamilyNameLen,
+ self.FamilyName,
+ self.LeaderID,
+ self.LeaderNameLen,
+ self.LeaderName,
+ self.LeaderServerID,
+ self.FamilyLV,
+ self.ServerID,
+ self.EmblemID,
+ self.EmblemWord,
+ self.FightPower,
+ self.FightPowerEx,
+ self.BroadcastLen,
+ self.Broadcast,
+ self.MemberCount,
+ self.DataServerID
+ )
+ return DumpString
+
+
+m_NAtagSCTagFamilyInfo=tagSCTagFamilyInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagSCTagFamilyInfo.Head.Cmd,m_NAtagSCTagFamilyInfo.Head.SubCmd))] = m_NAtagSCTagFamilyInfo
#------------------------------------------------------
@@ -13881,6 +13820,7 @@
FamilyName = "" #(char FamilyName[33])
FamilyEmblemID = 0 #(DWORD FamilyEmblemID)//仙盟徽章ID
FamilyEmblemWord = "" #(char FamilyEmblemWord[3])//徽章文字
+ FamilyDataServerID = 0 #(DWORD FamilyDataServerID)//公会数据所在服务器ID,A619查看公会用
PlusDataSize = 0 #(DWORD PlusDataSize)
PlusData = "" #(String PlusData)//扩展记录
data = None
@@ -13911,6 +13851,7 @@
self.FamilyName,_pos = CommFunc.ReadString(_lpData, _pos,33)
self.FamilyEmblemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.FamilyEmblemWord,_pos = CommFunc.ReadString(_lpData, _pos,3)
+ self.FamilyDataServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.PlusDataSize,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.PlusData,_pos = CommFunc.ReadString(_lpData, _pos,self.PlusDataSize)
return _pos
@@ -13937,6 +13878,7 @@
self.FamilyName = ""
self.FamilyEmblemID = 0
self.FamilyEmblemWord = ""
+ self.FamilyDataServerID = 0
self.PlusDataSize = 0
self.PlusData = ""
return
@@ -13962,6 +13904,7 @@
length += 4
length += 3
length += 4
+ length += 4
length += len(self.PlusData)
return length
@@ -13986,6 +13929,7 @@
data = CommFunc.WriteString(data, 33, self.FamilyName)
data = CommFunc.WriteDWORD(data, self.FamilyEmblemID)
data = CommFunc.WriteString(data, 3, self.FamilyEmblemWord)
+ data = CommFunc.WriteDWORD(data, self.FamilyDataServerID)
data = CommFunc.WriteDWORD(data, self.PlusDataSize)
data = CommFunc.WriteString(data, self.PlusDataSize, self.PlusData)
return data
@@ -14010,6 +13954,7 @@
FamilyName:%s,
FamilyEmblemID:%d,
FamilyEmblemWord:%s,
+ FamilyDataServerID:%d,
PlusDataSize:%d,
PlusData:%s
'''\
@@ -14032,6 +13977,7 @@
self.FamilyName,
self.FamilyEmblemID,
self.FamilyEmblemWord,
+ self.FamilyDataServerID,
self.PlusDataSize,
self.PlusData
)
@@ -21368,386 +21314,6 @@
#------------------------------------------------------
-# AA 27 充值返利活动信息 #tagMCActRechargePrizeInfo
-
-class tagMCActRechargePrize(Structure):
- _pack_ = 1
- _fields_ = [
- ("CTGID", c_ushort), # 对应充值表充值ID
- ("GoldPrize", c_int), #返利仙玉数
- ("PrizeCountLimit", 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.CTGID = 0
- self.GoldPrize = 0
- self.PrizeCountLimit = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCActRechargePrize)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 27 充值返利活动信息 //tagMCActRechargePrizeInfo:
- CTGID:%d,
- GoldPrize:%d,
- PrizeCountLimit:%d
- '''\
- %(
- self.CTGID,
- self.GoldPrize,
- self.PrizeCountLimit
- )
- return DumpString
-
-
-class tagMCActRechargePrizeDay(Structure):
- Prizes = 0 #(BYTE Prizes)// 返利档数
- PrizeInfo = list() #(vector<tagMCActRechargePrize> PrizeInfo)// 返利档信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.Prizes,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Prizes):
- temPrizeInfo = tagMCActRechargePrize()
- _pos = temPrizeInfo.ReadData(_lpData, _pos)
- self.PrizeInfo.append(temPrizeInfo)
- return _pos
-
- def Clear(self):
- self.Prizes = 0
- self.PrizeInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += 1
- for i in range(self.Prizes):
- length += self.PrizeInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.Prizes)
- for i in range(self.Prizes):
- data = CommFunc.WriteString(data, self.PrizeInfo[i].GetLength(), self.PrizeInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Prizes:%d,
- PrizeInfo:%s
- '''\
- %(
- self.Prizes,
- "..."
- )
- return DumpString
-
-
-class tagMCActRechargePrizeInfo(Structure):
- Head = tagHead()
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- IsDayReset = 0 #(BYTE IsDayReset)//是否每天重置
- PrizeDays = 0 #(BYTE PrizeDays)
- PrizeDayInfo = list() #(vector<tagMCActRechargePrizeDay> PrizeDayInfo)//每天对应信息; 如果只有一天,但是活动有多天,则代表每天奖励都一样
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x27
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.IsDayReset,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.PrizeDays,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.PrizeDays):
- temPrizeDayInfo = tagMCActRechargePrizeDay()
- _pos = temPrizeDayInfo.ReadData(_lpData, _pos)
- self.PrizeDayInfo.append(temPrizeDayInfo)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x27
- self.StartDate = ""
- self.EndtDate = ""
- self.LimitLV = 0
- self.IsDayReset = 0
- self.PrizeDays = 0
- self.PrizeDayInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 10
- length += 10
- length += 2
- length += 1
- length += 1
- for i in range(self.PrizeDays):
- length += self.PrizeDayInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteBYTE(data, self.IsDayReset)
- data = CommFunc.WriteBYTE(data, self.PrizeDays)
- for i in range(self.PrizeDays):
- data = CommFunc.WriteString(data, self.PrizeDayInfo[i].GetLength(), self.PrizeDayInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- StartDate:%s,
- EndtDate:%s,
- LimitLV:%d,
- IsDayReset:%d,
- PrizeDays:%d,
- PrizeDayInfo:%s
- '''\
- %(
- self.Head.OutputString(),
- self.StartDate,
- self.EndtDate,
- self.LimitLV,
- self.IsDayReset,
- self.PrizeDays,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCActRechargePrizeInfo=tagMCActRechargePrizeInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActRechargePrizeInfo.Head.Cmd,m_NAtagMCActRechargePrizeInfo.Head.SubCmd))] = m_NAtagMCActRechargePrizeInfo
-
-
-#------------------------------------------------------
-# AA 29 累计充值返利仙玉活动信息 #tagMCActRechargeRebateGoldInfo
-
-class tagMCActRechargeRebate(Structure):
- _pack_ = 1
- _fields_ = [
- ("RMBMin", c_int), # 充值RMB最小值
- ("RMBMax", c_int), # 充值RMB最大值,0代表无上限
- ("RebateRate", c_ushort), # 返利仙玉比例百分比
- ]
-
- 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.RMBMin = 0
- self.RMBMax = 0
- self.RebateRate = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCActRechargeRebate)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 29 累计充值返利仙玉活动信息 //tagMCActRechargeRebateGoldInfo:
- RMBMin:%d,
- RMBMax:%d,
- RebateRate:%d
- '''\
- %(
- self.RMBMin,
- self.RMBMax,
- self.RebateRate
- )
- return DumpString
-
-
-class tagMCActRechargeRebateDay(Structure):
- Rebates = 0 #(BYTE Rebates)// 返利档数
- RebateInfo = list() #(vector<tagMCActRechargeRebate> RebateInfo)// 返利档信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.Rebates,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Rebates):
- temRebateInfo = tagMCActRechargeRebate()
- _pos = temRebateInfo.ReadData(_lpData, _pos)
- self.RebateInfo.append(temRebateInfo)
- return _pos
-
- def Clear(self):
- self.Rebates = 0
- self.RebateInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += 1
- for i in range(self.Rebates):
- length += self.RebateInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.Rebates)
- for i in range(self.Rebates):
- data = CommFunc.WriteString(data, self.RebateInfo[i].GetLength(), self.RebateInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Rebates:%d,
- RebateInfo:%s
- '''\
- %(
- self.Rebates,
- "..."
- )
- return DumpString
-
-
-class tagMCActRechargeRebateGoldInfo(Structure):
- Head = tagHead()
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- IsDayReset = 0 #(BYTE IsDayReset)//是否每天重置
- RebateDays = 0 #(BYTE RebateDays)
- RebateDayInfo = list() #(vector<tagMCActRechargeRebateDay> RebateDayInfo)//每天对应信息; 如果只有一天,但是活动有多天,则代表每天奖励都一样
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x29
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.IsDayReset,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.RebateDays,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.RebateDays):
- temRebateDayInfo = tagMCActRechargeRebateDay()
- _pos = temRebateDayInfo.ReadData(_lpData, _pos)
- self.RebateDayInfo.append(temRebateDayInfo)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x29
- self.StartDate = ""
- self.EndtDate = ""
- self.LimitLV = 0
- self.IsDayReset = 0
- self.RebateDays = 0
- self.RebateDayInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 10
- length += 10
- length += 2
- length += 1
- length += 1
- for i in range(self.RebateDays):
- length += self.RebateDayInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteBYTE(data, self.IsDayReset)
- data = CommFunc.WriteBYTE(data, self.RebateDays)
- for i in range(self.RebateDays):
- data = CommFunc.WriteString(data, self.RebateDayInfo[i].GetLength(), self.RebateDayInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- StartDate:%s,
- EndtDate:%s,
- LimitLV:%d,
- IsDayReset:%d,
- RebateDays:%d,
- RebateDayInfo:%s
- '''\
- %(
- self.Head.OutputString(),
- self.StartDate,
- self.EndtDate,
- self.LimitLV,
- self.IsDayReset,
- self.RebateDays,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCActRechargeRebateGoldInfo=tagMCActRechargeRebateGoldInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActRechargeRebateGoldInfo.Head.Cmd,m_NAtagMCActRechargeRebateGoldInfo.Head.SubCmd))] = m_NAtagMCActRechargeRebateGoldInfo
-
-
-#------------------------------------------------------
# AA 50 单笔累充活动信息 #tagMCActSingleRechargeInfo
class tagMCActSingleRechargeAwardItem(Structure):
@@ -23758,804 +23324,6 @@
#------------------------------------------------------
-# AA 32 跨服充值排行活动信息 #tagMCCACTGBillboardInfo
-
-class tagMCCACTGBillboardAwardItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("ItemID", c_int),
- ("ItemCount", c_ushort),
- ("IsBind", 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.ItemID = 0
- self.ItemCount = 0
- self.IsBind = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCCACTGBillboardAwardItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 32 跨服充值排行活动信息 //tagMCCACTGBillboardInfo:
- ItemID:%d,
- ItemCount:%d,
- IsBind:%d
- '''\
- %(
- self.ItemID,
- self.ItemCount,
- self.IsBind
- )
- return DumpString
-
-
-class tagMCCACTGBillboardDabiao(Structure):
- AwardIndex = 0 #(BYTE AwardIndex)// 奖励索引 0~31
- NeedRMB = 0 #(DWORD NeedRMB)// 所需充值RMB
- AwardItemCount = 0 #(BYTE AwardItemCount)// 奖励物品数
- AwardItemList = list() #(vector<tagMCCACTGBillboardAwardItem> AwardItemList)// 奖励物品信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.AwardIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.NeedRMB,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.AwardItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.AwardItemCount):
- temAwardItemList = tagMCCACTGBillboardAwardItem()
- _pos = temAwardItemList.ReadData(_lpData, _pos)
- self.AwardItemList.append(temAwardItemList)
- return _pos
-
- def Clear(self):
- self.AwardIndex = 0
- self.NeedRMB = 0
- self.AwardItemCount = 0
- self.AwardItemList = list()
- return
-
- def GetLength(self):
- length = 0
- length += 1
- length += 4
- length += 1
- for i in range(self.AwardItemCount):
- length += self.AwardItemList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.AwardIndex)
- data = CommFunc.WriteDWORD(data, self.NeedRMB)
- data = CommFunc.WriteBYTE(data, self.AwardItemCount)
- for i in range(self.AwardItemCount):
- data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- AwardIndex:%d,
- NeedRMB:%d,
- AwardItemCount:%d,
- AwardItemList:%s
- '''\
- %(
- self.AwardIndex,
- self.NeedRMB,
- self.AwardItemCount,
- "..."
- )
- return DumpString
-
-
-class tagMCCACTGBillboardOrder(Structure):
- OrderA = 0 #(BYTE OrderA)// 名次A
- OrderB = 0 #(BYTE OrderB)// 至名次B
- NeedRMB = 0 #(DWORD NeedRMB)// 所需充值RMB,未达标的该名次空,排名后面的玩家向下顺延
- AwardItemCount = 0 #(BYTE AwardItemCount)// 奖励物品数
- AwardItemList = list() #(vector<tagMCCACTGBillboardAwardItem> AwardItemList)// 奖励物品信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.OrderA,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.OrderB,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.NeedRMB,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.AwardItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.AwardItemCount):
- temAwardItemList = tagMCCACTGBillboardAwardItem()
- _pos = temAwardItemList.ReadData(_lpData, _pos)
- self.AwardItemList.append(temAwardItemList)
- return _pos
-
- def Clear(self):
- self.OrderA = 0
- self.OrderB = 0
- self.NeedRMB = 0
- self.AwardItemCount = 0
- self.AwardItemList = list()
- return
-
- def GetLength(self):
- length = 0
- length += 1
- length += 1
- length += 4
- length += 1
- for i in range(self.AwardItemCount):
- length += self.AwardItemList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.OrderA)
- data = CommFunc.WriteBYTE(data, self.OrderB)
- data = CommFunc.WriteDWORD(data, self.NeedRMB)
- data = CommFunc.WriteBYTE(data, self.AwardItemCount)
- for i in range(self.AwardItemCount):
- data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- OrderA:%d,
- OrderB:%d,
- NeedRMB:%d,
- AwardItemCount:%d,
- AwardItemList:%s
- '''\
- %(
- self.OrderA,
- self.OrderB,
- self.NeedRMB,
- self.AwardItemCount,
- "..."
- )
- return DumpString
-
-
-class tagMCCACTGBillboardTempInfo(Structure):
- TemplateID = 0 #(BYTE TemplateID)// 活动模板ID
- DabiaoAwardCount = 0 #(BYTE DabiaoAwardCount)// 达标奖励档数
- DabiaoAwardInfo = list() #(vector<tagMCCACTGBillboardDabiao> DabiaoAwardInfo)// 达标奖励信息
- OrderAwardCount = 0 #(BYTE OrderAwardCount)// 排行奖励档数
- OrderAwardInfo = list() #(vector<tagMCCACTGBillboardOrder> OrderAwardInfo)// 排行奖励信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.TemplateID,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.DabiaoAwardCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.DabiaoAwardCount):
- temDabiaoAwardInfo = tagMCCACTGBillboardDabiao()
- _pos = temDabiaoAwardInfo.ReadData(_lpData, _pos)
- self.DabiaoAwardInfo.append(temDabiaoAwardInfo)
- self.OrderAwardCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.OrderAwardCount):
- temOrderAwardInfo = tagMCCACTGBillboardOrder()
- _pos = temOrderAwardInfo.ReadData(_lpData, _pos)
- self.OrderAwardInfo.append(temOrderAwardInfo)
- return _pos
-
- def Clear(self):
- self.TemplateID = 0
- self.DabiaoAwardCount = 0
- self.DabiaoAwardInfo = list()
- self.OrderAwardCount = 0
- self.OrderAwardInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += 1
- length += 1
- for i in range(self.DabiaoAwardCount):
- length += self.DabiaoAwardInfo[i].GetLength()
- length += 1
- for i in range(self.OrderAwardCount):
- length += self.OrderAwardInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.TemplateID)
- data = CommFunc.WriteBYTE(data, self.DabiaoAwardCount)
- for i in range(self.DabiaoAwardCount):
- data = CommFunc.WriteString(data, self.DabiaoAwardInfo[i].GetLength(), self.DabiaoAwardInfo[i].GetBuffer())
- data = CommFunc.WriteBYTE(data, self.OrderAwardCount)
- for i in range(self.OrderAwardCount):
- data = CommFunc.WriteString(data, self.OrderAwardInfo[i].GetLength(), self.OrderAwardInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- TemplateID:%d,
- DabiaoAwardCount:%d,
- DabiaoAwardInfo:%s,
- OrderAwardCount:%d,
- OrderAwardInfo:%s
- '''\
- %(
- self.TemplateID,
- self.DabiaoAwardCount,
- "...",
- self.OrderAwardCount,
- "..."
- )
- return DumpString
-
-
-class tagMCCACTGBillboardInfo(Structure):
- Head = tagHead()
- ServerInfoLen = 0 #(BYTE ServerInfoLen)
- ServerIDRangeInfo = "" #(String ServerIDRangeInfo)//开放该活动的服务器ID范围列表,json格式 [[IDA, IDB], ...], [] 为全服
- GroupValue1 = 0 #(BYTE GroupValue1)// 活动榜单分组值1,用于查询对应榜单
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- TemplateID = 0 #(BYTE TemplateID)// 当前活动模板ID
- TemplateCount = 0 #(BYTE TemplateCount)
- TempInfo = list() #(vector<tagMCCACTGBillboardTempInfo> TempInfo)// 模板信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x32
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ServerInfoLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ServerIDRangeInfo,_pos = CommFunc.ReadString(_lpData, _pos,self.ServerInfoLen)
- self.GroupValue1,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.TemplateID,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.TemplateCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.TemplateCount):
- temTempInfo = tagMCCACTGBillboardTempInfo()
- _pos = temTempInfo.ReadData(_lpData, _pos)
- self.TempInfo.append(temTempInfo)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x32
- self.ServerInfoLen = 0
- self.ServerIDRangeInfo = ""
- self.GroupValue1 = 0
- self.StartDate = ""
- self.EndtDate = ""
- self.TemplateID = 0
- self.TemplateCount = 0
- self.TempInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += len(self.ServerIDRangeInfo)
- length += 1
- length += 10
- length += 10
- length += 1
- length += 1
- for i in range(self.TemplateCount):
- length += self.TempInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.ServerInfoLen)
- data = CommFunc.WriteString(data, self.ServerInfoLen, self.ServerIDRangeInfo)
- data = CommFunc.WriteBYTE(data, self.GroupValue1)
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteBYTE(data, self.TemplateID)
- data = CommFunc.WriteBYTE(data, self.TemplateCount)
- for i in range(self.TemplateCount):
- data = CommFunc.WriteString(data, self.TempInfo[i].GetLength(), self.TempInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ServerInfoLen:%d,
- ServerIDRangeInfo:%s,
- GroupValue1:%d,
- StartDate:%s,
- EndtDate:%s,
- TemplateID:%d,
- TemplateCount:%d,
- TempInfo:%s
- '''\
- %(
- self.Head.OutputString(),
- self.ServerInfoLen,
- self.ServerIDRangeInfo,
- self.GroupValue1,
- self.StartDate,
- self.EndtDate,
- self.TemplateID,
- self.TemplateCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCCACTGBillboardInfo=tagMCCACTGBillboardInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCCACTGBillboardInfo.Head.Cmd,m_NAtagMCCACTGBillboardInfo.Head.SubCmd))] = m_NAtagMCCACTGBillboardInfo
-
-
-#------------------------------------------------------
-# AA 33 跨服充值排行活动玩家信息 #tagMCCACTGBillboardPlayerInfo
-
-class tagMCCACTGBillboardPlayerInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("CTGRMBTotal", c_int), # 活动已累计充值RMB
- ("DabiaoAwardRecord", c_int), # 达标奖励记录,与达标奖励索引位或运算判断是否已领取
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x33
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xAA
- self.SubCmd = 0x33
- self.CTGRMBTotal = 0
- self.DabiaoAwardRecord = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCCACTGBillboardPlayerInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 33 跨服充值排行活动玩家信息 //tagMCCACTGBillboardPlayerInfo:
- Cmd:%s,
- SubCmd:%s,
- CTGRMBTotal:%d,
- DabiaoAwardRecord:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.CTGRMBTotal,
- self.DabiaoAwardRecord
- )
- return DumpString
-
-
-m_NAtagMCCACTGBillboardPlayerInfo=tagMCCACTGBillboardPlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCCACTGBillboardPlayerInfo.Cmd,m_NAtagMCCACTGBillboardPlayerInfo.SubCmd))] = m_NAtagMCCACTGBillboardPlayerInfo
-
-
-#------------------------------------------------------
-# AA 09 消费返利活动信息 #tagMCCostRebateInfo
-
-class tagMCCostRebateAwardItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("ItemID", c_int),
- ("ItemCount", c_int),
- ("IsBind", 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.ItemID = 0
- self.ItemCount = 0
- self.IsBind = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCCostRebateAwardItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 09 消费返利活动信息 //tagMCCostRebateInfo:
- ItemID:%d,
- ItemCount:%d,
- IsBind:%d
- '''\
- %(
- self.ItemID,
- self.ItemCount,
- self.IsBind
- )
- return DumpString
-
-
-class tagMCCostRebateAward(Structure):
- AwardIndex = 0 #(BYTE AwardIndex)// 奖励索引 0~31
- NeedGold = 0 #(DWORD NeedGold)// 所需仙玉数
- AwardItemCount = 0 #(BYTE AwardItemCount)// 奖励物品数
- AwardItem = list() #(vector<tagMCCostRebateAwardItem> AwardItem)// 奖励物品信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.AwardIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.NeedGold,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.AwardItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.AwardItemCount):
- temAwardItem = tagMCCostRebateAwardItem()
- _pos = temAwardItem.ReadData(_lpData, _pos)
- self.AwardItem.append(temAwardItem)
- return _pos
-
- def Clear(self):
- self.AwardIndex = 0
- self.NeedGold = 0
- self.AwardItemCount = 0
- self.AwardItem = list()
- return
-
- def GetLength(self):
- length = 0
- length += 1
- length += 4
- length += 1
- for i in range(self.AwardItemCount):
- length += self.AwardItem[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.AwardIndex)
- data = CommFunc.WriteDWORD(data, self.NeedGold)
- data = CommFunc.WriteBYTE(data, self.AwardItemCount)
- for i in range(self.AwardItemCount):
- data = CommFunc.WriteString(data, self.AwardItem[i].GetLength(), self.AwardItem[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- AwardIndex:%d,
- NeedGold:%d,
- AwardItemCount:%d,
- AwardItem:%s
- '''\
- %(
- self.AwardIndex,
- self.NeedGold,
- self.AwardItemCount,
- "..."
- )
- return DumpString
-
-
-class tagMCCostRebateAwardDay(Structure):
- AwardCount = 0 #(BYTE AwardCount)// 奖励档数
- AwardInfo = list() #(vector<tagMCCostRebateAward> AwardInfo)// 奖励档信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.AwardCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.AwardCount):
- temAwardInfo = tagMCCostRebateAward()
- _pos = temAwardInfo.ReadData(_lpData, _pos)
- self.AwardInfo.append(temAwardInfo)
- return _pos
-
- def Clear(self):
- self.AwardCount = 0
- self.AwardInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += 1
- for i in range(self.AwardCount):
- length += self.AwardInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.AwardCount)
- for i in range(self.AwardCount):
- data = CommFunc.WriteString(data, self.AwardInfo[i].GetLength(), self.AwardInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- AwardCount:%d,
- AwardInfo:%s
- '''\
- %(
- self.AwardCount,
- "..."
- )
- return DumpString
-
-
-class tagMCCostRebateInfo(Structure):
- Head = tagHead()
- ActNum = 0 #(BYTE ActNum)//活动编号
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- IsDayReset = 0 #(BYTE IsDayReset)//是否每天重置
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- AwardDays = 0 #(BYTE AwardDays)
- AwardDayInfo = list() #(vector<tagMCCostRebateAwardDay> AwardDayInfo)//每天对应返利信息; 如果只有一天,但是活动有多天,则代表每天奖励都一样
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x09
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ActNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.IsDayReset,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.AwardDays,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.AwardDays):
- temAwardDayInfo = tagMCCostRebateAwardDay()
- _pos = temAwardDayInfo.ReadData(_lpData, _pos)
- self.AwardDayInfo.append(temAwardDayInfo)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x09
- self.ActNum = 0
- self.StartDate = ""
- self.EndtDate = ""
- self.IsDayReset = 0
- self.LimitLV = 0
- self.AwardDays = 0
- self.AwardDayInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 10
- length += 10
- length += 1
- length += 2
- length += 1
- for i in range(self.AwardDays):
- length += self.AwardDayInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.ActNum)
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteBYTE(data, self.IsDayReset)
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteBYTE(data, self.AwardDays)
- for i in range(self.AwardDays):
- data = CommFunc.WriteString(data, self.AwardDayInfo[i].GetLength(), self.AwardDayInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ActNum:%d,
- StartDate:%s,
- EndtDate:%s,
- IsDayReset:%d,
- LimitLV:%d,
- AwardDays:%d,
- AwardDayInfo:%s
- '''\
- %(
- self.Head.OutputString(),
- self.ActNum,
- self.StartDate,
- self.EndtDate,
- self.IsDayReset,
- self.LimitLV,
- self.AwardDays,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCCostRebateInfo=tagMCCostRebateInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCCostRebateInfo.Head.Cmd,m_NAtagMCCostRebateInfo.Head.SubCmd))] = m_NAtagMCCostRebateInfo
-
-
-#------------------------------------------------------
-# AA 10 消费返利玩家活动信息 #tagMCCostRebatePlayerInfo
-
-class tagMCCostRebatePlayerInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ActNum", c_ubyte), #活动编号
- ("CostGoldTotal", c_int), #本次活动已累计消费仙玉数
- ("AwardRecord", c_int), #返利奖励领奖记录,按奖励索引二进制位存储是否已领取
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x10
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xAA
- self.SubCmd = 0x10
- self.ActNum = 0
- self.CostGoldTotal = 0
- self.AwardRecord = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCCostRebatePlayerInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 10 消费返利玩家活动信息 //tagMCCostRebatePlayerInfo:
- Cmd:%s,
- SubCmd:%s,
- ActNum:%d,
- CostGoldTotal:%d,
- AwardRecord:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ActNum,
- self.CostGoldTotal,
- self.AwardRecord
- )
- return DumpString
-
-
-m_NAtagMCCostRebatePlayerInfo=tagMCCostRebatePlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCCostRebatePlayerInfo.Cmd,m_NAtagMCCostRebatePlayerInfo.SubCmd))] = m_NAtagMCCostRebatePlayerInfo
-
-
-#------------------------------------------------------
-# AA 34 跨服全民充值活动玩家信息 #tagMCCrossActAllRechargePlayerInfo
-
-class tagMCCrossActAllRechargePlayerInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("CTGRMBTotal", c_int), # 活动已累计充值RMB
- ("AwardRecord", c_int), # 奖励记录,根据奖励索引位或运算判断是否已领取
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x34
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xAA
- self.SubCmd = 0x34
- self.CTGRMBTotal = 0
- self.AwardRecord = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCCrossActAllRechargePlayerInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 34 跨服全民充值活动玩家信息 //tagMCCrossActAllRechargePlayerInfo:
- Cmd:%s,
- SubCmd:%s,
- CTGRMBTotal:%d,
- AwardRecord:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.CTGRMBTotal,
- self.AwardRecord
- )
- return DumpString
-
-
-m_NAtagMCCrossActAllRechargePlayerInfo=tagMCCrossActAllRechargePlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCCrossActAllRechargePlayerInfo.Cmd,m_NAtagMCCrossActAllRechargePlayerInfo.SubCmd))] = m_NAtagMCCrossActAllRechargePlayerInfo
-
-
-#------------------------------------------------------
# AA 90 炼器跨服活动信息 #tagMCCrossActLianqiInfo
class tagMCCrossActLianqiItem(Structure):
@@ -25678,518 +24446,6 @@
m_NAtagMCFeastLoginPlayerInfo=tagMCFeastLoginPlayerInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFeastLoginPlayerInfo.Cmd,m_NAtagMCFeastLoginPlayerInfo.SubCmd))] = m_NAtagMCFeastLoginPlayerInfo
-
-
-#------------------------------------------------------
-# AA 20 节日巡礼活动信息 #tagMCFeastWeekPartyInfo
-
-class tagMCFeastWeekPartyItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("NeedPoint", c_ushort), # 领奖需要积分
- ("ItemID", c_int), # 物品ID
- ("ItemCnt", c_ushort), # 物品数量
- ("IsBind", 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.NeedPoint = 0
- self.ItemID = 0
- self.ItemCnt = 0
- self.IsBind = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCFeastWeekPartyItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 20 节日巡礼活动信息 //tagMCFeastWeekPartyInfo:
- NeedPoint:%d,
- ItemID:%d,
- ItemCnt:%d,
- IsBind:%d
- '''\
- %(
- self.NeedPoint,
- self.ItemID,
- self.ItemCnt,
- self.IsBind
- )
- return DumpString
-
-
-class tagMCFeastWeekPartyAction(Structure):
- TemplateID = 0 #(DWORD TemplateID)// 模板ID
- ActionType = 0 #(WORD ActionType)// 活动类别
- TotalTimes = 0 #(DWORD TotalTimes)// 可完成的总次数,0表示不限次数
- SingleTimes = 0 #(DWORD SingleTimes)// 单次领奖需要的次数
- Point = 0 #(DWORD Point)// 单次领奖积分
- Count = 0 #(BYTE Count)// 物品数
- ItemInfo = list() #(vector<tagMCFeastWeekPartyItem> ItemInfo)// 物品信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.TemplateID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ActionType,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.TotalTimes,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.SingleTimes,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.Point,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Count):
- temItemInfo = tagMCFeastWeekPartyItem()
- _pos = temItemInfo.ReadData(_lpData, _pos)
- self.ItemInfo.append(temItemInfo)
- return _pos
-
- def Clear(self):
- self.TemplateID = 0
- self.ActionType = 0
- self.TotalTimes = 0
- self.SingleTimes = 0
- self.Point = 0
- self.Count = 0
- self.ItemInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += 4
- length += 2
- length += 4
- length += 4
- length += 4
- length += 1
- for i in range(self.Count):
- length += self.ItemInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteDWORD(data, self.TemplateID)
- data = CommFunc.WriteWORD(data, self.ActionType)
- data = CommFunc.WriteDWORD(data, self.TotalTimes)
- data = CommFunc.WriteDWORD(data, self.SingleTimes)
- data = CommFunc.WriteDWORD(data, self.Point)
- data = CommFunc.WriteBYTE(data, self.Count)
- for i in range(self.Count):
- data = CommFunc.WriteString(data, self.ItemInfo[i].GetLength(), self.ItemInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- TemplateID:%d,
- ActionType:%d,
- TotalTimes:%d,
- SingleTimes:%d,
- Point:%d,
- Count:%d,
- ItemInfo:%s
- '''\
- %(
- self.TemplateID,
- self.ActionType,
- self.TotalTimes,
- self.SingleTimes,
- self.Point,
- self.Count,
- "..."
- )
- return DumpString
-
-
-class tagMCFeastWeekPartyDayInfo(Structure):
- ActCnt = 0 #(BYTE ActCnt)// 数量
- TemplateList = list() #(vector<WORD> TemplateList)// 模板列表
- PCount = 0 #(BYTE PCount)// 物品数
- PItemInfo = list() #(vector<tagMCFeastWeekPartyItem> PItemInfo)// 物品信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.ActCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.ActCnt):
- value,_pos=CommFunc.ReadWORD(_lpData,_pos)
- self.TemplateList.append(value)
- self.PCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.PCount):
- temPItemInfo = tagMCFeastWeekPartyItem()
- _pos = temPItemInfo.ReadData(_lpData, _pos)
- self.PItemInfo.append(temPItemInfo)
- return _pos
-
- def Clear(self):
- self.ActCnt = 0
- self.TemplateList = list()
- self.PCount = 0
- self.PItemInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += 1
- length += 2 * self.ActCnt
- length += 1
- for i in range(self.PCount):
- length += self.PItemInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.ActCnt)
- for i in range(self.ActCnt):
- data = CommFunc.WriteWORD(data, self.TemplateList[i])
- data = CommFunc.WriteBYTE(data, self.PCount)
- for i in range(self.PCount):
- data = CommFunc.WriteString(data, self.PItemInfo[i].GetLength(), self.PItemInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- ActCnt:%d,
- TemplateList:%s,
- PCount:%d,
- PItemInfo:%s
- '''\
- %(
- self.ActCnt,
- "...",
- self.PCount,
- "..."
- )
- return DumpString
-
-
-class tagMCFeastWeekPartyInfo(Structure):
- Head = tagHead()
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- AdvanceMinutes = 0 #(WORD AdvanceMinutes)// 提前显示分钟
- IsDayReset = 0 #(BYTE IsDayReset)//是否每天重置
- ResetType = 0 #(BYTE ResetType)// 重置类型,0-0点重置;1-5点重置
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- DayCnt = 0 #(BYTE DayCnt)// 天数
- DayInfoList = list() #(vector<tagMCFeastWeekPartyDayInfo> DayInfoList)// 每天模板
- TCount = 0 #(BYTE TCount)// 模板数
- ActionInfo = list() #(vector<tagMCFeastWeekPartyAction> ActionInfo)// 活动模板信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x20
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.AdvanceMinutes,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.IsDayReset,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.DayCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.DayCnt):
- temDayInfoList = tagMCFeastWeekPartyDayInfo()
- _pos = temDayInfoList.ReadData(_lpData, _pos)
- self.DayInfoList.append(temDayInfoList)
- self.TCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.TCount):
- temActionInfo = tagMCFeastWeekPartyAction()
- _pos = temActionInfo.ReadData(_lpData, _pos)
- self.ActionInfo.append(temActionInfo)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x20
- self.StartDate = ""
- self.EndtDate = ""
- self.AdvanceMinutes = 0
- self.IsDayReset = 0
- self.ResetType = 0
- self.LimitLV = 0
- self.DayCnt = 0
- self.DayInfoList = list()
- self.TCount = 0
- self.ActionInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 10
- length += 10
- length += 2
- length += 1
- length += 1
- length += 2
- length += 1
- for i in range(self.DayCnt):
- length += self.DayInfoList[i].GetLength()
- length += 1
- for i in range(self.TCount):
- length += self.ActionInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteWORD(data, self.AdvanceMinutes)
- data = CommFunc.WriteBYTE(data, self.IsDayReset)
- data = CommFunc.WriteBYTE(data, self.ResetType)
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteBYTE(data, self.DayCnt)
- for i in range(self.DayCnt):
- data = CommFunc.WriteString(data, self.DayInfoList[i].GetLength(), self.DayInfoList[i].GetBuffer())
- data = CommFunc.WriteBYTE(data, self.TCount)
- for i in range(self.TCount):
- data = CommFunc.WriteString(data, self.ActionInfo[i].GetLength(), self.ActionInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- StartDate:%s,
- EndtDate:%s,
- AdvanceMinutes:%d,
- IsDayReset:%d,
- ResetType:%d,
- LimitLV:%d,
- DayCnt:%d,
- DayInfoList:%s,
- TCount:%d,
- ActionInfo:%s
- '''\
- %(
- self.Head.OutputString(),
- self.StartDate,
- self.EndtDate,
- self.AdvanceMinutes,
- self.IsDayReset,
- self.ResetType,
- self.LimitLV,
- self.DayCnt,
- "...",
- self.TCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCFeastWeekPartyInfo=tagMCFeastWeekPartyInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFeastWeekPartyInfo.Head.Cmd,m_NAtagMCFeastWeekPartyInfo.Head.SubCmd))] = m_NAtagMCFeastWeekPartyInfo
-
-
-#------------------------------------------------------
-# AA 21 节日巡礼玩家活动信息 #tagMCFeastWeekPartyPlayerInfo
-
-class tagMCFeastWeekPartyTaskInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("TemplateID", c_ushort), # 模板ID
- ("CurTimes", c_int), #已完成次数
- ("GotTimes", 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.TemplateID = 0
- self.CurTimes = 0
- self.GotTimes = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCFeastWeekPartyTaskInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 21 节日巡礼玩家活动信息 //tagMCFeastWeekPartyPlayerInfo:
- TemplateID:%d,
- CurTimes:%d,
- GotTimes:%d
- '''\
- %(
- self.TemplateID,
- self.CurTimes,
- self.GotTimes
- )
- return DumpString
-
-
-class tagMCFeastWeekPartyDayPlayerInfo(Structure):
- DayIndex = 0 #(DWORD DayIndex)//第X天
- Point = 0 #(DWORD Point)//积分
- AwardRecord = 0 #(DWORD AwardRecord)//积分领奖记录
- ACount = 0 #(DWORD ACount)//任务条目数
- TaskList = list() #(vector<tagMCFeastWeekPartyTaskInfo> TaskList)//活动完成次数信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.DayIndex,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.Point,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.AwardRecord,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ACount,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- for i in range(self.ACount):
- temTaskList = tagMCFeastWeekPartyTaskInfo()
- _pos = temTaskList.ReadData(_lpData, _pos)
- self.TaskList.append(temTaskList)
- return _pos
-
- def Clear(self):
- self.DayIndex = 0
- self.Point = 0
- self.AwardRecord = 0
- self.ACount = 0
- self.TaskList = list()
- return
-
- def GetLength(self):
- length = 0
- length += 4
- length += 4
- length += 4
- length += 4
- for i in range(self.ACount):
- length += self.TaskList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteDWORD(data, self.DayIndex)
- data = CommFunc.WriteDWORD(data, self.Point)
- data = CommFunc.WriteDWORD(data, self.AwardRecord)
- data = CommFunc.WriteDWORD(data, self.ACount)
- for i in range(self.ACount):
- data = CommFunc.WriteString(data, self.TaskList[i].GetLength(), self.TaskList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- DayIndex:%d,
- Point:%d,
- AwardRecord:%d,
- ACount:%d,
- TaskList:%s
- '''\
- %(
- self.DayIndex,
- self.Point,
- self.AwardRecord,
- self.ACount,
- "..."
- )
- return DumpString
-
-
-class tagMCFeastWeekPartyPlayerInfo(Structure):
- Head = tagHead()
- Count = 0 #(BYTE Count)
- DayInfoList = list() #(vector<tagMCFeastWeekPartyDayPlayerInfo> DayInfoList)//活动完成次数信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- 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):
- temDayInfoList = tagMCFeastWeekPartyDayPlayerInfo()
- _pos = temDayInfoList.ReadData(_lpData, _pos)
- self.DayInfoList.append(temDayInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x21
- self.Count = 0
- self.DayInfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.Count):
- length += self.DayInfoList[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.DayInfoList[i].GetLength(), self.DayInfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Count:%d,
- DayInfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCFeastWeekPartyPlayerInfo=tagMCFeastWeekPartyPlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFeastWeekPartyPlayerInfo.Head.Cmd,m_NAtagMCFeastWeekPartyPlayerInfo.Head.SubCmd))] = m_NAtagMCFeastWeekPartyPlayerInfo
#------------------------------------------------------
@@ -28016,166 +26272,6 @@
#------------------------------------------------------
-# AA 28 充值返利玩家活动信息 #tagMCRechargePrizePlayerInfo
-
-class tagMCRechargePrizeInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("CTGID", c_ushort), # 对应充值表充值ID
- ("PrizeCount", 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.CTGID = 0
- self.PrizeCount = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCRechargePrizeInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 28 充值返利玩家活动信息 //tagMCRechargePrizePlayerInfo:
- CTGID:%d,
- PrizeCount:%d
- '''\
- %(
- self.CTGID,
- self.PrizeCount
- )
- return DumpString
-
-
-class tagMCRechargePrizePlayerInfo(Structure):
- Head = tagHead()
- Count = 0 #(BYTE Count)
- PlayerInfoList = list() #(vector<tagMCRechargePrizeInfo> PlayerInfoList)//玩家返利信息列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x28
- 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):
- temPlayerInfoList = tagMCRechargePrizeInfo()
- _pos = temPlayerInfoList.ReadData(_lpData, _pos)
- self.PlayerInfoList.append(temPlayerInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x28
- self.Count = 0
- self.PlayerInfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.Count):
- length += self.PlayerInfoList[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.PlayerInfoList[i].GetLength(), self.PlayerInfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Count:%d,
- PlayerInfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCRechargePrizePlayerInfo=tagMCRechargePrizePlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCRechargePrizePlayerInfo.Head.Cmd,m_NAtagMCRechargePrizePlayerInfo.Head.SubCmd))] = m_NAtagMCRechargePrizePlayerInfo
-
-
-#------------------------------------------------------
-# AA 30 累计充值返利仙玉玩家活动信息 #tagMCRechargeRebateGoldPlayerInfo
-
-class tagMCRechargeRebateGoldPlayerInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("RechargeRMBTotal", c_int), # 活动已累计充值RMB
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x30
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xAA
- self.SubCmd = 0x30
- self.RechargeRMBTotal = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCRechargeRebateGoldPlayerInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 30 累计充值返利仙玉玩家活动信息 //tagMCRechargeRebateGoldPlayerInfo:
- Cmd:%s,
- SubCmd:%s,
- RechargeRMBTotal:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.RechargeRMBTotal
- )
- return DumpString
-
-
-m_NAtagMCRechargeRebateGoldPlayerInfo=tagMCRechargeRebateGoldPlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCRechargeRebateGoldPlayerInfo.Cmd,m_NAtagMCRechargeRebateGoldPlayerInfo.SubCmd))] = m_NAtagMCRechargeRebateGoldPlayerInfo
-
-
-#------------------------------------------------------
# AA 11 限时特惠活动信息 #tagMCSpringSaleInfo
class tagMCSpringSaleItem(Structure):
@@ -28701,518 +26797,6 @@
#------------------------------------------------------
-# AA 0A 周狂欢活动信息 #tagMCWeekPartyInfo
-
-class tagMCWeekPartyItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("NeedPoint", c_ushort), # 领奖需要积分
- ("ItemID", c_int), # 物品ID
- ("ItemCnt", c_ushort), # 物品数量
- ("IsBind", 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.NeedPoint = 0
- self.ItemID = 0
- self.ItemCnt = 0
- self.IsBind = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCWeekPartyItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 0A 周狂欢活动信息 //tagMCWeekPartyInfo:
- NeedPoint:%d,
- ItemID:%d,
- ItemCnt:%d,
- IsBind:%d
- '''\
- %(
- self.NeedPoint,
- self.ItemID,
- self.ItemCnt,
- self.IsBind
- )
- return DumpString
-
-
-class tagMCWeekPartyAction(Structure):
- TemplateID = 0 #(DWORD TemplateID)// 模板ID
- ActionType = 0 #(WORD ActionType)// 活动类别
- TotalTimes = 0 #(DWORD TotalTimes)// 可完成的总次数,0表示不限次数
- SingleTimes = 0 #(DWORD SingleTimes)// 单次领奖需要的次数
- Point = 0 #(DWORD Point)// 单次领奖积分
- Count = 0 #(BYTE Count)// 物品数
- ItemInfo = list() #(vector<tagMCWeekPartyItem> ItemInfo)// 物品信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.TemplateID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ActionType,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.TotalTimes,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.SingleTimes,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.Point,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Count):
- temItemInfo = tagMCWeekPartyItem()
- _pos = temItemInfo.ReadData(_lpData, _pos)
- self.ItemInfo.append(temItemInfo)
- return _pos
-
- def Clear(self):
- self.TemplateID = 0
- self.ActionType = 0
- self.TotalTimes = 0
- self.SingleTimes = 0
- self.Point = 0
- self.Count = 0
- self.ItemInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += 4
- length += 2
- length += 4
- length += 4
- length += 4
- length += 1
- for i in range(self.Count):
- length += self.ItemInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteDWORD(data, self.TemplateID)
- data = CommFunc.WriteWORD(data, self.ActionType)
- data = CommFunc.WriteDWORD(data, self.TotalTimes)
- data = CommFunc.WriteDWORD(data, self.SingleTimes)
- data = CommFunc.WriteDWORD(data, self.Point)
- data = CommFunc.WriteBYTE(data, self.Count)
- for i in range(self.Count):
- data = CommFunc.WriteString(data, self.ItemInfo[i].GetLength(), self.ItemInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- TemplateID:%d,
- ActionType:%d,
- TotalTimes:%d,
- SingleTimes:%d,
- Point:%d,
- Count:%d,
- ItemInfo:%s
- '''\
- %(
- self.TemplateID,
- self.ActionType,
- self.TotalTimes,
- self.SingleTimes,
- self.Point,
- self.Count,
- "..."
- )
- return DumpString
-
-
-class tagMCWeekPartyDayInfo(Structure):
- ActCnt = 0 #(BYTE ActCnt)// 数量
- TemplateList = list() #(vector<WORD> TemplateList)// 模板列表
- PCount = 0 #(BYTE PCount)// 物品数
- PItemInfo = list() #(vector<tagMCWeekPartyItem> PItemInfo)// 物品信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.ActCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.ActCnt):
- value,_pos=CommFunc.ReadWORD(_lpData,_pos)
- self.TemplateList.append(value)
- self.PCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.PCount):
- temPItemInfo = tagMCWeekPartyItem()
- _pos = temPItemInfo.ReadData(_lpData, _pos)
- self.PItemInfo.append(temPItemInfo)
- return _pos
-
- def Clear(self):
- self.ActCnt = 0
- self.TemplateList = list()
- self.PCount = 0
- self.PItemInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += 1
- length += 2 * self.ActCnt
- length += 1
- for i in range(self.PCount):
- length += self.PItemInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.ActCnt)
- for i in range(self.ActCnt):
- data = CommFunc.WriteWORD(data, self.TemplateList[i])
- data = CommFunc.WriteBYTE(data, self.PCount)
- for i in range(self.PCount):
- data = CommFunc.WriteString(data, self.PItemInfo[i].GetLength(), self.PItemInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- ActCnt:%d,
- TemplateList:%s,
- PCount:%d,
- PItemInfo:%s
- '''\
- %(
- self.ActCnt,
- "...",
- self.PCount,
- "..."
- )
- return DumpString
-
-
-class tagMCWeekPartyInfo(Structure):
- Head = tagHead()
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- AdvanceMinutes = 0 #(WORD AdvanceMinutes)// 提前显示分钟
- IsDayReset = 0 #(BYTE IsDayReset)//是否每天重置
- ResetType = 0 #(BYTE ResetType)// 重置类型,0-0点重置;1-5点重置
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- DayCnt = 0 #(BYTE DayCnt)// 天数
- DayInfoList = list() #(vector<tagMCWeekPartyDayInfo> DayInfoList)// 每天模板
- TCount = 0 #(BYTE TCount)// 模板数
- ActionInfo = list() #(vector<tagMCWeekPartyAction> ActionInfo)// 活动模板信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x0A
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.AdvanceMinutes,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.IsDayReset,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.DayCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.DayCnt):
- temDayInfoList = tagMCWeekPartyDayInfo()
- _pos = temDayInfoList.ReadData(_lpData, _pos)
- self.DayInfoList.append(temDayInfoList)
- self.TCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.TCount):
- temActionInfo = tagMCWeekPartyAction()
- _pos = temActionInfo.ReadData(_lpData, _pos)
- self.ActionInfo.append(temActionInfo)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x0A
- self.StartDate = ""
- self.EndtDate = ""
- self.AdvanceMinutes = 0
- self.IsDayReset = 0
- self.ResetType = 0
- self.LimitLV = 0
- self.DayCnt = 0
- self.DayInfoList = list()
- self.TCount = 0
- self.ActionInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 10
- length += 10
- length += 2
- length += 1
- length += 1
- length += 2
- length += 1
- for i in range(self.DayCnt):
- length += self.DayInfoList[i].GetLength()
- length += 1
- for i in range(self.TCount):
- length += self.ActionInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteWORD(data, self.AdvanceMinutes)
- data = CommFunc.WriteBYTE(data, self.IsDayReset)
- data = CommFunc.WriteBYTE(data, self.ResetType)
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteBYTE(data, self.DayCnt)
- for i in range(self.DayCnt):
- data = CommFunc.WriteString(data, self.DayInfoList[i].GetLength(), self.DayInfoList[i].GetBuffer())
- data = CommFunc.WriteBYTE(data, self.TCount)
- for i in range(self.TCount):
- data = CommFunc.WriteString(data, self.ActionInfo[i].GetLength(), self.ActionInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- StartDate:%s,
- EndtDate:%s,
- AdvanceMinutes:%d,
- IsDayReset:%d,
- ResetType:%d,
- LimitLV:%d,
- DayCnt:%d,
- DayInfoList:%s,
- TCount:%d,
- ActionInfo:%s
- '''\
- %(
- self.Head.OutputString(),
- self.StartDate,
- self.EndtDate,
- self.AdvanceMinutes,
- self.IsDayReset,
- self.ResetType,
- self.LimitLV,
- self.DayCnt,
- "...",
- self.TCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCWeekPartyInfo=tagMCWeekPartyInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCWeekPartyInfo.Head.Cmd,m_NAtagMCWeekPartyInfo.Head.SubCmd))] = m_NAtagMCWeekPartyInfo
-
-
-#------------------------------------------------------
-# AA 0B 周狂欢玩家活动信息 #tagMCWeekPartyPlayerInfo
-
-class tagMCWeekPartyTaskInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("TemplateID", c_ushort), # 模板ID
- ("CurTimes", c_int), #已完成次数
- ("GotTimes", 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.TemplateID = 0
- self.CurTimes = 0
- self.GotTimes = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCWeekPartyTaskInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 0B 周狂欢玩家活动信息 //tagMCWeekPartyPlayerInfo:
- TemplateID:%d,
- CurTimes:%d,
- GotTimes:%d
- '''\
- %(
- self.TemplateID,
- self.CurTimes,
- self.GotTimes
- )
- return DumpString
-
-
-class tagMCWeekPartyDayPlayerInfo(Structure):
- DayIndex = 0 #(DWORD DayIndex)//第X天
- Point = 0 #(DWORD Point)//积分
- AwardRecord = 0 #(DWORD AwardRecord)//积分领奖记录
- ACount = 0 #(DWORD ACount)//任务条目数
- TaskList = list() #(vector<tagMCWeekPartyTaskInfo> TaskList)//活动完成次数信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.DayIndex,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.Point,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.AwardRecord,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ACount,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- for i in range(self.ACount):
- temTaskList = tagMCWeekPartyTaskInfo()
- _pos = temTaskList.ReadData(_lpData, _pos)
- self.TaskList.append(temTaskList)
- return _pos
-
- def Clear(self):
- self.DayIndex = 0
- self.Point = 0
- self.AwardRecord = 0
- self.ACount = 0
- self.TaskList = list()
- return
-
- def GetLength(self):
- length = 0
- length += 4
- length += 4
- length += 4
- length += 4
- for i in range(self.ACount):
- length += self.TaskList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteDWORD(data, self.DayIndex)
- data = CommFunc.WriteDWORD(data, self.Point)
- data = CommFunc.WriteDWORD(data, self.AwardRecord)
- data = CommFunc.WriteDWORD(data, self.ACount)
- for i in range(self.ACount):
- data = CommFunc.WriteString(data, self.TaskList[i].GetLength(), self.TaskList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- DayIndex:%d,
- Point:%d,
- AwardRecord:%d,
- ACount:%d,
- TaskList:%s
- '''\
- %(
- self.DayIndex,
- self.Point,
- self.AwardRecord,
- self.ACount,
- "..."
- )
- return DumpString
-
-
-class tagMCWeekPartyPlayerInfo(Structure):
- Head = tagHead()
- Count = 0 #(BYTE Count)
- DayInfoList = list() #(vector<tagMCWeekPartyDayPlayerInfo> DayInfoList)//活动完成次数信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x0B
- 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):
- temDayInfoList = tagMCWeekPartyDayPlayerInfo()
- _pos = temDayInfoList.ReadData(_lpData, _pos)
- self.DayInfoList.append(temDayInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x0B
- self.Count = 0
- self.DayInfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.Count):
- length += self.DayInfoList[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.DayInfoList[i].GetLength(), self.DayInfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Count:%d,
- DayInfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCWeekPartyPlayerInfo=tagMCWeekPartyPlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCWeekPartyPlayerInfo.Head.Cmd,m_NAtagMCWeekPartyPlayerInfo.Head.SubCmd))] = m_NAtagMCWeekPartyPlayerInfo
-
-
-#------------------------------------------------------
# AA 14 仙界盛典充值大礼 #tagMCXJSDRecharge
class tagMCXJSDRecharge(Structure):
@@ -29330,224 +26914,6 @@
m_NAtagSCOSACelebrationInfo=tagSCOSACelebrationInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagSCOSACelebrationInfo.Cmd,m_NAtagSCOSACelebrationInfo.SubCmd))] = m_NAtagSCOSACelebrationInfo
-
-
-#------------------------------------------------------
-# AC 13 跨服全民充值活动信息 #tagGCCrossActAllRechargeInfo
-
-class tagGCCrossActAllRechargeItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("ItemID", c_int),
- ("ItemCount", c_ushort),
- ("IsBind", 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.ItemID = 0
- self.ItemCount = 0
- self.IsBind = 0
- return
-
- def GetLength(self):
- return sizeof(tagGCCrossActAllRechargeItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AC 13 跨服全民充值活动信息 //tagGCCrossActAllRechargeInfo:
- ItemID:%d,
- ItemCount:%d,
- IsBind:%d
- '''\
- %(
- self.ItemID,
- self.ItemCount,
- self.IsBind
- )
- return DumpString
-
-
-class tagGCCrossActAllRechargeAward(Structure):
- AwardIndex = 0 #(BYTE AwardIndex)// 奖励索引 0~31
- NeedRMB = 0 #(DWORD NeedRMB)// 所需全民充值RMB
- NeedPlayerCount = 0 #(WORD NeedPlayerCount)// 所需充值达到该档玩家数
- NowPlayerCount = 0 #(WORD NowPlayerCount)// 当前充值达到该档玩家数
- AwardItemCount = 0 #(BYTE AwardItemCount)// 奖励物品数
- AwardItemList = list() #(vector<tagGCCrossActAllRechargeItem> AwardItemList)// 奖励物品信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.AwardIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.NeedRMB,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.NeedPlayerCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.NowPlayerCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.AwardItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.AwardItemCount):
- temAwardItemList = tagGCCrossActAllRechargeItem()
- _pos = temAwardItemList.ReadData(_lpData, _pos)
- self.AwardItemList.append(temAwardItemList)
- return _pos
-
- def Clear(self):
- self.AwardIndex = 0
- self.NeedRMB = 0
- self.NeedPlayerCount = 0
- self.NowPlayerCount = 0
- self.AwardItemCount = 0
- self.AwardItemList = list()
- return
-
- def GetLength(self):
- length = 0
- length += 1
- length += 4
- length += 2
- length += 2
- length += 1
- for i in range(self.AwardItemCount):
- length += self.AwardItemList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.AwardIndex)
- data = CommFunc.WriteDWORD(data, self.NeedRMB)
- data = CommFunc.WriteWORD(data, self.NeedPlayerCount)
- data = CommFunc.WriteWORD(data, self.NowPlayerCount)
- data = CommFunc.WriteBYTE(data, self.AwardItemCount)
- for i in range(self.AwardItemCount):
- data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- AwardIndex:%d,
- NeedRMB:%d,
- NeedPlayerCount:%d,
- NowPlayerCount:%d,
- AwardItemCount:%d,
- AwardItemList:%s
- '''\
- %(
- self.AwardIndex,
- self.NeedRMB,
- self.NeedPlayerCount,
- self.NowPlayerCount,
- self.AwardItemCount,
- "..."
- )
- return DumpString
-
-
-class tagGCCrossActAllRechargeInfo(Structure):
- Head = tagHead()
- ServerInfoLen = 0 #(BYTE ServerInfoLen)
- ServerIDRangeInfo = "" #(String ServerIDRangeInfo)//开放该活动的服务器ID范围列表,json格式 [[IDA, IDB], ...], [] 为全服
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- AwardCount = 0 #(BYTE AwardCount)
- AwardList = list() #(vector<tagGCCrossActAllRechargeAward> AwardList)// 奖励档次信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAC
- self.Head.SubCmd = 0x13
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ServerInfoLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ServerIDRangeInfo,_pos = CommFunc.ReadString(_lpData, _pos,self.ServerInfoLen)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.AwardCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.AwardCount):
- temAwardList = tagGCCrossActAllRechargeAward()
- _pos = temAwardList.ReadData(_lpData, _pos)
- self.AwardList.append(temAwardList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAC
- self.Head.SubCmd = 0x13
- self.ServerInfoLen = 0
- self.ServerIDRangeInfo = ""
- self.StartDate = ""
- self.EndtDate = ""
- self.AwardCount = 0
- self.AwardList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += len(self.ServerIDRangeInfo)
- length += 10
- length += 10
- length += 1
- for i in range(self.AwardCount):
- length += self.AwardList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.ServerInfoLen)
- data = CommFunc.WriteString(data, self.ServerInfoLen, self.ServerIDRangeInfo)
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteBYTE(data, self.AwardCount)
- for i in range(self.AwardCount):
- data = CommFunc.WriteString(data, self.AwardList[i].GetLength(), self.AwardList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ServerInfoLen:%d,
- ServerIDRangeInfo:%s,
- StartDate:%s,
- EndtDate:%s,
- AwardCount:%d,
- AwardList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.ServerInfoLen,
- self.ServerIDRangeInfo,
- self.StartDate,
- self.EndtDate,
- self.AwardCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagGCCrossActAllRechargeInfo=tagGCCrossActAllRechargeInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCCrossActAllRechargeInfo.Head.Cmd,m_NAtagGCCrossActAllRechargeInfo.Head.SubCmd))] = m_NAtagGCCrossActAllRechargeInfo
#------------------------------------------------------
@@ -45813,66 +43179,6 @@
#------------------------------------------------------
-# C0 11 跨服妖魔boss玩家伤害信息 #tagGCCrossYaomoBossPlayerHurtInfo
-
-class tagGCCrossYaomoBossPlayerHurtInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("HurtTotal", c_int), # 总伤害值,小于亿部分
- ("HurtTotalEx", c_int), # 总伤害值,整除亿部分
- ("AwardState", c_int), # 伤害目标值领奖状态,按奖励记录索引位运算判断是否已领取
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xC0
- self.SubCmd = 0x11
- 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 = 0xC0
- self.SubCmd = 0x11
- self.HurtTotal = 0
- self.HurtTotalEx = 0
- self.AwardState = 0
- return
-
- def GetLength(self):
- return sizeof(tagGCCrossYaomoBossPlayerHurtInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// C0 11 跨服妖魔boss玩家伤害信息 //tagGCCrossYaomoBossPlayerHurtInfo:
- Cmd:%s,
- SubCmd:%s,
- HurtTotal:%d,
- HurtTotalEx:%d,
- AwardState:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.HurtTotal,
- self.HurtTotalEx,
- self.AwardState
- )
- return DumpString
-
-
-m_NAtagGCCrossYaomoBossPlayerHurtInfo=tagGCCrossYaomoBossPlayerHurtInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCCrossYaomoBossPlayerHurtInfo.Cmd,m_NAtagGCCrossYaomoBossPlayerHurtInfo.SubCmd))] = m_NAtagGCCrossYaomoBossPlayerHurtInfo
-
-
-#------------------------------------------------------
# C0 10 跨服所属分区信息 #tagGCCrossZoneInfo
class tagGCCrossZoneInfo(Structure):
@@ -47750,572 +45056,6 @@
#------------------------------------------------------
-# C0 14 幸运云购开奖记录 #tagGCLuckyCloudBuyLotteryRecInfo
-
-class tagGCLuckyCloudBuyLotteryRec(Structure):
- SuperItemID = 0 #(DWORD SuperItemID)// 大奖物品ID
- SuperItemCount = 0 #(BYTE SuperItemCount)// 大奖物品个数
- NameLen = 0 #(BYTE NameLen)
- PlayerName = "" #(String PlayerName)// 中奖玩家名
- LotteryNum = 0 #(WORD LotteryNum)// 开奖号码
- LotteryTime = 0 #(DWORD LotteryTime)// 开奖时间戳,秒
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.SuperItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.SuperItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.PlayerName,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
- self.LotteryNum,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.LotteryTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.SuperItemID = 0
- self.SuperItemCount = 0
- self.NameLen = 0
- self.PlayerName = ""
- self.LotteryNum = 0
- self.LotteryTime = 0
- return
-
- def GetLength(self):
- length = 0
- length += 4
- length += 1
- length += 1
- length += len(self.PlayerName)
- length += 2
- length += 4
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteDWORD(data, self.SuperItemID)
- data = CommFunc.WriteBYTE(data, self.SuperItemCount)
- data = CommFunc.WriteBYTE(data, self.NameLen)
- data = CommFunc.WriteString(data, self.NameLen, self.PlayerName)
- data = CommFunc.WriteWORD(data, self.LotteryNum)
- data = CommFunc.WriteDWORD(data, self.LotteryTime)
- return data
-
- def OutputString(self):
- DumpString = '''
- SuperItemID:%d,
- SuperItemCount:%d,
- NameLen:%d,
- PlayerName:%s,
- LotteryNum:%d,
- LotteryTime:%d
- '''\
- %(
- self.SuperItemID,
- self.SuperItemCount,
- self.NameLen,
- self.PlayerName,
- self.LotteryNum,
- self.LotteryTime
- )
- return DumpString
-
-
-class tagGCLuckyCloudBuyLotteryRecInfo(Structure):
- Head = tagHead()
- ZoneCount = 0 #(BYTE ZoneCount)// 分区数
- ZoneIDList = list() #(vector<BYTE> ZoneIDList)// 所有分区ID列表
- ZoneID = 0 #(BYTE ZoneID)// 返回记录分区ID
- Count = 0 #(WORD Count)
- LotteryRecList = list() #(vector<tagGCLuckyCloudBuyLotteryRec> LotteryRecList)
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xC0
- self.Head.SubCmd = 0x14
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ZoneCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.ZoneCount):
- value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
- self.ZoneIDList.append(value)
- self.ZoneID,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.Count,_pos = CommFunc.ReadWORD(_lpData, _pos)
- for i in range(self.Count):
- temLotteryRecList = tagGCLuckyCloudBuyLotteryRec()
- _pos = temLotteryRecList.ReadData(_lpData, _pos)
- self.LotteryRecList.append(temLotteryRecList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xC0
- self.Head.SubCmd = 0x14
- self.ZoneCount = 0
- self.ZoneIDList = list()
- self.ZoneID = 0
- self.Count = 0
- self.LotteryRecList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 1 * self.ZoneCount
- length += 1
- length += 2
- for i in range(self.Count):
- length += self.LotteryRecList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.ZoneCount)
- for i in range(self.ZoneCount):
- data = CommFunc.WriteBYTE(data, self.ZoneIDList[i])
- data = CommFunc.WriteBYTE(data, self.ZoneID)
- data = CommFunc.WriteWORD(data, self.Count)
- for i in range(self.Count):
- data = CommFunc.WriteString(data, self.LotteryRecList[i].GetLength(), self.LotteryRecList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ZoneCount:%d,
- ZoneIDList:%s,
- ZoneID:%d,
- Count:%d,
- LotteryRecList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.ZoneCount,
- "...",
- self.ZoneID,
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagGCLuckyCloudBuyLotteryRecInfo=tagGCLuckyCloudBuyLotteryRecInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCLuckyCloudBuyLotteryRecInfo.Head.Cmd,m_NAtagGCLuckyCloudBuyLotteryRecInfo.Head.SubCmd))] = m_NAtagGCLuckyCloudBuyLotteryRecInfo
-
-
-#------------------------------------------------------
-# C0 13 幸运云购购买号码记录 #tagGCLuckyCloudBuyNumRecInfo
-
-class tagGCLuckyCloudBuyNumRec(Structure):
- NameLen = 0 #(BYTE NameLen)
- PlayerName = "" #(String PlayerName)
- BuyNum = 0 #(WORD BuyNum)
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.PlayerName,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
- self.BuyNum,_pos = CommFunc.ReadWORD(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.NameLen = 0
- self.PlayerName = ""
- self.BuyNum = 0
- return
-
- def GetLength(self):
- length = 0
- length += 1
- length += len(self.PlayerName)
- length += 2
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.NameLen)
- data = CommFunc.WriteString(data, self.NameLen, self.PlayerName)
- data = CommFunc.WriteWORD(data, self.BuyNum)
- return data
-
- def OutputString(self):
- DumpString = '''
- NameLen:%d,
- PlayerName:%s,
- BuyNum:%d
- '''\
- %(
- self.NameLen,
- self.PlayerName,
- self.BuyNum
- )
- return DumpString
-
-
-class tagGCLuckyCloudBuyNumRecInfo(Structure):
- Head = tagHead()
- RemainCount = 0 #(WORD RemainCount)// 开奖剩余份数
- Count = 0 #(WORD Count)
- BuyNumRecList = list() #(vector<tagGCLuckyCloudBuyNumRec> BuyNumRecList)
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xC0
- self.Head.SubCmd = 0x13
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.RemainCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.Count,_pos = CommFunc.ReadWORD(_lpData, _pos)
- for i in range(self.Count):
- temBuyNumRecList = tagGCLuckyCloudBuyNumRec()
- _pos = temBuyNumRecList.ReadData(_lpData, _pos)
- self.BuyNumRecList.append(temBuyNumRecList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xC0
- self.Head.SubCmd = 0x13
- self.RemainCount = 0
- self.Count = 0
- self.BuyNumRecList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 2
- length += 2
- for i in range(self.Count):
- length += self.BuyNumRecList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteWORD(data, self.RemainCount)
- data = CommFunc.WriteWORD(data, self.Count)
- for i in range(self.Count):
- data = CommFunc.WriteString(data, self.BuyNumRecList[i].GetLength(), self.BuyNumRecList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- RemainCount:%d,
- Count:%d,
- BuyNumRecList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.RemainCount,
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagGCLuckyCloudBuyNumRecInfo=tagGCLuckyCloudBuyNumRecInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCLuckyCloudBuyNumRecInfo.Head.Cmd,m_NAtagGCLuckyCloudBuyNumRecInfo.Head.SubCmd))] = m_NAtagGCLuckyCloudBuyNumRecInfo
-
-
-#------------------------------------------------------
-# C0 12 幸运云购轮次信息 #tagGCLuckyCloudBuyRoundInfo
-
-class tagGCLuckyCloudBuyRoundItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("ItemID", c_int),
- ("ItemCount", c_ushort),
- ("IsBind", 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.ItemID = 0
- self.ItemCount = 0
- self.IsBind = 0
- return
-
- def GetLength(self):
- return sizeof(tagGCLuckyCloudBuyRoundItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// C0 12 幸运云购轮次信息 //tagGCLuckyCloudBuyRoundInfo:
- ItemID:%d,
- ItemCount:%d,
- IsBind:%d
- '''\
- %(
- self.ItemID,
- self.ItemCount,
- self.IsBind
- )
- return DumpString
-
-
-class tagGCLuckyCloudBuyRoundTime(Structure):
- StartTime = "" #(char StartTime[5])// 开始时间 H:M
- EndtTime = "" #(char EndtTime[5])// 结束时间 H:M
- RoundMax = 0 #(BYTE RoundMax)// 本时段最大轮次
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.StartTime,_pos = CommFunc.ReadString(_lpData, _pos,5)
- self.EndtTime,_pos = CommFunc.ReadString(_lpData, _pos,5)
- self.RoundMax,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.StartTime = ""
- self.EndtTime = ""
- self.RoundMax = 0
- return
-
- def GetLength(self):
- length = 0
- length += 5
- length += 5
- length += 1
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, 5, self.StartTime)
- data = CommFunc.WriteString(data, 5, self.EndtTime)
- data = CommFunc.WriteBYTE(data, self.RoundMax)
- return data
-
- def OutputString(self):
- DumpString = '''
- StartTime:%s,
- EndtTime:%s,
- RoundMax:%d
- '''\
- %(
- self.StartTime,
- self.EndtTime,
- self.RoundMax
- )
- return DumpString
-
-
-class tagGCLuckyCloudBuyRoundInfo(Structure):
- Head = tagHead()
- ZoneID = 0 #(BYTE ZoneID)// 所属分区ID
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- RoundTimeCount = 0 #(BYTE RoundTimeCount)
- RoundTimeList = list() #(vector<tagGCLuckyCloudBuyRoundTime> RoundTimeList)//轮次时间段
- RoundID = 0 #(DWORD RoundID)// 轮次唯一ID标识,当收到的轮次ID变更时,前端需清空购买号码记录缓存
- RoundNum = 0 #(BYTE RoundNum)// 当前时段第几轮
- SuperItemID = 0 #(DWORD SuperItemID)// 大奖物品ID
- SuperItemCount = 0 #(BYTE SuperItemCount)// 大奖物品个数
- SuperItemMoneyType = 0 #(BYTE SuperItemMoneyType)// 大奖价值货币类型
- SuperItemMoneyValue = 0 #(DWORD SuperItemMoneyValue)// 大奖价值
- LVLimit = 0 #(WORD LVLimit)//开启等级
- BaseItemCount = 0 #(BYTE BaseItemCount)// 每次购买固定奖励物品数
- BaseItemList = list() #(vector<tagGCLuckyCloudBuyRoundItem> BaseItemList)// 每次购买固定奖励物品信息
- RandItemCount = 0 #(BYTE RandItemCount)// 每次购买随机奖励物品数
- RandItemList = list() #(vector<tagGCLuckyCloudBuyRoundItem> RandItemList)// 每次购买随机奖励物品信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xC0
- self.Head.SubCmd = 0x12
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ZoneID,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.RoundTimeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.RoundTimeCount):
- temRoundTimeList = tagGCLuckyCloudBuyRoundTime()
- _pos = temRoundTimeList.ReadData(_lpData, _pos)
- self.RoundTimeList.append(temRoundTimeList)
- self.RoundID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.RoundNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.SuperItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.SuperItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.SuperItemMoneyType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.SuperItemMoneyValue,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.LVLimit,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.BaseItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.BaseItemCount):
- temBaseItemList = tagGCLuckyCloudBuyRoundItem()
- _pos = temBaseItemList.ReadData(_lpData, _pos)
- self.BaseItemList.append(temBaseItemList)
- self.RandItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.RandItemCount):
- temRandItemList = tagGCLuckyCloudBuyRoundItem()
- _pos = temRandItemList.ReadData(_lpData, _pos)
- self.RandItemList.append(temRandItemList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xC0
- self.Head.SubCmd = 0x12
- self.ZoneID = 0
- self.StartDate = ""
- self.EndtDate = ""
- self.RoundTimeCount = 0
- self.RoundTimeList = list()
- self.RoundID = 0
- self.RoundNum = 0
- self.SuperItemID = 0
- self.SuperItemCount = 0
- self.SuperItemMoneyType = 0
- self.SuperItemMoneyValue = 0
- self.LVLimit = 0
- self.BaseItemCount = 0
- self.BaseItemList = list()
- self.RandItemCount = 0
- self.RandItemList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 10
- length += 10
- length += 1
- for i in range(self.RoundTimeCount):
- length += self.RoundTimeList[i].GetLength()
- length += 4
- length += 1
- length += 4
- length += 1
- length += 1
- length += 4
- length += 2
- length += 1
- for i in range(self.BaseItemCount):
- length += self.BaseItemList[i].GetLength()
- length += 1
- for i in range(self.RandItemCount):
- length += self.RandItemList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.ZoneID)
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteBYTE(data, self.RoundTimeCount)
- for i in range(self.RoundTimeCount):
- data = CommFunc.WriteString(data, self.RoundTimeList[i].GetLength(), self.RoundTimeList[i].GetBuffer())
- data = CommFunc.WriteDWORD(data, self.RoundID)
- data = CommFunc.WriteBYTE(data, self.RoundNum)
- data = CommFunc.WriteDWORD(data, self.SuperItemID)
- data = CommFunc.WriteBYTE(data, self.SuperItemCount)
- data = CommFunc.WriteBYTE(data, self.SuperItemMoneyType)
- data = CommFunc.WriteDWORD(data, self.SuperItemMoneyValue)
- data = CommFunc.WriteWORD(data, self.LVLimit)
- data = CommFunc.WriteBYTE(data, self.BaseItemCount)
- for i in range(self.BaseItemCount):
- data = CommFunc.WriteString(data, self.BaseItemList[i].GetLength(), self.BaseItemList[i].GetBuffer())
- data = CommFunc.WriteBYTE(data, self.RandItemCount)
- for i in range(self.RandItemCount):
- data = CommFunc.WriteString(data, self.RandItemList[i].GetLength(), self.RandItemList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ZoneID:%d,
- StartDate:%s,
- EndtDate:%s,
- RoundTimeCount:%d,
- RoundTimeList:%s,
- RoundID:%d,
- RoundNum:%d,
- SuperItemID:%d,
- SuperItemCount:%d,
- SuperItemMoneyType:%d,
- SuperItemMoneyValue:%d,
- LVLimit:%d,
- BaseItemCount:%d,
- BaseItemList:%s,
- RandItemCount:%d,
- RandItemList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.ZoneID,
- self.StartDate,
- self.EndtDate,
- self.RoundTimeCount,
- "...",
- self.RoundID,
- self.RoundNum,
- self.SuperItemID,
- self.SuperItemCount,
- self.SuperItemMoneyType,
- self.SuperItemMoneyValue,
- self.LVLimit,
- self.BaseItemCount,
- "...",
- self.RandItemCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagGCLuckyCloudBuyRoundInfo=tagGCLuckyCloudBuyRoundInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCLuckyCloudBuyRoundInfo.Head.Cmd,m_NAtagGCLuckyCloudBuyRoundInfo.Head.SubCmd))] = m_NAtagGCLuckyCloudBuyRoundInfo
-
-
-#------------------------------------------------------
# C1 09 跨服排位玩家信息 #tagMCChampionshipPlayerInfo
class tagMCChampionshipPlayerInfo(Structure):
@@ -48871,58 +45611,6 @@
#------------------------------------------------------
-# C1 08 幸运云购玩家信息 #tagMCLuckyCloudBuyPlayerInfo
-
-class tagMCLuckyCloudBuyPlayerInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("BuyCount", c_ushort), # 本轮已购买份数
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xC1
- self.SubCmd = 0x08
- 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 = 0xC1
- self.SubCmd = 0x08
- self.BuyCount = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCLuckyCloudBuyPlayerInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// C1 08 幸运云购玩家信息 //tagMCLuckyCloudBuyPlayerInfo:
- Cmd:%s,
- SubCmd:%s,
- BuyCount:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.BuyCount
- )
- return DumpString
-
-
-m_NAtagMCLuckyCloudBuyPlayerInfo=tagMCLuckyCloudBuyPlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCLuckyCloudBuyPlayerInfo.Cmd,m_NAtagMCLuckyCloudBuyPlayerInfo.SubCmd))] = m_NAtagMCLuckyCloudBuyPlayerInfo
-
-
-#------------------------------------------------------
# C1 04 准备进入跨服服务器 #tagMCPrepareEnterCrossServer
class tagMCPrepareEnterCrossServer(Structure):
@@ -49083,6 +45771,91 @@
#------------------------------------------------------
+# C2 04 跨服GM命令 #tagSSGMCMD
+
+class tagSSGMCMD(Structure):
+ Head = tagHead()
+ FromServerID = 0 #(DWORD FromServerID)//哪个服发的
+ ServerType = 0 #(BYTE ServerType)//服务器类型
+ PlayerID = 0 #(DWORD PlayerID)//哪个玩家触发发送的
+ CMDLen = 0 #(BYTE CMDLen)
+ CMDStr = "" #(String CMDStr)
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xC2
+ self.Head.SubCmd = 0x04
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.FromServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.ServerType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.CMDLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.CMDStr,_pos = CommFunc.ReadString(_lpData, _pos,self.CMDLen)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xC2
+ self.Head.SubCmd = 0x04
+ self.FromServerID = 0
+ self.ServerType = 0
+ self.PlayerID = 0
+ self.CMDLen = 0
+ self.CMDStr = ""
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 4
+ length += 1
+ length += 4
+ length += 1
+ length += len(self.CMDStr)
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteDWORD(data, self.FromServerID)
+ data = CommFunc.WriteBYTE(data, self.ServerType)
+ data = CommFunc.WriteDWORD(data, self.PlayerID)
+ data = CommFunc.WriteBYTE(data, self.CMDLen)
+ data = CommFunc.WriteString(data, self.CMDLen, self.CMDStr)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ FromServerID:%d,
+ ServerType:%d,
+ PlayerID:%d,
+ CMDLen:%d,
+ CMDStr:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.FromServerID,
+ self.ServerType,
+ self.PlayerID,
+ self.CMDLen,
+ self.CMDStr
+ )
+ return DumpString
+
+
+m_NAtagSSGMCMD=tagSSGMCMD()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagSSGMCMD.Head.Cmd,m_NAtagSSGMCMD.Head.SubCmd))] = m_NAtagSSGMCMD
+
+
+#------------------------------------------------------
# C2 02 服务器连接跨服成功 #tagSSServerConnOK
class tagSSServerConnOK(Structure):
--
Gitblit v1.8.0