hxp
2019-10-29 2941a7635bb04ca59afa820b51a23aca9dc70eb9
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -1248,6 +1248,62 @@
#------------------------------------------------------
# A9 01 获取Boss首杀奖励 #tagCGGetBossFirstKillAward
class  tagCGGetBossFirstKillAward(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("NPCID", c_int),
                  ("AwardType", c_ubyte),    # 0-首杀红包奖励;1-个人首杀奖励
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA9
        self.SubCmd = 0x01
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.Cmd = 0xA9
        self.SubCmd = 0x01
        self.NPCID = 0
        self.AwardType = 0
        return
    def GetLength(self):
        return sizeof(tagCGGetBossFirstKillAward)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A9 01 获取Boss首杀奖励 //tagCGGetBossFirstKillAward:
                                Cmd:%s,
                                SubCmd:%s,
                                NPCID:%d,
                                AwardType:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.NPCID,
                                self.AwardType
                                )
        return DumpString
m_NAtagCGGetBossFirstKillAward=tagCGGetBossFirstKillAward()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGGetBossFirstKillAward.Cmd,m_NAtagCGGetBossFirstKillAward.SubCmd))] = m_NAtagCGGetBossFirstKillAward
#------------------------------------------------------
# A9 04 查询boss信息 #tagCGQueryBossInfo
class  tagCGQueryBossInfo(Structure):
@@ -6211,6 +6267,104 @@
#------------------------------------------------------
# A3 30 装备神装进阶 #tagCMEquipEvolve
class  tagCMEquipEvolve(Structure):
    Head = tagHead()
    EquipIndex = 0    #(BYTE EquipIndex)// 要进阶的装备在装备背包中索引
    NeedEquipIDIndex = 0    #(BYTE NeedEquipIDIndex)// 所需固定装备B在背包中索引
    NeedItemIDIndexCnt = 0    #(BYTE NeedItemIDIndexCnt)// 附加材料在背包中索引个数
    NeedItemIDIndex = list()    #(vector<BYTE> NeedItemIDIndex)// 附加材料在背包的索引列表
    NeedSuitIndexCnt = 0    #(BYTE NeedSuitIndexCnt)// 所需套装材料在背包中索引个数
    NeedSuitIndex = list()    #(vector<BYTE> NeedSuitIndex)// 所需套装材料在背包的索引列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA3
        self.Head.SubCmd = 0x30
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.EquipIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.NeedEquipIDIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.NeedItemIDIndexCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.NeedItemIDIndexCnt):
            value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
            self.NeedItemIDIndex.append(value)
        self.NeedSuitIndexCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.NeedSuitIndexCnt):
            value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
            self.NeedSuitIndex.append(value)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA3
        self.Head.SubCmd = 0x30
        self.EquipIndex = 0
        self.NeedEquipIDIndex = 0
        self.NeedItemIDIndexCnt = 0
        self.NeedItemIDIndex = list()
        self.NeedSuitIndexCnt = 0
        self.NeedSuitIndex = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 1
        length += 1
        length += 1 * self.NeedItemIDIndexCnt
        length += 1
        length += 1 * self.NeedSuitIndexCnt
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.EquipIndex)
        data = CommFunc.WriteBYTE(data, self.NeedEquipIDIndex)
        data = CommFunc.WriteBYTE(data, self.NeedItemIDIndexCnt)
        for i in range(self.NeedItemIDIndexCnt):
            data = CommFunc.WriteBYTE(data, self.NeedItemIDIndex[i])
        data = CommFunc.WriteBYTE(data, self.NeedSuitIndexCnt)
        for i in range(self.NeedSuitIndexCnt):
            data = CommFunc.WriteBYTE(data, self.NeedSuitIndex[i])
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                EquipIndex:%d,
                                NeedEquipIDIndex:%d,
                                NeedItemIDIndexCnt:%d,
                                NeedItemIDIndex:%s,
                                NeedSuitIndexCnt:%d,
                                NeedSuitIndex:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.EquipIndex,
                                self.NeedEquipIDIndex,
                                self.NeedItemIDIndexCnt,
                                "...",
                                self.NeedSuitIndexCnt,
                                "..."
                                )
        return DumpString
m_NAtagCMEquipEvolve=tagCMEquipEvolve()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipEvolve.Head.Cmd,m_NAtagCMEquipEvolve.Head.SubCmd))] = m_NAtagCMEquipEvolve
#------------------------------------------------------
#A3 01 装备强化 #tagEquipPlus
class  tagEquipPlus(Structure):
@@ -6599,62 +6753,6 @@
#------------------------------------------------------
# A3 30 装备诛仙装备 #tagCMEquipZhuXianItem
class  tagCMEquipZhuXianItem(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("EquipIndex", c_ubyte),    #装备在诛仙装备背包中的索引
                  ("ItemIndex", c_ubyte),    #装备在诛仙物品背包中的索引
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA3
        self.SubCmd = 0x30
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.Cmd = 0xA3
        self.SubCmd = 0x30
        self.EquipIndex = 0
        self.ItemIndex = 0
        return
    def GetLength(self):
        return sizeof(tagCMEquipZhuXianItem)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A3 30 装备诛仙装备 //tagCMEquipZhuXianItem:
                                Cmd:%s,
                                SubCmd:%s,
                                EquipIndex:%d,
                                ItemIndex:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.EquipIndex,
                                self.ItemIndex
                                )
        return DumpString
