ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -4769,227 +4769,6 @@
#------------------------------------------------------
# A5 71 命格分解 #tagCMBirthChartDecompose
class  tagCMBirthChartDecompose(Structure):
    Head = tagHead()
    IsAll = 0    #(BYTE IsAll)// 是否全部分解,优先级最高,锁定除外
    QualityCnt = 0    #(BYTE QualityCnt)// 按全部分解品质数
    QualityList = list()    #(vector<BYTE> QualityList)// 全部分解的品质列表,发送的品质会全部分解,锁定除外
    Count = 0    #(BYTE Count)// 指定批量分解数,最大不超过50个
    PlaceIndexList = list()    #(vector<WORD> PlaceIndexList)// 批量分解位置索引列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA5
        self.Head.SubCmd = 0x71
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.IsAll,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.QualityCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.QualityCnt):
            value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
            self.QualityList.append(value)
        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.Count):
            value,_pos=CommFunc.ReadWORD(_lpData,_pos)
            self.PlaceIndexList.append(value)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA5
        self.Head.SubCmd = 0x71
        self.IsAll = 0
        self.QualityCnt = 0
        self.QualityList = list()
        self.Count = 0
        self.PlaceIndexList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 1
        length += 1 * self.QualityCnt
        length += 1
        length += 2 * self.Count
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.IsAll)
        data = CommFunc.WriteBYTE(data, self.QualityCnt)
        for i in range(self.QualityCnt):
            data = CommFunc.WriteBYTE(data, self.QualityList[i])
        data = CommFunc.WriteBYTE(data, self.Count)
        for i in range(self.Count):
            data = CommFunc.WriteWORD(data, self.PlaceIndexList[i])
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                IsAll:%d,
                                QualityCnt:%d,
                                QualityList:%s,
                                Count:%d,
                                PlaceIndexList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.IsAll,
                                self.QualityCnt,
                                "...",
                                self.Count,
                                "..."
                                )
        return DumpString
m_NAtagCMBirthChartDecompose=tagCMBirthChartDecompose()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBirthChartDecompose.Head.Cmd,m_NAtagCMBirthChartDecompose.Head.SubCmd))] = m_NAtagCMBirthChartDecompose
#------------------------------------------------------
# A5 72 命格锁定状态变更 #tagCMBirthChartLock
class  tagCMBirthChartLock(Structure):
    Head = tagHead()
    LockState = 0    #(BYTE LockState)// 锁定状态, 0-锁定,1-解锁
    Count = 0    #(BYTE Count)// 批量操作数,最大不超过50个
    PlaceIndexList = list()    #(vector<WORD> PlaceIndexList)// 批量操作位置索引列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA5
        self.Head.SubCmd = 0x72
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.LockState,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.Count):
            value,_pos=CommFunc.ReadWORD(_lpData,_pos)
            self.PlaceIndexList.append(value)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA5
        self.Head.SubCmd = 0x72
        self.LockState = 0
        self.Count = 0
        self.PlaceIndexList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 1
        length += 2 * self.Count
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.LockState)
        data = CommFunc.WriteBYTE(data, self.Count)
        for i in range(self.Count):
            data = CommFunc.WriteWORD(data, self.PlaceIndexList[i])
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                LockState:%d,
                                Count:%d,
                                PlaceIndexList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.LockState,
                                self.Count,
                                "..."
                                )
        return DumpString
m_NAtagCMBirthChartLock=tagCMBirthChartLock()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBirthChartLock.Head.Cmd,m_NAtagCMBirthChartLock.Head.SubCmd))] = m_NAtagCMBirthChartLock
#------------------------------------------------------
# A5 70 命格升级 #tagCMBirthChartUp
class  tagCMBirthChartUp(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("PlaceType", c_ubyte),    # 位置类型;0-命格背包,1-命格孔
                  ("PlaceIndex", c_ushort),    # 位置索引
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA5
        self.SubCmd = 0x70
        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 = 0x70
        self.PlaceType = 0
        self.PlaceIndex = 0
        return
    def GetLength(self):
        return sizeof(tagCMBirthChartUp)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A5 70 命格升级 //tagCMBirthChartUp:
                                Cmd:%s,
                                SubCmd:%s,
                                PlaceType:%d,
                                PlaceIndex:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.PlaceType,
                                self.PlaceIndex
                                )
        return DumpString
