From 11fe4059a5f65e1f27d78aa9a8d2a110e8122476 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 11 四月 2019 19:16:13 +0800
Subject: [PATCH] 6457 【后端】【2.0】缥缈仙域开发单(新增表)
---
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 2057 +++++++++++-----------------------------------------------
1 files changed, 390 insertions(+), 1,667 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index 826a739..8b7eeae 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -3371,62 +3371,6 @@
#------------------------------------------------------
-#A9 05 天梯竞技场每日奖励信息#tagGCHighLadderRewardInfo
-
-class tagGCHighLadderRewardInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("hadGot", c_ubyte), #是否已领取
- ("Order", c_ushort), #奖励排名
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA9
- self.SubCmd = 0x05
- 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 = 0xA9
- self.SubCmd = 0x05
- self.hadGot = 0
- self.Order = 0
- return
-
- def GetLength(self):
- return sizeof(tagGCHighLadderRewardInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//A9 05 天梯竞技场每日奖励信息//tagGCHighLadderRewardInfo:
- Cmd:%s,
- SubCmd:%s,
- hadGot:%d,
- Order:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.hadGot,
- self.Order
- )
- return DumpString
-
-
-m_NAtagGCHighLadderRewardInfo=tagGCHighLadderRewardInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCHighLadderRewardInfo.Cmd,m_NAtagGCHighLadderRewardInfo.SubCmd))] = m_NAtagGCHighLadderRewardInfo
-
-
-#------------------------------------------------------
#A9 03 开服活动奖励数量刷新#tagGCOpenServerCampaignAwardCount
class tagGCOpenServerCampaignAwardCount(Structure):
@@ -4185,124 +4129,6 @@
m_NAtagGCRecommendFriendsInfo=tagGCRecommendFriendsInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCRecommendFriendsInfo.Head.Cmd,m_NAtagGCRecommendFriendsInfo.Head.SubCmd))] = m_NAtagGCRecommendFriendsInfo
-
-
-#------------------------------------------------------
-# A9 07 定时商店刷新倒计时 #tagGCShopRefreshTimeList
-
-class tagGCShopRefreshTime(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ShopID", c_int), # 商店ID
- ("RemainSecond", c_int), # 多少秒后刷新
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA9
- self.SubCmd = 0x07
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xA9
- self.SubCmd = 0x07
- self.ShopID = 0
- self.RemainSecond = 0
- return
-
- def GetLength(self):
- return sizeof(tagGCShopRefreshTime)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A9 07 定时商店刷新倒计时 //tagGCShopRefreshTimeList:
- Cmd:%s,
- SubCmd:%s,
- ShopID:%d,
- RemainSecond:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ShopID,
- self.RemainSecond
- )
- return DumpString
-
-
-class tagGCShopRefreshTimeList(Structure):
- Head = tagHead()
- ShopCnt = 0 #(BYTE ShopCnt)//商店信息个数
- ShopTimeInfoList = list() #(vector<tagGCShopRefreshTime> ShopTimeInfoList)//商店信息列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA9
- self.Head.SubCmd = 0x07
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ShopCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.ShopCnt):
- temShopTimeInfoList = tagGCShopRefreshTime()
- _pos = temShopTimeInfoList.ReadData(_lpData, _pos)
- self.ShopTimeInfoList.append(temShopTimeInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA9
- self.Head.SubCmd = 0x07
- self.ShopCnt = 0
- self.ShopTimeInfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.ShopCnt):
- length += self.ShopTimeInfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.ShopCnt)
- for i in range(self.ShopCnt):
- data = CommFunc.WriteString(data, self.ShopTimeInfoList[i].GetLength(), self.ShopTimeInfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ShopCnt:%d,
- ShopTimeInfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.ShopCnt,
- "..."
- )
- return DumpString
-
-
-m_NAtagGCShopRefreshTimeList=tagGCShopRefreshTimeList()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCShopRefreshTimeList.Head.Cmd,m_NAtagGCShopRefreshTimeList.Head.SubCmd))] = m_NAtagGCShopRefreshTimeList
#------------------------------------------------------
@@ -5096,171 +4922,55 @@
#------------------------------------------------------
-# AC 01 通知领地争夺占领情况 #tagGCManorWarInfo
+# AC 07 骑宠Boss信息 #tagGCHorsePetBossInfo
-class tagGCManorInfo(Structure):
- Head = tagHead()
- MapID = 0 #(DWORD MapID)// 领地地图id
- FamilyID = 0 #(DWORD FamilyID)// 占领战盟id
- FNameLen = 0 #(BYTE FNameLen)// 战盟名字长度
- FamilyName = "" #(String FamilyName)// 战盟名 size = FNameLen
- LNameLen = 0 #(BYTE LNameLen)// 盟主名字长度
- LeaderName = "" #(String LeaderName)// 盟主名 size = LNameLen
- OccupyDays = 0 #(WORD OccupyDays)// 连续占领天数
- LastFamilyID = 0 #(DWORD LastFamilyID)// 上次占领的战盟id
- data = None
+class tagGCHorsePetBossInfo(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("IsEnd", c_int), # 是否已结束(按位代表对应线路是否结束)
+ ]
def __init__(self):
self.Clear()
- self.Head.Cmd = 0xAC
- self.Head.SubCmd = 0x01
+ self.Cmd = 0xAC
+ self.SubCmd = 0x07
return
- def ReadData(self, _lpData, _pos=0, _Len=0):
+ def ReadData(self, stringData, _pos=0, _len=0):
self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.MapID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.FamilyID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.FNameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.FamilyName,_pos = CommFunc.ReadString(_lpData, _pos,self.FNameLen)
- self.LNameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.LeaderName,_pos = CommFunc.ReadString(_lpData, _pos,self.LNameLen)
- self.OccupyDays,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.LastFamilyID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- return _pos
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAC
- self.Head.SubCmd = 0x01
- self.MapID = 0
- self.FamilyID = 0
- self.FNameLen = 0
- self.FamilyName = ""
- self.LNameLen = 0
- self.LeaderName = ""
- self.OccupyDays = 0
- self.LastFamilyID = 0
+ self.Cmd = 0xAC
+ self.SubCmd = 0x07
+ self.IsEnd = 0
return
def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 4
- length += 4
- length += 1
- length += len(self.FamilyName)
- length += 1
- length += len(self.LeaderName)
- length += 2
- length += 4
-
- return length
+ return sizeof(tagGCHorsePetBossInfo)
def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteDWORD(data, self.MapID)
- data = CommFunc.WriteDWORD(data, self.FamilyID)
- data = CommFunc.WriteBYTE(data, self.FNameLen)
- data = CommFunc.WriteString(data, self.FNameLen, self.FamilyName)
- data = CommFunc.WriteBYTE(data, self.LNameLen)
- data = CommFunc.WriteString(data, self.LNameLen, self.LeaderName)
- data = CommFunc.WriteWORD(data, self.OccupyDays)
- data = CommFunc.WriteDWORD(data, self.LastFamilyID)
- return data
+ return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''
- Head:%s,
- MapID:%d,
- FamilyID:%d,
- FNameLen:%d,
- FamilyName:%s,
- LNameLen:%d,
- LeaderName:%s,
- OccupyDays:%d,
- LastFamilyID:%d
+ DumpString = '''// AC 07 骑宠Boss信息 //tagGCHorsePetBossInfo:
+ Cmd:%s,
+ SubCmd:%s,
+ IsEnd:%d
'''\
%(
- self.Head.OutputString(),
- self.MapID,
- self.FamilyID,
- self.FNameLen,
- self.FamilyName,
- self.LNameLen,
- self.LeaderName,
- self.OccupyDays,
- self.LastFamilyID
+ self.Cmd,
+ self.SubCmd,
+ self.IsEnd
)
return DumpString
-class tagGCManorWarInfo(Structure):
- Head = tagHead()
- ManorCnt = 0 #(BYTE ManorCnt)//领地个数
- ManorInfoList = list() #(vector<tagGCManorInfo> ManorInfoList)//领地信息列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAC
- self.Head.SubCmd = 0x01
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ManorCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.ManorCnt):
- temManorInfoList = tagGCManorInfo()
- _pos = temManorInfoList.ReadData(_lpData, _pos)
- self.ManorInfoList.append(temManorInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAC
- self.Head.SubCmd = 0x01
- self.ManorCnt = 0
- self.ManorInfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.ManorCnt):
- length += self.ManorInfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.ManorCnt)
- for i in range(self.ManorCnt):
- data = CommFunc.WriteString(data, self.ManorInfoList[i].GetLength(), self.ManorInfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ManorCnt:%d,
- ManorInfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.ManorCnt,
- "..."
- )
- return DumpString
-
-
-m_NAtagGCManorWarInfo=tagGCManorWarInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCManorWarInfo.Head.Cmd,m_NAtagGCManorWarInfo.Head.SubCmd))] = m_NAtagGCManorWarInfo
+m_NAtagGCHorsePetBossInfo=tagGCHorsePetBossInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCHorsePetBossInfo.Cmd,m_NAtagGCHorsePetBossInfo.SubCmd))] = m_NAtagGCHorsePetBossInfo
#------------------------------------------------------
@@ -5725,132 +5435,6 @@
m_NAtagGCXMZZFightInfo=tagGCXMZZFightInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCXMZZFightInfo.Head.Cmd,m_NAtagGCXMZZFightInfo.Head.SubCmd))] = m_NAtagGCXMZZFightInfo
-
-
-#------------------------------------------------------
-# AD 01 特惠活动信息 #tagGCTeHuiActivityInfoList
-
-class tagGCTeHuiActivityInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ActivityType", c_ubyte), # 活动类型
- ("ActivityValue", c_int), # 活动值
- ("StartDate", c_int), # 开始时间time
- ("EndDate", c_int), # 结束时间time
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAD
- self.SubCmd = 0x01
- 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 = 0xAD
- self.SubCmd = 0x01
- self.ActivityType = 0
- self.ActivityValue = 0
- self.StartDate = 0
- self.EndDate = 0
- return
-
- def GetLength(self):
- return sizeof(tagGCTeHuiActivityInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AD 01 特惠活动信息 //tagGCTeHuiActivityInfoList:
- Cmd:%s,
- SubCmd:%s,
- ActivityType:%d,
- ActivityValue:%d,
- StartDate:%d,
- EndDate:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ActivityType,
- self.ActivityValue,
- self.StartDate,
- self.EndDate
- )
- return DumpString
-
-
-class tagGCTeHuiActivityInfoList(Structure):
- Head = tagHead()
- ActivityCount = 0 #(BYTE ActivityCount)//活动信息个数
- ActivityInfoList = list() #(vector<tagGCTeHuiActivityInfo> ActivityInfoList)//活动信息列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAD
- self.Head.SubCmd = 0x01
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ActivityCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.ActivityCount):
- temActivityInfoList = tagGCTeHuiActivityInfo()
- _pos = temActivityInfoList.ReadData(_lpData, _pos)
- self.ActivityInfoList.append(temActivityInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAD
- self.Head.SubCmd = 0x01
- self.ActivityCount = 0
- self.ActivityInfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.ActivityCount):
- length += self.ActivityInfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.ActivityCount)
- for i in range(self.ActivityCount):
- data = CommFunc.WriteString(data, self.ActivityInfoList[i].GetLength(), self.ActivityInfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ActivityCount:%d,
- ActivityInfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.ActivityCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagGCTeHuiActivityInfoList=tagGCTeHuiActivityInfoList()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCTeHuiActivityInfoList.Head.Cmd,m_NAtagGCTeHuiActivityInfoList.Head.SubCmd))] = m_NAtagGCTeHuiActivityInfoList
#------------------------------------------------------
@@ -7091,6 +6675,7 @@
ItemCount = 0 #(WORD ItemCount)
AddTime = "" #(char AddTime[19])//上架时间 yyyy-MM-dd hh:mm:ss
BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价
+ BiddingTime = "" #(char BiddingTime[19])//竞价时间 yyyy-MM-dd hh:mm:ss
UserDataLen = 0 #(WORD UserDataLen)
UserData = "" #(String UserData)//自定义数据
data = None
@@ -7107,6 +6692,7 @@
self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
self.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.BiddingTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
return _pos
@@ -7118,6 +6704,7 @@
self.ItemCount = 0
self.AddTime = ""
self.BidderPrice = 0
+ self.BiddingTime = ""
self.UserDataLen = 0
self.UserData = ""
return
@@ -7130,6 +6717,7 @@
length += 2
length += 19
length += 2
+ length += 19
length += 2
length += len(self.UserData)
@@ -7143,6 +6731,7 @@
data = CommFunc.WriteWORD(data, self.ItemCount)
data = CommFunc.WriteString(data, 19, self.AddTime)
data = CommFunc.WriteWORD(data, self.BidderPrice)
+ data = CommFunc.WriteString(data, 19, self.BiddingTime)
data = CommFunc.WriteWORD(data, self.UserDataLen)
data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
return data
@@ -7155,6 +6744,7 @@
ItemCount:%d,
AddTime:%s,
BidderPrice:%d,
+ BiddingTime:%s,
UserDataLen:%d,
UserData:%s
'''\
@@ -7165,6 +6755,7 @@
self.ItemCount,
self.AddTime,
self.BidderPrice,
+ self.BiddingTime,
self.UserDataLen,
self.UserData
)
@@ -7247,6 +6838,7 @@
ItemCount = 0 #(WORD ItemCount)
AddTime = "" #(char AddTime[19])//上架时间 yyyy-MM-dd hh:mm:ss
BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价
+ BiddingTime = "" #(char BiddingTime[19])//竞价时间 yyyy-MM-dd hh:mm:ss
UserDataLen = 0 #(WORD UserDataLen)
UserData = "" #(String UserData)//自定义数据
data = None
@@ -7263,6 +6855,7 @@
self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
self.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.BiddingTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
return _pos
@@ -7274,6 +6867,7 @@
self.ItemCount = 0
self.AddTime = ""
self.BidderPrice = 0
+ self.BiddingTime = ""
self.UserDataLen = 0
self.UserData = ""
return
@@ -7286,6 +6880,7 @@
length += 2
length += 19
length += 2
+ length += 19
length += 2
length += len(self.UserData)
@@ -7299,6 +6894,7 @@
data = CommFunc.WriteWORD(data, self.ItemCount)
data = CommFunc.WriteString(data, 19, self.AddTime)
data = CommFunc.WriteWORD(data, self.BidderPrice)
+ data = CommFunc.WriteString(data, 19, self.BiddingTime)
data = CommFunc.WriteWORD(data, self.UserDataLen)
data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
return data
@@ -7311,6 +6907,7 @@
ItemCount:%d,
AddTime:%s,
BidderPrice:%d,
+ BiddingTime:%s,
UserDataLen:%d,
UserData:%s
'''\
@@ -7321,6 +6918,7 @@
self.ItemCount,
self.AddTime,
self.BidderPrice,
+ self.BiddingTime,
self.UserDataLen,
self.UserData
)
@@ -7480,6 +7078,7 @@
AddTime = "" #(char AddTime[19])//上架时间 yyyy-MM-dd hh:mm:ss
BidderID = 0 #(DWORD BidderID)//竞拍玩家ID,也就是当前最高竞价玩家ID
BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价
+ BiddingTime = "" #(char BiddingTime[19])//竞价时间 yyyy-MM-dd hh:mm:ss
UserDataLen = 0 #(WORD UserDataLen)
UserData = "" #(String UserData)//自定义数据
data = None
@@ -7497,6 +7096,7 @@
self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
self.BidderID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.BiddingTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
return _pos
@@ -7509,6 +7109,7 @@
self.AddTime = ""
self.BidderID = 0
self.BidderPrice = 0
+ self.BiddingTime = ""
self.UserDataLen = 0
self.UserData = ""
return
@@ -7522,6 +7123,7 @@
length += 19
length += 4
length += 2
+ length += 19
length += 2
length += len(self.UserData)
@@ -7536,6 +7138,7 @@
data = CommFunc.WriteString(data, 19, self.AddTime)
data = CommFunc.WriteDWORD(data, self.BidderID)
data = CommFunc.WriteWORD(data, self.BidderPrice)
+ data = CommFunc.WriteString(data, 19, self.BiddingTime)
data = CommFunc.WriteWORD(data, self.UserDataLen)
data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
return data
@@ -7549,6 +7152,7 @@
AddTime:%s,
BidderID:%d,
BidderPrice:%d,
+ BiddingTime:%s,
UserDataLen:%d,
UserData:%s
'''\
@@ -7560,6 +7164,7 @@
self.AddTime,
self.BidderID,
self.BidderPrice,
+ self.BiddingTime,
self.UserDataLen,
self.UserData
)
@@ -7749,6 +7354,7 @@
ItemCount = 0 #(WORD ItemCount)
AddTime = "" #(char AddTime[19])//上架时间 yyyy-MM-dd hh:mm:ss
BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价
+ BiddingTime = "" #(char BiddingTime[19])//竞价时间 yyyy-MM-dd hh:mm:ss
UserDataLen = 0 #(WORD UserDataLen)
UserData = "" #(String UserData)//自定义数据
FamilyPlayerIDLen = 0 #(WORD FamilyPlayerIDLen)
@@ -7768,6 +7374,7 @@
self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
self.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.BiddingTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
self.FamilyPlayerIDLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
@@ -7782,6 +7389,7 @@
self.ItemCount = 0
self.AddTime = ""
self.BidderPrice = 0
+ self.BiddingTime = ""
self.UserDataLen = 0
self.UserData = ""
self.FamilyPlayerIDLen = 0
@@ -7797,6 +7405,7 @@
length += 2
length += 19
length += 2
+ length += 19
length += 2
length += len(self.UserData)
length += 2
@@ -7813,6 +7422,7 @@
data = CommFunc.WriteWORD(data, self.ItemCount)
data = CommFunc.WriteString(data, 19, self.AddTime)
data = CommFunc.WriteWORD(data, self.BidderPrice)
+ data = CommFunc.WriteString(data, 19, self.BiddingTime)
data = CommFunc.WriteWORD(data, self.UserDataLen)
data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
data = CommFunc.WriteWORD(data, self.FamilyPlayerIDLen)
@@ -7828,6 +7438,7 @@
ItemCount:%d,
AddTime:%s,
BidderPrice:%d,
+ BiddingTime:%s,
UserDataLen:%d,
UserData:%s,
FamilyPlayerIDLen:%d,
@@ -7841,6 +7452,7 @@
self.ItemCount,
self.AddTime,
self.BidderPrice,
+ self.BiddingTime,
self.UserDataLen,
self.UserData,
self.FamilyPlayerIDLen,
@@ -7926,6 +7538,7 @@
ItemCount = 0 #(WORD ItemCount)
AddTime = "" #(char AddTime[19])//上架时间 yyyy-MM-dd hh:mm:ss
BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价
+ BiddingTime = "" #(char BiddingTime[19])//竞价时间 yyyy-MM-dd hh:mm:ss
UserDataLen = 0 #(WORD UserDataLen)
UserData = "" #(String UserData)//自定义数据
data = None
@@ -7942,6 +7555,7 @@
self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
self.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.BiddingTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
return _pos
@@ -7953,6 +7567,7 @@
self.ItemCount = 0
self.AddTime = ""
self.BidderPrice = 0
+ self.BiddingTime = ""
self.UserDataLen = 0
self.UserData = ""
return
@@ -7965,6 +7580,7 @@
length += 2
length += 19
length += 2
+ length += 19
length += 2
length += len(self.UserData)
@@ -7978,6 +7594,7 @@
data = CommFunc.WriteWORD(data, self.ItemCount)
data = CommFunc.WriteString(data, 19, self.AddTime)
data = CommFunc.WriteWORD(data, self.BidderPrice)
+ data = CommFunc.WriteString(data, 19, self.BiddingTime)
data = CommFunc.WriteWORD(data, self.UserDataLen)
data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
return data
@@ -7990,6 +7607,7 @@
ItemCount:%d,
AddTime:%s,
BidderPrice:%d,
+ BiddingTime:%s,
UserDataLen:%d,
UserData:%s
'''\
@@ -8000,6 +7618,7 @@
self.ItemCount,
self.AddTime,
self.BidderPrice,
+ self.BiddingTime,
self.UserDataLen,
self.UserData
)
@@ -8258,6 +7877,7 @@
AddTime = "" #(char AddTime[19])//上架时间
BidderID = 0 #(DWORD BidderID)//最高竞拍玩家ID,也就是当前最高竞价玩家ID
BidderPrice = 0 #(DWORD BidderPrice)//最高竞拍价格
+ BiddingTime = "" #(char BiddingTime[19])//竞价时间 yyyy-MM-dd hh:mm:ss
data = None
def __init__(self):
@@ -8271,6 +7891,7 @@
self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
self.BidderID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.BidderPrice,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.BiddingTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
return _pos
def Clear(self):
@@ -8279,6 +7900,7 @@
self.AddTime = ""
self.BidderID = 0
self.BidderPrice = 0
+ self.BiddingTime = ""
return
def GetLength(self):
@@ -8288,6 +7910,7 @@
length += 19
length += 4
length += 4
+ length += 19
return length
@@ -8298,6 +7921,7 @@
data = CommFunc.WriteString(data, 19, self.AddTime)
data = CommFunc.WriteDWORD(data, self.BidderID)
data = CommFunc.WriteDWORD(data, self.BidderPrice)
+ data = CommFunc.WriteString(data, 19, self.BiddingTime)
return data
def OutputString(self):
@@ -8306,14 +7930,16 @@
AuctionType:%d,
AddTime:%s,
BidderID:%d,
- BidderPrice:%d
+ BidderPrice:%d,
+ BiddingTime:%s
'''\
%(
self.ItemGUID,
self.AuctionType,
self.AddTime,
self.BidderID,
- self.BidderPrice
+ self.BidderPrice,
+ self.BiddingTime
)
return DumpString
@@ -13393,6 +13019,8 @@
_fields_ = [
("ActionID", c_int), # ID
("DayFinishCnt", c_ushort), # 今日已完成次数
+ ("DayBuyTimes", c_ubyte), # 今日购买次数
+ ("DayItemTimes", c_ubyte), # 今日物品增加次数
("WeekFinishCnt", c_int), # 本周已完成次数
]
@@ -13408,6 +13036,8 @@
def Clear(self):
self.ActionID = 0
self.DayFinishCnt = 0
+ self.DayBuyTimes = 0
+ self.DayItemTimes = 0
self.WeekFinishCnt = 0
return
@@ -13421,11 +13051,15 @@
DumpString = '''// A3 15 日常活动次数通知 //tagMCDailyActionCnt:
ActionID:%d,
DayFinishCnt:%d,
+ DayBuyTimes:%d,
+ DayItemTimes:%d,
WeekFinishCnt:%d
'''\
%(
self.ActionID,
self.DayFinishCnt,
+ self.DayBuyTimes,
+ self.DayItemTimes,
self.WeekFinishCnt
)
return DumpString
@@ -14111,6 +13745,240 @@
m_NAtagMCEquipPartXLAttrInfo=tagMCEquipPartXLAttrInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCEquipPartXLAttrInfo.Head.Cmd,m_NAtagMCEquipPartXLAttrInfo.Head.SubCmd))] = m_NAtagMCEquipPartXLAttrInfo
+
+
+#------------------------------------------------------
+# A3 07 缥缈奇遇信息 #tagMCFairyAdventuresInfo
+
+class tagMCFairyAdventuresData(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("EventID", c_ubyte),
+ ("Gear", c_ubyte), #第几档
+ ("Condition", 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.EventID = 0
+ self.Gear = 0
+ self.Condition = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagMCFairyAdventuresData)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A3 07 缥缈奇遇信息 //tagMCFairyAdventuresInfo:
+ EventID:%d,
+ Gear:%d,
+ Condition:%d
+ '''\
+ %(
+ self.EventID,
+ self.Gear,
+ self.Condition
+ )
+ return DumpString
+
+
+class tagMCFairyAdventuresInfo(Structure):
+ Head = tagHead()
+ Cnt = 0 #(BYTE Cnt)
+ InfoList = list() #(vector<tagMCFairyAdventuresData> InfoList)// 信息
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xA3
+ self.Head.SubCmd = 0x07
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.Cnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.Cnt):
+ temInfoList = tagMCFairyAdventuresData()
+ _pos = temInfoList.ReadData(_lpData, _pos)
+ self.InfoList.append(temInfoList)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xA3
+ self.Head.SubCmd = 0x07
+ self.Cnt = 0
+ self.InfoList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ for i in range(self.Cnt):
+ length += self.InfoList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteBYTE(data, self.Cnt)
+ for i in range(self.Cnt):
+ data = CommFunc.WriteString(data, self.InfoList[i].GetLength(), self.InfoList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ Cnt:%d,
+ InfoList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.Cnt,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagMCFairyAdventuresInfo=tagMCFairyAdventuresInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFairyAdventuresInfo.Head.Cmd,m_NAtagMCFairyAdventuresInfo.Head.SubCmd))] = m_NAtagMCFairyAdventuresInfo
+
+
+#------------------------------------------------------
+# A3 06 缥缈仙域信息 #tagMCFairyDomainInfo
+
+class tagMCFairyDomainEvent(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("EventID", c_ushort), #事件ID
+ ("EventState", c_ubyte), #事件状态 1-可拜访 2-拜访中 3-已拜访
+ ]
+
+ 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.EventID = 0
+ self.EventState = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagMCFairyDomainEvent)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A3 06 缥缈仙域信息 //tagMCFairyDomainInfo:
+ EventID:%d,
+ EventState:%d
+ '''\
+ %(
+ self.EventID,
+ self.EventState
+ )
+ return DumpString
+
+
+class tagMCFairyDomainInfo(Structure):
+ Head = tagHead()
+ State = 0 #(BYTE State)//是否寻访中
+ Energy = 0 #(WORD Energy)//体力
+ Count = 0 #(BYTE Count)// 信息个数
+ InfoList = list() #(vector<tagMCFairyDomainEvent> InfoList)// 信息列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xA3
+ self.Head.SubCmd = 0x06
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.State,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.Energy,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.Count):
+ temInfoList = tagMCFairyDomainEvent()
+ _pos = temInfoList.ReadData(_lpData, _pos)
+ self.InfoList.append(temInfoList)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xA3
+ self.Head.SubCmd = 0x06
+ self.State = 0
+ self.Energy = 0
+ self.Count = 0
+ self.InfoList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ length += 2
+ length += 1
+ for i in range(self.Count):
+ length += self.InfoList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteBYTE(data, self.State)
+ data = CommFunc.WriteWORD(data, self.Energy)
+ data = CommFunc.WriteBYTE(data, self.Count)
+ for i in range(self.Count):
+ data = CommFunc.WriteString(data, self.InfoList[i].GetLength(), self.InfoList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ State:%d,
+ Energy:%d,
+ Count:%d,
+ InfoList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.State,
+ self.Energy,
+ self.Count,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagMCFairyDomainInfo=tagMCFairyDomainInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFairyDomainInfo.Head.Cmd,m_NAtagMCFairyDomainInfo.Head.SubCmd))] = m_NAtagMCFairyDomainInfo
#------------------------------------------------------
@@ -15107,73 +14975,6 @@
#------------------------------------------------------
-# A3 12 通知玩家法宝信息 #tagMCMagicWeaponData
-
-class tagMCMagicWeaponData(Structure):
- Head = tagHead()
- Num = 0 #(BYTE Num)//个数
- MagicWeaponID = list() #(vector<DWORD> MagicWeaponID)// 已激活的法宝ID列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x12
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.Num,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Num):
- value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
- self.MagicWeaponID.append(value)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x12
- self.Num = 0
- self.MagicWeaponID = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 4 * self.Num
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.Num)
- for i in range(self.Num):
- data = CommFunc.WriteDWORD(data, self.MagicWeaponID[i])
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Num:%d,
- MagicWeaponID:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Num,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCMagicWeaponData=tagMCMagicWeaponData()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCMagicWeaponData.Head.Cmd,m_NAtagMCMagicWeaponData.Head.SubCmd))] = m_NAtagMCMagicWeaponData
-
-
-#------------------------------------------------------
# A3 52 法宝等级信息 #tagMCMagicWeaponLVInfo
class tagMCMagicWeaponInfo(Structure):
@@ -15182,7 +14983,6 @@
("MWID", c_int),
("LV", c_ubyte),
("Exp", c_int),
- ("State", c_ubyte), #是否点击法宝认主
("FBPassLV", c_ubyte), #副本关卡
("IsWear", c_ubyte), #是否佩戴(仅适用王者法宝)
]
@@ -15200,7 +15000,6 @@
self.MWID = 0
self.LV = 0
self.Exp = 0
- self.State = 0
self.FBPassLV = 0
self.IsWear = 0
return
@@ -15216,7 +15015,6 @@
MWID:%d,
LV:%d,
Exp:%d,
- State:%d,
FBPassLV:%d,
IsWear:%d
'''\
@@ -15224,7 +15022,6 @@
self.MWID,
self.LV,
self.Exp,
- self.State,
self.FBPassLV,
self.IsWear
)
@@ -18331,74 +18128,6 @@
#------------------------------------------------------
-#A5 34 天梯竞技场状态#tagMCHighLadderState
-
-class tagMCHighLadderState(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("Count", c_ubyte), #已挑战次数
- ("MaxCount", c_ubyte), #最大次数
- ("CDTime", c_int), #累计冷却时间
- ("IsRelCD", c_ubyte), #是否正在真实冷却状态
- ("Currency", c_int), #积分
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA5
- 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 = 0xA5
- self.SubCmd = 0x34
- self.Count = 0
- self.MaxCount = 0
- self.CDTime = 0
- self.IsRelCD = 0
- self.Currency = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCHighLadderState)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//A5 34 天梯竞技场状态//tagMCHighLadderState:
- Cmd:%s,
- SubCmd:%s,
- Count:%d,
- MaxCount:%d,
- CDTime:%d,
- IsRelCD:%d,
- Currency:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.Count,
- self.MaxCount,
- self.CDTime,
- self.IsRelCD,
- self.Currency
- )
- return DumpString
-
-
-m_NAtagMCHighLadderState=tagMCHighLadderState()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCHighLadderState.Cmd,m_NAtagMCHighLadderState.SubCmd))] = m_NAtagMCHighLadderState
-
-
-#------------------------------------------------------
#A5 01 查看已申请加入的家族信息 #tagMCNotifyRequestJoinFamilyInfo
class tagRequestJoinFamily(Structure):
@@ -21269,126 +20998,6 @@
#------------------------------------------------------
-# A8 04 通知商店限购物品已购买次数信息 # tagMCShopItemBuyCntInfoList
-
-class tagMCShopItemBuyCntInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("ShopID", c_int),
- ("ItemShopIndex", c_ushort),
- ("ItemID", c_int),
- ("BuyCnt", c_int), # 个人已购买数
- ("ServerBuyCnt", 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.ShopID = 0
- self.ItemShopIndex = 0
- self.ItemID = 0
- self.BuyCnt = 0
- self.ServerBuyCnt = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCShopItemBuyCntInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A8 04 通知商店限购物品已购买次数信息 // tagMCShopItemBuyCntInfoList:
- ShopID:%d,
- ItemShopIndex:%d,
- ItemID:%d,
- BuyCnt:%d,
- ServerBuyCnt:%d
- '''\
- %(
- self.ShopID,
- self.ItemShopIndex,
- self.ItemID,
- self.BuyCnt,
- self.ServerBuyCnt
- )
- return DumpString
-
-
-class tagMCShopItemBuyCntInfoList(Structure):
- Head = tagHead()
- Count = 0 #(BYTE Count)//通知个数
- BuyCntList = list() #(vector<tagMCShopItemBuyCntInfo> BuyCntList)
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA8
- self.Head.SubCmd = 0x04
- 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):
- temBuyCntList = tagMCShopItemBuyCntInfo()
- _pos = temBuyCntList.ReadData(_lpData, _pos)
- self.BuyCntList.append(temBuyCntList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA8
- self.Head.SubCmd = 0x04
- self.Count = 0
- self.BuyCntList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.Count):
- length += self.BuyCntList[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.BuyCntList[i].GetLength(), self.BuyCntList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Count:%d,
- BuyCntList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCShopItemBuyCntInfoList=tagMCShopItemBuyCntInfoList()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCShopItemBuyCntInfoList.Head.Cmd,m_NAtagMCShopItemBuyCntInfoList.Head.SubCmd))] = m_NAtagMCShopItemBuyCntInfoList
-
-
-#------------------------------------------------------
# A8 02 通知NPC商店物品今日已购买次数 #tagMCShopItemDayBuyCntInfo
class tagMCShopItemDayBuyCnt(Structure):
@@ -21498,239 +21107,6 @@
m_NAtagMCShopItemDayBuyCntInfo=tagMCShopItemDayBuyCntInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCShopItemDayBuyCntInfo.Head.Cmd,m_NAtagMCShopItemDayBuyCntInfo.Head.SubCmd))] = m_NAtagMCShopItemDayBuyCntInfo
-
-
-#------------------------------------------------------
-# A8 03 通知自定义商店物品信息 #tagMCShopItemInfoList
-
-class tagMCShopItemInfo(Structure):
- ShopID = 0 #(DWORD ShopID)
- ItemShopIndex = 0 #(WORD ItemShopIndex)
- DataSize = 0 #(DWORD DataSize)
- ItemList = "" #(String ItemList)//物品列表[[物品ID,数量,是否绑定,是否定制]]
- PriceType = 0 #(BYTE PriceType)
- Price = 0 #(DWORD Price)
- OriginalPrice = 0 #(DWORD OriginalPrice)// 原价
- PlayerLVLimit = 0 #(WORD PlayerLVLimit)// 购买等级限制
- FamilyLVLimit = 0 #(BYTE FamilyLVLimit)// 购买战盟等级限制
- MaxBuyCnt = 0 #(DWORD MaxBuyCnt)// 个人限购数
- ServerMaxBuyCnt = 0 #(DWORD ServerMaxBuyCnt)// 全服限购数
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.ShopID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ItemShopIndex,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.DataSize,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ItemList,_pos = CommFunc.ReadString(_lpData, _pos,self.DataSize)
- self.PriceType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.Price,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.OriginalPrice,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.PlayerLVLimit,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.FamilyLVLimit,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.MaxBuyCnt,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ServerMaxBuyCnt,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.ShopID = 0
- self.ItemShopIndex = 0
- self.DataSize = 0
- self.ItemList = ""
- self.PriceType = 0
- self.Price = 0
- self.OriginalPrice = 0
- self.PlayerLVLimit = 0
- self.FamilyLVLimit = 0
- self.MaxBuyCnt = 0
- self.ServerMaxBuyCnt = 0
- return
-
- def GetLength(self):
- length = 0
- length += 4
- length += 2
- length += 4
- length += len(self.ItemList)
- length += 1
- length += 4
- length += 4
- length += 2
- length += 1
- length += 4
- length += 4
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteDWORD(data, self.ShopID)
- data = CommFunc.WriteWORD(data, self.ItemShopIndex)
- data = CommFunc.WriteDWORD(data, self.DataSize)
- data = CommFunc.WriteString(data, self.DataSize, self.ItemList)
- data = CommFunc.WriteBYTE(data, self.PriceType)
- data = CommFunc.WriteDWORD(data, self.Price)
- data = CommFunc.WriteDWORD(data, self.OriginalPrice)
- data = CommFunc.WriteWORD(data, self.PlayerLVLimit)
- data = CommFunc.WriteBYTE(data, self.FamilyLVLimit)
- data = CommFunc.WriteDWORD(data, self.MaxBuyCnt)
- data = CommFunc.WriteDWORD(data, self.ServerMaxBuyCnt)
- return data
-
- def OutputString(self):
- DumpString = '''
- ShopID:%d,
- ItemShopIndex:%d,
- DataSize:%d,
- ItemList:%s,
- PriceType:%d,
- Price:%d,
- OriginalPrice:%d,
- PlayerLVLimit:%d,
- FamilyLVLimit:%d,
- MaxBuyCnt:%d,
- ServerMaxBuyCnt:%d
- '''\
- %(
- self.ShopID,
- self.ItemShopIndex,
- self.DataSize,
- self.ItemList,
- self.PriceType,
- self.Price,
- self.OriginalPrice,
- self.PlayerLVLimit,
- self.FamilyLVLimit,
- self.MaxBuyCnt,
- self.ServerMaxBuyCnt
- )
- return DumpString
-
-
-class tagMCShopItemInfoList(Structure):
- Head = tagHead()
- Count = 0 #(BYTE Count)//通知个数
- ShopItemList = list() #(vector<tagMCShopItemInfo> ShopItemList)
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA8
- self.Head.SubCmd = 0x03
- 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):
- temShopItemList = tagMCShopItemInfo()
- _pos = temShopItemList.ReadData(_lpData, _pos)
- self.ShopItemList.append(temShopItemList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA8
- self.Head.SubCmd = 0x03
- self.Count = 0
- self.ShopItemList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.Count):
- length += self.ShopItemList[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.ShopItemList[i].GetLength(), self.ShopItemList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Count:%d,
- ShopItemList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCShopItemInfoList=tagMCShopItemInfoList()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCShopItemInfoList.Head.Cmd,m_NAtagMCShopItemInfoList.Head.SubCmd))] = m_NAtagMCShopItemInfoList
-
-
-#------------------------------------------------------
-# A8 05 通知神秘商店刷新次数 #tagMCShopRefreshCnt
-
-class tagMCShopRefreshCnt(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ShopID", c_int), #商店ID
- ("RefreshCnt", c_ushort), #已手动刷新次数
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA8
- self.SubCmd = 0x05
- 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 = 0xA8
- self.SubCmd = 0x05
- self.ShopID = 0
- self.RefreshCnt = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCShopRefreshCnt)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A8 05 通知神秘商店刷新次数 //tagMCShopRefreshCnt:
- Cmd:%s,
- SubCmd:%s,
- ShopID:%d,
- RefreshCnt:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ShopID,
- self.RefreshCnt
- )
- return DumpString
-
-
-m_NAtagMCShopRefreshCnt=tagMCShopRefreshCnt()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCShopRefreshCnt.Cmd,m_NAtagMCShopRefreshCnt.SubCmd))] = m_NAtagMCShopRefreshCnt
#------------------------------------------------------
@@ -23178,240 +22554,6 @@
m_NAtagMCAllPeoplePartyInfo=tagMCAllPeoplePartyInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCAllPeoplePartyInfo.Head.Cmd,m_NAtagMCAllPeoplePartyInfo.Head.SubCmd))] = m_NAtagMCAllPeoplePartyInfo
-
-
-#------------------------------------------------------
-# AA 03 升阶功能特惠奖励记录 #tagMCClassUPDayAwardRecordList
-
-class tagMCClassUPDayAwardRecord(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("DayType", c_ubyte), # 奖励日类型
- ("Record", c_int), # 奖励记录
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x03
- 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 = 0x03
- self.DayType = 0
- self.Record = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCClassUPDayAwardRecord)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 03 升阶功能特惠奖励记录 //tagMCClassUPDayAwardRecordList:
- Cmd:%s,
- SubCmd:%s,
- DayType:%d,
- Record:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.DayType,
- self.Record
- )
- return DumpString
-
-
-class tagMCClassUPDayAwardRecordList(Structure):
- Head = tagHead()
- RecordCount = 0 #(BYTE RecordCount)//记录个数
- RecordInfoList = list() #(vector<tagMCClassUPDayAwardRecord> RecordInfoList)//记录列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x03
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.RecordCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.RecordCount):
- temRecordInfoList = tagMCClassUPDayAwardRecord()
- _pos = temRecordInfoList.ReadData(_lpData, _pos)
- self.RecordInfoList.append(temRecordInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x03
- self.RecordCount = 0
- self.RecordInfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.RecordCount):
- length += self.RecordInfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.RecordCount)
- for i in range(self.RecordCount):
- data = CommFunc.WriteString(data, self.RecordInfoList[i].GetLength(), self.RecordInfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- RecordCount:%d,
- RecordInfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.RecordCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCClassUPDayAwardRecordList=tagMCClassUPDayAwardRecordList()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCClassUPDayAwardRecordList.Head.Cmd,m_NAtagMCClassUPDayAwardRecordList.Head.SubCmd))] = m_NAtagMCClassUPDayAwardRecordList
-
-
-#------------------------------------------------------
-# AA 06 消费奖励信息 #tagMCCostProfitInfo
-
-class tagMCCostProfitInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ActionID", c_int), # 活动ID
- ("TotalCost", c_int), # 总消费
- ("AwardState", c_int), # 奖励领取状态
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x06
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xAA
- self.SubCmd = 0x06
- self.ActionID = 0
- self.TotalCost = 0
- self.AwardState = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCCostProfitInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 06 消费奖励信息 //tagMCCostProfitInfo:
- Cmd:%s,
- SubCmd:%s,
- ActionID:%d,
- TotalCost:%d,
- AwardState:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ActionID,
- self.TotalCost,
- self.AwardState
- )
- return DumpString
-
-
-m_NAtagMCCostProfitInfo=tagMCCostProfitInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCCostProfitInfo.Cmd,m_NAtagMCCostProfitInfo.SubCmd))] = m_NAtagMCCostProfitInfo
-
-
-#------------------------------------------------------
-# AA 07 消费排行特惠信息 #tagMCCostRankTeHuiInfo
-
-class tagMCCostRankTeHuiInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ActionID", c_int), # 活动ID
- ("TotalCost", c_int), # 总累计消费钻石
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x07
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xAA
- self.SubCmd = 0x07
- self.ActionID = 0
- self.TotalCost = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCCostRankTeHuiInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 07 消费排行特惠信息 //tagMCCostRankTeHuiInfo:
- Cmd:%s,
- SubCmd:%s,
- ActionID:%d,
- TotalCost:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ActionID,
- self.TotalCost
- )
- return DumpString
-
-
-m_NAtagMCCostRankTeHuiInfo=tagMCCostRankTeHuiInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCCostRankTeHuiInfo.Cmd,m_NAtagMCCostRankTeHuiInfo.SubCmd))] = m_NAtagMCCostRankTeHuiInfo
#------------------------------------------------------
@@ -25613,198 +24755,6 @@
#------------------------------------------------------
-# AA 05 充值排行特惠信息 #tagMCRechargeRankTeHuiInfo
-
-class tagMCRechargeRankTeHuiInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ActionID", c_int), # 活动ID
- ("TotalGold", c_int), # 总累计充值元宝
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x05
- 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 = 0x05
- self.ActionID = 0
- self.TotalGold = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCRechargeRankTeHuiInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 05 充值排行特惠信息 //tagMCRechargeRankTeHuiInfo:
- Cmd:%s,
- SubCmd:%s,
- ActionID:%d,
- TotalGold:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ActionID,
- self.TotalGold
- )
- return DumpString
-
-
-m_NAtagMCRechargeRankTeHuiInfo=tagMCRechargeRankTeHuiInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCRechargeRankTeHuiInfo.Cmd,m_NAtagMCRechargeRankTeHuiInfo.SubCmd))] = m_NAtagMCRechargeRankTeHuiInfo
-
-
-#------------------------------------------------------
-# AA 04 充值特惠信息 #tagMCRechargeTeHuiInfoList
-
-class tagMCRechargeTeHuiInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("GotCnt", c_ubyte), # 已领取次数
- ("CanGetCnt", c_ubyte), # 当前可领取次数
- ("CurTotalGold", c_int), # 当前规则累计充值元宝-仅针对累充规则
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x04
- 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 = 0x04
- self.GotCnt = 0
- self.CanGetCnt = 0
- self.CurTotalGold = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCRechargeTeHuiInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 04 充值特惠信息 //tagMCRechargeTeHuiInfoList:
- Cmd:%s,
- SubCmd:%s,
- GotCnt:%d,
- CanGetCnt:%d,
- CurTotalGold:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.GotCnt,
- self.CanGetCnt,
- self.CurTotalGold
- )
- return DumpString
-
-
-class tagMCRechargeTeHuiInfoList(Structure):
- Head = tagHead()
- ActionID = 0 #(DWORD ActionID)// 活动ID
- TotalGold = 0 #(DWORD TotalGold)// 总累计充值元宝
- InfoCnt = 0 #(BYTE InfoCnt)// 信息个数
- InfoList = list() #(vector<tagMCRechargeTeHuiInfo> InfoList)// 信息列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x04
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ActionID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.TotalGold,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.InfoCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.InfoCnt):
- temInfoList = tagMCRechargeTeHuiInfo()
- _pos = temInfoList.ReadData(_lpData, _pos)
- self.InfoList.append(temInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x04
- self.ActionID = 0
- self.TotalGold = 0
- self.InfoCnt = 0
- self.InfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 4
- length += 4
- length += 1
- for i in range(self.InfoCnt):
- length += self.InfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteDWORD(data, self.ActionID)
- data = CommFunc.WriteDWORD(data, self.TotalGold)
- data = CommFunc.WriteBYTE(data, self.InfoCnt)
- for i in range(self.InfoCnt):
- data = CommFunc.WriteString(data, self.InfoList[i].GetLength(), self.InfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ActionID:%d,
- TotalGold:%d,
- InfoCnt:%d,
- InfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.ActionID,
- self.TotalGold,
- self.InfoCnt,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCRechargeTeHuiInfoList=tagMCRechargeTeHuiInfoList()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCRechargeTeHuiInfoList.Head.Cmd,m_NAtagMCRechargeTeHuiInfoList.Head.SubCmd))] = m_NAtagMCRechargeTeHuiInfoList
-
-
-#------------------------------------------------------
# AA 11 限时特惠活动信息 #tagMCSpringSaleInfo
class tagMCSpringSaleItem(Structure):
@@ -26992,310 +25942,6 @@
m_NAtagMCBossRebornPlayerInfo=tagMCBossRebornPlayerInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCBossRebornPlayerInfo.Head.Cmd,m_NAtagMCBossRebornPlayerInfo.Head.SubCmd))] = m_NAtagMCBossRebornPlayerInfo
-
-
-#------------------------------------------------------
-# AB 06 活动物品兑换次数记录 #tagMCExchangeActionItemCntRecord
-
-class tagMCExchangeActionItemCnt(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ItemID", c_int),
- ("ExcCnt", c_int), # 已兑换次数
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAB
- self.SubCmd = 0x06
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xAB
- self.SubCmd = 0x06
- self.ItemID = 0
- self.ExcCnt = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCExchangeActionItemCnt)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AB 06 活动物品兑换次数记录 //tagMCExchangeActionItemCntRecord:
- Cmd:%s,
- SubCmd:%s,
- ItemID:%d,
- ExcCnt:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ItemID,
- self.ExcCnt
- )
- return DumpString
-
-
-class tagMCExchangeActionItemCntRecord(Structure):
- Head = tagHead()
- ActionKeyLen = 0 #(BYTE ActionKeyLen)
- ActionKey = "" #(String ActionKey)
- RecordCnt = 0 #(BYTE RecordCnt)
- RecordList = list() #(vector<tagMCExchangeActionItemCnt> RecordList)
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAB
- self.Head.SubCmd = 0x06
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ActionKeyLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ActionKey,_pos = CommFunc.ReadString(_lpData, _pos,self.ActionKeyLen)
- self.RecordCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.RecordCnt):
- temRecordList = tagMCExchangeActionItemCnt()
- _pos = temRecordList.ReadData(_lpData, _pos)
- self.RecordList.append(temRecordList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAB
- self.Head.SubCmd = 0x06
- self.ActionKeyLen = 0
- self.ActionKey = ""
- self.RecordCnt = 0
- self.RecordList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += len(self.ActionKey)
- length += 1
- for i in range(self.RecordCnt):
- length += self.RecordList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.ActionKeyLen)
- data = CommFunc.WriteString(data, self.ActionKeyLen, self.ActionKey)
- data = CommFunc.WriteBYTE(data, self.RecordCnt)
- for i in range(self.RecordCnt):
- data = CommFunc.WriteString(data, self.RecordList[i].GetLength(), self.RecordList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ActionKeyLen:%d,
- ActionKey:%s,
- RecordCnt:%d,
- RecordList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.ActionKeyLen,
- self.ActionKey,
- self.RecordCnt,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCExchangeActionItemCntRecord=tagMCExchangeActionItemCntRecord()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCExchangeActionItemCntRecord.Head.Cmd,m_NAtagMCExchangeActionItemCntRecord.Head.SubCmd))] = m_NAtagMCExchangeActionItemCntRecord
-
-
-#------------------------------------------------------
-# AB 07 节日活动奖励状态 #tagMCFestivalLoginAwardState
-
-class tagMCFestivalLoginAwardState(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("FestivalType", c_ubyte), # 节日类型
- ("State", c_int), # 领取状态 <按位取值,0-未领取 1-可领取 2-已领取>
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAB
- self.SubCmd = 0x07
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xAB
- self.SubCmd = 0x07
- self.FestivalType = 0
- self.State = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCFestivalLoginAwardState)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AB 07 节日活动奖励状态 //tagMCFestivalLoginAwardState:
- Cmd:%s,
- SubCmd:%s,
- FestivalType:%d,
- State:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.FestivalType,
- self.State
- )
- return DumpString
-
-
-m_NAtagMCFestivalLoginAwardState=tagMCFestivalLoginAwardState()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFestivalLoginAwardState.Cmd,m_NAtagMCFestivalLoginAwardState.SubCmd))] = m_NAtagMCFestivalLoginAwardState
-
-
-#------------------------------------------------------
-# AB 02 领地占领每日奖励领奖情况 #tagMCManorDailyAward
-
-class tagMCManorDailyAward(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("AwardRecord", c_int), # 按位表示每个领地领取情况;0-未领,1-已领
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAB
- self.SubCmd = 0x02
- 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 = 0xAB
- self.SubCmd = 0x02
- self.AwardRecord = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCManorDailyAward)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AB 02 领地占领每日奖励领奖情况 //tagMCManorDailyAward:
- Cmd:%s,
- SubCmd:%s,
- AwardRecord:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.AwardRecord
- )
- return DumpString
-
-
-m_NAtagMCManorDailyAward=tagMCManorDailyAward()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCManorDailyAward.Cmd,m_NAtagMCManorDailyAward.SubCmd))] = m_NAtagMCManorDailyAward
-
-
-#------------------------------------------------------
-# AB 01 通知领地战结果 #tagMCManorWarResult
-
-class tagMCManorWarResult(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("Type", c_ubyte), # 0-普通信息;1-活动结果总结
- ("Result", c_ubyte), # 战盟胜负情况;0-未知,1-胜利,2-失败
- ("JoinTime", c_int), # 活动时总参与时间,毫秒
- ("JoinAward", c_ubyte), # 参与奖状态;0-不可领,1-可领,2-已领
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAB
- self.SubCmd = 0x01
- 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 = 0xAB
- self.SubCmd = 0x01
- self.Type = 0
- self.Result = 0
- self.JoinTime = 0
- self.JoinAward = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCManorWarResult)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AB 01 通知领地战结果 //tagMCManorWarResult:
- Cmd:%s,
- SubCmd:%s,
- Type:%d,
- Result:%d,
- JoinTime:%d,
- JoinAward:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.Type,
- self.Result,
- self.JoinTime,
- self.JoinAward
- )
- return DumpString
-
-
-m_NAtagMCManorWarResult=tagMCManorWarResult()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCManorWarResult.Cmd,m_NAtagMCManorWarResult.SubCmd))] = m_NAtagMCManorWarResult
#------------------------------------------------------
@@ -28668,6 +27314,83 @@
#------------------------------------------------------
+# B1 07 玩家点数信息 #tagMCRolePointInfo
+
+class tagMCRolePointInfo(Structure):
+ Head = tagHead()
+ PointAttrIDCount = 0 #(BYTE PointAttrIDCount)// 点类型个数
+ PointAttrIDList = list() #(vector<BYTE> PointAttrIDList)// 点类型列表
+ PointValueList = list() #(vector<WORD> PointValueList)// 点类型对应已加自由点数列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB1
+ self.Head.SubCmd = 0x07
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.PointAttrIDCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.PointAttrIDCount):
+ value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
+ self.PointAttrIDList.append(value)
+ for i in range(self.PointAttrIDCount):
+ value,_pos=CommFunc.ReadWORD(_lpData,_pos)
+ self.PointValueList.append(value)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB1
+ self.Head.SubCmd = 0x07
+ self.PointAttrIDCount = 0
+ self.PointAttrIDList = list()
+ self.PointValueList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ length += 1 * self.PointAttrIDCount
+ length += 2 * self.PointAttrIDCount
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteBYTE(data, self.PointAttrIDCount)
+ for i in range(self.PointAttrIDCount):
+ data = CommFunc.WriteBYTE(data, self.PointAttrIDList[i])
+ for i in range(self.PointAttrIDCount):
+ data = CommFunc.WriteWORD(data, self.PointValueList[i])
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ PointAttrIDCount:%d,
+ PointAttrIDList:%s,
+ PointValueList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.PointAttrIDCount,
+ "...",
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagMCRolePointInfo=tagMCRolePointInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCRolePointInfo.Head.Cmd,m_NAtagMCRolePointInfo.Head.SubCmd))] = m_NAtagMCRolePointInfo
+
+
+#------------------------------------------------------
# B1 01 玩家技能连击通知 #tagMCSkillCombo
class tagMCSkillCombo(Structure):
--
Gitblit v1.8.0