m_NAtagCMEquipZhuXianItem=tagCMEquipZhuXianItem()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipZhuXianItem.Cmd,m_NAtagCMEquipZhuXianItem.SubCmd))] = m_NAtagCMEquipZhuXianItem
#------------------------------------------------------
# A3 12 守护拾取物品 #tagCMGuardPickupItem
class  tagCMGuardPickupItem(Structure):
@@ -6827,6 +6925,58 @@
m_NAtagCMItemTimeout=tagCMItemTimeout()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMItemTimeout.Cmd,m_NAtagCMItemTimeout.SubCmd))] = m_NAtagCMItemTimeout
#------------------------------------------------------
# A3 18 灵器突破 #tagCMLingQiEquipBreak
class  tagCMLingQiEquipBreak(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("ItemID", c_int),    #突破的物品ID
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA3
        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 = 0xA3
        self.SubCmd = 0x18
        self.ItemID = 0
        return
    def GetLength(self):
        return sizeof(tagCMLingQiEquipBreak)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A3 18 灵器突破 //tagCMLingQiEquipBreak:
                                Cmd:%s,
                                SubCmd:%s,
                                ItemID:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.ItemID
                                )
        return DumpString
m_NAtagCMLingQiEquipBreak=tagCMLingQiEquipBreak()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMLingQiEquipBreak.Cmd,m_NAtagCMLingQiEquipBreak.SubCmd))] = m_NAtagCMLingQiEquipBreak
#------------------------------------------------------
@@ -7295,58 +7445,6 @@
#------------------------------------------------------
# A3 31 卸下诛仙装备 #tagCMUnEquipZhuXianItem
class  tagCMUnEquipZhuXianItem(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("EquipIndex", c_ubyte),    #装备在诛仙装备背包中的索引
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA3
        self.SubCmd = 0x31
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.Cmd = 0xA3
        self.SubCmd = 0x31
        self.EquipIndex = 0
        return
    def GetLength(self):
        return sizeof(tagCMUnEquipZhuXianItem)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A3 31 卸下诛仙装备 //tagCMUnEquipZhuXianItem:
                                Cmd:%s,
                                SubCmd:%s,
                                EquipIndex:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.EquipIndex
                                )
        return DumpString
m_NAtagCMUnEquipZhuXianItem=tagCMUnEquipZhuXianItem()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMUnEquipZhuXianItem.Cmd,m_NAtagCMUnEquipZhuXianItem.SubCmd))] = m_NAtagCMUnEquipZhuXianItem
#------------------------------------------------------
# A3 2B 一键使用属性果实 #tagCMUseAllAttrFruit
class  tagCMUseAllAttrFruit(Structure):
@@ -7523,90 +7621,6 @@
m_NAtagCMWingUp=tagCMWingUp()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMWingUp.Head.Cmd,m_NAtagCMWingUp.Head.SubCmd))] = m_NAtagCMWingUp
#------------------------------------------------------
# A3 32 诛仙装备分解 #tagCMZhuXianEquipDecompose
class  tagCMZhuXianEquipDecompose(Structure):
    Head = tagHead()
    Count = 0    #(BYTE Count)//材料所在背包索引的数量
    IndexList = list()    #(vector<WORD> IndexList)//材料所在背包索引列表
    ItemIDList = list()    #(vector<DWORD> ItemIDList)//材料所在背包物品ID列表
    IsAuto = 0    #(BYTE IsAuto)//是否自动分解
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA3
        self.Head.SubCmd = 0x32
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.Count):
            value,_pos=CommFunc.ReadWORD(_lpData,_pos)
            self.IndexList.append(value)
        for i in range(self.Count):
            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
            self.ItemIDList.append(value)
        self.IsAuto,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA3
        self.Head.SubCmd = 0x32
        self.Count = 0
        self.IndexList = list()
        self.ItemIDList = list()
        self.IsAuto = 0
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 2 * self.Count
        length += 4 * self.Count
        length += 1
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.Count)
        for i in range(self.Count):
            data = CommFunc.WriteWORD(data, self.IndexList[i])
        for i in range(self.Count):
            data = CommFunc.WriteDWORD(data, self.ItemIDList[i])
        data = CommFunc.WriteBYTE(data, self.IsAuto)
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                Count:%d,
                                IndexList:%s,
                                ItemIDList:%s,
                                IsAuto:%d
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.Count,
                                "...",
                                "...",
                                self.IsAuto
                                )
        return DumpString
