hxp
2019-03-04 c19b101bb654a1d14bab75b3152de681ab190f4a
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -2356,6 +2356,62 @@
#------------------------------------------------------
# B5 18 拍卖行修改关注物品 #tagCGAttentionAuctionItemChange
class  tagCGAttentionAuctionItemChange(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("ItemID", c_int),
                  ("IsAttention", c_ubyte),    #是否关注,取消关注发0
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xB5
        self.SubCmd = 0x18
        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 = 0x18
        self.ItemID = 0
        self.IsAttention = 0
        return
    def GetLength(self):
        return sizeof(tagCGAttentionAuctionItemChange)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B5 18 拍卖行修改关注物品 //tagCGAttentionAuctionItemChange:
                                Cmd:%s,
                                SubCmd:%s,
                                ItemID:%d,
                                IsAttention:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.ItemID,
                                self.IsAttention
                                )
        return DumpString
m_NAtagCGAttentionAuctionItemChange=tagCGAttentionAuctionItemChange()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGAttentionAuctionItemChange.Cmd,m_NAtagCGAttentionAuctionItemChange.SubCmd))] = m_NAtagCGAttentionAuctionItemChange
#------------------------------------------------------
# B5 03 交易所查询上架物品#tagCGPYQueryBourseItemOnSale
class  tagCGPYQueryBourseItemOnSale(Structure):
@@ -2485,7 +2541,8 @@
    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-往前查
    QueryCount = 0    #(BYTE QueryCount)//查询个数,0为全部
    data = None
@@ -2508,7 +2565,8 @@
        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)
        return _pos
@@ -2523,7 +2581,8 @@
        self.ClassLV = 0
        self.SpecItemIDCount = 0
        self.SpecItemIDList = list()
        self.FromNum = 0
        self.FromItemGUID = ""
        self.QueryDir = 0
        self.QueryCount = 0
        return
@@ -2536,7 +2595,8 @@
        length += 1
        length += 1
        length += 4 * self.SpecItemIDCount
        length += 2
        length += 40
        length += 1
        length += 1
        return length
@@ -2552,7 +2612,8 @@
        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)
        return data
@@ -2565,7 +2626,8 @@
                                ClassLV:%d,
                                SpecItemIDCount:%d,
                                SpecItemIDList:%s,
                                FromNum:%d,
                                FromItemGUID:%s,
                                QueryDir:%d,
                                QueryCount:%d
                                '''\
                                %(
@@ -2576,7 +2638,8 @@
                                self.ClassLV,
                                self.SpecItemIDCount,
                                "...",
                                self.FromNum,
                                self.FromItemGUID,
                                self.QueryDir,
                                self.QueryCount
                                )
        return DumpString
@@ -2636,102 +2699,6 @@
m_NAtagCGQueryAuctionRecord=tagCGQueryAuctionRecord()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryAuctionRecord.Cmd,m_NAtagCGQueryAuctionRecord.SubCmd))] = m_NAtagCGQueryAuctionRecord
#------------------------------------------------------
# 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):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xB5
        self.SubCmd = 0x11
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.Cmd = 0xB5
        self.SubCmd = 0x11
        return
    def GetLength(self):
        return sizeof(tagCGQueryPlayerAuctionItem)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B5 11 拍卖行查询个人拍卖中的物品 //tagCGQueryPlayerAuctionItem:
                                Cmd:%s,
                                SubCmd:%s
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd
                                )
        return DumpString
m_NAtagCGQueryPlayerAuctionItem=tagCGQueryPlayerAuctionItem()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryPlayerAuctionItem.Cmd,m_NAtagCGQueryPlayerAuctionItem.SubCmd))] = m_NAtagCGQueryPlayerAuctionItem
#------------------------------------------------------
@@ -9502,6 +9469,90 @@
#------------------------------------------------------
# A5 C5 装备部位升星 #tagCMEquipPartStarUp
class  tagCMEquipPartStarUp(Structure):
    Head = tagHead()
    EquipPackIndex = 0    #(WORD EquipPackIndex)// 部位格子索引
    CostEquipCnt = 0    #(BYTE CostEquipCnt)// 装备个数
    CostEquipIndex = list()    #(vector<WORD> CostEquipIndex)// 装备索引
    CostEquipID = list()    #(vector<DWORD> CostEquipID)// 装备物品ID
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA5
        self.Head.SubCmd = 0xC5
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.EquipPackIndex,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.CostEquipCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.CostEquipCnt):
            value,_pos=CommFunc.ReadWORD(_lpData,_pos)
            self.CostEquipIndex.append(value)
        for i in range(self.CostEquipCnt):
            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
            self.CostEquipID.append(value)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA5
        self.Head.SubCmd = 0xC5
        self.EquipPackIndex = 0
        self.CostEquipCnt = 0
        self.CostEquipIndex = list()
        self.CostEquipID = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 2
        length += 1
        length += 2 * self.CostEquipCnt
        length += 4 * self.CostEquipCnt
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteWORD(data, self.EquipPackIndex)
        data = CommFunc.WriteBYTE(data, self.CostEquipCnt)
        for i in range(self.CostEquipCnt):
            data = CommFunc.WriteWORD(data, self.CostEquipIndex[i])
        for i in range(self.CostEquipCnt):
            data = CommFunc.WriteDWORD(data, self.CostEquipID[i])
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                EquipPackIndex:%d,
                                CostEquipCnt:%d,
                                CostEquipIndex:%s,
                                CostEquipID:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.EquipPackIndex,
                                self.CostEquipCnt,
                                "...",
                                "..."
                                )
        return DumpString
m_NAtagCMEquipPartStarUp=tagCMEquipPartStarUp()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipPartStarUp.Head.Cmd,m_NAtagCMEquipPartStarUp.Head.SubCmd))] = m_NAtagCMEquipPartStarUp
#------------------------------------------------------
# A5 48 兑换大师等级经验 #tagCMExchangeMasterEXP
class  tagCMExchangeMasterEXP(Structure):
@@ -15049,6 +15100,66 @@
#------------------------------------------------------
#B4 0B 根据类型来决定移动的方式 #tagCMMoveByType
class  tagCMMoveByType(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("PosX", c_ushort),    # 目标X
                  ("PosY", c_ushort),    # 目标Y
                  ("MoveType", c_ubyte),    #移动方式
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xB4
        self.SubCmd = 0x0B
        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 = 0x0B
        self.PosX = 0
        self.PosY = 0
        self.MoveType = 0
        return
    def GetLength(self):
        return sizeof(tagCMMoveByType)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''//B4 0B 根据类型来决定移动的方式 //tagCMMoveByType:
                                Cmd:%s,
                                SubCmd:%s,
                                PosX:%d,
                                PosY:%d,
                                MoveType:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.PosX,
                                self.PosY,
                                self.MoveType
                                )
        return DumpString
m_NAtagCMMoveByType=tagCMMoveByType()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMoveByType.Cmd,m_NAtagCMMoveByType.SubCmd))] = m_NAtagCMMoveByType
#------------------------------------------------------
#B4 02 对象击退 #tagCMNPCBeatBack
class  tagCMNPCPos(Structure):