m_NAtagCMBirthChartUp=tagCMBirthChartUp()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBirthChartUp.Cmd,m_NAtagCMBirthChartUp.SubCmd))] = m_NAtagCMBirthChartUp
#------------------------------------------------------
# A5 52 购买功能NPC采集次数 #tagCMBuyCollectionCnt
class  tagCMBuyCollectionCnt(Structure):
@@ -7371,58 +7150,6 @@
m_NAtagCSTreasureWishSelect=tagCSTreasureWishSelect()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCSTreasureWishSelect.Head.Cmd,m_NAtagCSTreasureWishSelect.Head.SubCmd))] = m_NAtagCSTreasureWishSelect
#------------------------------------------------------
# A5 73 解锁命格孔 #tagCMUnLockBirthChartHole
class  tagCMUnLockBirthChartHole(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("BirthChartIndex", c_ubyte),    # 孔索引
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA5
        self.SubCmd = 0x73
        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 = 0x73
        self.BirthChartIndex = 0
        return
    def GetLength(self):
        return sizeof(tagCMUnLockBirthChartHole)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A5 73 解锁命格孔 //tagCMUnLockBirthChartHole:
                                Cmd:%s,
                                SubCmd:%s,
                                BirthChartIndex:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.BirthChartIndex
                                )
        return DumpString
m_NAtagCMUnLockBirthChartHole=tagCMUnLockBirthChartHole()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMUnLockBirthChartHole.Cmd,m_NAtagCMUnLockBirthChartHole.SubCmd))] = m_NAtagCMUnLockBirthChartHole
#------------------------------------------------------
@@ -12699,6 +12426,237 @@
#------------------------------------------------------
# B2 51 命格分解 #tagCSMinggeDecompose
class  tagCSMinggeDecompose(Structure):
    Head = tagHead()
    Count = 0    #(BYTE Count)
    IndexList = list()    #(vector<BYTE> IndexList)// 推演背包中的物品格子索引列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xB2
        self.Head.SubCmd = 0x51
        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.ReadBYTE(_lpData,_pos)
            self.IndexList.append(value)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xB2
        self.Head.SubCmd = 0x51
        self.Count = 0
        self.IndexList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 1 * self.Count
        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.WriteBYTE(data, self.IndexList[i])
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                Count:%d,
                                IndexList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.Count,
                                "..."
                                )
        return DumpString
m_NAtagCSMinggeDecompose=tagCSMinggeDecompose()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCSMinggeDecompose.Head.Cmd,m_NAtagCSMinggeDecompose.Head.SubCmd))] = m_NAtagCSMinggeDecompose
#------------------------------------------------------
# B2 52 命格装备替换 #tagCSMinggeEquip
class  tagCSMinggeEquip(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("MGNum", c_ubyte),    # 装到哪一套命格,目前支持3套,从1开始
                  ("Index", c_ubyte),    # 推演背包中的物品格子索引
                  ("AutoDec", c_ubyte),    # 是否自动分解
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xB2
        self.SubCmd = 0x52
        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 = 0xB2
        self.SubCmd = 0x52
        self.MGNum = 0
        self.Index = 0
        self.AutoDec = 0
        return
    def GetLength(self):
        return sizeof(tagCSMinggeEquip)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B2 52 命格装备替换 //tagCSMinggeEquip:
                                Cmd:%s,
                                SubCmd:%s,
                                MGNum:%d,
                                Index:%d,
                                AutoDec:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.MGNum,
                                self.Index,
                                self.AutoDec
                                )
        return DumpString
m_NAtagCSMinggeEquip=tagCSMinggeEquip()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCSMinggeEquip.Cmd,m_NAtagCSMinggeEquip.SubCmd))] = m_NAtagCSMinggeEquip
#------------------------------------------------------
# B2 53 命格祈灵#tagCSMinggeQiling
class  tagCSMinggeQiling(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("UseCount", c_int),    #使用个数
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xB2
        self.SubCmd = 0x53
        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 = 0xB2
        self.SubCmd = 0x53
        self.UseCount = 0
        return
    def GetLength(self):
        return sizeof(tagCSMinggeQiling)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B2 53 命格祈灵//tagCSMinggeQiling:
                                Cmd:%s,
                                SubCmd:%s,
                                UseCount:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.UseCount
                                )
        return DumpString
m_NAtagCSMinggeQiling=tagCSMinggeQiling()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCSMinggeQiling.Cmd,m_NAtagCSMinggeQiling.SubCmd))] = m_NAtagCSMinggeQiling
#------------------------------------------------------
# B2 50 命格推演 #tagCSMinggeTuiyan
class  tagCSMinggeTuiyan(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("Count", c_ubyte),    #推演个数
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xB2
        self.SubCmd = 0x50
        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 = 0xB2
        self.SubCmd = 0x50
        self.Count = 0
        return
    def GetLength(self):
        return sizeof(tagCSMinggeTuiyan)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B2 50 命格推演 //tagCSMinggeTuiyan:
                                Cmd:%s,
                                SubCmd:%s,
                                Count:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.Count
                                )
        return DumpString
m_NAtagCSMinggeTuiyan=tagCSMinggeTuiyan()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCSMinggeTuiyan.Cmd,m_NAtagCSMinggeTuiyan.SubCmd))] = m_NAtagCSMinggeTuiyan
#------------------------------------------------------
# B2 07 重置加点 #tagCMResetAttrPoint
class  tagCMResetAttrPoint(Structure):