hxp
2024-07-12 40673d6fac17bdead316b5aae223f7861d8d6eb7
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -18886,6 +18886,114 @@
#------------------------------------------------------
# A2 06 自动转化为对应物品ID个数刷新 #tagMCAutoItemCountRefresh
class  tagMCAutoItemCount(Structure):
    _pack_ = 1
    _fields_ = [
                  ("ItemID", c_int),
                  ("ItemCount", c_int),
                  ]
    def __init__(self):
        self.Clear()
        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.ItemID = 0
        self.ItemCount = 0
        return
    def GetLength(self):
        return sizeof(tagMCAutoItemCount)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A2 06 自动转化为对应物品ID个数刷新 //tagMCAutoItemCountRefresh:
                                ItemID:%d,
                                ItemCount:%d
                                '''\
                                %(
                                self.ItemID,
                                self.ItemCount
                                )
        return DumpString
class  tagMCAutoItemCountRefresh(Structure):
    Head = tagHead()
    Count = 0    #(WORD Count)// 刷新个数
    ItemCountList = list()    #(vector<tagMCAutoItemCount> ItemCountList)// 物品信息列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA2
        self.Head.SubCmd = 0x06
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.Count,_pos = CommFunc.ReadWORD(_lpData, _pos)
        for i in range(self.Count):
            temItemCountList = tagMCAutoItemCount()
            _pos = temItemCountList.ReadData(_lpData, _pos)
            self.ItemCountList.append(temItemCountList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA2
        self.Head.SubCmd = 0x06
        self.Count = 0
        self.ItemCountList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 2
        for i in range(self.Count):
            length += self.ItemCountList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteWORD(data, self.Count)
        for i in range(self.Count):
            data = CommFunc.WriteString(data, self.ItemCountList[i].GetLength(), self.ItemCountList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                Count:%d,
                                ItemCountList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.Count,
                                "..."
                                )
        return DumpString
m_NAtagMCAutoItemCountRefresh=tagMCAutoItemCountRefresh()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCAutoItemCountRefresh.Head.Cmd,m_NAtagMCAutoItemCountRefresh.Head.SubCmd))] = m_NAtagMCAutoItemCountRefresh
#------------------------------------------------------
# A2 03 最后一次背包开格的在线时间 #tagMCOnlineTimeLastOpenPack
class  tagMCOnlineTimeLastOpenPack(Structure):
@@ -22209,6 +22317,181 @@
#------------------------------------------------------
# A3 61 新聚魂孔信息 #tagMCGatherTheSoulHoleInfo
class  tagMCGatherTheSoulHoleInfo(Structure):
    Head = tagHead()
    Count = 0    #(BYTE Count)// 孔数
    HoleSoulList = list()    #(vector<DWORD> HoleSoulList)// 孔聚魂ID列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA3
        self.Head.SubCmd = 0x61
        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.ReadDWORD(_lpData,_pos)
            self.HoleSoulList.append(value)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA3
        self.Head.SubCmd = 0x61
        self.Count = 0
        self.HoleSoulList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 4 * 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.WriteDWORD(data, self.HoleSoulList[i])
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                Count:%d,
                                HoleSoulList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.Count,
                                "..."
                                )
        return DumpString
m_NAtagMCGatherTheSoulHoleInfo=tagMCGatherTheSoulHoleInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCGatherTheSoulHoleInfo.Head.Cmd,m_NAtagMCGatherTheSoulHoleInfo.Head.SubCmd))] = m_NAtagMCGatherTheSoulHoleInfo
#------------------------------------------------------
# A3 60 新聚魂信息 #tagMCGatherTheSoulInfo
class  tagMCGatherTheSoul(Structure):
    _pack_ = 1
    _fields_ = [
                  ("SoulID", c_int),
                  ("LV", c_ushort),
                  ]
    def __init__(self):
        self.Clear()
        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.SoulID = 0
        self.LV = 0
        return
    def GetLength(self):
        return sizeof(tagMCGatherTheSoul)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A3 60 新聚魂信息 //tagMCGatherTheSoulInfo:
                                SoulID:%d,
                                LV:%d
                                '''\
                                %(
                                self.SoulID,
                                self.LV
                                )
        return DumpString
class  tagMCGatherTheSoulInfo(Structure):
    Head = tagHead()
    Count = 0    #(BYTE Count)// 信息个数
    SoulList = list()    #(vector<tagMCGatherTheSoul> SoulList)// 信息列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA3
        self.Head.SubCmd = 0x60
        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):
            temSoulList = tagMCGatherTheSoul()
            _pos = temSoulList.ReadData(_lpData, _pos)
            self.SoulList.append(temSoulList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA3
        self.Head.SubCmd = 0x60
        self.Count = 0
        self.SoulList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        for i in range(self.Count):
            length += self.SoulList[i].GetLength()
        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.WriteString(data, self.SoulList[i].GetLength(), self.SoulList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                Count:%d,
                                SoulList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.Count,
                                "..."
                                )
        return DumpString
m_NAtagMCGatherTheSoulInfo=tagMCGatherTheSoulInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCGatherTheSoulInfo.Head.Cmd,m_NAtagMCGatherTheSoulInfo.Head.SubCmd))] = m_NAtagMCGatherTheSoulInfo
#------------------------------------------------------
# A3 1D 神兵等级信息 #tagMCGodWeaponLVList
class  tagMCGodWeaponLVInfo(Structure):