xdh
2019-03-14 c68d28b333ae625e4a0fd0ebefa3ebb74d352d00
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -899,6 +899,58 @@
#------------------------------------------------------
# A4 0C 多仙盟boss活动信息 #tagGCAllFamilyBossInfo
class  tagGCAllFamilyBossInfo(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("IsEnd", c_ubyte),    # 是否已结束
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA4
        self.SubCmd = 0x0C
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.Cmd = 0xA4
        self.SubCmd = 0x0C
        self.IsEnd = 0
        return
    def GetLength(self):
        return sizeof(tagGCAllFamilyBossInfo)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A4 0C 多仙盟boss活动信息 //tagGCAllFamilyBossInfo:
                                Cmd:%s,
                                SubCmd:%s,
                                IsEnd:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.IsEnd
                                )
        return DumpString
m_NAtagGCAllFamilyBossInfo=tagGCAllFamilyBossInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAllFamilyBossInfo.Cmd,m_NAtagGCAllFamilyBossInfo.SubCmd))] = m_NAtagGCAllFamilyBossInfo
#------------------------------------------------------
# A4 0A 假仙盟信息 #tagGCFakeFamilyInfo
class  tagGCFakeFamilyInfo(Structure):
@@ -6849,12 +6901,57 @@
#------------------------------------------------------
# B5 04 拍卖行新上架拍品 #tagGCAddAuctionItem
# B5 04 拍卖行新上架拍品 #tagGCAddAuctionItemInfo
class  tagGCAddAuctionItem(Structure):
    Head = tagHead()
    ItemGUID = ""    #(char ItemGUID[40])
    ItemID = 0    #(DWORD ItemID)
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
        self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        return _pos
    def Clear(self):
        self.ItemGUID = ""
        self.ItemID = 0
        return
    def GetLength(self):
        length = 0
        length += 40
        length += 4
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, 40, self.ItemGUID)
        data = CommFunc.WriteDWORD(data, self.ItemID)
        return data
    def OutputString(self):
        DumpString = '''
                                ItemGUID:%s,
                                ItemID:%d
                                '''\
                                %(
                                self.ItemGUID,
                                self.ItemID
                                )
        return DumpString
class  tagGCAddAuctionItemInfo(Structure):
    Head = tagHead()
    AddCount = 0    #(BYTE AddCount)
    AddAuctionItemList = list()    #(vector<tagGCAddAuctionItem> AddAuctionItemList)
    data = None
    def __init__(self):
@@ -6866,8 +6963,11 @@
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
        self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.AddCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.AddCount):
            temAddAuctionItemList = tagGCAddAuctionItem()
            _pos = temAddAuctionItemList.ReadData(_lpData, _pos)
            self.AddAuctionItemList.append(temAddAuctionItemList)
        return _pos
    def Clear(self):
@@ -6875,41 +6975,43 @@
        self.Head.Clear()
        self.Head.Cmd = 0xB5
        self.Head.SubCmd = 0x04
        self.ItemGUID = ""
        self.ItemID = 0
        self.AddCount = 0
        self.AddAuctionItemList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 40
        length += 4
        length += 1
        for i in range(self.AddCount):
            length += self.AddAuctionItemList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteString(data, 40, self.ItemGUID)
        data = CommFunc.WriteDWORD(data, self.ItemID)
        data = CommFunc.WriteBYTE(data, self.AddCount)
        for i in range(self.AddCount):
            data = CommFunc.WriteString(data, self.AddAuctionItemList[i].GetLength(), self.AddAuctionItemList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                ItemGUID:%s,
                                ItemID:%d
                                AddCount:%d,
                                AddAuctionItemList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.ItemGUID,
                                self.ItemID
                                self.AddCount,
                                "..."
                                )
        return DumpString
m_NAtagGCAddAuctionItem=tagGCAddAuctionItem()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAddAuctionItem.Head.Cmd,m_NAtagGCAddAuctionItem.Head.SubCmd))] = m_NAtagGCAddAuctionItem
m_NAtagGCAddAuctionItemInfo=tagGCAddAuctionItemInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAddAuctionItemInfo.Head.Cmd,m_NAtagGCAddAuctionItemInfo.Head.SubCmd))] = m_NAtagGCAddAuctionItemInfo
#------------------------------------------------------
@@ -6991,7 +7093,6 @@
    BidderPrice = 0    #(WORD BidderPrice)//竞拍玩家出价
    UserDataLen = 0    #(WORD UserDataLen)
    UserData = ""    #(String UserData)//自定义数据
    CanGetMoney = 0    #(BYTE CanGetMoney)//可否获得收益
    data = None
    def __init__(self):
@@ -7008,7 +7109,6 @@
        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):
@@ -7020,7 +7120,6 @@
        self.BidderPrice = 0
        self.UserDataLen = 0
        self.UserData = ""
        self.CanGetMoney = 0
        return
    def GetLength(self):
@@ -7033,7 +7132,6 @@
        length += 2
        length += 2
        length += len(self.UserData)
        length += 1
        return length
@@ -7047,7 +7145,6 @@
        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):
