From 93367a2607db214ec6dda86bd796c1291bc06a49 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 27 三月 2019 15:29:05 +0800
Subject: [PATCH] 3167 【BUG】【2.0】拍卖,消耗了仙玉没获得拍品
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 2544 +++++++++++++++++++---------------------------------------
1 files changed, 851 insertions(+), 1,693 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index 8bfb261..c85740d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -899,6 +899,58 @@
#------------------------------------------------------
+# A4 0C 多仙盟boss活动信息 #tagGCAllFamilyBossInfo
+
+class tagGCAllFamilyBossInfo(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("IsEnd", c_ubyte), # 是否已结束
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA4
+ self.SubCmd = 0x0C
+ 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 = 0xA4
+ self.SubCmd = 0x0C
+ self.IsEnd = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagGCAllFamilyBossInfo)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A4 0C 多仙盟boss活动信息 //tagGCAllFamilyBossInfo:
+ Cmd:%s,
+ SubCmd:%s,
+ IsEnd:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.IsEnd
+ )
+ return DumpString
+
+
+m_NAtagGCAllFamilyBossInfo=tagGCAllFamilyBossInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAllFamilyBossInfo.Cmd,m_NAtagGCAllFamilyBossInfo.SubCmd))] = m_NAtagGCAllFamilyBossInfo
+
+
+#------------------------------------------------------
# A4 0A 假仙盟信息 #tagGCFakeFamilyInfo
class tagGCFakeFamilyInfo(Structure):
@@ -3319,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):
@@ -4133,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
#------------------------------------------------------
@@ -5044,6 +4922,58 @@
#------------------------------------------------------
+# AC 07 骑宠Boss信息 #tagGCHorsePetBossInfo
+
+class tagGCHorsePetBossInfo(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("IsEnd", c_int), # 是否已结束(按位代表对应线路是否结束)
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xAC
+ 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 = 0xAC
+ self.SubCmd = 0x07
+ self.IsEnd = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagGCHorsePetBossInfo)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// AC 07 骑宠Boss信息 //tagGCHorsePetBossInfo:
+ Cmd:%s,
+ SubCmd:%s,
+ IsEnd:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.IsEnd
+ )
+ return DumpString
+
+
+m_NAtagGCHorsePetBossInfo=tagGCHorsePetBossInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCHorsePetBossInfo.Cmd,m_NAtagGCHorsePetBossInfo.SubCmd))] = m_NAtagGCHorsePetBossInfo
+
+
+#------------------------------------------------------
# AC 01 通知领地争夺占领情况 #tagGCManorWarInfo
class tagGCManorInfo(Structure):
@@ -5673,132 +5603,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
#------------------------------------------------------
@@ -6849,12 +6653,57 @@
#------------------------------------------------------
-# B5 04 拍卖行新上架拍品 #tagGCAddAuctionItem
+# B5 04 拍卖行新上架拍品 #tagGCAddAuctionItemInfo
class tagGCAddAuctionItem(Structure):
- Head = tagHead()
ItemGUID = "" #(char ItemGUID[40])
ItemID = 0 #(DWORD ItemID)
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+ self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ return _pos
+
+ def Clear(self):
+ self.ItemGUID = ""
+ self.ItemID = 0
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 40
+ length += 4
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, 40, self.ItemGUID)
+ data = CommFunc.WriteDWORD(data, self.ItemID)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ ItemGUID:%s,
+ ItemID:%d
+ '''\
+ %(
+ self.ItemGUID,
+ self.ItemID
+ )
+ return DumpString
+
+
+class tagGCAddAuctionItemInfo(Structure):
+ Head = tagHead()
+ AddCount = 0 #(BYTE AddCount)
+ AddAuctionItemList = list() #(vector<tagGCAddAuctionItem> AddAuctionItemList)
data = None
def __init__(self):
@@ -6866,8 +6715,11 @@
def ReadData(self, _lpData, _pos=0, _Len=0):
self.Clear()
_pos = self.Head.ReadData(_lpData, _pos)
- self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
- self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.AddCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.AddCount):
+ temAddAuctionItemList = tagGCAddAuctionItem()
+ _pos = temAddAuctionItemList.ReadData(_lpData, _pos)
+ self.AddAuctionItemList.append(temAddAuctionItemList)
return _pos
def Clear(self):
@@ -6875,41 +6727,43 @@
self.Head.Clear()
self.Head.Cmd = 0xB5
self.Head.SubCmd = 0x04
- self.ItemGUID = ""
- self.ItemID = 0
+ self.AddCount = 0
+ self.AddAuctionItemList = list()
return
def GetLength(self):
length = 0
length += self.Head.GetLength()
- length += 40
- length += 4
+ length += 1
+ for i in range(self.AddCount):
+ length += self.AddAuctionItemList[i].GetLength()
return length
def GetBuffer(self):
data = ''
data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 40, self.ItemGUID)
- data = CommFunc.WriteDWORD(data, self.ItemID)
+ data = CommFunc.WriteBYTE(data, self.AddCount)
+ for i in range(self.AddCount):
+ data = CommFunc.WriteString(data, self.AddAuctionItemList[i].GetLength(), self.AddAuctionItemList[i].GetBuffer())
return data
def OutputString(self):
DumpString = '''
Head:%s,
- ItemGUID:%s,
- ItemID:%d
+ AddCount:%d,
+ AddAuctionItemList:%s
'''\
%(
self.Head.OutputString(),
- self.ItemGUID,
- self.ItemID
+ self.AddCount,
+ "..."
)
return DumpString
-m_NAtagGCAddAuctionItem=tagGCAddAuctionItem()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAddAuctionItem.Head.Cmd,m_NAtagGCAddAuctionItem.Head.SubCmd))] = m_NAtagGCAddAuctionItem
+m_NAtagGCAddAuctionItemInfo=tagGCAddAuctionItemInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAddAuctionItemInfo.Head.Cmd,m_NAtagGCAddAuctionItemInfo.Head.SubCmd))] = m_NAtagGCAddAuctionItemInfo
#------------------------------------------------------
@@ -6989,9 +6843,9 @@
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)//自定义数据
- CanGetMoney = 0 #(BYTE CanGetMoney)//可否获得收益
data = None
def __init__(self):
@@ -7006,9 +6860,9 @@
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.CanGetMoney,_pos = CommFunc.ReadBYTE(_lpData, _pos)
return _pos
def Clear(self):
@@ -7018,9 +6872,9 @@
self.ItemCount = 0
self.AddTime = ""
self.BidderPrice = 0
+ self.BiddingTime = ""
self.UserDataLen = 0
self.UserData = ""
- self.CanGetMoney = 0
return
def GetLength(self):
@@ -7031,9 +6885,9 @@
length += 2
length += 19
length += 2
+ length += 19
length += 2
length += len(self.UserData)
- length += 1
return length
@@ -7045,9 +6899,9 @@
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.WriteBYTE(data, self.CanGetMoney)
return data
def OutputString(self):
@@ -7058,9 +6912,9 @@
ItemCount:%d,
AddTime:%s,
BidderPrice:%d,
+ BiddingTime:%s,
UserDataLen:%d,
- UserData:%s,
- CanGetMoney:%d
+ UserData:%s
'''\
%(
self.ItemGUID,
@@ -7069,9 +6923,9 @@
self.ItemCount,
self.AddTime,
self.BidderPrice,
+ self.BiddingTime,
self.UserDataLen,
- self.UserData,
- self.CanGetMoney
+ self.UserData
)
return DumpString
@@ -7152,9 +7006,9 @@
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)//自定义数据
- CanGetMoney = 0 #(BYTE CanGetMoney)//可否获得收益
data = None
def __init__(self):
@@ -7169,9 +7023,9 @@
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.CanGetMoney,_pos = CommFunc.ReadBYTE(_lpData, _pos)
return _pos
def Clear(self):
@@ -7181,9 +7035,9 @@
self.ItemCount = 0
self.AddTime = ""
self.BidderPrice = 0
+ self.BiddingTime = ""
self.UserDataLen = 0
self.UserData = ""
- self.CanGetMoney = 0
return
def GetLength(self):
@@ -7194,9 +7048,9 @@
length += 2
length += 19
length += 2
+ length += 19
length += 2
length += len(self.UserData)
- length += 1
return length
@@ -7208,9 +7062,9 @@
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.WriteBYTE(data, self.CanGetMoney)
return data
def OutputString(self):
@@ -7221,9 +7075,9 @@
ItemCount:%d,
AddTime:%s,
BidderPrice:%d,
+ BiddingTime:%s,
UserDataLen:%d,
- UserData:%s,
- CanGetMoney:%d
+ UserData:%s
'''\
%(
self.ItemGUID,
@@ -7232,9 +7086,9 @@
self.ItemCount,
self.AddTime,
self.BidderPrice,
+ self.BiddingTime,
self.UserDataLen,
- self.UserData,
- self.CanGetMoney
+ self.UserData
)
return DumpString
@@ -7247,9 +7101,10 @@
ClassLV = 0 #(BYTE ClassLV)//过滤阶数,0为不限制
SpecItemIDCount = 0 #(BYTE SpecItemIDCount)//指定物品ID个数
SpecItemIDList = list() #(vector<DWORD> SpecItemIDList)//指定物品ID
- FromNum = 0 #(WORD FromNum)//查询起始数 (从1开始)
+ FromItemGUID = "" #(char FromItemGUID[40])//从哪个物品开始查询
+ QueryDir = 0 #(BYTE QueryDir)//查询方向,1-往后查,2-往前查,3-定位查询
QueryCount = 0 #(BYTE QueryCount)//查询个数,0为全部
- QueryTotalCount = 0 #(WORD QueryTotalCount)//查询条件实际总个数
+ QueryRemainlCount = 0 #(WORD QueryRemainlCount)//查询条件对应查询方向剩余个数
AuctionItemCount = 0 #(BYTE AuctionItemCount)//返回拍品数量
AuctionItemList = list() #(vector<tagGCAuctionItem> AuctionItemList)//返回拍品列表
data = None
@@ -7273,9 +7128,10 @@
for i in range(self.SpecItemIDCount):
value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
self.SpecItemIDList.append(value)
- self.FromNum,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.FromItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+ self.QueryDir,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.QueryCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.QueryTotalCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.QueryRemainlCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.AuctionItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.AuctionItemCount):
temAuctionItemList = tagGCAuctionItem()
@@ -7294,9 +7150,10 @@
self.ClassLV = 0
self.SpecItemIDCount = 0
self.SpecItemIDList = list()
- self.FromNum = 0
+ self.FromItemGUID = ""
+ self.QueryDir = 0
self.QueryCount = 0
- self.QueryTotalCount = 0
+ self.QueryRemainlCount = 0
self.AuctionItemCount = 0
self.AuctionItemList = list()
return
@@ -7310,7 +7167,8 @@
length += 1
length += 1
length += 4 * self.SpecItemIDCount
- length += 2
+ length += 40
+ length += 1
length += 1
length += 2
length += 1
@@ -7330,9 +7188,10 @@
data = CommFunc.WriteBYTE(data, self.SpecItemIDCount)
for i in range(self.SpecItemIDCount):
data = CommFunc.WriteDWORD(data, self.SpecItemIDList[i])
- data = CommFunc.WriteWORD(data, self.FromNum)
+ data = CommFunc.WriteString(data, 40, self.FromItemGUID)
+ data = CommFunc.WriteBYTE(data, self.QueryDir)
data = CommFunc.WriteBYTE(data, self.QueryCount)
- data = CommFunc.WriteWORD(data, self.QueryTotalCount)
+ data = CommFunc.WriteWORD(data, self.QueryRemainlCount)
data = CommFunc.WriteBYTE(data, self.AuctionItemCount)
for i in range(self.AuctionItemCount):
data = CommFunc.WriteString(data, self.AuctionItemList[i].GetLength(), self.AuctionItemList[i].GetBuffer())
@@ -7347,9 +7206,10 @@
ClassLV:%d,
SpecItemIDCount:%d,
SpecItemIDList:%s,
- FromNum:%d,
+ FromItemGUID:%s,
+ QueryDir:%d,
QueryCount:%d,
- QueryTotalCount:%d,
+ QueryRemainlCount:%d,
AuctionItemCount:%d,
AuctionItemList:%s
'''\
@@ -7361,9 +7221,10 @@
self.ClassLV,
self.SpecItemIDCount,
"...",
- self.FromNum,
+ self.FromItemGUID,
+ self.QueryDir,
self.QueryCount,
- self.QueryTotalCount,
+ self.QueryRemainlCount,
self.AuctionItemCount,
"..."
)
@@ -7375,11 +7236,220 @@
#------------------------------------------------------
-# B5 09 拍卖行清除拍品 #tagGCClearAuctionItem
+# B5 10 拍卖行玩家竞价中的物品信息 #tagGCBiddingItemInfo
+
+class tagGCBiddingItem(Structure):
+ ItemGUID = "" #(char ItemGUID[40])
+ FamilyID = 0 #(DWORD FamilyID)//有值时为仙盟拍品
+ ItemID = 0 #(DWORD ItemID)
+ ItemCount = 0 #(WORD ItemCount)
+ 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
+
+ def __init__(self):
+ self.Clear()
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+ self.FamilyID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ 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
+
+ def Clear(self):
+ self.ItemGUID = ""
+ self.FamilyID = 0
+ self.ItemID = 0
+ self.ItemCount = 0
+ self.AddTime = ""
+ self.BidderID = 0
+ self.BidderPrice = 0
+ self.BiddingTime = ""
+ self.UserDataLen = 0
+ self.UserData = ""
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 40
+ length += 4
+ length += 4
+ length += 2
+ length += 19
+ length += 4
+ length += 2
+ length += 19
+ length += 2
+ length += len(self.UserData)
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, 40, self.ItemGUID)
+ data = CommFunc.WriteDWORD(data, self.FamilyID)
+ data = CommFunc.WriteDWORD(data, self.ItemID)
+ data = CommFunc.WriteWORD(data, self.ItemCount)
+ 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
+
+ def OutputString(self):
+ DumpString = '''
+ ItemGUID:%s,
+ FamilyID:%d,
+ ItemID:%d,
+ ItemCount:%d,
+ AddTime:%s,
+ BidderID:%d,
+ BidderPrice:%d,
+ BiddingTime:%s,
+ UserDataLen:%d,
+ UserData:%s
+ '''\
+ %(
+ self.ItemGUID,
+ self.FamilyID,
+ self.ItemID,
+ self.ItemCount,
+ self.AddTime,
+ self.BidderID,
+ self.BidderPrice,
+ self.BiddingTime,
+ self.UserDataLen,
+ self.UserData
+ )
+ return DumpString
+
+
+class tagGCBiddingItemInfo(Structure):
+ Head = tagHead()
+ AuctionItemCount = 0 #(BYTE AuctionItemCount)//拍品数量
+ AuctionItemList = list() #(vector<tagGCBiddingItem> AuctionItemList)//拍品列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x10
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.AuctionItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.AuctionItemCount):
+ temAuctionItemList = tagGCBiddingItem()
+ _pos = temAuctionItemList.ReadData(_lpData, _pos)
+ self.AuctionItemList.append(temAuctionItemList)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x10
+ self.AuctionItemCount = 0
+ self.AuctionItemList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ for i in range(self.AuctionItemCount):
+ length += self.AuctionItemList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteBYTE(data, self.AuctionItemCount)
+ for i in range(self.AuctionItemCount):
+ data = CommFunc.WriteString(data, self.AuctionItemList[i].GetLength(), self.AuctionItemList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ AuctionItemCount:%d,
+ AuctionItemList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.AuctionItemCount,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagGCBiddingItemInfo=tagGCBiddingItemInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCBiddingItemInfo.Head.Cmd,m_NAtagGCBiddingItemInfo.Head.SubCmd))] = m_NAtagGCBiddingItemInfo
+
+
+#------------------------------------------------------
+# B5 09 拍卖行清除拍品 #tagGCClearAuctionItemInfo
class tagGCClearAuctionItem(Structure):
- Head = tagHead()
ItemGUID = "" #(char ItemGUID[40])
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+ return _pos
+
+ def Clear(self):
+ self.ItemGUID = ""
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 40
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, 40, self.ItemGUID)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ ItemGUID:%s
+ '''\
+ %(
+ self.ItemGUID
+ )
+ return DumpString
+
+
+class tagGCClearAuctionItemInfo(Structure):
+ Head = tagHead()
+ ClearCount = 0 #(BYTE ClearCount)
+ ClearAuctionItemList = list() #(vector<tagGCClearAuctionItem> ClearAuctionItemList)
data = None
def __init__(self):
@@ -7391,7 +7461,11 @@
def ReadData(self, _lpData, _pos=0, _Len=0):
self.Clear()
_pos = self.Head.ReadData(_lpData, _pos)
- self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+ self.ClearCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.ClearCount):
+ temClearAuctionItemList = tagGCClearAuctionItem()
+ _pos = temClearAuctionItemList.ReadData(_lpData, _pos)
+ self.ClearAuctionItemList.append(temClearAuctionItemList)
return _pos
def Clear(self):
@@ -7399,36 +7473,43 @@
self.Head.Clear()
self.Head.Cmd = 0xB5
self.Head.SubCmd = 0x09
- self.ItemGUID = ""
+ self.ClearCount = 0
+ self.ClearAuctionItemList = list()
return
def GetLength(self):
length = 0
length += self.Head.GetLength()
- length += 40
+ length += 1
+ for i in range(self.ClearCount):
+ length += self.ClearAuctionItemList[i].GetLength()
return length
def GetBuffer(self):
data = ''
data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 40, self.ItemGUID)
+ data = CommFunc.WriteBYTE(data, self.ClearCount)
+ for i in range(self.ClearCount):
+ data = CommFunc.WriteString(data, self.ClearAuctionItemList[i].GetLength(), self.ClearAuctionItemList[i].GetBuffer())
return data
def OutputString(self):
DumpString = '''
Head:%s,
- ItemGUID:%s
+ ClearCount:%d,
+ ClearAuctionItemList:%s
'''\
%(
self.Head.OutputString(),
- self.ItemGUID
+ self.ClearCount,
+ "..."
)
return DumpString
-m_NAtagGCClearAuctionItem=tagGCClearAuctionItem()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCClearAuctionItem.Head.Cmd,m_NAtagGCClearAuctionItem.Head.SubCmd))] = m_NAtagGCClearAuctionItem
+m_NAtagGCClearAuctionItemInfo=tagGCClearAuctionItemInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCClearAuctionItemInfo.Head.Cmd,m_NAtagGCClearAuctionItemInfo.Head.SubCmd))] = m_NAtagGCClearAuctionItemInfo
#------------------------------------------------------
@@ -7441,9 +7522,12 @@
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)//自定义数据
- CanGetMoney = 0 #(BYTE CanGetMoney)//可否获得收益
+ FamilyPlayerIDLen = 0 #(WORD FamilyPlayerIDLen)
+ FamilyPlayerIDInfo = "" #(String FamilyPlayerIDInfo)//可获得收益的仙盟玩家ID信息
+ AuctionType = 0 #(BYTE AuctionType)//拍品类型,0-全服拍品,1-仙盟拍品
data = None
def __init__(self):
@@ -7458,9 +7542,12 @@
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.CanGetMoney,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.FamilyPlayerIDLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.FamilyPlayerIDInfo,_pos = CommFunc.ReadString(_lpData, _pos,self.FamilyPlayerIDLen)
+ self.AuctionType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
return _pos
def Clear(self):
@@ -7470,9 +7557,12 @@
self.ItemCount = 0
self.AddTime = ""
self.BidderPrice = 0
+ self.BiddingTime = ""
self.UserDataLen = 0
self.UserData = ""
- self.CanGetMoney = 0
+ self.FamilyPlayerIDLen = 0
+ self.FamilyPlayerIDInfo = ""
+ self.AuctionType = 0
return
def GetLength(self):
@@ -7483,8 +7573,11 @@
length += 2
length += 19
length += 2
+ length += 19
length += 2
length += len(self.UserData)
+ length += 2
+ length += len(self.FamilyPlayerIDInfo)
length += 1
return length
@@ -7497,9 +7590,12 @@
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.WriteBYTE(data, self.CanGetMoney)
+ data = CommFunc.WriteWORD(data, self.FamilyPlayerIDLen)
+ data = CommFunc.WriteString(data, self.FamilyPlayerIDLen, self.FamilyPlayerIDInfo)
+ data = CommFunc.WriteBYTE(data, self.AuctionType)
return data
def OutputString(self):
@@ -7510,9 +7606,12 @@
ItemCount:%d,
AddTime:%s,
BidderPrice:%d,
+ BiddingTime:%s,
UserDataLen:%d,
UserData:%s,
- CanGetMoney:%d
+ FamilyPlayerIDLen:%d,
+ FamilyPlayerIDInfo:%s,
+ AuctionType:%d
'''\
%(
self.ItemGUID,
@@ -7521,9 +7620,12 @@
self.ItemCount,
self.AddTime,
self.BidderPrice,
+ self.BiddingTime,
self.UserDataLen,
self.UserData,
- self.CanGetMoney
+ self.FamilyPlayerIDLen,
+ self.FamilyPlayerIDInfo,
+ self.AuctionType
)
return DumpString
@@ -7604,9 +7706,9 @@
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)//自定义数据
- CanGetMoney = 0 #(BYTE CanGetMoney)//可否获得收益
data = None
def __init__(self):
@@ -7621,9 +7723,9 @@
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.CanGetMoney,_pos = CommFunc.ReadBYTE(_lpData, _pos)
return _pos
def Clear(self):
@@ -7633,9 +7735,9 @@
self.ItemCount = 0
self.AddTime = ""
self.BidderPrice = 0
+ self.BiddingTime = ""
self.UserDataLen = 0
self.UserData = ""
- self.CanGetMoney = 0
return
def GetLength(self):
@@ -7646,9 +7748,9 @@
length += 2
length += 19
length += 2
+ length += 19
length += 2
length += len(self.UserData)
- length += 1
return length
@@ -7660,9 +7762,9 @@
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.WriteBYTE(data, self.CanGetMoney)
return data
def OutputString(self):
@@ -7673,9 +7775,9 @@
ItemCount:%d,
AddTime:%s,
BidderPrice:%d,
+ BiddingTime:%s,
UserDataLen:%d,
- UserData:%s,
- CanGetMoney:%d
+ UserData:%s
'''\
%(
self.ItemGUID,
@@ -7684,9 +7786,9 @@
self.ItemCount,
self.AddTime,
self.BidderPrice,
+ self.BiddingTime,
self.UserDataLen,
- self.UserData,
- self.CanGetMoney
+ self.UserData
)
return DumpString
@@ -7761,10 +7863,13 @@
# B5 03 拍卖行玩家拍卖记录 #tagGCPlayerAuctionRecordInfo
class tagGCPlayerAuctionRecord(Structure):
+ ItemGUID = "" #(char ItemGUID[40])
FamilyID = 0 #(DWORD FamilyID)//有值时为仙盟拍品
- RecordType = 0 #(BYTE RecordType)//记录类型 0-流拍 1-拍卖成交 2-回收 3-竞价成功 4-竞价失败
+ RecordType = 0 #(BYTE RecordType)//记录类型 0-我的拍品记录 1-仙盟拍品记录 2-我的竞拍记录
+ RecordResult = 0 #(BYTE RecordResult)//记录结果 0-流拍 1-拍卖成交 2-回收 3-竞价成功 4-竞价失败
RecordTime = "" #(char RecordTime[19])//记录时间 yyyy-MM-dd hh:mm:ss
- RecordPrice = 0 #(WORD RecordPrice)//记录价格
+ BidderPrice = 0 #(DWORD BidderPrice)//成交价格
+ BidderName = "" #(char BidderName[33])//成交玩家名
ItemID = 0 #(DWORD ItemID)
ItemCount = 0 #(WORD ItemCount)
UserDataLen = 0 #(WORD UserDataLen)
@@ -7777,10 +7882,13 @@
def ReadData(self, _lpData, _pos=0, _Len=0):
self.Clear()
+ self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
self.FamilyID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.RecordType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.RecordResult,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.RecordTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
- self.RecordPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.BidderPrice,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.BidderName,_pos = CommFunc.ReadString(_lpData, _pos,33)
self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
@@ -7788,10 +7896,13 @@
return _pos
def Clear(self):
+ self.ItemGUID = ""
self.FamilyID = 0
self.RecordType = 0
+ self.RecordResult = 0
self.RecordTime = ""
- self.RecordPrice = 0
+ self.BidderPrice = 0
+ self.BidderName = ""
self.ItemID = 0
self.ItemCount = 0
self.UserDataLen = 0
@@ -7800,10 +7911,13 @@
def GetLength(self):
length = 0
+ length += 40
length += 4
length += 1
+ length += 1
length += 19
- length += 2
+ length += 4
+ length += 33
length += 4
length += 2
length += 2
@@ -7813,10 +7927,13 @@
def GetBuffer(self):
data = ''
+ data = CommFunc.WriteString(data, 40, self.ItemGUID)
data = CommFunc.WriteDWORD(data, self.FamilyID)
data = CommFunc.WriteBYTE(data, self.RecordType)
+ data = CommFunc.WriteBYTE(data, self.RecordResult)
data = CommFunc.WriteString(data, 19, self.RecordTime)
- data = CommFunc.WriteWORD(data, self.RecordPrice)
+ data = CommFunc.WriteDWORD(data, self.BidderPrice)
+ data = CommFunc.WriteString(data, 33, self.BidderName)
data = CommFunc.WriteDWORD(data, self.ItemID)
data = CommFunc.WriteWORD(data, self.ItemCount)
data = CommFunc.WriteWORD(data, self.UserDataLen)
@@ -7825,20 +7942,26 @@
def OutputString(self):
DumpString = '''
+ ItemGUID:%s,
FamilyID:%d,
RecordType:%d,
+ RecordResult:%d,
RecordTime:%s,
- RecordPrice:%d,
+ BidderPrice:%d,
+ BidderName:%s,
ItemID:%d,
ItemCount:%d,
UserDataLen:%d,
UserData:%s
'''\
%(
+ self.ItemGUID,
self.FamilyID,
self.RecordType,
+ self.RecordResult,
self.RecordTime,
- self.RecordPrice,
+ self.BidderPrice,
+ self.BidderName,
self.ItemID,
self.ItemCount,
self.UserDataLen,
@@ -7850,7 +7973,7 @@
class tagGCPlayerAuctionRecordInfo(Structure):
Head = tagHead()
Count = 0 #(BYTE Count)
- AuctionRecordList = list() #(vector<tagGCPlayerAuctionRecordInfo> AuctionRecordList)
+ AuctionRecordList = list() #(vector<tagGCPlayerAuctionRecord> AuctionRecordList)
data = None
def __init__(self):
@@ -7864,7 +7987,7 @@
_pos = self.Head.ReadData(_lpData, _pos)
self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.Count):
- temAuctionRecordList = tagGCPlayerAuctionRecordInfo()
+ temAuctionRecordList = tagGCPlayerAuctionRecord()
_pos = temAuctionRecordList.ReadData(_lpData, _pos)
self.AuctionRecordList.append(temAuctionRecordList)
return _pos
@@ -7914,19 +8037,85 @@
#------------------------------------------------------
-# B5 08 拍卖行刷新拍品 #tagGCRefreshAuctionItem
+# B5 08 拍卖行刷新拍品 #tagGCRefreshAuctionItemInfo
class tagGCRefreshAuctionItem(Structure):
- Head = tagHead()
ItemGUID = "" #(char ItemGUID[40])
- FamilyID = 0 #(DWORD FamilyID)//有值时为仙盟拍品
- ItemID = 0 #(DWORD ItemID)
- ItemCount = 0 #(WORD ItemCount)
- AddTime = "" #(char AddTime[19])//上架时间 yyyy-MM-dd hh:mm:ss
- BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价
- UserDataLen = 0 #(WORD UserDataLen)
- UserData = "" #(String UserData)//自定义数据
- CanGetMoney = 0 #(BYTE CanGetMoney)//可否获得收益
+ AuctionType = 0 #(BYTE AuctionType)//拍品类型,0-全服拍品,1-仙盟拍品
+ 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):
+ self.Clear()
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+ self.AuctionType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ 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):
+ self.ItemGUID = ""
+ self.AuctionType = 0
+ self.AddTime = ""
+ self.BidderID = 0
+ self.BidderPrice = 0
+ self.BiddingTime = ""
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 40
+ length += 1
+ length += 19
+ length += 4
+ length += 4
+ length += 19
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, 40, self.ItemGUID)
+ data = CommFunc.WriteBYTE(data, self.AuctionType)
+ 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):
+ DumpString = '''
+ ItemGUID:%s,
+ AuctionType:%d,
+ AddTime:%s,
+ BidderID:%d,
+ BidderPrice:%d,
+ BiddingTime:%s
+ '''\
+ %(
+ self.ItemGUID,
+ self.AuctionType,
+ self.AddTime,
+ self.BidderID,
+ self.BidderPrice,
+ self.BiddingTime
+ )
+ return DumpString
+
+
+class tagGCRefreshAuctionItemInfo(Structure):
+ Head = tagHead()
+ RefreshCount = 0 #(BYTE RefreshCount)
+ RefreshAuctionItemList = list() #(vector<tagGCRefreshAuctionItem> RefreshAuctionItemList)
data = None
def __init__(self):
@@ -7938,15 +8127,11 @@
def ReadData(self, _lpData, _pos=0, _Len=0):
self.Clear()
_pos = self.Head.ReadData(_lpData, _pos)
- self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
- self.FamilyID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
- self.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
- self.CanGetMoney,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.RefreshCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.RefreshCount):
+ temRefreshAuctionItemList = tagGCRefreshAuctionItem()
+ _pos = temRefreshAuctionItemList.ReadData(_lpData, _pos)
+ self.RefreshAuctionItemList.append(temRefreshAuctionItemList)
return _pos
def Clear(self):
@@ -7954,76 +8139,43 @@
self.Head.Clear()
self.Head.Cmd = 0xB5
self.Head.SubCmd = 0x08
- self.ItemGUID = ""
- self.FamilyID = 0
- self.ItemID = 0
- self.ItemCount = 0
- self.AddTime = ""
- self.BidderPrice = 0
- self.UserDataLen = 0
- self.UserData = ""
- self.CanGetMoney = 0
+ self.RefreshCount = 0
+ self.RefreshAuctionItemList = list()
return
def GetLength(self):
length = 0
length += self.Head.GetLength()
- length += 40
- length += 4
- length += 4
- length += 2
- length += 19
- length += 2
- length += 2
- length += len(self.UserData)
length += 1
+ for i in range(self.RefreshCount):
+ length += self.RefreshAuctionItemList[i].GetLength()
return length
def GetBuffer(self):
data = ''
data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 40, self.ItemGUID)
- data = CommFunc.WriteDWORD(data, self.FamilyID)
- data = CommFunc.WriteDWORD(data, self.ItemID)
- data = CommFunc.WriteWORD(data, self.ItemCount)
- data = CommFunc.WriteString(data, 19, self.AddTime)
- data = CommFunc.WriteWORD(data, self.BidderPrice)
- data = CommFunc.WriteWORD(data, self.UserDataLen)
- data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
- data = CommFunc.WriteBYTE(data, self.CanGetMoney)
+ data = CommFunc.WriteBYTE(data, self.RefreshCount)
+ for i in range(self.RefreshCount):
+ data = CommFunc.WriteString(data, self.RefreshAuctionItemList[i].GetLength(), self.RefreshAuctionItemList[i].GetBuffer())
return data
def OutputString(self):
DumpString = '''
Head:%s,
- ItemGUID:%s,
- FamilyID:%d,
- ItemID:%d,
- ItemCount:%d,
- AddTime:%s,
- BidderPrice:%d,
- UserDataLen:%d,
- UserData:%s,
- CanGetMoney:%d
+ RefreshCount:%d,
+ RefreshAuctionItemList:%s
'''\
%(
self.Head.OutputString(),
- self.ItemGUID,
- self.FamilyID,
- self.ItemID,
- self.ItemCount,
- self.AddTime,
- self.BidderPrice,
- self.UserDataLen,
- self.UserData,
- self.CanGetMoney
+ self.RefreshCount,
+ "..."
)
return DumpString
-m_NAtagGCRefreshAuctionItem=tagGCRefreshAuctionItem()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCRefreshAuctionItem.Head.Cmd,m_NAtagGCRefreshAuctionItem.Head.SubCmd))] = m_NAtagGCRefreshAuctionItem
+m_NAtagGCRefreshAuctionItemInfo=tagGCRefreshAuctionItemInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCRefreshAuctionItemInfo.Head.Cmd,m_NAtagGCRefreshAuctionItemInfo.Head.SubCmd))] = m_NAtagGCRefreshAuctionItemInfo
#------------------------------------------------------
@@ -13476,70 +13628,57 @@
#------------------------------------------------------
-# A3 09 通知玩家部位套装等级 #tagMCEquipPartSuiteLVInfo
+# A3 B1 装备部位星数信息 #tagMCEquipPartStarInfo
-class tagMCEquipPartSuiteLV(Structure):
- EquipIndex = 0 #(BYTE EquipIndex)
- Len = 0 #(WORD Len)//长度
- SuiteLVInfo = "" #(String SuiteLVInfo)//{套装类型:等级}
- data = None
+class tagMCEquipPartStar(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("EquipPackIndex", c_ushort),
+ ("Star", c_ubyte),
+ ]
def __init__(self):
self.Clear()
return
- def ReadData(self, _lpData, _pos=0, _Len=0):
+ def ReadData(self, stringData, _pos=0, _len=0):
self.Clear()
- self.EquipIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.Len,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.SuiteLVInfo,_pos = CommFunc.ReadString(_lpData, _pos,self.Len)
- return _pos
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
def Clear(self):
- self.EquipIndex = 0
- self.Len = 0
- self.SuiteLVInfo = ""
+ self.EquipPackIndex = 0
+ self.Star = 0
return
def GetLength(self):
- length = 0
- length += 1
- length += 2
- length += len(self.SuiteLVInfo)
-
- return length
+ return sizeof(tagMCEquipPartStar)
def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.EquipIndex)
- data = CommFunc.WriteWORD(data, self.Len)
- data = CommFunc.WriteString(data, self.Len, self.SuiteLVInfo)
- return data
+ return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''
- EquipIndex:%d,
- Len:%d,
- SuiteLVInfo:%s
+ DumpString = '''// A3 B1 装备部位星数信息 //tagMCEquipPartStarInfo:
+ EquipPackIndex:%d,
+ Star:%d
'''\
%(
- self.EquipIndex,
- self.Len,
- self.SuiteLVInfo
+ self.EquipPackIndex,
+ self.Star
)
return DumpString
-class tagMCEquipPartSuiteLVInfo(Structure):
+class tagMCEquipPartStarInfo(Structure):
Head = tagHead()
Count = 0 #(BYTE Count)// 信息个数
- InfoList = list() #(vector<tagMCEquipPartSuiteLV> InfoList)// 信息列表
+ InfoList = list() #(vector<tagMCEquipPartStar> InfoList)// 信息列表
data = None
def __init__(self):
self.Clear()
self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x09
+ self.Head.SubCmd = 0xB1
return
def ReadData(self, _lpData, _pos=0, _Len=0):
@@ -13547,7 +13686,7 @@
_pos = self.Head.ReadData(_lpData, _pos)
self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.Count):
- temInfoList = tagMCEquipPartSuiteLV()
+ temInfoList = tagMCEquipPartStar()
_pos = temInfoList.ReadData(_lpData, _pos)
self.InfoList.append(temInfoList)
return _pos
@@ -13556,7 +13695,7 @@
self.Head = tagHead()
self.Head.Clear()
self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x09
+ self.Head.SubCmd = 0xB1
self.Count = 0
self.InfoList = list()
return
@@ -13592,8 +13731,8 @@
return DumpString
-m_NAtagMCEquipPartSuiteLVInfo=tagMCEquipPartSuiteLVInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCEquipPartSuiteLVInfo.Head.Cmd,m_NAtagMCEquipPartSuiteLVInfo.Head.SubCmd))] = m_NAtagMCEquipPartSuiteLVInfo
+m_NAtagMCEquipPartStarInfo=tagMCEquipPartStarInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCEquipPartStarInfo.Head.Cmd,m_NAtagMCEquipPartStarInfo.Head.SubCmd))] = m_NAtagMCEquipPartStarInfo
#------------------------------------------------------
@@ -14762,73 +14901,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):
@@ -14837,7 +14909,6 @@
("MWID", c_int),
("LV", c_ubyte),
("Exp", c_int),
- ("State", c_ubyte), #是否点击法宝认主
("FBPassLV", c_ubyte), #副本关卡
("IsWear", c_ubyte), #是否佩戴(仅适用王者法宝)
]
@@ -14855,7 +14926,6 @@
self.MWID = 0
self.LV = 0
self.Exp = 0
- self.State = 0
self.FBPassLV = 0
self.IsWear = 0
return
@@ -14871,7 +14941,6 @@
MWID:%d,
LV:%d,
Exp:%d,
- State:%d,
FBPassLV:%d,
IsWear:%d
'''\
@@ -14879,7 +14948,6 @@
self.MWID,
self.LV,
self.Exp,
- self.State,
self.FBPassLV,
self.IsWear
)
@@ -15073,15 +15141,16 @@
#------------------------------------------------------
-# A3 B3 装备部位星级信息 #tagMCEquipPartStarLVInfo
+# A3 B3 装备部位强化信息 #tagMCEquipPartPlusInfo
-class tagMCEquipPartStarLV(Structure):
+class tagMCEquipPartPlusLV(Structure):
_pack_ = 1
_fields_ = [
("PackType", c_ubyte),
("EquipIndex", c_ubyte),
("EquipPartStarLV", c_ushort),
("Proficiency", c_int),
+ ("EvolveLV", c_ubyte),
]
def __init__(self):
@@ -15098,34 +15167,37 @@
self.EquipIndex = 0
self.EquipPartStarLV = 0
self.Proficiency = 0
+ self.EvolveLV = 0
return
def GetLength(self):
- return sizeof(tagMCEquipPartStarLV)
+ return sizeof(tagMCEquipPartPlusLV)
def GetBuffer(self):
return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''// A3 B3 装备部位星级信息 //tagMCEquipPartStarLVInfo:
+ DumpString = '''// A3 B3 装备部位强化信息 //tagMCEquipPartPlusInfo:
PackType:%d,
EquipIndex:%d,
EquipPartStarLV:%d,
- Proficiency:%d
+ Proficiency:%d,
+ EvolveLV:%d
'''\
%(
self.PackType,
self.EquipIndex,
self.EquipPartStarLV,
- self.Proficiency
+ self.Proficiency,
+ self.EvolveLV
)
return DumpString
-class tagMCEquipPartStarLVInfo(Structure):
+class tagMCEquipPartPlusInfo(Structure):
Head = tagHead()
Count = 0 #(BYTE Count)// 信息个数
- InfoList = list() #(vector<tagMCEquipPartStarLV> InfoList)// 信息列表
+ InfoList = list() #(vector<tagMCEquipPartPlusLV> InfoList)// 信息列表
data = None
def __init__(self):
@@ -15139,7 +15211,7 @@
_pos = self.Head.ReadData(_lpData, _pos)
self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.Count):
- temInfoList = tagMCEquipPartStarLV()
+ temInfoList = tagMCEquipPartPlusLV()
_pos = temInfoList.ReadData(_lpData, _pos)
self.InfoList.append(temInfoList)
return _pos
@@ -15184,8 +15256,8 @@
return DumpString
-m_NAtagMCEquipPartStarLVInfo=tagMCEquipPartStarLVInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCEquipPartStarLVInfo.Head.Cmd,m_NAtagMCEquipPartStarLVInfo.Head.SubCmd))] = m_NAtagMCEquipPartStarLVInfo
+m_NAtagMCEquipPartPlusInfo=tagMCEquipPartPlusInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCEquipPartPlusInfo.Head.Cmd,m_NAtagMCEquipPartPlusInfo.Head.SubCmd))] = m_NAtagMCEquipPartPlusInfo
#------------------------------------------------------
@@ -15365,126 +15437,6 @@
m_NAtagMCModuleFightPowerInfo=tagMCModuleFightPowerInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCModuleFightPowerInfo.Head.Cmd,m_NAtagMCModuleFightPowerInfo.Head.SubCmd))] = m_NAtagMCModuleFightPowerInfo
-
-
-#------------------------------------------------------
-# A3 53 法宝特权数据 #tagMCMWPrivilegeDataInfo
-
-class tagMCMWPrivilegeData(Structure):
- _pack_ = 1
- _fields_ = [
- ("PriID", c_int), # 特权ID
- ("State", c_ubyte), #激活状态
- ("CurValue", c_int), #当前总进度
- ("GotValue", c_int), #已领取进度
- ("ItemAwardState", 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.PriID = 0
- self.State = 0
- self.CurValue = 0
- self.GotValue = 0
- self.ItemAwardState = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCMWPrivilegeData)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A3 53 法宝特权数据 //tagMCMWPrivilegeDataInfo:
- PriID:%d,
- State:%d,
- CurValue:%d,
- GotValue:%d,
- ItemAwardState:%d
- '''\
- %(
- self.PriID,
- self.State,
- self.CurValue,
- self.GotValue,
- self.ItemAwardState
- )
- return DumpString
-
-
-class tagMCMWPrivilegeDataInfo(Structure):
- Head = tagHead()
- Count = 0 #(BYTE Count)// 信息个数
- InfoList = list() #(vector<tagMCMWPrivilegeData> InfoList)// 信息列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x53
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Count):
- temInfoList = tagMCMWPrivilegeData()
- _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 = 0x53
- self.Count = 0
- self.InfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.Count):
- length += self.InfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.Count)
- for i in range(self.Count):
- data = CommFunc.WriteString(data, self.InfoList[i].GetLength(), self.InfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Count:%d,
- InfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCMWPrivilegeDataInfo=tagMCMWPrivilegeDataInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCMWPrivilegeDataInfo.Head.Cmd,m_NAtagMCMWPrivilegeDataInfo.Head.SubCmd))] = m_NAtagMCMWPrivilegeDataInfo
#------------------------------------------------------
@@ -16231,6 +16183,66 @@
m_NAtagMCPrayElixirResult=tagMCPrayElixirResult()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCPrayElixirResult.Cmd,m_NAtagMCPrayElixirResult.SubCmd))] = m_NAtagMCPrayElixirResult
+
+
+#------------------------------------------------------
+# A3 27 境界修为池信息 #tagMCRealmExpInfo
+
+class tagMCRealmExpInfo(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("BeginTime", c_int), #开始计时时间
+ ("CurExp", c_int), #当前总经验
+ ("CurExpPoint", c_int), #当前总经验点
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA3
+ self.SubCmd = 0x27
+ 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 = 0xA3
+ self.SubCmd = 0x27
+ self.BeginTime = 0
+ self.CurExp = 0
+ self.CurExpPoint = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagMCRealmExpInfo)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A3 27 境界修为池信息 //tagMCRealmExpInfo:
+ Cmd:%s,
+ SubCmd:%s,
+ BeginTime:%d,
+ CurExp:%d,
+ CurExpPoint:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.BeginTime,
+ self.CurExp,
+ self.CurExpPoint
+ )
+ return DumpString
+
+
+m_NAtagMCRealmExpInfo=tagMCRealmExpInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCRealmExpInfo.Cmd,m_NAtagMCRealmExpInfo.SubCmd))] = m_NAtagMCRealmExpInfo
#------------------------------------------------------
@@ -17088,18 +17100,14 @@
#------------------------------------------------------
-# A3 11 通知玩家境界渡劫是否开启 #tagMCSyncRealmFBIsOpen
+# A3 11 通知玩家境界信息 #tagMCSyncRealmInfo
-class tagMCSyncRealmFBIsOpen(Structure):
+class tagMCSyncRealmInfo(Structure):
_pack_ = 1
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("IsOpen", c_ubyte), #是否开启
- ("SitAllTime", c_ushort), #打坐总时间秒
- ("SitRemainTime", c_int), #开始打坐前剩余时间秒
- ("SitStartTime", c_int), #开始打坐时间
- ("LastEnterTime", c_int), #上次进入渡劫副本时间
+ ("IsPass", c_ubyte), #是否通关副本
]
def __init__(self):
@@ -17116,43 +17124,31 @@
def Clear(self):
self.Cmd = 0xA3
self.SubCmd = 0x11
- self.IsOpen = 0
- self.SitAllTime = 0
- self.SitRemainTime = 0
- self.SitStartTime = 0
- self.LastEnterTime = 0
+ self.IsPass = 0
return
def GetLength(self):
- return sizeof(tagMCSyncRealmFBIsOpen)
+ return sizeof(tagMCSyncRealmInfo)
def GetBuffer(self):
return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''// A3 11 通知玩家境界渡劫是否开启 //tagMCSyncRealmFBIsOpen:
+ DumpString = '''// A3 11 通知玩家境界信息 //tagMCSyncRealmInfo:
Cmd:%s,
SubCmd:%s,
- IsOpen:%d,
- SitAllTime:%d,
- SitRemainTime:%d,
- SitStartTime:%d,
- LastEnterTime:%d
+ IsPass:%d
'''\
%(
self.Cmd,
self.SubCmd,
- self.IsOpen,
- self.SitAllTime,
- self.SitRemainTime,
- self.SitStartTime,
- self.LastEnterTime
+ self.IsPass
)
return DumpString
-m_NAtagMCSyncRealmFBIsOpen=tagMCSyncRealmFBIsOpen()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCSyncRealmFBIsOpen.Cmd,m_NAtagMCSyncRealmFBIsOpen.SubCmd))] = m_NAtagMCSyncRealmFBIsOpen
+m_NAtagMCSyncRealmInfo=tagMCSyncRealmInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCSyncRealmInfo.Cmd,m_NAtagMCSyncRealmInfo.SubCmd))] = m_NAtagMCSyncRealmInfo
#------------------------------------------------------
@@ -18055,74 +18051,6 @@
m_NAtagMCFamilyRedPacketGoldLimit=tagMCFamilyRedPacketGoldLimit()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFamilyRedPacketGoldLimit.Cmd,m_NAtagMCFamilyRedPacketGoldLimit.SubCmd))] = m_NAtagMCFamilyRedPacketGoldLimit
-
-
-#------------------------------------------------------
-#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
#------------------------------------------------------
@@ -20996,126 +20924,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):
@@ -21225,239 +21033,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
#------------------------------------------------------
@@ -22905,240 +22480,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
#------------------------------------------------------
@@ -25340,198 +24681,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):
@@ -26719,138 +25868,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
#------------------------------------------------------
@@ -28392,6 +27409,83 @@
m_NAtagMCPlayerDeadTime=tagMCPlayerDeadTime()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCPlayerDeadTime.Cmd,m_NAtagMCPlayerDeadTime.SubCmd))] = m_NAtagMCPlayerDeadTime
+
+
+#------------------------------------------------------
+# 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
#------------------------------------------------------
@@ -30299,6 +29393,70 @@
#------------------------------------------------------
+#B4 14 根据类型来决定移动的方式 #tagMCMoveByType
+
+class tagMCMoveByType(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ID", c_int), #玩家ID
+ ("PosX", c_ushort), # 目标X
+ ("PosY", c_ushort), # 目标Y
+ ("MoveType", c_ubyte), #移动方式
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB4
+ self.SubCmd = 0x14
+ 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 = 0xB4
+ self.SubCmd = 0x14
+ self.ID = 0
+ self.PosX = 0
+ self.PosY = 0
+ self.MoveType = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagMCMoveByType)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''//B4 14 根据类型来决定移动的方式 //tagMCMoveByType:
+ Cmd:%s,
+ SubCmd:%s,
+ ID:%d,
+ PosX:%d,
+ PosY:%d,
+ MoveType:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ID,
+ self.PosX,
+ self.PosY,
+ self.MoveType
+ )
+ return DumpString
+
+
+m_NAtagMCMoveByType=tagMCMoveByType()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCMoveByType.Cmd,m_NAtagMCMoveByType.SubCmd))] = m_NAtagMCMoveByType
+
+
+#------------------------------------------------------
#B4 07 被动技能页选择(功法) # tagMCPassivePage
class tagMCPassivePage(Structure):
--
Gitblit v1.8.0