From 09d8bcb215343c6813d113e5901cb6828e30d340 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 19 二月 2019 17:12:45 +0800
Subject: [PATCH] 6250 【后端】【2.0】拍卖行开发单(封包)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py | 265 +++++++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 523 +++++++++++++++++++
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 265 +++++++++
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 523 +++++++++++++++++++
4 files changed, 1,576 insertions(+), 0 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
index 7ba6338..29e15b4 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -2427,6 +2427,162 @@
#------------------------------------------------------
+# B5 10 拍卖行查询拍卖中的物品 #tagCGQueryAuctionItem
+
+class tagCGQueryAuctionItem(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("QueryType", c_ushort), #查询的分类标识
+ ("QueryCount", c_ubyte), #指定返回个数,0为全部
+ ("IsFamily", c_ubyte), #是否查询仙盟拍品
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB5
+ self.SubCmd = 0x10
+ return
+
+ def ReadData(self, stringData, _pos=0, _len=0):
+ self.Clear()
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
+
+ def Clear(self):
+ self.Cmd = 0xB5
+ self.SubCmd = 0x10
+ self.QueryType = 0
+ self.QueryCount = 0
+ self.IsFamily = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryAuctionItem)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B5 10 拍卖行查询拍卖中的物品 //tagCGQueryAuctionItem:
+ Cmd:%s,
+ SubCmd:%s,
+ QueryType:%d,
+ QueryCount:%d,
+ IsFamily:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.QueryType,
+ self.QueryCount,
+ self.IsFamily
+ )
+ return DumpString
+
+
+m_NAtagCGQueryAuctionItem=tagCGQueryAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryAuctionItem.Cmd,m_NAtagCGQueryAuctionItem.SubCmd))] = m_NAtagCGQueryAuctionItem
+
+
+#------------------------------------------------------
+# B5 12 拍卖行查询拍卖记录 #tagCGQueryAuctionRecord
+
+class tagCGQueryAuctionRecord(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB5
+ self.SubCmd = 0x12
+ 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 = 0xB5
+ self.SubCmd = 0x12
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryAuctionRecord)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B5 12 拍卖行查询拍卖记录 //tagCGQueryAuctionRecord:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGQueryAuctionRecord=tagCGQueryAuctionRecord()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryAuctionRecord.Cmd,m_NAtagCGQueryAuctionRecord.SubCmd))] = m_NAtagCGQueryAuctionRecord
+
+
+#------------------------------------------------------
+# B5 11 拍卖行查询个人拍卖中的物品 #tagCGQueryPlayerAuctionItem
+
+class tagCGQueryPlayerAuctionItem(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB5
+ self.SubCmd = 0x11
+ return
+
+ def ReadData(self, stringData, _pos=0, _len=0):
+ self.Clear()
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
+
+ def Clear(self):
+ self.Cmd = 0xB5
+ self.SubCmd = 0x11
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryPlayerAuctionItem)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B5 11 拍卖行查询个人拍卖中的物品 //tagCGQueryPlayerAuctionItem:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGQueryPlayerAuctionItem=tagCGQueryPlayerAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryPlayerAuctionItem.Cmd,m_NAtagCGQueryPlayerAuctionItem.SubCmd))] = m_NAtagCGQueryPlayerAuctionItem
+
+
+#------------------------------------------------------
# B9 07 自动匹配队伍或玩家 #tagCGAutoMatchTeam
class tagCGAutoMatchTeam(Structure):
@@ -15457,6 +15613,63 @@
#------------------------------------------------------
+# B5 14 拍卖行竞价物品 #tagCMBiddingAuctionItem
+
+class tagCMBiddingAuctionItem(Structure):
+ Head = tagHead()
+ ItemGUID = "" #(char ItemGUID[40])
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x14
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x14
+ self.ItemGUID = ""
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 40
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteString(data, 40, self.ItemGUID)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ ItemGUID:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.ItemGUID
+ )
+ return DumpString
+
+
+m_NAtagCMBiddingAuctionItem=tagCMBiddingAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBiddingAuctionItem.Head.Cmd,m_NAtagCMBiddingAuctionItem.Head.SubCmd))] = m_NAtagCMBiddingAuctionItem
+
+
+#------------------------------------------------------
# B5 02 交易所购买物品#tagCMPYBuyBourseItem
class tagCMPYBuyBourseItem(Structure):
@@ -15606,6 +15819,58 @@
#------------------------------------------------------
+# B5 13 拍卖行上架拍品 #tagCMSellAuctionItem
+
+class tagCMSellAuctionItem(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ItemIndex", c_ubyte), #物品在背包中索引
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB5
+ self.SubCmd = 0x13
+ 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 = 0xB5
+ self.SubCmd = 0x13
+ self.ItemIndex = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMSellAuctionItem)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B5 13 拍卖行上架拍品 //tagCMSellAuctionItem:
+ Cmd:%s,
+ SubCmd:%s,
+ ItemIndex:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ItemIndex
+ )
+ return DumpString
+
+
+m_NAtagCMSellAuctionItem=tagCMSellAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSellAuctionItem.Cmd,m_NAtagCMSellAuctionItem.SubCmd))] = m_NAtagCMSellAuctionItem
+
+
+#------------------------------------------------------
# B9 04 修改队伍相关审核状态 #tagCMChangeTeamCheckState
class tagCMChangeTeamCheckState(Structure):
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index a79ee37..9abbd8c 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -6849,6 +6849,529 @@
#------------------------------------------------------
+# B5 01 拍卖行拍卖中的物品信息 #tagGCAuctionItemInfo
+
+class tagGCAuctionItem(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
+ BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价
+ UserDataLen = 0 #(WORD UserDataLen)
+ UserData = "" #(String UserData)//自定义数据
+ FamilyPlayerCount = 0 #(BYTE FamilyPlayerCount)
+ FamilyPlayerIDList = list() #(vector<DWORD> FamilyPlayerIDList)//享受收益的仙盟玩家ID列表
+ 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.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
+ self.FamilyPlayerCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.FamilyPlayerCount):
+ value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
+ self.FamilyPlayerIDList.append(value)
+ return _pos
+
+ def Clear(self):
+ self.ItemGUID = ""
+ self.FamilyID = 0
+ self.ItemID = 0
+ self.ItemCount = 0
+ self.AddTime = ""
+ self.BidderPrice = 0
+ self.UserDataLen = 0
+ self.UserData = ""
+ self.FamilyPlayerCount = 0
+ self.FamilyPlayerIDList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 40
+ length += 4
+ length += 4
+ length += 2
+ length += 19
+ length += 2
+ length += 2
+ length += len(self.UserData)
+ length += 1
+ length += 4 * self.FamilyPlayerCount
+
+ 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.WriteWORD(data, self.BidderPrice)
+ data = CommFunc.WriteWORD(data, self.UserDataLen)
+ data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
+ data = CommFunc.WriteBYTE(data, self.FamilyPlayerCount)
+ for i in range(self.FamilyPlayerCount):
+ data = CommFunc.WriteDWORD(data, self.FamilyPlayerIDList[i])
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ ItemGUID:%s,
+ FamilyID:%d,
+ ItemID:%d,
+ ItemCount:%d,
+ AddTime:%s,
+ BidderPrice:%d,
+ UserDataLen:%d,
+ UserData:%s,
+ FamilyPlayerCount:%d,
+ FamilyPlayerIDList:%s
+ '''\
+ %(
+ self.ItemGUID,
+ self.FamilyID,
+ self.ItemID,
+ self.ItemCount,
+ self.AddTime,
+ self.BidderPrice,
+ self.UserDataLen,
+ self.UserData,
+ self.FamilyPlayerCount,
+ "..."
+ )
+ return DumpString
+
+
+class tagGCAuctionItemInfo(Structure):
+ Head = tagHead()
+ QueryType = 0 #(DWORD QueryType)//查询的分类标识
+ QueryCount = 0 #(BYTE QueryCount)//指定返回个数,0为全部
+ IsFamily = 0 #(BYTE IsFamily)//是否查询仙盟拍品
+ AuctionItemCount = 0 #(WORD AuctionItemCount)//拍品数量
+ AuctionItemList = list() #(vector<tagGCAuctionItem> AuctionItemList)//拍品列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x01
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.QueryType,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.QueryCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.IsFamily,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.AuctionItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ for i in range(self.AuctionItemCount):
+ temAuctionItemList = tagGCAuctionItem()
+ _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 = 0x01
+ self.QueryType = 0
+ self.QueryCount = 0
+ self.IsFamily = 0
+ self.AuctionItemCount = 0
+ self.AuctionItemList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 4
+ length += 1
+ length += 1
+ length += 2
+ 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.WriteDWORD(data, self.QueryType)
+ data = CommFunc.WriteBYTE(data, self.QueryCount)
+ data = CommFunc.WriteBYTE(data, self.IsFamily)
+ data = CommFunc.WriteWORD(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,
+ QueryType:%d,
+ QueryCount:%d,
+ IsFamily:%d,
+ AuctionItemCount:%d,
+ AuctionItemList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.QueryType,
+ self.QueryCount,
+ self.IsFamily,
+ self.AuctionItemCount,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagGCAuctionItemInfo=tagGCAuctionItemInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAuctionItemInfo.Head.Cmd,m_NAtagGCAuctionItemInfo.Head.SubCmd))] = m_NAtagGCAuctionItemInfo
+
+
+#------------------------------------------------------
+# B5 02 拍卖行玩家拍卖中的物品信息 #tagGCPlayerAuctionItemInfo
+
+class tagGCPlayerAuctionItem(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
+ BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价
+ UserDataLen = 0 #(WORD UserDataLen)
+ UserData = "" #(String UserData)//自定义数据
+ FamilyPlayerCount = 0 #(BYTE FamilyPlayerCount)
+ FamilyPlayerIDList = list() #(vector<DWORD> FamilyPlayerIDList)//享受收益的仙盟玩家ID列表
+ 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.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
+ self.FamilyPlayerCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.FamilyPlayerCount):
+ value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
+ self.FamilyPlayerIDList.append(value)
+ return _pos
+
+ def Clear(self):
+ self.ItemGUID = ""
+ self.FamilyID = 0
+ self.ItemID = 0
+ self.ItemCount = 0
+ self.AddTime = ""
+ self.BidderPrice = 0
+ self.UserDataLen = 0
+ self.UserData = ""
+ self.FamilyPlayerCount = 0
+ self.FamilyPlayerIDList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 40
+ length += 4
+ length += 4
+ length += 2
+ length += 19
+ length += 2
+ length += 2
+ length += len(self.UserData)
+ length += 1
+ length += 4 * self.FamilyPlayerCount
+
+ 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.WriteWORD(data, self.BidderPrice)
+ data = CommFunc.WriteWORD(data, self.UserDataLen)
+ data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
+ data = CommFunc.WriteBYTE(data, self.FamilyPlayerCount)
+ for i in range(self.FamilyPlayerCount):
+ data = CommFunc.WriteDWORD(data, self.FamilyPlayerIDList[i])
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ ItemGUID:%s,
+ FamilyID:%d,
+ ItemID:%d,
+ ItemCount:%d,
+ AddTime:%s,
+ BidderPrice:%d,
+ UserDataLen:%d,
+ UserData:%s,
+ FamilyPlayerCount:%d,
+ FamilyPlayerIDList:%s
+ '''\
+ %(
+ self.ItemGUID,
+ self.FamilyID,
+ self.ItemID,
+ self.ItemCount,
+ self.AddTime,
+ self.BidderPrice,
+ self.UserDataLen,
+ self.UserData,
+ self.FamilyPlayerCount,
+ "..."
+ )
+ return DumpString
+
+
+class tagGCPlayerAuctionItemInfo(Structure):
+ Head = tagHead()
+ AuctionItemCount = 0 #(WORD AuctionItemCount)//拍品数量
+ AuctionItemList = list() #(vector<tagGCPlayerAuctionItem> AuctionItemList)//拍品列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x02
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.AuctionItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ for i in range(self.AuctionItemCount):
+ temAuctionItemList = tagGCPlayerAuctionItem()
+ _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 = 0x02
+ self.AuctionItemCount = 0
+ self.AuctionItemList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 2
+ 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.WriteWORD(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_NAtagGCPlayerAuctionItemInfo=tagGCPlayerAuctionItemInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCPlayerAuctionItemInfo.Head.Cmd,m_NAtagGCPlayerAuctionItemInfo.Head.SubCmd))] = m_NAtagGCPlayerAuctionItemInfo
+
+
+#------------------------------------------------------
+# B5 03 拍卖行玩家拍卖记录 #tagGCPlayerAuctionRecordInfo
+
+class tagGCPlayerAuctionRecord(Structure):
+ FamilyID = 0 #(DWORD FamilyID)//有值时为仙盟拍品
+ RecordType = 0 #(BYTE RecordType)//记录类型 0-流拍 1-拍卖成交 2-回收 3-竞价成功 4-竞价失败
+ RecordTime = "" #(char RecordTime[19])//记录时间 yyyy-MM-dd hh:mm:ss
+ RecordPrice = 0 #(WORD RecordPrice)//记录价格
+ ItemID = 0 #(DWORD ItemID)
+ ItemCount = 0 #(WORD ItemCount)
+ 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.FamilyID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.RecordType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.RecordTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
+ self.RecordPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
+ return _pos
+
+ def Clear(self):
+ self.FamilyID = 0
+ self.RecordType = 0
+ self.RecordTime = ""
+ self.RecordPrice = 0
+ self.ItemID = 0
+ self.ItemCount = 0
+ self.UserDataLen = 0
+ self.UserData = ""
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 4
+ length += 1
+ length += 19
+ length += 2
+ length += 4
+ length += 2
+ length += 2
+ length += len(self.UserData)
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteDWORD(data, self.FamilyID)
+ data = CommFunc.WriteBYTE(data, self.RecordType)
+ data = CommFunc.WriteString(data, 19, self.RecordTime)
+ data = CommFunc.WriteWORD(data, self.RecordPrice)
+ data = CommFunc.WriteDWORD(data, self.ItemID)
+ data = CommFunc.WriteWORD(data, self.ItemCount)
+ data = CommFunc.WriteWORD(data, self.UserDataLen)
+ data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ FamilyID:%d,
+ RecordType:%d,
+ RecordTime:%s,
+ RecordPrice:%d,
+ ItemID:%d,
+ ItemCount:%d,
+ UserDataLen:%d,
+ UserData:%s
+ '''\
+ %(
+ self.FamilyID,
+ self.RecordType,
+ self.RecordTime,
+ self.RecordPrice,
+ self.ItemID,
+ self.ItemCount,
+ self.UserDataLen,
+ self.UserData
+ )
+ return DumpString
+
+
+class tagGCPlayerAuctionRecordInfo(Structure):
+ Head = tagHead()
+ Count = 0 #(BYTE Count)
+ AuctionRecordList = list() #(vector<tagGCPlayerAuctionRecordInfo> AuctionRecordList)
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB5
+ 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):
+ temAuctionRecordList = tagGCPlayerAuctionRecordInfo()
+ _pos = temAuctionRecordList.ReadData(_lpData, _pos)
+ self.AuctionRecordList.append(temAuctionRecordList)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x03
+ self.Count = 0
+ self.AuctionRecordList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ for i in range(self.Count):
+ length += self.AuctionRecordList[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.AuctionRecordList[i].GetLength(), self.AuctionRecordList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ Count:%d,
+ AuctionRecordList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.Count,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagGCPlayerAuctionRecordInfo=tagGCPlayerAuctionRecordInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCPlayerAuctionRecordInfo.Head.Cmd,m_NAtagGCPlayerAuctionRecordInfo.Head.SubCmd))] = m_NAtagGCPlayerAuctionRecordInfo
+
+
+#------------------------------------------------------
# B9 13 进入组队副本失败原因 #tagGCEnterTeamFBFailReason
class tagGCEnterTeamFBFailReason(Structure):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
index 7ba6338..29e15b4 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -2427,6 +2427,162 @@
#------------------------------------------------------
+# B5 10 拍卖行查询拍卖中的物品 #tagCGQueryAuctionItem
+
+class tagCGQueryAuctionItem(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("QueryType", c_ushort), #查询的分类标识
+ ("QueryCount", c_ubyte), #指定返回个数,0为全部
+ ("IsFamily", c_ubyte), #是否查询仙盟拍品
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB5
+ self.SubCmd = 0x10
+ return
+
+ def ReadData(self, stringData, _pos=0, _len=0):
+ self.Clear()
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
+
+ def Clear(self):
+ self.Cmd = 0xB5
+ self.SubCmd = 0x10
+ self.QueryType = 0
+ self.QueryCount = 0
+ self.IsFamily = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryAuctionItem)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B5 10 拍卖行查询拍卖中的物品 //tagCGQueryAuctionItem:
+ Cmd:%s,
+ SubCmd:%s,
+ QueryType:%d,
+ QueryCount:%d,
+ IsFamily:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.QueryType,
+ self.QueryCount,
+ self.IsFamily
+ )
+ return DumpString
+
+
+m_NAtagCGQueryAuctionItem=tagCGQueryAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryAuctionItem.Cmd,m_NAtagCGQueryAuctionItem.SubCmd))] = m_NAtagCGQueryAuctionItem
+
+
+#------------------------------------------------------
+# B5 12 拍卖行查询拍卖记录 #tagCGQueryAuctionRecord
+
+class tagCGQueryAuctionRecord(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB5
+ self.SubCmd = 0x12
+ 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 = 0xB5
+ self.SubCmd = 0x12
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryAuctionRecord)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B5 12 拍卖行查询拍卖记录 //tagCGQueryAuctionRecord:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGQueryAuctionRecord=tagCGQueryAuctionRecord()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryAuctionRecord.Cmd,m_NAtagCGQueryAuctionRecord.SubCmd))] = m_NAtagCGQueryAuctionRecord
+
+
+#------------------------------------------------------
+# B5 11 拍卖行查询个人拍卖中的物品 #tagCGQueryPlayerAuctionItem
+
+class tagCGQueryPlayerAuctionItem(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB5
+ self.SubCmd = 0x11
+ return
+
+ def ReadData(self, stringData, _pos=0, _len=0):
+ self.Clear()
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
+
+ def Clear(self):
+ self.Cmd = 0xB5
+ self.SubCmd = 0x11
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryPlayerAuctionItem)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B5 11 拍卖行查询个人拍卖中的物品 //tagCGQueryPlayerAuctionItem:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGQueryPlayerAuctionItem=tagCGQueryPlayerAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryPlayerAuctionItem.Cmd,m_NAtagCGQueryPlayerAuctionItem.SubCmd))] = m_NAtagCGQueryPlayerAuctionItem
+
+
+#------------------------------------------------------
# B9 07 自动匹配队伍或玩家 #tagCGAutoMatchTeam
class tagCGAutoMatchTeam(Structure):
@@ -15457,6 +15613,63 @@
#------------------------------------------------------
+# B5 14 拍卖行竞价物品 #tagCMBiddingAuctionItem
+
+class tagCMBiddingAuctionItem(Structure):
+ Head = tagHead()
+ ItemGUID = "" #(char ItemGUID[40])
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x14
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x14
+ self.ItemGUID = ""
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 40
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteString(data, 40, self.ItemGUID)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ ItemGUID:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.ItemGUID
+ )
+ return DumpString
+
+
+m_NAtagCMBiddingAuctionItem=tagCMBiddingAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBiddingAuctionItem.Head.Cmd,m_NAtagCMBiddingAuctionItem.Head.SubCmd))] = m_NAtagCMBiddingAuctionItem
+
+
+#------------------------------------------------------
# B5 02 交易所购买物品#tagCMPYBuyBourseItem
class tagCMPYBuyBourseItem(Structure):
@@ -15606,6 +15819,58 @@
#------------------------------------------------------
+# B5 13 拍卖行上架拍品 #tagCMSellAuctionItem
+
+class tagCMSellAuctionItem(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ItemIndex", c_ubyte), #物品在背包中索引
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB5
+ self.SubCmd = 0x13
+ 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 = 0xB5
+ self.SubCmd = 0x13
+ self.ItemIndex = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMSellAuctionItem)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B5 13 拍卖行上架拍品 //tagCMSellAuctionItem:
+ Cmd:%s,
+ SubCmd:%s,
+ ItemIndex:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ItemIndex
+ )
+ return DumpString
+
+
+m_NAtagCMSellAuctionItem=tagCMSellAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSellAuctionItem.Cmd,m_NAtagCMSellAuctionItem.SubCmd))] = m_NAtagCMSellAuctionItem
+
+
+#------------------------------------------------------
# B9 04 修改队伍相关审核状态 #tagCMChangeTeamCheckState
class tagCMChangeTeamCheckState(Structure):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index a79ee37..9abbd8c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -6849,6 +6849,529 @@
#------------------------------------------------------
+# B5 01 拍卖行拍卖中的物品信息 #tagGCAuctionItemInfo
+
+class tagGCAuctionItem(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
+ BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价
+ UserDataLen = 0 #(WORD UserDataLen)
+ UserData = "" #(String UserData)//自定义数据
+ FamilyPlayerCount = 0 #(BYTE FamilyPlayerCount)
+ FamilyPlayerIDList = list() #(vector<DWORD> FamilyPlayerIDList)//享受收益的仙盟玩家ID列表
+ 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.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
+ self.FamilyPlayerCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.FamilyPlayerCount):
+ value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
+ self.FamilyPlayerIDList.append(value)
+ return _pos
+
+ def Clear(self):
+ self.ItemGUID = ""
+ self.FamilyID = 0
+ self.ItemID = 0
+ self.ItemCount = 0
+ self.AddTime = ""
+ self.BidderPrice = 0
+ self.UserDataLen = 0
+ self.UserData = ""
+ self.FamilyPlayerCount = 0
+ self.FamilyPlayerIDList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 40
+ length += 4
+ length += 4
+ length += 2
+ length += 19
+ length += 2
+ length += 2
+ length += len(self.UserData)
+ length += 1
+ length += 4 * self.FamilyPlayerCount
+
+ 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.WriteWORD(data, self.BidderPrice)
+ data = CommFunc.WriteWORD(data, self.UserDataLen)
+ data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
+ data = CommFunc.WriteBYTE(data, self.FamilyPlayerCount)
+ for i in range(self.FamilyPlayerCount):
+ data = CommFunc.WriteDWORD(data, self.FamilyPlayerIDList[i])
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ ItemGUID:%s,
+ FamilyID:%d,
+ ItemID:%d,
+ ItemCount:%d,
+ AddTime:%s,
+ BidderPrice:%d,
+ UserDataLen:%d,
+ UserData:%s,
+ FamilyPlayerCount:%d,
+ FamilyPlayerIDList:%s
+ '''\
+ %(
+ self.ItemGUID,
+ self.FamilyID,
+ self.ItemID,
+ self.ItemCount,
+ self.AddTime,
+ self.BidderPrice,
+ self.UserDataLen,
+ self.UserData,
+ self.FamilyPlayerCount,
+ "..."
+ )
+ return DumpString
+
+
+class tagGCAuctionItemInfo(Structure):
+ Head = tagHead()
+ QueryType = 0 #(DWORD QueryType)//查询的分类标识
+ QueryCount = 0 #(BYTE QueryCount)//指定返回个数,0为全部
+ IsFamily = 0 #(BYTE IsFamily)//是否查询仙盟拍品
+ AuctionItemCount = 0 #(WORD AuctionItemCount)//拍品数量
+ AuctionItemList = list() #(vector<tagGCAuctionItem> AuctionItemList)//拍品列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x01
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.QueryType,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.QueryCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.IsFamily,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.AuctionItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ for i in range(self.AuctionItemCount):
+ temAuctionItemList = tagGCAuctionItem()
+ _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 = 0x01
+ self.QueryType = 0
+ self.QueryCount = 0
+ self.IsFamily = 0
+ self.AuctionItemCount = 0
+ self.AuctionItemList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 4
+ length += 1
+ length += 1
+ length += 2
+ 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.WriteDWORD(data, self.QueryType)
+ data = CommFunc.WriteBYTE(data, self.QueryCount)
+ data = CommFunc.WriteBYTE(data, self.IsFamily)
+ data = CommFunc.WriteWORD(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,
+ QueryType:%d,
+ QueryCount:%d,
+ IsFamily:%d,
+ AuctionItemCount:%d,
+ AuctionItemList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.QueryType,
+ self.QueryCount,
+ self.IsFamily,
+ self.AuctionItemCount,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagGCAuctionItemInfo=tagGCAuctionItemInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAuctionItemInfo.Head.Cmd,m_NAtagGCAuctionItemInfo.Head.SubCmd))] = m_NAtagGCAuctionItemInfo
+
+
+#------------------------------------------------------
+# B5 02 拍卖行玩家拍卖中的物品信息 #tagGCPlayerAuctionItemInfo
+
+class tagGCPlayerAuctionItem(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
+ BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价
+ UserDataLen = 0 #(WORD UserDataLen)
+ UserData = "" #(String UserData)//自定义数据
+ FamilyPlayerCount = 0 #(BYTE FamilyPlayerCount)
+ FamilyPlayerIDList = list() #(vector<DWORD> FamilyPlayerIDList)//享受收益的仙盟玩家ID列表
+ 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.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
+ self.FamilyPlayerCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.FamilyPlayerCount):
+ value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
+ self.FamilyPlayerIDList.append(value)
+ return _pos
+
+ def Clear(self):
+ self.ItemGUID = ""
+ self.FamilyID = 0
+ self.ItemID = 0
+ self.ItemCount = 0
+ self.AddTime = ""
+ self.BidderPrice = 0
+ self.UserDataLen = 0
+ self.UserData = ""
+ self.FamilyPlayerCount = 0
+ self.FamilyPlayerIDList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 40
+ length += 4
+ length += 4
+ length += 2
+ length += 19
+ length += 2
+ length += 2
+ length += len(self.UserData)
+ length += 1
+ length += 4 * self.FamilyPlayerCount
+
+ 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.WriteWORD(data, self.BidderPrice)
+ data = CommFunc.WriteWORD(data, self.UserDataLen)
+ data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
+ data = CommFunc.WriteBYTE(data, self.FamilyPlayerCount)
+ for i in range(self.FamilyPlayerCount):
+ data = CommFunc.WriteDWORD(data, self.FamilyPlayerIDList[i])
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ ItemGUID:%s,
+ FamilyID:%d,
+ ItemID:%d,
+ ItemCount:%d,
+ AddTime:%s,
+ BidderPrice:%d,
+ UserDataLen:%d,
+ UserData:%s,
+ FamilyPlayerCount:%d,
+ FamilyPlayerIDList:%s
+ '''\
+ %(
+ self.ItemGUID,
+ self.FamilyID,
+ self.ItemID,
+ self.ItemCount,
+ self.AddTime,
+ self.BidderPrice,
+ self.UserDataLen,
+ self.UserData,
+ self.FamilyPlayerCount,
+ "..."
+ )
+ return DumpString
+
+
+class tagGCPlayerAuctionItemInfo(Structure):
+ Head = tagHead()
+ AuctionItemCount = 0 #(WORD AuctionItemCount)//拍品数量
+ AuctionItemList = list() #(vector<tagGCPlayerAuctionItem> AuctionItemList)//拍品列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x02
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.AuctionItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ for i in range(self.AuctionItemCount):
+ temAuctionItemList = tagGCPlayerAuctionItem()
+ _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 = 0x02
+ self.AuctionItemCount = 0
+ self.AuctionItemList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 2
+ 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.WriteWORD(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_NAtagGCPlayerAuctionItemInfo=tagGCPlayerAuctionItemInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCPlayerAuctionItemInfo.Head.Cmd,m_NAtagGCPlayerAuctionItemInfo.Head.SubCmd))] = m_NAtagGCPlayerAuctionItemInfo
+
+
+#------------------------------------------------------
+# B5 03 拍卖行玩家拍卖记录 #tagGCPlayerAuctionRecordInfo
+
+class tagGCPlayerAuctionRecord(Structure):
+ FamilyID = 0 #(DWORD FamilyID)//有值时为仙盟拍品
+ RecordType = 0 #(BYTE RecordType)//记录类型 0-流拍 1-拍卖成交 2-回收 3-竞价成功 4-竞价失败
+ RecordTime = "" #(char RecordTime[19])//记录时间 yyyy-MM-dd hh:mm:ss
+ RecordPrice = 0 #(WORD RecordPrice)//记录价格
+ ItemID = 0 #(DWORD ItemID)
+ ItemCount = 0 #(WORD ItemCount)
+ 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.FamilyID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.RecordType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.RecordTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
+ self.RecordPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
+ return _pos
+
+ def Clear(self):
+ self.FamilyID = 0
+ self.RecordType = 0
+ self.RecordTime = ""
+ self.RecordPrice = 0
+ self.ItemID = 0
+ self.ItemCount = 0
+ self.UserDataLen = 0
+ self.UserData = ""
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 4
+ length += 1
+ length += 19
+ length += 2
+ length += 4
+ length += 2
+ length += 2
+ length += len(self.UserData)
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteDWORD(data, self.FamilyID)
+ data = CommFunc.WriteBYTE(data, self.RecordType)
+ data = CommFunc.WriteString(data, 19, self.RecordTime)
+ data = CommFunc.WriteWORD(data, self.RecordPrice)
+ data = CommFunc.WriteDWORD(data, self.ItemID)
+ data = CommFunc.WriteWORD(data, self.ItemCount)
+ data = CommFunc.WriteWORD(data, self.UserDataLen)
+ data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ FamilyID:%d,
+ RecordType:%d,
+ RecordTime:%s,
+ RecordPrice:%d,
+ ItemID:%d,
+ ItemCount:%d,
+ UserDataLen:%d,
+ UserData:%s
+ '''\
+ %(
+ self.FamilyID,
+ self.RecordType,
+ self.RecordTime,
+ self.RecordPrice,
+ self.ItemID,
+ self.ItemCount,
+ self.UserDataLen,
+ self.UserData
+ )
+ return DumpString
+
+
+class tagGCPlayerAuctionRecordInfo(Structure):
+ Head = tagHead()
+ Count = 0 #(BYTE Count)
+ AuctionRecordList = list() #(vector<tagGCPlayerAuctionRecordInfo> AuctionRecordList)
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB5
+ 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):
+ temAuctionRecordList = tagGCPlayerAuctionRecordInfo()
+ _pos = temAuctionRecordList.ReadData(_lpData, _pos)
+ self.AuctionRecordList.append(temAuctionRecordList)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x03
+ self.Count = 0
+ self.AuctionRecordList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ for i in range(self.Count):
+ length += self.AuctionRecordList[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.AuctionRecordList[i].GetLength(), self.AuctionRecordList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ Count:%d,
+ AuctionRecordList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.Count,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagGCPlayerAuctionRecordInfo=tagGCPlayerAuctionRecordInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCPlayerAuctionRecordInfo.Head.Cmd,m_NAtagGCPlayerAuctionRecordInfo.Head.SubCmd))] = m_NAtagGCPlayerAuctionRecordInfo
+
+
+#------------------------------------------------------
# B9 13 进入组队副本失败原因 #tagGCEnterTeamFBFailReason
class tagGCEnterTeamFBFailReason(Structure):
--
Gitblit v1.8.0