@@ -7059,8 +7156,7 @@
                                AddTime:%s,
                                BidderPrice:%d,
                                UserDataLen:%d,
                                UserData:%s,
                                CanGetMoney:%d
                                UserData:%s
                                '''\
                                %(
                                self.ItemGUID,
@@ -7070,8 +7166,7 @@
                                self.AddTime,
                                self.BidderPrice,
                                self.UserDataLen,
                                self.UserData,
                                self.CanGetMoney
                                self.UserData
                                )
        return DumpString
@@ -7154,7 +7249,6 @@
    BidderPrice = 0    #(WORD BidderPrice)//竞拍玩家出价
    UserDataLen = 0    #(WORD UserDataLen)
    UserData = ""    #(String UserData)//自定义数据
    CanGetMoney = 0    #(BYTE CanGetMoney)//可否获得收益
    data = None
    def __init__(self):
@@ -7171,7 +7265,6 @@
        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):
@@ -7183,7 +7276,6 @@
        self.BidderPrice = 0
        self.UserDataLen = 0
        self.UserData = ""
        self.CanGetMoney = 0
        return
    def GetLength(self):
@@ -7196,7 +7288,6 @@
        length += 2
        length += 2
        length += len(self.UserData)
        length += 1
        return length
@@ -7210,7 +7301,6 @@
        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):
@@ -7222,8 +7312,7 @@
                                AddTime:%s,
                                BidderPrice:%d,
                                UserDataLen:%d,
                                UserData:%s,
                                CanGetMoney:%d
                                UserData:%s
                                '''\
                                %(
                                self.ItemGUID,
@@ -7233,8 +7322,7 @@
                                self.AddTime,
                                self.BidderPrice,
                                self.UserDataLen,
                                self.UserData,
                                self.CanGetMoney
                                self.UserData
                                )
        return DumpString
@@ -7247,9 +7335,10 @@
    ClassLV = 0    #(BYTE ClassLV)//过滤阶数,0为不限制
    SpecItemIDCount = 0    #(BYTE SpecItemIDCount)//指定物品ID个数
    SpecItemIDList = list()    #(vector<DWORD> SpecItemIDList)//指定物品ID
    FromNum = 0    #(WORD FromNum)//查询起始数 (从1开始)
    FromItemGUID = ""    #(char FromItemGUID[40])//从哪个物品开始查询
    QueryDir = 0    #(BYTE QueryDir)//查询方向,1-往后查,2-往前查,3-定位查询
    QueryCount = 0    #(BYTE QueryCount)//查询个数,0为全部
    QueryTotalCount = 0    #(WORD QueryTotalCount)//查询条件实际总个数
    QueryRemainlCount = 0    #(WORD QueryRemainlCount)//查询条件对应查询方向剩余个数
    AuctionItemCount = 0    #(BYTE AuctionItemCount)//返回拍品数量
    AuctionItemList = list()    #(vector<tagGCAuctionItem> AuctionItemList)//返回拍品列表
    data = None
@@ -7273,9 +7362,10 @@
        for i in range(self.SpecItemIDCount):
            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
            self.SpecItemIDList.append(value)
        self.FromNum,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.FromItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
        self.QueryDir,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.QueryCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.QueryTotalCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.QueryRemainlCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.AuctionItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.AuctionItemCount):
            temAuctionItemList = tagGCAuctionItem()
@@ -7294,9 +7384,10 @@
        self.ClassLV = 0
        self.SpecItemIDCount = 0
        self.SpecItemIDList = list()
        self.FromNum = 0
        self.FromItemGUID = ""
        self.QueryDir = 0
        self.QueryCount = 0
        self.QueryTotalCount = 0
        self.QueryRemainlCount = 0
        self.AuctionItemCount = 0
        self.AuctionItemList = list()
        return
@@ -7310,7 +7401,8 @@
        length += 1
        length += 1
        length += 4 * self.SpecItemIDCount
        length += 2
        length += 40
        length += 1
        length += 1
        length += 2
        length += 1
@@ -7330,9 +7422,10 @@
        data = CommFunc.WriteBYTE(data, self.SpecItemIDCount)
        for i in range(self.SpecItemIDCount):
            data = CommFunc.WriteDWORD(data, self.SpecItemIDList[i])
        data = CommFunc.WriteWORD(data, self.FromNum)
        data = CommFunc.WriteString(data, 40, self.FromItemGUID)
        data = CommFunc.WriteBYTE(data, self.QueryDir)
        data = CommFunc.WriteBYTE(data, self.QueryCount)
        data = CommFunc.WriteWORD(data, self.QueryTotalCount)
        data = CommFunc.WriteWORD(data, self.QueryRemainlCount)
        data = CommFunc.WriteBYTE(data, self.AuctionItemCount)
        for i in range(self.AuctionItemCount):
            data = CommFunc.WriteString(data, self.AuctionItemList[i].GetLength(), self.AuctionItemList[i].GetBuffer())