m_NAtagCMZhuXianEquipDecompose=tagCMZhuXianEquipDecompose()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMZhuXianEquipDecompose.Head.Cmd,m_NAtagCMZhuXianEquipDecompose.Head.SubCmd))] = m_NAtagCMZhuXianEquipDecompose
#------------------------------------------------------
@@ -9951,6 +9965,126 @@
m_NAtagCMGoldInvest=tagCMGoldInvest()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGoldInvest.Cmd,m_NAtagCMGoldInvest.SubCmd))] = m_NAtagCMGoldInvest
#------------------------------------------------------
# A5 29 骑宠觉醒 #tagCMHorsePetAwake
class  tagCMHorsePetAwake(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("Type", c_ushort),    # 1-坐骑 2-灵宠
                  ("ID", c_int),    # 对应坐骑表灵宠表ID
                  ("EatItemID", c_int),    # 吞噬的物品ID
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA5
        self.SubCmd = 0x29
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.Cmd = 0xA5
        self.SubCmd = 0x29
        self.Type = 0
        self.ID = 0
        self.EatItemID = 0
        return
    def GetLength(self):
        return sizeof(tagCMHorsePetAwake)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A5 29 骑宠觉醒 //tagCMHorsePetAwake:
                                Cmd:%s,
                                SubCmd:%s,
                                Type:%d,
                                ID:%d,
                                EatItemID:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.Type,
                                self.ID,
                                self.EatItemID
                                )
        return DumpString
m_NAtagCMHorsePetAwake=tagCMHorsePetAwake()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMHorsePetAwake.Cmd,m_NAtagCMHorsePetAwake.SubCmd))] = m_NAtagCMHorsePetAwake
#------------------------------------------------------
# A5 30 骑宠外观选择 #tagCMHorsePetSkinSelect
class  tagCMHorsePetSkinSelect(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("Type", c_ushort),    # 1-坐骑 2-灵宠
                  ("ID", c_int),    # 对应坐骑表灵宠表ID
                  ("SkinIndex", c_ubyte),    # 外观索引
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA5
        self.SubCmd = 0x30
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.Cmd = 0xA5
        self.SubCmd = 0x30
        self.Type = 0
        self.ID = 0
        self.SkinIndex = 0
        return
    def GetLength(self):
        return sizeof(tagCMHorsePetSkinSelect)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A5 30 骑宠外观选择 //tagCMHorsePetSkinSelect:
                                Cmd:%s,
                                SubCmd:%s,
                                Type:%d,
                                ID:%d,
                                SkinIndex:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.Type,
                                self.ID,
                                self.SkinIndex
                                )
        return DumpString
m_NAtagCMHorsePetSkinSelect=tagCMHorsePetSkinSelect()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMHorsePetSkinSelect.Cmd,m_NAtagCMHorsePetSkinSelect.SubCmd))] = m_NAtagCMHorsePetSkinSelect
#------------------------------------------------------
@@ -14193,7 +14327,7 @@
    Head = tagHead()
    PointAttrIDCount = 0    #(BYTE PointAttrIDCount)// 加点属性ID个数
    PointAttrIDList = list()    #(vector<BYTE> PointAttrIDList)// 加点属性ID列表
    PointValueList = list()    #(vector<WORD> PointValueList)// 加点属性ID对应的点数列表
    PointValueList = list()    #(vector<DWORD> PointValueList)// 加点属性ID对应的点数列表
    data = None
    def __init__(self):
@@ -14210,7 +14344,7 @@
            value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
            self.PointAttrIDList.append(value)
        for i in range(self.PointAttrIDCount):
            value,_pos=CommFunc.ReadWORD(_lpData,_pos)
            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
            self.PointValueList.append(value)
        return _pos
@@ -14229,7 +14363,7 @@
        length += self.Head.GetLength()
        length += 1
        length += 1 * self.PointAttrIDCount
        length += 2 * self.PointAttrIDCount
        length += 4 * self.PointAttrIDCount
        return length
@@ -14240,7 +14374,7 @@
        for i in range(self.PointAttrIDCount):
            data = CommFunc.WriteBYTE(data, self.PointAttrIDList[i])
        for i in range(self.PointAttrIDCount):
            data = CommFunc.WriteWORD(data, self.PointValueList[i])
            data = CommFunc.WriteDWORD(data, self.PointValueList[i])
        return data
    def OutputString(self):
@@ -15928,6 +16062,63 @@
#------------------------------------------------------
# B5 15 拍卖行下架拍品 #tagCMUnsellAuctionItem
class  tagCMUnsellAuctionItem(Structure):
    Head = tagHead()
    ItemGUID = ""    #(char ItemGUID[40])
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xB5
        self.Head.SubCmd = 0x15
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xB5
        self.Head.SubCmd = 0x15
        self.ItemGUID = ""
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 40
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteString(data, 40, self.ItemGUID)
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                ItemGUID:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.ItemGUID
                                )
        return DumpString
m_NAtagCMUnsellAuctionItem=tagCMUnsellAuctionItem()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMUnsellAuctionItem.Head.Cmd,m_NAtagCMUnsellAuctionItem.Head.SubCmd))] = m_NAtagCMUnsellAuctionItem
#------------------------------------------------------
# B9 04 修改队伍相关审核状态 #tagCMChangeTeamCheckState
class  tagCMChangeTeamCheckState(Structure):