From 23996147f8d33e0a6340e9e37b3d5a8cbe68eb10 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 22 二月 2019 18:15:06 +0800
Subject: [PATCH] 6250 【后端】【2.0】拍卖行开发单(封包)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py | 193 +++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 682 ++++++++++++++++++++--
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 193 +++++
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 682 ++++++++++++++++++++--
4 files changed, 1,572 insertions(+), 178 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
index 084a3af..e15e640 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -2427,18 +2427,66 @@
#------------------------------------------------------
+# B5 16 拍卖行查询关注中的拍品 #tagCGQueryAttentionAuctionItem
+
+class tagCGQueryAttentionAuctionItem(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB5
+ self.SubCmd = 0x16
+ 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 = 0x16
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryAttentionAuctionItem)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B5 16 拍卖行查询关注中的拍品 //tagCGQueryAttentionAuctionItem:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGQueryAttentionAuctionItem=tagCGQueryAttentionAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryAttentionAuctionItem.Cmd,m_NAtagCGQueryAttentionAuctionItem.SubCmd))] = m_NAtagCGQueryAttentionAuctionItem
+
+
+#------------------------------------------------------
# B5 10 拍卖行查询拍卖中的物品 #tagCGQueryAuctionItem
class tagCGQueryAuctionItem(Structure):
Head = tagHead()
Job = 0 #(BYTE Job)//过滤职业,0为不限制
- ItemType = 0 #(BYTE ItemType)//过滤类型,0为不限制
+ ItemTypeCount = 0 #(BYTE ItemTypeCount)
+ ItemTypeList = list() #(vector<DWORD> ItemTypeList)//指定的物品类型
ClassLV = 0 #(BYTE ClassLV)//过滤阶数,0为不限制
SpecItemIDCount = 0 #(BYTE SpecItemIDCount)//指定物品ID个数
SpecItemIDList = list() #(vector<DWORD> SpecItemIDList)//指定物品ID
FromNum = 0 #(WORD FromNum)//查询起始数 (从1开始)
QueryCount = 0 #(BYTE QueryCount)//查询个数,0为全部
- IsFamily = 0 #(BYTE IsFamily)//是否查询仙盟拍品
data = None
def __init__(self):
@@ -2451,7 +2499,10 @@
self.Clear()
_pos = self.Head.ReadData(_lpData, _pos)
self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ItemType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.ItemTypeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.ItemTypeCount):
+ value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
+ self.ItemTypeList.append(value)
self.ClassLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.SpecItemIDCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.SpecItemIDCount):
@@ -2459,7 +2510,6 @@
self.SpecItemIDList.append(value)
self.FromNum,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.QueryCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.IsFamily,_pos = CommFunc.ReadBYTE(_lpData, _pos)
return _pos
def Clear(self):
@@ -2468,13 +2518,13 @@
self.Head.Cmd = 0xB5
self.Head.SubCmd = 0x10
self.Job = 0
- self.ItemType = 0
+ self.ItemTypeCount = 0
+ self.ItemTypeList = list()
self.ClassLV = 0
self.SpecItemIDCount = 0
self.SpecItemIDList = list()
self.FromNum = 0
self.QueryCount = 0
- self.IsFamily = 0
return
def GetLength(self):
@@ -2482,11 +2532,11 @@
length += self.Head.GetLength()
length += 1
length += 1
+ length += 4 * self.ItemTypeCount
length += 1
length += 1
length += 4 * self.SpecItemIDCount
length += 2
- length += 1
length += 1
return length
@@ -2495,38 +2545,39 @@
data = ''
data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
data = CommFunc.WriteBYTE(data, self.Job)
- data = CommFunc.WriteBYTE(data, self.ItemType)
+ data = CommFunc.WriteBYTE(data, self.ItemTypeCount)
+ for i in range(self.ItemTypeCount):
+ data = CommFunc.WriteDWORD(data, self.ItemTypeList[i])
data = CommFunc.WriteBYTE(data, self.ClassLV)
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.WriteBYTE(data, self.QueryCount)
- data = CommFunc.WriteBYTE(data, self.IsFamily)
return data
def OutputString(self):
DumpString = '''
Head:%s,
Job:%d,
- ItemType:%d,
+ ItemTypeCount:%d,
+ ItemTypeList:%s,
ClassLV:%d,
SpecItemIDCount:%d,
SpecItemIDList:%s,
FromNum:%d,
- QueryCount:%d,
- IsFamily:%d
+ QueryCount:%d
'''\
%(
self.Head.OutputString(),
self.Job,
- self.ItemType,
+ self.ItemTypeCount,
+ "...",
self.ClassLV,
self.SpecItemIDCount,
"...",
self.FromNum,
- self.QueryCount,
- self.IsFamily
+ self.QueryCount
)
return DumpString
@@ -2584,6 +2635,54 @@
#------------------------------------------------------
+# B5 15 拍卖行查询仙盟拍卖中的拍品 #tagCGQueryFamilyAuctionItem
+
+class tagCGQueryFamilyAuctionItem(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB5
+ self.SubCmd = 0x15
+ 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 = 0x15
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryFamilyAuctionItem)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B5 15 拍卖行查询仙盟拍卖中的拍品 //tagCGQueryFamilyAuctionItem:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGQueryFamilyAuctionItem=tagCGQueryFamilyAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryFamilyAuctionItem.Cmd,m_NAtagCGQueryFamilyAuctionItem.SubCmd))] = m_NAtagCGQueryFamilyAuctionItem
+
+
+#------------------------------------------------------
# B5 11 拍卖行查询个人拍卖中的物品 #tagCGQueryPlayerAuctionItem
class tagCGQueryPlayerAuctionItem(Structure):
@@ -2632,6 +2731,70 @@
#------------------------------------------------------
+# B5 17 拍卖行查询定位目标拍品 #tagCGQueryTagAuctionItem
+
+class tagCGQueryTagAuctionItem(Structure):
+ Head = tagHead()
+ ItemGUID = "" #(char ItemGUID[40])
+ ItemID = 0 #(DWORD ItemID)
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x17
+ 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)
+ self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x17
+ self.ItemGUID = ""
+ self.ItemID = 0
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 40
+ length += 4
+
+ 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)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ ItemGUID:%s,
+ ItemID:%d
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.ItemGUID,
+ self.ItemID
+ )
+ return DumpString
+
+
+m_NAtagCGQueryTagAuctionItem=tagCGQueryTagAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryTagAuctionItem.Head.Cmd,m_NAtagCGQueryTagAuctionItem.Head.SubCmd))] = m_NAtagCGQueryTagAuctionItem
+
+
+#------------------------------------------------------
# B9 07 自动匹配队伍或玩家 #tagCGAutoMatchTeam
class tagCGAutoMatchTeam(Structure):
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index 2553bbd..70a35be 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -6852,52 +6852,294 @@
# B5 04 拍卖行新上架拍品 #tagGCAddAuctionItem
class tagGCAddAuctionItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ItemID", c_int),
- ]
+ Head = tagHead()
+ ItemGUID = "" #(char ItemGUID[40])
+ ItemID = 0 #(DWORD ItemID)
+ data = None
def __init__(self):
self.Clear()
- self.Cmd = 0xB5
- self.SubCmd = 0x04
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x04
return
- def ReadData(self, stringData, _pos=0, _len=0):
+ def ReadData(self, _lpData, _pos=0, _Len=0):
self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+ self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ return _pos
def Clear(self):
- self.Cmd = 0xB5
- self.SubCmd = 0x04
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x04
+ self.ItemGUID = ""
self.ItemID = 0
return
def GetLength(self):
- return sizeof(tagGCAddAuctionItem)
+ length = 0
+ length += self.Head.GetLength()
+ length += 40
+ length += 4
+
+ return length
def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteString(data, 40, self.ItemGUID)
+ data = CommFunc.WriteDWORD(data, self.ItemID)
+ return data
def OutputString(self):
- DumpString = '''// B5 04 拍卖行新上架拍品 //tagGCAddAuctionItem:
- Cmd:%s,
- SubCmd:%s,
+ DumpString = '''
+ Head:%s,
+ ItemGUID:%s,
ItemID:%d
'''\
%(
- self.Cmd,
- self.SubCmd,
+ self.Head.OutputString(),
+ self.ItemGUID,
self.ItemID
)
return DumpString
m_NAtagGCAddAuctionItem=tagGCAddAuctionItem()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAddAuctionItem.Cmd,m_NAtagGCAddAuctionItem.SubCmd))] = m_NAtagGCAddAuctionItem
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAddAuctionItem.Head.Cmd,m_NAtagGCAddAuctionItem.Head.SubCmd))] = m_NAtagGCAddAuctionItem
+
+
+#------------------------------------------------------
+# B5 07 拍卖行关注的物品ID #tagGCAttentionAuctionItemID
+
+class tagGCAttentionAuctionItemID(Structure):
+ Head = tagHead()
+ AttentionCount = 0 #(BYTE AttentionCount)
+ AttentionItemIDList = list() #(vector<DWORD> AttentionItemIDList)// 关注的物品ID列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x07
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.AttentionCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.AttentionCount):
+ value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
+ self.AttentionItemIDList.append(value)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x07
+ self.AttentionCount = 0
+ self.AttentionItemIDList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ length += 4 * self.AttentionCount
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteBYTE(data, self.AttentionCount)
+ for i in range(self.AttentionCount):
+ data = CommFunc.WriteDWORD(data, self.AttentionItemIDList[i])
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ AttentionCount:%d,
+ AttentionItemIDList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.AttentionCount,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagGCAttentionAuctionItemID=tagGCAttentionAuctionItemID()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAttentionAuctionItemID.Head.Cmd,m_NAtagGCAttentionAuctionItemID.Head.SubCmd))] = m_NAtagGCAttentionAuctionItemID
+
+
+#------------------------------------------------------
+# B5 06 拍卖行关注中的拍品信息 #tagGCAttentionAuctionItemInfo
+
+class tagGCAttentionAuctionItem(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)//自定义数据
+ CanGetMoney = 0 #(BYTE CanGetMoney)//可否获得收益
+ 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.CanGetMoney,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ 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.CanGetMoney = 0
+ 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
+
+ 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.CanGetMoney)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ ItemGUID:%s,
+ FamilyID:%d,
+ ItemID:%d,
+ ItemCount:%d,
+ AddTime:%s,
+ BidderPrice:%d,
+ UserDataLen:%d,
+ UserData:%s,
+ CanGetMoney:%d
+ '''\
+ %(
+ self.ItemGUID,
+ self.FamilyID,
+ self.ItemID,
+ self.ItemCount,
+ self.AddTime,
+ self.BidderPrice,
+ self.UserDataLen,
+ self.UserData,
+ self.CanGetMoney
+ )
+ return DumpString
+
+
+class tagGCAttentionAuctionItemInfo(Structure):
+ Head = tagHead()
+ AuctionItemCount = 0 #(BYTE AuctionItemCount)//拍品数量
+ AuctionItemList = list() #(vector<tagGCAttentionAuctionItem> AuctionItemList)//拍品列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x06
+ 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 = tagGCAttentionAuctionItem()
+ _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 = 0x06
+ 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_NAtagGCAttentionAuctionItemInfo=tagGCAttentionAuctionItemInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAttentionAuctionItemInfo.Head.Cmd,m_NAtagGCAttentionAuctionItemInfo.Head.SubCmd))] = m_NAtagGCAttentionAuctionItemInfo
#------------------------------------------------------
@@ -6912,8 +7154,7 @@
BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价
UserDataLen = 0 #(WORD UserDataLen)
UserData = "" #(String UserData)//自定义数据
- FamilyPlayerCount = 0 #(BYTE FamilyPlayerCount)
- FamilyPlayerIDList = list() #(vector<DWORD> FamilyPlayerIDList)//享受收益的仙盟玩家ID列表
+ CanGetMoney = 0 #(BYTE CanGetMoney)//可否获得收益
data = None
def __init__(self):
@@ -6930,10 +7171,7 @@
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)
+ self.CanGetMoney,_pos = CommFunc.ReadBYTE(_lpData, _pos)
return _pos
def Clear(self):
@@ -6945,8 +7183,7 @@
self.BidderPrice = 0
self.UserDataLen = 0
self.UserData = ""
- self.FamilyPlayerCount = 0
- self.FamilyPlayerIDList = list()
+ self.CanGetMoney = 0
return
def GetLength(self):
@@ -6960,7 +7197,6 @@
length += 2
length += len(self.UserData)
length += 1
- length += 4 * self.FamilyPlayerCount
return length
@@ -6974,9 +7210,7 @@
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])
+ data = CommFunc.WriteBYTE(data, self.CanGetMoney)
return data
def OutputString(self):
@@ -6989,8 +7223,7 @@
BidderPrice:%d,
UserDataLen:%d,
UserData:%s,
- FamilyPlayerCount:%d,
- FamilyPlayerIDList:%s
+ CanGetMoney:%d
'''\
%(
self.ItemGUID,
@@ -7001,8 +7234,7 @@
self.BidderPrice,
self.UserDataLen,
self.UserData,
- self.FamilyPlayerCount,
- "..."
+ self.CanGetMoney
)
return DumpString
@@ -7010,15 +7242,15 @@
class tagGCAuctionItemInfo(Structure):
Head = tagHead()
Job = 0 #(BYTE Job)//过滤职业,0为不限制
- ItemType = 0 #(BYTE ItemType)//过滤类型,0为不限制
+ ItemTypeCount = 0 #(BYTE ItemTypeCount)
+ ItemTypeList = list() #(vector<DWORD> ItemTypeList)//指定的物品类型
ClassLV = 0 #(BYTE ClassLV)//过滤阶数,0为不限制
SpecItemIDCount = 0 #(BYTE SpecItemIDCount)//指定物品ID个数
SpecItemIDList = list() #(vector<DWORD> SpecItemIDList)//指定物品ID
FromNum = 0 #(WORD FromNum)//查询起始数 (从1开始)
QueryCount = 0 #(BYTE QueryCount)//查询个数,0为全部
- IsFamily = 0 #(BYTE IsFamily)//是否查询仙盟拍品
QueryTotalCount = 0 #(WORD QueryTotalCount)//查询条件实际总个数
- AuctionItemCount = 0 #(WORD AuctionItemCount)//返回拍品数量
+ AuctionItemCount = 0 #(BYTE AuctionItemCount)//返回拍品数量
AuctionItemList = list() #(vector<tagGCAuctionItem> AuctionItemList)//返回拍品列表
data = None
@@ -7032,7 +7264,10 @@
self.Clear()
_pos = self.Head.ReadData(_lpData, _pos)
self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ItemType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.ItemTypeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.ItemTypeCount):
+ value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
+ self.ItemTypeList.append(value)
self.ClassLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.SpecItemIDCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.SpecItemIDCount):
@@ -7040,9 +7275,8 @@
self.SpecItemIDList.append(value)
self.FromNum,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.QueryCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.IsFamily,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.QueryTotalCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.AuctionItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.AuctionItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.AuctionItemCount):
temAuctionItemList = tagGCAuctionItem()
_pos = temAuctionItemList.ReadData(_lpData, _pos)
@@ -7055,13 +7289,13 @@
self.Head.Cmd = 0xB5
self.Head.SubCmd = 0x01
self.Job = 0
- self.ItemType = 0
+ self.ItemTypeCount = 0
+ self.ItemTypeList = list()
self.ClassLV = 0
self.SpecItemIDCount = 0
self.SpecItemIDList = list()
self.FromNum = 0
self.QueryCount = 0
- self.IsFamily = 0
self.QueryTotalCount = 0
self.AuctionItemCount = 0
self.AuctionItemList = list()
@@ -7072,14 +7306,14 @@
length += self.Head.GetLength()
length += 1
length += 1
+ length += 4 * self.ItemTypeCount
length += 1
length += 1
length += 4 * self.SpecItemIDCount
length += 2
length += 1
+ length += 2
length += 1
- length += 2
- length += 2
for i in range(self.AuctionItemCount):
length += self.AuctionItemList[i].GetLength()
@@ -7089,16 +7323,17 @@
data = ''
data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
data = CommFunc.WriteBYTE(data, self.Job)
- data = CommFunc.WriteBYTE(data, self.ItemType)
+ data = CommFunc.WriteBYTE(data, self.ItemTypeCount)
+ for i in range(self.ItemTypeCount):
+ data = CommFunc.WriteDWORD(data, self.ItemTypeList[i])
data = CommFunc.WriteBYTE(data, self.ClassLV)
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.WriteBYTE(data, self.QueryCount)
- data = CommFunc.WriteBYTE(data, self.IsFamily)
data = CommFunc.WriteWORD(data, self.QueryTotalCount)
- data = CommFunc.WriteWORD(data, self.AuctionItemCount)
+ 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
@@ -7107,13 +7342,13 @@
DumpString = '''
Head:%s,
Job:%d,
- ItemType:%d,
+ ItemTypeCount:%d,
+ ItemTypeList:%s,
ClassLV:%d,
SpecItemIDCount:%d,
SpecItemIDList:%s,
FromNum:%d,
QueryCount:%d,
- IsFamily:%d,
QueryTotalCount:%d,
AuctionItemCount:%d,
AuctionItemList:%s
@@ -7121,13 +7356,13 @@
%(
self.Head.OutputString(),
self.Job,
- self.ItemType,
+ self.ItemTypeCount,
+ "...",
self.ClassLV,
self.SpecItemIDCount,
"...",
self.FromNum,
self.QueryCount,
- self.IsFamily,
self.QueryTotalCount,
self.AuctionItemCount,
"..."
@@ -7137,6 +7372,214 @@
m_NAtagGCAuctionItemInfo=tagGCAuctionItemInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAuctionItemInfo.Head.Cmd,m_NAtagGCAuctionItemInfo.Head.SubCmd))] = m_NAtagGCAuctionItemInfo
+
+
+#------------------------------------------------------
+# B5 09 拍卖行清除拍品 #tagGCClearAuctionItem
+
+class tagGCClearAuctionItem(Structure):
+ 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
+
+
+m_NAtagGCClearAuctionItem=tagGCClearAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCClearAuctionItem.Head.Cmd,m_NAtagGCClearAuctionItem.Head.SubCmd))] = m_NAtagGCClearAuctionItem
+
+
+#------------------------------------------------------
+# B5 05 拍卖行仙盟拍卖中的物品信息 #tagGCFamilyAuctionItemInfo
+
+class tagGCFamilyAuctionItem(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)//自定义数据
+ CanGetMoney = 0 #(BYTE CanGetMoney)//可否获得收益
+ 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.CanGetMoney,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ 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.CanGetMoney = 0
+ 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
+
+ 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.CanGetMoney)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ ItemGUID:%s,
+ FamilyID:%d,
+ ItemID:%d,
+ ItemCount:%d,
+ AddTime:%s,
+ BidderPrice:%d,
+ UserDataLen:%d,
+ UserData:%s,
+ CanGetMoney:%d
+ '''\
+ %(
+ self.ItemGUID,
+ self.FamilyID,
+ self.ItemID,
+ self.ItemCount,
+ self.AddTime,
+ self.BidderPrice,
+ self.UserDataLen,
+ self.UserData,
+ self.CanGetMoney
+ )
+ return DumpString
+
+
+class tagGCFamilyAuctionItemInfo(Structure):
+ Head = tagHead()
+ AuctionItemCount = 0 #(BYTE AuctionItemCount)//拍品数量
+ AuctionItemList = list() #(vector<tagGCFamilyAuctionItem> AuctionItemList)//拍品列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x05
+ 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 = tagGCFamilyAuctionItem()
+ _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 = 0x05
+ 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_NAtagGCFamilyAuctionItemInfo=tagGCFamilyAuctionItemInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCFamilyAuctionItemInfo.Head.Cmd,m_NAtagGCFamilyAuctionItemInfo.Head.SubCmd))] = m_NAtagGCFamilyAuctionItemInfo
#------------------------------------------------------
@@ -7151,8 +7594,7 @@
BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价
UserDataLen = 0 #(WORD UserDataLen)
UserData = "" #(String UserData)//自定义数据
- FamilyPlayerCount = 0 #(BYTE FamilyPlayerCount)
- FamilyPlayerIDList = list() #(vector<DWORD> FamilyPlayerIDList)//享受收益的仙盟玩家ID列表
+ CanGetMoney = 0 #(BYTE CanGetMoney)//可否获得收益
data = None
def __init__(self):
@@ -7169,10 +7611,7 @@
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)
+ self.CanGetMoney,_pos = CommFunc.ReadBYTE(_lpData, _pos)
return _pos
def Clear(self):
@@ -7184,8 +7623,7 @@
self.BidderPrice = 0
self.UserDataLen = 0
self.UserData = ""
- self.FamilyPlayerCount = 0
- self.FamilyPlayerIDList = list()
+ self.CanGetMoney = 0
return
def GetLength(self):
@@ -7199,7 +7637,6 @@
length += 2
length += len(self.UserData)
length += 1
- length += 4 * self.FamilyPlayerCount
return length
@@ -7213,9 +7650,7 @@
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])
+ data = CommFunc.WriteBYTE(data, self.CanGetMoney)
return data
def OutputString(self):
@@ -7228,8 +7663,7 @@
BidderPrice:%d,
UserDataLen:%d,
UserData:%s,
- FamilyPlayerCount:%d,
- FamilyPlayerIDList:%s
+ CanGetMoney:%d
'''\
%(
self.ItemGUID,
@@ -7240,15 +7674,14 @@
self.BidderPrice,
self.UserDataLen,
self.UserData,
- self.FamilyPlayerCount,
- "..."
+ self.CanGetMoney
)
return DumpString
class tagGCPlayerAuctionItemInfo(Structure):
Head = tagHead()
- AuctionItemCount = 0 #(WORD AuctionItemCount)//拍品数量
+ AuctionItemCount = 0 #(BYTE AuctionItemCount)//拍品数量
AuctionItemList = list() #(vector<tagGCPlayerAuctionItem> AuctionItemList)//拍品列表
data = None
@@ -7261,7 +7694,7 @@
def ReadData(self, _lpData, _pos=0, _Len=0):
self.Clear()
_pos = self.Head.ReadData(_lpData, _pos)
- self.AuctionItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.AuctionItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.AuctionItemCount):
temAuctionItemList = tagGCPlayerAuctionItem()
_pos = temAuctionItemList.ReadData(_lpData, _pos)
@@ -7280,7 +7713,7 @@
def GetLength(self):
length = 0
length += self.Head.GetLength()
- length += 2
+ length += 1
for i in range(self.AuctionItemCount):
length += self.AuctionItemList[i].GetLength()
@@ -7289,7 +7722,7 @@
def GetBuffer(self):
data = ''
data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteWORD(data, self.AuctionItemCount)
+ 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
@@ -7469,6 +7902,107 @@
#------------------------------------------------------
+# B5 08 拍卖行刷新拍品 #tagGCRefreshAuctionItem
+
+class tagGCRefreshAuctionItem(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)//自定义数据
+ CanGetMoney = 0 #(BYTE CanGetMoney)//可否获得收益
+ 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.CanGetMoney,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ 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.CanGetMoney = 0
+ 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
+
+ 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.CanGetMoney)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ ItemGUID:%s,
+ FamilyID:%d,
+ ItemID:%d,
+ ItemCount:%d,
+ AddTime:%s,
+ BidderPrice:%d,
+ UserDataLen:%d,
+ UserData:%s,
+ CanGetMoney:%d
+ '''\
+ %(
+ self.ItemGUID,
+ self.FamilyID,
+ self.ItemID,
+ self.ItemCount,
+ self.AddTime,
+ self.BidderPrice,
+ self.UserDataLen,
+ self.UserData,
+ self.CanGetMoney
+ )
+ return DumpString
+
+
+m_NAtagGCRefreshAuctionItem=tagGCRefreshAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCRefreshAuctionItem.Head.Cmd,m_NAtagGCRefreshAuctionItem.Head.SubCmd))] = m_NAtagGCRefreshAuctionItem
+
+
+#------------------------------------------------------
# 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 084a3af..e15e640 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -2427,18 +2427,66 @@
#------------------------------------------------------
+# B5 16 拍卖行查询关注中的拍品 #tagCGQueryAttentionAuctionItem
+
+class tagCGQueryAttentionAuctionItem(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB5
+ self.SubCmd = 0x16
+ 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 = 0x16
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryAttentionAuctionItem)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B5 16 拍卖行查询关注中的拍品 //tagCGQueryAttentionAuctionItem:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGQueryAttentionAuctionItem=tagCGQueryAttentionAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryAttentionAuctionItem.Cmd,m_NAtagCGQueryAttentionAuctionItem.SubCmd))] = m_NAtagCGQueryAttentionAuctionItem
+
+
+#------------------------------------------------------
# B5 10 拍卖行查询拍卖中的物品 #tagCGQueryAuctionItem
class tagCGQueryAuctionItem(Structure):
Head = tagHead()
Job = 0 #(BYTE Job)//过滤职业,0为不限制
- ItemType = 0 #(BYTE ItemType)//过滤类型,0为不限制
+ ItemTypeCount = 0 #(BYTE ItemTypeCount)
+ ItemTypeList = list() #(vector<DWORD> ItemTypeList)//指定的物品类型
ClassLV = 0 #(BYTE ClassLV)//过滤阶数,0为不限制
SpecItemIDCount = 0 #(BYTE SpecItemIDCount)//指定物品ID个数
SpecItemIDList = list() #(vector<DWORD> SpecItemIDList)//指定物品ID
FromNum = 0 #(WORD FromNum)//查询起始数 (从1开始)
QueryCount = 0 #(BYTE QueryCount)//查询个数,0为全部
- IsFamily = 0 #(BYTE IsFamily)//是否查询仙盟拍品
data = None
def __init__(self):
@@ -2451,7 +2499,10 @@
self.Clear()
_pos = self.Head.ReadData(_lpData, _pos)
self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ItemType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.ItemTypeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.ItemTypeCount):
+ value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
+ self.ItemTypeList.append(value)
self.ClassLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.SpecItemIDCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.SpecItemIDCount):
@@ -2459,7 +2510,6 @@
self.SpecItemIDList.append(value)
self.FromNum,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.QueryCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.IsFamily,_pos = CommFunc.ReadBYTE(_lpData, _pos)
return _pos
def Clear(self):
@@ -2468,13 +2518,13 @@
self.Head.Cmd = 0xB5
self.Head.SubCmd = 0x10
self.Job = 0
- self.ItemType = 0
+ self.ItemTypeCount = 0
+ self.ItemTypeList = list()
self.ClassLV = 0
self.SpecItemIDCount = 0
self.SpecItemIDList = list()
self.FromNum = 0
self.QueryCount = 0
- self.IsFamily = 0
return
def GetLength(self):
@@ -2482,11 +2532,11 @@
length += self.Head.GetLength()
length += 1
length += 1
+ length += 4 * self.ItemTypeCount
length += 1
length += 1
length += 4 * self.SpecItemIDCount
length += 2
- length += 1
length += 1
return length
@@ -2495,38 +2545,39 @@
data = ''
data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
data = CommFunc.WriteBYTE(data, self.Job)
- data = CommFunc.WriteBYTE(data, self.ItemType)
+ data = CommFunc.WriteBYTE(data, self.ItemTypeCount)
+ for i in range(self.ItemTypeCount):
+ data = CommFunc.WriteDWORD(data, self.ItemTypeList[i])
data = CommFunc.WriteBYTE(data, self.ClassLV)
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.WriteBYTE(data, self.QueryCount)
- data = CommFunc.WriteBYTE(data, self.IsFamily)
return data
def OutputString(self):
DumpString = '''
Head:%s,
Job:%d,
- ItemType:%d,
+ ItemTypeCount:%d,
+ ItemTypeList:%s,
ClassLV:%d,
SpecItemIDCount:%d,
SpecItemIDList:%s,
FromNum:%d,
- QueryCount:%d,
- IsFamily:%d
+ QueryCount:%d
'''\
%(
self.Head.OutputString(),
self.Job,
- self.ItemType,
+ self.ItemTypeCount,
+ "...",
self.ClassLV,
self.SpecItemIDCount,
"...",
self.FromNum,
- self.QueryCount,
- self.IsFamily
+ self.QueryCount
)
return DumpString
@@ -2584,6 +2635,54 @@
#------------------------------------------------------
+# B5 15 拍卖行查询仙盟拍卖中的拍品 #tagCGQueryFamilyAuctionItem
+
+class tagCGQueryFamilyAuctionItem(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB5
+ self.SubCmd = 0x15
+ 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 = 0x15
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryFamilyAuctionItem)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B5 15 拍卖行查询仙盟拍卖中的拍品 //tagCGQueryFamilyAuctionItem:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCGQueryFamilyAuctionItem=tagCGQueryFamilyAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryFamilyAuctionItem.Cmd,m_NAtagCGQueryFamilyAuctionItem.SubCmd))] = m_NAtagCGQueryFamilyAuctionItem
+
+
+#------------------------------------------------------
# B5 11 拍卖行查询个人拍卖中的物品 #tagCGQueryPlayerAuctionItem
class tagCGQueryPlayerAuctionItem(Structure):
@@ -2632,6 +2731,70 @@
#------------------------------------------------------
+# B5 17 拍卖行查询定位目标拍品 #tagCGQueryTagAuctionItem
+
+class tagCGQueryTagAuctionItem(Structure):
+ Head = tagHead()
+ ItemGUID = "" #(char ItemGUID[40])
+ ItemID = 0 #(DWORD ItemID)
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x17
+ 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)
+ self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x17
+ self.ItemGUID = ""
+ self.ItemID = 0
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 40
+ length += 4
+
+ 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)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ ItemGUID:%s,
+ ItemID:%d
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.ItemGUID,
+ self.ItemID
+ )
+ return DumpString
+
+
+m_NAtagCGQueryTagAuctionItem=tagCGQueryTagAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryTagAuctionItem.Head.Cmd,m_NAtagCGQueryTagAuctionItem.Head.SubCmd))] = m_NAtagCGQueryTagAuctionItem
+
+
+#------------------------------------------------------
# B9 07 自动匹配队伍或玩家 #tagCGAutoMatchTeam
class tagCGAutoMatchTeam(Structure):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index 2553bbd..70a35be 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -6852,52 +6852,294 @@
# B5 04 拍卖行新上架拍品 #tagGCAddAuctionItem
class tagGCAddAuctionItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ItemID", c_int),
- ]
+ Head = tagHead()
+ ItemGUID = "" #(char ItemGUID[40])
+ ItemID = 0 #(DWORD ItemID)
+ data = None
def __init__(self):
self.Clear()
- self.Cmd = 0xB5
- self.SubCmd = 0x04
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x04
return
- def ReadData(self, stringData, _pos=0, _len=0):
+ def ReadData(self, _lpData, _pos=0, _Len=0):
self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+ self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ return _pos
def Clear(self):
- self.Cmd = 0xB5
- self.SubCmd = 0x04
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x04
+ self.ItemGUID = ""
self.ItemID = 0
return
def GetLength(self):
- return sizeof(tagGCAddAuctionItem)
+ length = 0
+ length += self.Head.GetLength()
+ length += 40
+ length += 4
+
+ return length
def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteString(data, 40, self.ItemGUID)
+ data = CommFunc.WriteDWORD(data, self.ItemID)
+ return data
def OutputString(self):
- DumpString = '''// B5 04 拍卖行新上架拍品 //tagGCAddAuctionItem:
- Cmd:%s,
- SubCmd:%s,
+ DumpString = '''
+ Head:%s,
+ ItemGUID:%s,
ItemID:%d
'''\
%(
- self.Cmd,
- self.SubCmd,
+ self.Head.OutputString(),
+ self.ItemGUID,
self.ItemID
)
return DumpString
m_NAtagGCAddAuctionItem=tagGCAddAuctionItem()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAddAuctionItem.Cmd,m_NAtagGCAddAuctionItem.SubCmd))] = m_NAtagGCAddAuctionItem
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAddAuctionItem.Head.Cmd,m_NAtagGCAddAuctionItem.Head.SubCmd))] = m_NAtagGCAddAuctionItem
+
+
+#------------------------------------------------------
+# B5 07 拍卖行关注的物品ID #tagGCAttentionAuctionItemID
+
+class tagGCAttentionAuctionItemID(Structure):
+ Head = tagHead()
+ AttentionCount = 0 #(BYTE AttentionCount)
+ AttentionItemIDList = list() #(vector<DWORD> AttentionItemIDList)// 关注的物品ID列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x07
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.AttentionCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.AttentionCount):
+ value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
+ self.AttentionItemIDList.append(value)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x07
+ self.AttentionCount = 0
+ self.AttentionItemIDList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 1
+ length += 4 * self.AttentionCount
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteBYTE(data, self.AttentionCount)
+ for i in range(self.AttentionCount):
+ data = CommFunc.WriteDWORD(data, self.AttentionItemIDList[i])
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ AttentionCount:%d,
+ AttentionItemIDList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.AttentionCount,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagGCAttentionAuctionItemID=tagGCAttentionAuctionItemID()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAttentionAuctionItemID.Head.Cmd,m_NAtagGCAttentionAuctionItemID.Head.SubCmd))] = m_NAtagGCAttentionAuctionItemID
+
+
+#------------------------------------------------------
+# B5 06 拍卖行关注中的拍品信息 #tagGCAttentionAuctionItemInfo
+
+class tagGCAttentionAuctionItem(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)//自定义数据
+ CanGetMoney = 0 #(BYTE CanGetMoney)//可否获得收益
+ 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.CanGetMoney,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ 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.CanGetMoney = 0
+ 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
+
+ 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.CanGetMoney)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ ItemGUID:%s,
+ FamilyID:%d,
+ ItemID:%d,
+ ItemCount:%d,
+ AddTime:%s,
+ BidderPrice:%d,
+ UserDataLen:%d,
+ UserData:%s,
+ CanGetMoney:%d
+ '''\
+ %(
+ self.ItemGUID,
+ self.FamilyID,
+ self.ItemID,
+ self.ItemCount,
+ self.AddTime,
+ self.BidderPrice,
+ self.UserDataLen,
+ self.UserData,
+ self.CanGetMoney
+ )
+ return DumpString
+
+
+class tagGCAttentionAuctionItemInfo(Structure):
+ Head = tagHead()
+ AuctionItemCount = 0 #(BYTE AuctionItemCount)//拍品数量
+ AuctionItemList = list() #(vector<tagGCAttentionAuctionItem> AuctionItemList)//拍品列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x06
+ 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 = tagGCAttentionAuctionItem()
+ _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 = 0x06
+ 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_NAtagGCAttentionAuctionItemInfo=tagGCAttentionAuctionItemInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAttentionAuctionItemInfo.Head.Cmd,m_NAtagGCAttentionAuctionItemInfo.Head.SubCmd))] = m_NAtagGCAttentionAuctionItemInfo
#------------------------------------------------------
@@ -6912,8 +7154,7 @@
BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价
UserDataLen = 0 #(WORD UserDataLen)
UserData = "" #(String UserData)//自定义数据
- FamilyPlayerCount = 0 #(BYTE FamilyPlayerCount)
- FamilyPlayerIDList = list() #(vector<DWORD> FamilyPlayerIDList)//享受收益的仙盟玩家ID列表
+ CanGetMoney = 0 #(BYTE CanGetMoney)//可否获得收益
data = None
def __init__(self):
@@ -6930,10 +7171,7 @@
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)
+ self.CanGetMoney,_pos = CommFunc.ReadBYTE(_lpData, _pos)
return _pos
def Clear(self):
@@ -6945,8 +7183,7 @@
self.BidderPrice = 0
self.UserDataLen = 0
self.UserData = ""
- self.FamilyPlayerCount = 0
- self.FamilyPlayerIDList = list()
+ self.CanGetMoney = 0
return
def GetLength(self):
@@ -6960,7 +7197,6 @@
length += 2
length += len(self.UserData)
length += 1
- length += 4 * self.FamilyPlayerCount
return length
@@ -6974,9 +7210,7 @@
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])
+ data = CommFunc.WriteBYTE(data, self.CanGetMoney)
return data
def OutputString(self):
@@ -6989,8 +7223,7 @@
BidderPrice:%d,
UserDataLen:%d,
UserData:%s,
- FamilyPlayerCount:%d,
- FamilyPlayerIDList:%s
+ CanGetMoney:%d
'''\
%(
self.ItemGUID,
@@ -7001,8 +7234,7 @@
self.BidderPrice,
self.UserDataLen,
self.UserData,
- self.FamilyPlayerCount,
- "..."
+ self.CanGetMoney
)
return DumpString
@@ -7010,15 +7242,15 @@
class tagGCAuctionItemInfo(Structure):
Head = tagHead()
Job = 0 #(BYTE Job)//过滤职业,0为不限制
- ItemType = 0 #(BYTE ItemType)//过滤类型,0为不限制
+ ItemTypeCount = 0 #(BYTE ItemTypeCount)
+ ItemTypeList = list() #(vector<DWORD> ItemTypeList)//指定的物品类型
ClassLV = 0 #(BYTE ClassLV)//过滤阶数,0为不限制
SpecItemIDCount = 0 #(BYTE SpecItemIDCount)//指定物品ID个数
SpecItemIDList = list() #(vector<DWORD> SpecItemIDList)//指定物品ID
FromNum = 0 #(WORD FromNum)//查询起始数 (从1开始)
QueryCount = 0 #(BYTE QueryCount)//查询个数,0为全部
- IsFamily = 0 #(BYTE IsFamily)//是否查询仙盟拍品
QueryTotalCount = 0 #(WORD QueryTotalCount)//查询条件实际总个数
- AuctionItemCount = 0 #(WORD AuctionItemCount)//返回拍品数量
+ AuctionItemCount = 0 #(BYTE AuctionItemCount)//返回拍品数量
AuctionItemList = list() #(vector<tagGCAuctionItem> AuctionItemList)//返回拍品列表
data = None
@@ -7032,7 +7264,10 @@
self.Clear()
_pos = self.Head.ReadData(_lpData, _pos)
self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ItemType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.ItemTypeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.ItemTypeCount):
+ value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
+ self.ItemTypeList.append(value)
self.ClassLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.SpecItemIDCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.SpecItemIDCount):
@@ -7040,9 +7275,8 @@
self.SpecItemIDList.append(value)
self.FromNum,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.QueryCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.IsFamily,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.QueryTotalCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.AuctionItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.AuctionItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.AuctionItemCount):
temAuctionItemList = tagGCAuctionItem()
_pos = temAuctionItemList.ReadData(_lpData, _pos)
@@ -7055,13 +7289,13 @@
self.Head.Cmd = 0xB5
self.Head.SubCmd = 0x01
self.Job = 0
- self.ItemType = 0
+ self.ItemTypeCount = 0
+ self.ItemTypeList = list()
self.ClassLV = 0
self.SpecItemIDCount = 0
self.SpecItemIDList = list()
self.FromNum = 0
self.QueryCount = 0
- self.IsFamily = 0
self.QueryTotalCount = 0
self.AuctionItemCount = 0
self.AuctionItemList = list()
@@ -7072,14 +7306,14 @@
length += self.Head.GetLength()
length += 1
length += 1
+ length += 4 * self.ItemTypeCount
length += 1
length += 1
length += 4 * self.SpecItemIDCount
length += 2
length += 1
+ length += 2
length += 1
- length += 2
- length += 2
for i in range(self.AuctionItemCount):
length += self.AuctionItemList[i].GetLength()
@@ -7089,16 +7323,17 @@
data = ''
data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
data = CommFunc.WriteBYTE(data, self.Job)
- data = CommFunc.WriteBYTE(data, self.ItemType)
+ data = CommFunc.WriteBYTE(data, self.ItemTypeCount)
+ for i in range(self.ItemTypeCount):
+ data = CommFunc.WriteDWORD(data, self.ItemTypeList[i])
data = CommFunc.WriteBYTE(data, self.ClassLV)
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.WriteBYTE(data, self.QueryCount)
- data = CommFunc.WriteBYTE(data, self.IsFamily)
data = CommFunc.WriteWORD(data, self.QueryTotalCount)
- data = CommFunc.WriteWORD(data, self.AuctionItemCount)
+ 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
@@ -7107,13 +7342,13 @@
DumpString = '''
Head:%s,
Job:%d,
- ItemType:%d,
+ ItemTypeCount:%d,
+ ItemTypeList:%s,
ClassLV:%d,
SpecItemIDCount:%d,
SpecItemIDList:%s,
FromNum:%d,
QueryCount:%d,
- IsFamily:%d,
QueryTotalCount:%d,
AuctionItemCount:%d,
AuctionItemList:%s
@@ -7121,13 +7356,13 @@
%(
self.Head.OutputString(),
self.Job,
- self.ItemType,
+ self.ItemTypeCount,
+ "...",
self.ClassLV,
self.SpecItemIDCount,
"...",
self.FromNum,
self.QueryCount,
- self.IsFamily,
self.QueryTotalCount,
self.AuctionItemCount,
"..."
@@ -7137,6 +7372,214 @@
m_NAtagGCAuctionItemInfo=tagGCAuctionItemInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAuctionItemInfo.Head.Cmd,m_NAtagGCAuctionItemInfo.Head.SubCmd))] = m_NAtagGCAuctionItemInfo
+
+
+#------------------------------------------------------
+# B5 09 拍卖行清除拍品 #tagGCClearAuctionItem
+
+class tagGCClearAuctionItem(Structure):
+ 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
+
+
+m_NAtagGCClearAuctionItem=tagGCClearAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCClearAuctionItem.Head.Cmd,m_NAtagGCClearAuctionItem.Head.SubCmd))] = m_NAtagGCClearAuctionItem
+
+
+#------------------------------------------------------
+# B5 05 拍卖行仙盟拍卖中的物品信息 #tagGCFamilyAuctionItemInfo
+
+class tagGCFamilyAuctionItem(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)//自定义数据
+ CanGetMoney = 0 #(BYTE CanGetMoney)//可否获得收益
+ 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.CanGetMoney,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ 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.CanGetMoney = 0
+ 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
+
+ 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.CanGetMoney)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ ItemGUID:%s,
+ FamilyID:%d,
+ ItemID:%d,
+ ItemCount:%d,
+ AddTime:%s,
+ BidderPrice:%d,
+ UserDataLen:%d,
+ UserData:%s,
+ CanGetMoney:%d
+ '''\
+ %(
+ self.ItemGUID,
+ self.FamilyID,
+ self.ItemID,
+ self.ItemCount,
+ self.AddTime,
+ self.BidderPrice,
+ self.UserDataLen,
+ self.UserData,
+ self.CanGetMoney
+ )
+ return DumpString
+
+
+class tagGCFamilyAuctionItemInfo(Structure):
+ Head = tagHead()
+ AuctionItemCount = 0 #(BYTE AuctionItemCount)//拍品数量
+ AuctionItemList = list() #(vector<tagGCFamilyAuctionItem> AuctionItemList)//拍品列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB5
+ self.Head.SubCmd = 0x05
+ 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 = tagGCFamilyAuctionItem()
+ _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 = 0x05
+ 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_NAtagGCFamilyAuctionItemInfo=tagGCFamilyAuctionItemInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCFamilyAuctionItemInfo.Head.Cmd,m_NAtagGCFamilyAuctionItemInfo.Head.SubCmd))] = m_NAtagGCFamilyAuctionItemInfo
#------------------------------------------------------
@@ -7151,8 +7594,7 @@
BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价
UserDataLen = 0 #(WORD UserDataLen)
UserData = "" #(String UserData)//自定义数据
- FamilyPlayerCount = 0 #(BYTE FamilyPlayerCount)
- FamilyPlayerIDList = list() #(vector<DWORD> FamilyPlayerIDList)//享受收益的仙盟玩家ID列表
+ CanGetMoney = 0 #(BYTE CanGetMoney)//可否获得收益
data = None
def __init__(self):
@@ -7169,10 +7611,7 @@
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)
+ self.CanGetMoney,_pos = CommFunc.ReadBYTE(_lpData, _pos)
return _pos
def Clear(self):
@@ -7184,8 +7623,7 @@
self.BidderPrice = 0
self.UserDataLen = 0
self.UserData = ""
- self.FamilyPlayerCount = 0
- self.FamilyPlayerIDList = list()
+ self.CanGetMoney = 0
return
def GetLength(self):
@@ -7199,7 +7637,6 @@
length += 2
length += len(self.UserData)
length += 1
- length += 4 * self.FamilyPlayerCount
return length
@@ -7213,9 +7650,7 @@
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])
+ data = CommFunc.WriteBYTE(data, self.CanGetMoney)
return data
def OutputString(self):
@@ -7228,8 +7663,7 @@
BidderPrice:%d,
UserDataLen:%d,
UserData:%s,
- FamilyPlayerCount:%d,
- FamilyPlayerIDList:%s
+ CanGetMoney:%d
'''\
%(
self.ItemGUID,
@@ -7240,15 +7674,14 @@
self.BidderPrice,
self.UserDataLen,
self.UserData,
- self.FamilyPlayerCount,
- "..."
+ self.CanGetMoney
)
return DumpString
class tagGCPlayerAuctionItemInfo(Structure):
Head = tagHead()
- AuctionItemCount = 0 #(WORD AuctionItemCount)//拍品数量
+ AuctionItemCount = 0 #(BYTE AuctionItemCount)//拍品数量
AuctionItemList = list() #(vector<tagGCPlayerAuctionItem> AuctionItemList)//拍品列表
data = None
@@ -7261,7 +7694,7 @@
def ReadData(self, _lpData, _pos=0, _Len=0):
self.Clear()
_pos = self.Head.ReadData(_lpData, _pos)
- self.AuctionItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.AuctionItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.AuctionItemCount):
temAuctionItemList = tagGCPlayerAuctionItem()
_pos = temAuctionItemList.ReadData(_lpData, _pos)
@@ -7280,7 +7713,7 @@
def GetLength(self):
length = 0
length += self.Head.GetLength()
- length += 2
+ length += 1
for i in range(self.AuctionItemCount):
length += self.AuctionItemList[i].GetLength()
@@ -7289,7 +7722,7 @@
def GetBuffer(self):
data = ''
data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteWORD(data, self.AuctionItemCount)
+ 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
@@ -7469,6 +7902,107 @@
#------------------------------------------------------
+# B5 08 拍卖行刷新拍品 #tagGCRefreshAuctionItem
+
+class tagGCRefreshAuctionItem(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)//自定义数据
+ CanGetMoney = 0 #(BYTE CanGetMoney)//可否获得收益
+ 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.CanGetMoney,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ 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.CanGetMoney = 0
+ 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
+
+ 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.CanGetMoney)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ ItemGUID:%s,
+ FamilyID:%d,
+ ItemID:%d,
+ ItemCount:%d,
+ AddTime:%s,
+ BidderPrice:%d,
+ UserDataLen:%d,
+ UserData:%s,
+ CanGetMoney:%d
+ '''\
+ %(
+ self.ItemGUID,
+ self.FamilyID,
+ self.ItemID,
+ self.ItemCount,
+ self.AddTime,
+ self.BidderPrice,
+ self.UserDataLen,
+ self.UserData,
+ self.CanGetMoney
+ )
+ return DumpString
+
+
+m_NAtagGCRefreshAuctionItem=tagGCRefreshAuctionItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCRefreshAuctionItem.Head.Cmd,m_NAtagGCRefreshAuctionItem.Head.SubCmd))] = m_NAtagGCRefreshAuctionItem
+
+
+#------------------------------------------------------
# B9 13 进入组队副本失败原因 #tagGCEnterTeamFBFailReason
class tagGCEnterTeamFBFailReason(Structure):
--
Gitblit v1.8.0