@@ -7347,9 +7440,10 @@
                                ClassLV:%d,
                                SpecItemIDCount:%d,
                                SpecItemIDList:%s,
                                FromNum:%d,
                                FromItemGUID:%s,
                                QueryDir:%d,
                                QueryCount:%d,
                                QueryTotalCount:%d,
                                QueryRemainlCount:%d,
                                AuctionItemCount:%d,
                                AuctionItemList:%s
                                '''\
@@ -7361,9 +7455,10 @@
                                self.ClassLV,
                                self.SpecItemIDCount,
                                "...",
                                self.FromNum,
                                self.FromItemGUID,
                                self.QueryDir,
                                self.QueryCount,
                                self.QueryTotalCount,
                                self.QueryRemainlCount,
                                self.AuctionItemCount,
                                "..."
                                )
@@ -7375,11 +7470,213 @@
#------------------------------------------------------
# B5 09 拍卖行清除拍品 #tagGCClearAuctionItem
# B5 10 拍卖行玩家竞价中的物品信息 #tagGCBiddingItemInfo
class  tagGCBiddingItem(Structure):
    ItemGUID = ""    #(char ItemGUID[40])
    FamilyID = 0    #(DWORD FamilyID)//有值时为仙盟拍品
    ItemID = 0    #(DWORD ItemID)
    ItemCount = 0    #(WORD ItemCount)
    AddTime = ""    #(char AddTime[19])//上架时间 yyyy-MM-dd hh:mm:ss
    BidderID = 0    #(DWORD BidderID)//竞拍玩家ID,也就是当前最高竞价玩家ID
    BidderPrice = 0    #(WORD BidderPrice)//竞拍玩家出价
    UserDataLen = 0    #(WORD UserDataLen)
    UserData = ""    #(String UserData)//自定义数据
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
        self.FamilyID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
        self.BidderID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
        return _pos
    def Clear(self):
        self.ItemGUID = ""
        self.FamilyID = 0
        self.ItemID = 0
        self.ItemCount = 0
        self.AddTime = ""
        self.BidderID = 0
        self.BidderPrice = 0
        self.UserDataLen = 0
        self.UserData = ""
        return
    def GetLength(self):
        length = 0
        length += 40
        length += 4
        length += 4
        length += 2
        length += 19
        length += 4
        length += 2
        length += 2
        length += len(self.UserData)
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, 40, self.ItemGUID)
        data = CommFunc.WriteDWORD(data, self.FamilyID)
        data = CommFunc.WriteDWORD(data, self.ItemID)
        data = CommFunc.WriteWORD(data, self.ItemCount)
        data = CommFunc.WriteString(data, 19, self.AddTime)
        data = CommFunc.WriteDWORD(data, self.BidderID)
        data = CommFunc.WriteWORD(data, self.BidderPrice)
        data = CommFunc.WriteWORD(data, self.UserDataLen)
        data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
        return data
    def OutputString(self):
        DumpString = '''
                                ItemGUID:%s,
                                FamilyID:%d,
                                ItemID:%d,
                                ItemCount:%d,
                                AddTime:%s,
                                BidderID:%d,
                                BidderPrice:%d,
                                UserDataLen:%d,
                                UserData:%s
                                '''\
                                %(
                                self.ItemGUID,
                                self.FamilyID,
                                self.ItemID,
                                self.ItemCount,
                                self.AddTime,
                                self.BidderID,
                                self.BidderPrice,
                                self.UserDataLen,
                                self.UserData
                                )
        return DumpString
class  tagGCBiddingItemInfo(Structure):
    Head = tagHead()
    AuctionItemCount = 0    #(BYTE AuctionItemCount)//拍品数量
    AuctionItemList = list()    #(vector<tagGCBiddingItem> AuctionItemList)//拍品列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xB5
        self.Head.SubCmd = 0x10
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.AuctionItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.AuctionItemCount):
            temAuctionItemList = tagGCBiddingItem()
            _pos = temAuctionItemList.ReadData(_lpData, _pos)
            self.AuctionItemList.append(temAuctionItemList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xB5
        self.Head.SubCmd = 0x10
        self.AuctionItemCount = 0
        self.AuctionItemList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        for i in range(self.AuctionItemCount):
            length += self.AuctionItemList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.AuctionItemCount)
        for i in range(self.AuctionItemCount):
            data = CommFunc.WriteString(data, self.AuctionItemList[i].GetLength(), self.AuctionItemList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                AuctionItemCount:%d,
                                AuctionItemList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.AuctionItemCount,
                                "..."
                                )
        return DumpString
m_NAtagGCBiddingItemInfo=tagGCBiddingItemInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCBiddingItemInfo.Head.Cmd,m_NAtagGCBiddingItemInfo.Head.SubCmd))] = m_NAtagGCBiddingItemInfo
#------------------------------------------------------
# B5 09 拍卖行清除拍品 #tagGCClearAuctionItemInfo
class  tagGCClearAuctionItem(Structure):
    Head = tagHead()
    ItemGUID = ""    #(char ItemGUID[40])
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
        return _pos
    def Clear(self):
        self.ItemGUID = ""
        return
    def GetLength(self):
        length = 0
        length += 40
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, 40, self.ItemGUID)
        return data
    def OutputString(self):
        DumpString = '''
                                ItemGUID:%s
                                '''\
                                %(
                                self.ItemGUID
                                )
        return DumpString
class  tagGCClearAuctionItemInfo(Structure):
    Head = tagHead()
    ClearCount = 0    #(BYTE ClearCount)
    ClearAuctionItemList = list()    #(vector<tagGCClearAuctionItem> ClearAuctionItemList)
    data = None
    def __init__(self):
@@ -7391,7 +7688,11 @@
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
        self.ClearCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.ClearCount):
            temClearAuctionItemList = tagGCClearAuctionItem()
            _pos = temClearAuctionItemList.ReadData(_lpData, _pos)
            self.ClearAuctionItemList.append(temClearAuctionItemList)
        return _pos
    def Clear(self):
@@ -7399,36 +7700,43 @@
        self.Head.Clear()
        self.Head.Cmd = 0xB5
        self.Head.SubCmd = 0x09
        self.ItemGUID = ""
        self.ClearCount = 0
        self.ClearAuctionItemList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 40
        length += 1
        for i in range(self.ClearCount):
            length += self.ClearAuctionItemList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteString(data, 40, self.ItemGUID)
        data = CommFunc.WriteBYTE(data, self.ClearCount)
        for i in range(self.ClearCount):
            data = CommFunc.WriteString(data, self.ClearAuctionItemList[i].GetLength(), self.ClearAuctionItemList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                ItemGUID:%s
                                ClearCount:%d,
                                ClearAuctionItemList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.ItemGUID
                                self.ClearCount,
                                "..."
                                )
        return DumpString
m_NAtagGCClearAuctionItem=tagGCClearAuctionItem()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCClearAuctionItem.Head.Cmd,m_NAtagGCClearAuctionItem.Head.SubCmd))] = m_NAtagGCClearAuctionItem
m_NAtagGCClearAuctionItemInfo=tagGCClearAuctionItemInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCClearAuctionItemInfo.Head.Cmd,m_NAtagGCClearAuctionItemInfo.Head.SubCmd))] = m_NAtagGCClearAuctionItemInfo
#------------------------------------------------------
@@ -7443,7 +7751,9 @@
    BidderPrice = 0    #(WORD BidderPrice)//竞拍玩家出价
    UserDataLen = 0    #(WORD UserDataLen)
    UserData = ""    #(String UserData)//自定义数据
    CanGetMoney = 0    #(BYTE CanGetMoney)//可否获得收益
    FamilyPlayerIDLen = 0    #(WORD FamilyPlayerIDLen)
    FamilyPlayerIDInfo = ""    #(String FamilyPlayerIDInfo)//可获得收益的仙盟玩家ID信息
    AuctionType = 0    #(BYTE AuctionType)//拍品类型,0-全服拍品,1-仙盟拍品
    data = None
    def __init__(self):
@@ -7460,7 +7770,9 @@
        self.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
        self.CanGetMoney,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.FamilyPlayerIDLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.FamilyPlayerIDInfo,_pos = CommFunc.ReadString(_lpData, _pos,self.FamilyPlayerIDLen)
        self.AuctionType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        return _pos
    def Clear(self):
@@ -7472,7 +7784,9 @@
        self.BidderPrice = 0
        self.UserDataLen = 0
        self.UserData = ""
        self.CanGetMoney = 0
        self.FamilyPlayerIDLen = 0
        self.FamilyPlayerIDInfo = ""
        self.AuctionType = 0
        return
    def GetLength(self):
@@ -7485,6 +7799,8 @@
        length += 2
        length += 2
        length += len(self.UserData)
        length += 2
        length += len(self.FamilyPlayerIDInfo)
        length += 1
        return length
@@ -7499,7 +7815,9 @@
        data = CommFunc.WriteWORD(data, self.BidderPrice)
        data = CommFunc.WriteWORD(data, self.UserDataLen)
        data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
        data = CommFunc.WriteBYTE(data, self.CanGetMoney)
        data = CommFunc.WriteWORD(data, self.FamilyPlayerIDLen)
        data = CommFunc.WriteString(data, self.FamilyPlayerIDLen, self.FamilyPlayerIDInfo)
        data = CommFunc.WriteBYTE(data, self.AuctionType)
        return data
    def OutputString(self):
@@ -7512,7 +7830,9 @@
                                BidderPrice:%d,
                                UserDataLen:%d,
                                UserData:%s,
                                CanGetMoney:%d
                                FamilyPlayerIDLen:%d,
                                FamilyPlayerIDInfo:%s,
                                AuctionType:%d
                                '''\
                                %(
                                self.ItemGUID,
@@ -7523,7 +7843,9 @@
                                self.BidderPrice,
                                self.UserDataLen,
                                self.UserData,
                                self.CanGetMoney
                                self.FamilyPlayerIDLen,
                                self.FamilyPlayerIDInfo,
                                self.AuctionType
                                )
        return DumpString
@@ -7606,7 +7928,6 @@
    BidderPrice = 0    #(WORD BidderPrice)//竞拍玩家出价
    UserDataLen = 0    #(WORD UserDataLen)
    UserData = ""    #(String UserData)//自定义数据
    CanGetMoney = 0    #(BYTE CanGetMoney)//可否获得收益
    data = None
    def __init__(self):
@@ -7623,7 +7944,6 @@
        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):
@@ -7635,7 +7955,6 @@
        self.BidderPrice = 0
        self.UserDataLen = 0
        self.UserData = ""
        self.CanGetMoney = 0
        return
    def GetLength(self):
@@ -7648,7 +7967,6 @@
        length += 2
        length += 2
        length += len(self.UserData)
        length += 1
        return length
@@ -7662,7 +7980,6 @@
        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):
@@ -7674,8 +7991,7 @@
                                AddTime:%s,
                                BidderPrice:%d,
                                UserDataLen:%d,
                                UserData:%s,
                                CanGetMoney:%d
                                UserData:%s
                                '''\
                                %(
                                self.ItemGUID,
@@ -7685,8 +8001,7 @@
                                self.AddTime,
                                self.BidderPrice,
                                self.UserDataLen,
                                self.UserData,
                                self.CanGetMoney
                                self.UserData
                                )
        return DumpString
@@ -7761,10 +8076,13 @@
# B5 03 拍卖行玩家拍卖记录 #tagGCPlayerAuctionRecordInfo
class  tagGCPlayerAuctionRecord(Structure):
    ItemGUID = ""    #(char ItemGUID[40])
    FamilyID = 0    #(DWORD FamilyID)//有值时为仙盟拍品
    RecordType = 0    #(BYTE RecordType)//记录类型 0-流拍 1-拍卖成交 2-回收 3-竞价成功 4-竞价失败
    RecordType = 0    #(BYTE RecordType)//记录类型 0-我的拍品记录 1-仙盟拍品记录 2-我的竞拍记录
    RecordResult = 0    #(BYTE RecordResult)//记录结果 0-流拍 1-拍卖成交 2-回收 3-竞价成功 4-竞价失败
    RecordTime = ""    #(char RecordTime[19])//记录时间 yyyy-MM-dd hh:mm:ss
    RecordPrice = 0    #(WORD RecordPrice)//记录价格
    BidderPrice = 0    #(DWORD BidderPrice)//成交价格
    BidderName = ""    #(char BidderName[33])//成交玩家名
    ItemID = 0    #(DWORD ItemID)
    ItemCount = 0    #(WORD ItemCount)
    UserDataLen = 0    #(WORD UserDataLen)
@@ -7777,10 +8095,13 @@
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
        self.FamilyID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.RecordType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.RecordResult,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.RecordTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
        self.RecordPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.BidderPrice,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.BidderName,_pos = CommFunc.ReadString(_lpData, _pos,33)
        self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
@@ -7788,10 +8109,13 @@
        return _pos
    def Clear(self):
        self.ItemGUID = ""
        self.FamilyID = 0
        self.RecordType = 0
        self.RecordResult = 0
        self.RecordTime = ""
        self.RecordPrice = 0
        self.BidderPrice = 0
        self.BidderName = ""
        self.ItemID = 0
        self.ItemCount = 0
        self.UserDataLen = 0
@@ -7800,10 +8124,13 @@
    def GetLength(self):
        length = 0
        length += 40
        length += 4
        length += 1
        length += 1
        length += 19
        length += 2
        length += 4
        length += 33
        length += 4
        length += 2
        length += 2
@@ -7813,10 +8140,13 @@
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, 40, self.ItemGUID)
        data = CommFunc.WriteDWORD(data, self.FamilyID)
        data = CommFunc.WriteBYTE(data, self.RecordType)
        data = CommFunc.WriteBYTE(data, self.RecordResult)
        data = CommFunc.WriteString(data, 19, self.RecordTime)
        data = CommFunc.WriteWORD(data, self.RecordPrice)
        data = CommFunc.WriteDWORD(data, self.BidderPrice)
        data = CommFunc.WriteString(data, 33, self.BidderName)
        data = CommFunc.WriteDWORD(data, self.ItemID)
        data = CommFunc.WriteWORD(data, self.ItemCount)
        data = CommFunc.WriteWORD(data, self.UserDataLen)
@@ -7825,20 +8155,26 @@
    def OutputString(self):
        DumpString = '''
                                ItemGUID:%s,
                                FamilyID:%d,
                                RecordType:%d,
                                RecordResult:%d,
                                RecordTime:%s,
                                RecordPrice:%d,
                                BidderPrice:%d,
                                BidderName:%s,
                                ItemID:%d,
                                ItemCount:%d,
                                UserDataLen:%d,
                                UserData:%s
                                '''\
                                %(
                                self.ItemGUID,
                                self.FamilyID,
                                self.RecordType,
                                self.RecordResult,
                                self.RecordTime,
                                self.RecordPrice,
                                self.BidderPrice,
                                self.BidderName,
                                self.ItemID,
                                self.ItemCount,
                                self.UserDataLen,
@@ -7850,7 +8186,7 @@
class  tagGCPlayerAuctionRecordInfo(Structure):
    Head = tagHead()
    Count = 0    #(BYTE Count)
    AuctionRecordList = list()    #(vector<tagGCPlayerAuctionRecordInfo> AuctionRecordList)
    AuctionRecordList = list()    #(vector<tagGCPlayerAuctionRecord> AuctionRecordList)
    data = None
    def __init__(self):
@@ -7864,7 +8200,7 @@
        _pos = self.Head.ReadData(_lpData, _pos)
        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.Count):
            temAuctionRecordList = tagGCPlayerAuctionRecordInfo()
            temAuctionRecordList = tagGCPlayerAuctionRecord()
            _pos = temAuctionRecordList.ReadData(_lpData, _pos)
            self.AuctionRecordList.append(temAuctionRecordList)
        return _pos
@@ -7914,19 +8250,78 @@
#------------------------------------------------------
# B5 08 拍卖行刷新拍品 #tagGCRefreshAuctionItem
# B5 08 拍卖行刷新拍品 #tagGCRefreshAuctionItemInfo
class  tagGCRefreshAuctionItem(Structure):
    Head = tagHead()
    ItemGUID = ""    #(char ItemGUID[40])
    FamilyID = 0    #(DWORD FamilyID)//有值时为仙盟拍品
    ItemID = 0    #(DWORD ItemID)
    ItemCount = 0    #(WORD ItemCount)
    AddTime = ""    #(char AddTime[19])//上架时间 yyyy-MM-dd hh:mm:ss
    BidderPrice = 0    #(WORD BidderPrice)//竞拍玩家出价
    UserDataLen = 0    #(WORD UserDataLen)
    UserData = ""    #(String UserData)//自定义数据
    CanGetMoney = 0    #(BYTE CanGetMoney)//可否获得收益
    AuctionType = 0    #(BYTE AuctionType)//拍品类型,0-全服拍品,1-仙盟拍品
    AddTime = ""    #(char AddTime[19])//上架时间
    BidderID = 0    #(DWORD BidderID)//最高竞拍玩家ID,也就是当前最高竞价玩家ID
    BidderPrice = 0    #(DWORD BidderPrice)//最高竞拍价格
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
        self.AuctionType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
        self.BidderID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.BidderPrice,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        return _pos
    def Clear(self):
        self.ItemGUID = ""
        self.AuctionType = 0
        self.AddTime = ""
        self.BidderID = 0
        self.BidderPrice = 0
        return
    def GetLength(self):
        length = 0
        length += 40
        length += 1
        length += 19
        length += 4
        length += 4
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, 40, self.ItemGUID)
        data = CommFunc.WriteBYTE(data, self.AuctionType)
        data = CommFunc.WriteString(data, 19, self.AddTime)
        data = CommFunc.WriteDWORD(data, self.BidderID)
        data = CommFunc.WriteDWORD(data, self.BidderPrice)
        return data
    def OutputString(self):
        DumpString = '''
                                ItemGUID:%s,
                                AuctionType:%d,
                                AddTime:%s,
                                BidderID:%d,
                                BidderPrice:%d
                                '''\
                                %(
                                self.ItemGUID,
                                self.AuctionType,
                                self.AddTime,
                                self.BidderID,
                                self.BidderPrice
                                )
        return DumpString
class  tagGCRefreshAuctionItemInfo(Structure):
    Head = tagHead()
    RefreshCount = 0    #(BYTE RefreshCount)
    RefreshAuctionItemList = list()    #(vector<tagGCRefreshAuctionItem> RefreshAuctionItemList)
    data = None
    def __init__(self):
@@ -7938,15 +8333,11 @@
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
        self.FamilyID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
        self.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
        self.CanGetMoney,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.RefreshCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.RefreshCount):
            temRefreshAuctionItemList = tagGCRefreshAuctionItem()
            _pos = temRefreshAuctionItemList.ReadData(_lpData, _pos)
            self.RefreshAuctionItemList.append(temRefreshAuctionItemList)
        return _pos
    def Clear(self):
@@ -7954,76 +8345,43 @@
        self.Head.Clear()
        self.Head.Cmd = 0xB5
        self.Head.SubCmd = 0x08
        self.ItemGUID = ""
        self.FamilyID = 0
        self.ItemID = 0
        self.ItemCount = 0
        self.AddTime = ""
        self.BidderPrice = 0
        self.UserDataLen = 0
        self.UserData = ""
        self.CanGetMoney = 0
        self.RefreshCount = 0
        self.RefreshAuctionItemList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 40
        length += 4
        length += 4
        length += 2
        length += 19
        length += 2
        length += 2
        length += len(self.UserData)
        length += 1
        for i in range(self.RefreshCount):
            length += self.RefreshAuctionItemList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteString(data, 40, self.ItemGUID)
        data = CommFunc.WriteDWORD(data, self.FamilyID)
        data = CommFunc.WriteDWORD(data, self.ItemID)
        data = CommFunc.WriteWORD(data, self.ItemCount)
        data = CommFunc.WriteString(data, 19, self.AddTime)
        data = CommFunc.WriteWORD(data, self.BidderPrice)
        data = CommFunc.WriteWORD(data, self.UserDataLen)
        data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
        data = CommFunc.WriteBYTE(data, self.CanGetMoney)
        data = CommFunc.WriteBYTE(data, self.RefreshCount)
        for i in range(self.RefreshCount):
            data = CommFunc.WriteString(data, self.RefreshAuctionItemList[i].GetLength(), self.RefreshAuctionItemList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                ItemGUID:%s,
                                FamilyID:%d,
                                ItemID:%d,
                                ItemCount:%d,
                                AddTime:%s,
                                BidderPrice:%d,
                                UserDataLen:%d,
                                UserData:%s,
                                CanGetMoney:%d
                                RefreshCount:%d,
                                RefreshAuctionItemList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.ItemGUID,
                                self.FamilyID,
                                self.ItemID,
                                self.ItemCount,
                                self.AddTime,
                                self.BidderPrice,
                                self.UserDataLen,
                                self.UserData,
                                self.CanGetMoney
                                self.RefreshCount,
                                "..."
                                )
        return DumpString
m_NAtagGCRefreshAuctionItem=tagGCRefreshAuctionItem()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCRefreshAuctionItem.Head.Cmd,m_NAtagGCRefreshAuctionItem.Head.SubCmd))] = m_NAtagGCRefreshAuctionItem
m_NAtagGCRefreshAuctionItemInfo=tagGCRefreshAuctionItemInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCRefreshAuctionItemInfo.Head.Cmd,m_NAtagGCRefreshAuctionItemInfo.Head.SubCmd))] = m_NAtagGCRefreshAuctionItemInfo
#------------------------------------------------------
@@ -13476,70 +13834,57 @@
#------------------------------------------------------
# A3 09 通知玩家部位套装等级 #tagMCEquipPartSuiteLVInfo
# A3 B1 装备部位星数信息 #tagMCEquipPartStarInfo
class  tagMCEquipPartSuiteLV(Structure):
    EquipIndex = 0    #(BYTE EquipIndex)
    Len = 0    #(WORD Len)//长度
    SuiteLVInfo = ""    #(String SuiteLVInfo)//{套装类型:等级}
    data = None
class  tagMCEquipPartStar(Structure):
    _pack_ = 1
    _fields_ = [
                  ("EquipPackIndex", c_ushort),
                  ("Star", c_ubyte),
                  ]
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        self.EquipIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.Len,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.SuiteLVInfo,_pos = CommFunc.ReadString(_lpData, _pos,self.Len)
        return _pos
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.EquipIndex = 0
        self.Len = 0
        self.SuiteLVInfo = ""
        self.EquipPackIndex = 0
        self.Star = 0
        return
    def GetLength(self):
        length = 0
        length += 1
        length += 2
        length += len(self.SuiteLVInfo)
        return length
        return sizeof(tagMCEquipPartStar)
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteBYTE(data, self.EquipIndex)
        data = CommFunc.WriteWORD(data, self.Len)
        data = CommFunc.WriteString(data, self.Len, self.SuiteLVInfo)
        return data
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''
                                EquipIndex:%d,
                                Len:%d,
                                SuiteLVInfo:%s
        DumpString = '''// A3 B1 装备部位星数信息 //tagMCEquipPartStarInfo:
                                EquipPackIndex:%d,
                                Star:%d
                                '''\
                                %(
                                self.EquipIndex,
                                self.Len,
                                self.SuiteLVInfo
                                self.EquipPackIndex,
                                self.Star
                                )
        return DumpString
class  tagMCEquipPartSuiteLVInfo(Structure):
class  tagMCEquipPartStarInfo(Structure):
    Head = tagHead()
    Count = 0    #(BYTE Count)// 信息个数
    InfoList = list()    #(vector<tagMCEquipPartSuiteLV> InfoList)// 信息列表
    InfoList = list()    #(vector<tagMCEquipPartStar> InfoList)// 信息列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA3
        self.Head.SubCmd = 0x09
        self.Head.SubCmd = 0xB1
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
@@ -13547,7 +13892,7 @@
        _pos = self.Head.ReadData(_lpData, _pos)
        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.Count):
            temInfoList = tagMCEquipPartSuiteLV()
            temInfoList = tagMCEquipPartStar()
            _pos = temInfoList.ReadData(_lpData, _pos)
            self.InfoList.append(temInfoList)
        return _pos
@@ -13556,7 +13901,7 @@
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA3
        self.Head.SubCmd = 0x09
        self.Head.SubCmd = 0xB1
        self.Count = 0
        self.InfoList = list()
        return
@@ -13592,8 +13937,8 @@
        return DumpString
m_NAtagMCEquipPartSuiteLVInfo=tagMCEquipPartSuiteLVInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCEquipPartSuiteLVInfo.Head.Cmd,m_NAtagMCEquipPartSuiteLVInfo.Head.SubCmd))] = m_NAtagMCEquipPartSuiteLVInfo
m_NAtagMCEquipPartStarInfo=tagMCEquipPartStarInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCEquipPartStarInfo.Head.Cmd,m_NAtagMCEquipPartStarInfo.Head.SubCmd))] = m_NAtagMCEquipPartStarInfo
#------------------------------------------------------
@@ -15073,15 +15418,16 @@
#------------------------------------------------------
# A3 B3 装备部位星级信息 #tagMCEquipPartStarLVInfo
# A3 B3 装备部位强化信息 #tagMCEquipPartPlusInfo
class  tagMCEquipPartStarLV(Structure):
class  tagMCEquipPartPlusLV(Structure):
    _pack_ = 1
    _fields_ = [
                  ("PackType", c_ubyte),    
                  ("EquipIndex", c_ubyte),    
                  ("EquipPartStarLV", c_ushort),    
                  ("Proficiency", c_int),    
                  ("EvolveLV", c_ubyte),
                  ]
    def __init__(self):
@@ -15098,34 +15444,37 @@
        self.EquipIndex = 0
        self.EquipPartStarLV = 0
        self.Proficiency = 0
        self.EvolveLV = 0
        return
    def GetLength(self):
        return sizeof(tagMCEquipPartStarLV)
        return sizeof(tagMCEquipPartPlusLV)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A3 B3 装备部位星级信息 //tagMCEquipPartStarLVInfo:
        DumpString = '''// A3 B3 装备部位强化信息 //tagMCEquipPartPlusInfo:
                                PackType:%d,
                                EquipIndex:%d,
                                EquipPartStarLV:%d,
                                Proficiency:%d
                                Proficiency:%d,
                                EvolveLV:%d
                                '''\
                                %(
                                self.PackType,
                                self.EquipIndex,
                                self.EquipPartStarLV,
                                self.Proficiency
                                self.Proficiency,
                                self.EvolveLV
                                )
        return DumpString
class  tagMCEquipPartStarLVInfo(Structure):
class  tagMCEquipPartPlusInfo(Structure):
    Head = tagHead()
    Count = 0    #(BYTE Count)// 信息个数
    InfoList = list()    #(vector<tagMCEquipPartStarLV> InfoList)// 信息列表
    InfoList = list()    #(vector<tagMCEquipPartPlusLV> InfoList)// 信息列表
    data = None
    def __init__(self):
@@ -15139,7 +15488,7 @@
        _pos = self.Head.ReadData(_lpData, _pos)
        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.Count):
            temInfoList = tagMCEquipPartStarLV()
            temInfoList = tagMCEquipPartPlusLV()
            _pos = temInfoList.ReadData(_lpData, _pos)
            self.InfoList.append(temInfoList)
        return _pos
@@ -15184,8 +15533,8 @@
        return DumpString
m_NAtagMCEquipPartStarLVInfo=tagMCEquipPartStarLVInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCEquipPartStarLVInfo.Head.Cmd,m_NAtagMCEquipPartStarLVInfo.Head.SubCmd))] = m_NAtagMCEquipPartStarLVInfo
m_NAtagMCEquipPartPlusInfo=tagMCEquipPartPlusInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCEquipPartPlusInfo.Head.Cmd,m_NAtagMCEquipPartPlusInfo.Head.SubCmd))] = m_NAtagMCEquipPartPlusInfo
#------------------------------------------------------
@@ -17088,18 +17437,14 @@
#------------------------------------------------------
# A3 11 通知玩家境界渡劫是否开启 #tagMCSyncRealmFBIsOpen
# A3 11 通知玩家境界信息 #tagMCSyncRealmInfo
class  tagMCSyncRealmFBIsOpen(Structure):
class  tagMCSyncRealmInfo(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("IsOpen", c_ubyte),    #是否开启
                  ("SitAllTime", c_ushort),    #打坐总时间秒
                  ("SitRemainTime", c_int),    #开始打坐前剩余时间秒
                  ("SitStartTime", c_int),    #开始打坐时间
                  ("LastEnterTime", c_int),    #上次进入渡劫副本时间
                  ("IsPass", c_ubyte),    #是否通关副本
                  ]
    def __init__(self):
@@ -17116,43 +17461,31 @@
    def Clear(self):
        self.Cmd = 0xA3
        self.SubCmd = 0x11
        self.IsOpen = 0
        self.SitAllTime = 0
        self.SitRemainTime = 0
        self.SitStartTime = 0
        self.LastEnterTime = 0
        self.IsPass = 0
        return
    def GetLength(self):
        return sizeof(tagMCSyncRealmFBIsOpen)
        return sizeof(tagMCSyncRealmInfo)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A3 11 通知玩家境界渡劫是否开启 //tagMCSyncRealmFBIsOpen:
        DumpString = '''// A3 11 通知玩家境界信息 //tagMCSyncRealmInfo:
                                Cmd:%s,
                                SubCmd:%s,
                                IsOpen:%d,
                                SitAllTime:%d,
                                SitRemainTime:%d,
                                SitStartTime:%d,
                                LastEnterTime:%d
                                IsPass:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.IsOpen,
                                self.SitAllTime,
                                self.SitRemainTime,
                                self.SitStartTime,
                                self.LastEnterTime
                                self.IsPass
                                )
        return DumpString
m_NAtagMCSyncRealmFBIsOpen=tagMCSyncRealmFBIsOpen()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCSyncRealmFBIsOpen.Cmd,m_NAtagMCSyncRealmFBIsOpen.SubCmd))] = m_NAtagMCSyncRealmFBIsOpen
m_NAtagMCSyncRealmInfo=tagMCSyncRealmInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCSyncRealmInfo.Cmd,m_NAtagMCSyncRealmInfo.SubCmd))] = m_NAtagMCSyncRealmInfo
#------------------------------------------------------
@@ -30299,6 +30632,70 @@
#------------------------------------------------------
#B4 14 根据类型来决定移动的方式 #tagMCMoveByType
class  tagMCMoveByType(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("ID", c_int),    #玩家ID
                  ("PosX", c_ushort),    # 目标X
                  ("PosY", c_ushort),    # 目标Y
                  ("MoveType", c_ubyte),    #移动方式
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xB4
        self.SubCmd = 0x14
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.Cmd = 0xB4
        self.SubCmd = 0x14
        self.ID = 0
        self.PosX = 0
        self.PosY = 0
        self.MoveType = 0
        return
    def GetLength(self):
        return sizeof(tagMCMoveByType)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''//B4 14 根据类型来决定移动的方式 //tagMCMoveByType:
                                Cmd:%s,
                                SubCmd:%s,
                                ID:%d,
                                PosX:%d,
                                PosY:%d,
                                MoveType:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.ID,
                                self.PosX,
                                self.PosY,
                                self.MoveType
                                )
        return DumpString
m_NAtagMCMoveByType=tagMCMoveByType()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCMoveByType.Cmd,m_NAtagMCMoveByType.SubCmd))] = m_NAtagMCMoveByType
#------------------------------------------------------
#B4 07 被动技能页选择(功法) # tagMCPassivePage
class  tagMCPassivePage(Structure):