hxp
2025-09-01 206203b4ccec9426178e12b8d67c815c4743df54
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -42053,207 +42053,6 @@
#------------------------------------------------------
# B1 09 玩家挂机系统信息 #tagMCGuajiInfo
class  tagMCGuajiMoney(Structure):
    _pack_ = 1
    _fields_ = [
                  ("MoneyType", c_ubyte),
                  ("MoneyValue", 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.MoneyType = 0
        self.MoneyValue = 0
        return
    def GetLength(self):
        return sizeof(tagMCGuajiMoney)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B1 09 玩家挂机系统信息 //tagMCGuajiInfo:
                                MoneyType:%d,
                                MoneyValue:%d
                                '''\
                                %(
                                self.MoneyType,
                                self.MoneyValue
                                )
        return DumpString
class  tagMCGuajiItem(Structure):
    _pack_ = 1
    _fields_ = [
                  ("ItemID", c_int),
                  ("Count", 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.ItemID = 0
        self.Count = 0
        return
    def GetLength(self):
        return sizeof(tagMCGuajiItem)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B1 09 玩家挂机系统信息 //tagMCGuajiInfo:
                                ItemID:%d,
                                Count:%d
                                '''\
                                %(
                                self.ItemID,
                                self.Count
                                )
        return DumpString
class  tagMCGuajiInfo(Structure):
    Head = tagHead()
    QuickAwardCount = 0    #(BYTE QuickAwardCount)// 今日已快速挂机收益次数
    AwardType = 0    #(BYTE AwardType)// 收益类型: 0-已累计预览;1-领取结算结果(包含常规领取跟快速领取)
    AwardSeconds = 0    #(DWORD AwardSeconds)// 已累计收益时长,秒
    Exp = 0    #(DWORD Exp)// 已累计经验,求余亿部分
    ExpPoint = 0    #(DWORD ExpPoint)// 已累计经验,整除亿部分
    MoneyLen = 0    #(BYTE MoneyLen)
    MoneyList = list()    #(vector<tagMCGuajiMoney> MoneyList)// 已累计货币
    ItemLen = 0    #(BYTE ItemLen)
    ItemList = list()    #(vector<tagMCGuajiItem> ItemList)// 已累计物品
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xB1
        self.Head.SubCmd = 0x09
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.QuickAwardCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.AwardType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.AwardSeconds,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.Exp,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ExpPoint,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.MoneyLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.MoneyLen):
            temMoneyList = tagMCGuajiMoney()
            _pos = temMoneyList.ReadData(_lpData, _pos)
            self.MoneyList.append(temMoneyList)
        self.ItemLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.ItemLen):
            temItemList = tagMCGuajiItem()
            _pos = temItemList.ReadData(_lpData, _pos)
            self.ItemList.append(temItemList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xB1
        self.Head.SubCmd = 0x09
        self.QuickAwardCount = 0
        self.AwardType = 0
        self.AwardSeconds = 0
        self.Exp = 0
        self.ExpPoint = 0
        self.MoneyLen = 0
        self.MoneyList = list()
        self.ItemLen = 0
        self.ItemList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 1
        length += 4
        length += 4
        length += 4
        length += 1
        for i in range(self.MoneyLen):
            length += self.MoneyList[i].GetLength()
        length += 1
        for i in range(self.ItemLen):
            length += self.ItemList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.QuickAwardCount)
        data = CommFunc.WriteBYTE(data, self.AwardType)
        data = CommFunc.WriteDWORD(data, self.AwardSeconds)
        data = CommFunc.WriteDWORD(data, self.Exp)
        data = CommFunc.WriteDWORD(data, self.ExpPoint)
        data = CommFunc.WriteBYTE(data, self.MoneyLen)
        for i in range(self.MoneyLen):
            data = CommFunc.WriteString(data, self.MoneyList[i].GetLength(), self.MoneyList[i].GetBuffer())
        data = CommFunc.WriteBYTE(data, self.ItemLen)
        for i in range(self.ItemLen):
            data = CommFunc.WriteString(data, self.ItemList[i].GetLength(), self.ItemList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                QuickAwardCount:%d,
                                AwardType:%d,
                                AwardSeconds:%d,
                                Exp:%d,
                                ExpPoint:%d,
                                MoneyLen:%d,
                                MoneyList:%s,
                                ItemLen:%d,
                                ItemList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.QuickAwardCount,
                                self.AwardType,
                                self.AwardSeconds,
                                self.Exp,
                                self.ExpPoint,
                                self.MoneyLen,
                                "...",
                                self.ItemLen,
                                "..."
                                )
        return DumpString
m_NAtagMCGuajiInfo=tagMCGuajiInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCGuajiInfo.Head.Cmd,m_NAtagMCGuajiInfo.Head.SubCmd))] = m_NAtagMCGuajiInfo
#------------------------------------------------------
# B1 22 武将信息 #tagSCHeroInfo
class  tagSCHero(Structure):
@@ -43396,6 +43195,8 @@
                  ("TreeLV", c_ubyte),    # 当前仙树等级
                  ("LVUPState", c_ubyte),    # 0-非升级中;1-升级中
                  ("LVUPRemainTime", c_int),    # 升级剩余时间,秒;当升级中且倒计时为0时可发送B223执行升级包进行升级
                  ("FreeTimeCnt", c_ubyte),    # 今日已免费减时次数
                  ("FreeTimeLast", c_int),    # 上次免费减时时间戳
                  ]
    def __init__(self):
@@ -43415,6 +43216,8 @@
        self.TreeLV = 0
        self.LVUPState = 0
        self.LVUPRemainTime = 0
        self.FreeTimeCnt = 0
        self.FreeTimeLast = 0
        return
    def GetLength(self):
@@ -43429,14 +43232,18 @@
                                SubCmd:%s,
                                TreeLV:%d,
                                LVUPState:%d,
                                LVUPRemainTime:%d
                                LVUPRemainTime:%d,
                                FreeTimeCnt:%d,
                                FreeTimeLast:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.TreeLV,
                                self.LVUPState,
                                self.LVUPRemainTime
                                self.LVUPRemainTime,
                                self.FreeTimeCnt,
                                self.FreeTimeLast
                                )
        return DumpString
@@ -47156,6 +46963,7 @@
                  ("Value1", c_int),    
                  ("Value2", c_int),    
                  ("Value3", c_int),    
                  ("IsAdd", c_ubyte),    # 是否是添加/覆盖的,1-是;0-否一般为buff的数据刷新
                  ]
    def __init__(self):
@@ -47182,6 +46990,7 @@
        self.Value1 = 0
        self.Value2 = 0
        self.Value3 = 0
        self.IsAdd = 0
        return
    def GetLength(self):
@@ -47203,7 +47012,8 @@
                                OwnerID:%d,
                                Value1:%d,
                                Value2:%d,
                                Value3:%d
                                Value3:%d,
                                IsAdd:%d
                                '''\
                                %(
                                self.Cmd,
@@ -47217,7 +47027,8 @@
                                self.OwnerID,
                                self.Value1,
                                self.Value2,
                                self.Value3
                                self.Value3,
                                self.IsAdd
                                )
        return DumpString
@@ -48352,13 +48163,13 @@
    _fields_ = [
                  ("ObjID", c_int),    # 战斗单位唯一ID
                  ("NPCID", c_int),    # 战斗NPCID,不同的实例ID对应的NPCID可能一样
                  ("HeroID", c_int),    # 玩家武将ID,仅玩家阵容有
                  ("SkinID", c_int),    # 玩家武将皮肤ID,仅玩家阵容有
                  ("HeroID", c_int),    # 武将ID,玩家或NPC均可能有,如果有值则外观相关以该武将为准,否则以NPCID为准
                  ("SkinID", c_int),    # 武将皮肤ID,玩家或NPC均可能有,如果有值则皮肤以该值为准,否则取NPCID对应的皮肤ID
                  ("HP", c_int),    # 当前血量,求余20亿部分
                  ("HPEx", c_int),    # 当前血量,整除20亿部分
                  ("MaxHP", c_int),    # 最大血量,求余20亿部分
                  ("MaxHPEx", c_int),    # 最大血量,整除20亿部分
                  ("LV", c_ushort),    # 等级
                  ("LV", c_ushort),    # 等级,玩家的武将等级或NPC成长等级,等级显示以该值为准
                  ("PosNum", c_ubyte),    # 在本阵容中的站位,从1开始,非主战斗武将为0,如红颜
                  ("AngreXP", c_ushort),    # 当前怒气值
                  ]
@@ -52675,135 +52486,6 @@
#------------------------------------------------------
# B9 11 队员进入副本准备状态刷新 #tagGCTeamEnterFBPrepare
class  tagGCTeamMemPrepareState(Structure):
    _pack_ = 1
    _fields_ = [
                  ("PlayerID", c_int),
                  ("PrepareState", c_ubyte),    # 状态,0-未准备,1-已准备,2-拒绝
                  ]
    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.PlayerID = 0
        self.PrepareState = 0
        return
    def GetLength(self):
        return sizeof(tagGCTeamMemPrepareState)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B9 11 队员进入副本准备状态刷新 //tagGCTeamEnterFBPrepare:
                                PlayerID:%d,
                                PrepareState:%d
                                '''\
                                %(
                                self.PlayerID,
                                self.PrepareState
                                )
        return DumpString
class  tagGCTeamEnterFBPrepare(Structure):
    Head = tagHead()
    TagMapID = 0    #(DWORD TagMapID)// 目标地图,不一定是队伍目标
    TagMapEx = 0    #(WORD TagMapEx)// 目标地图扩展
    IsPrepareErr = 0    #(BYTE IsPrepareErr)// 是否准备异常(在所有队员都准备好后准备传入副本出现有队员最终不能进入的情况时该值为1)
    MemCount = 0    #(BYTE MemCount)
    MemStateList = list()    #(vector<tagGCTeamMemPrepareState> MemStateList)// 队员状态列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xB9
        self.Head.SubCmd = 0x11
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.TagMapID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.TagMapEx,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.IsPrepareErr,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.MemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.MemCount):
            temMemStateList = tagGCTeamMemPrepareState()
            _pos = temMemStateList.ReadData(_lpData, _pos)
            self.MemStateList.append(temMemStateList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xB9
        self.Head.SubCmd = 0x11
        self.TagMapID = 0
        self.TagMapEx = 0
        self.IsPrepareErr = 0
        self.MemCount = 0
        self.MemStateList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 4
        length += 2
        length += 1
        length += 1
        for i in range(self.MemCount):
            length += self.MemStateList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteDWORD(data, self.TagMapID)
        data = CommFunc.WriteWORD(data, self.TagMapEx)
        data = CommFunc.WriteBYTE(data, self.IsPrepareErr)
        data = CommFunc.WriteBYTE(data, self.MemCount)
        for i in range(self.MemCount):
            data = CommFunc.WriteString(data, self.MemStateList[i].GetLength(), self.MemStateList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                TagMapID:%d,
                                TagMapEx:%d,
                                IsPrepareErr:%d,
                                MemCount:%d,
                                MemStateList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.TagMapID,
                                self.TagMapEx,
                                self.IsPrepareErr,
                                self.MemCount,
                                "..."
                                )
        return DumpString
m_NAtagGCTeamEnterFBPrepare=tagGCTeamEnterFBPrepare()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCTeamEnterFBPrepare.Head.Cmd,m_NAtagGCTeamEnterFBPrepare.Head.SubCmd))] = m_NAtagGCTeamEnterFBPrepare
#------------------------------------------------------
# B9 03 队伍信息变更 #tagGCTeamInfoChange
class  tagGCTeamInfoChange(Structure):
@@ -53210,134 +52892,6 @@
m_NAtagGCTeamMemberRefreshProperty=tagGCTeamMemberRefreshProperty()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCTeamMemberRefreshProperty.Cmd,m_NAtagGCTeamMemberRefreshProperty.SubCmd))] = m_NAtagGCTeamMemberRefreshProperty
#------------------------------------------------------
#  B9 12 队员功能数据查询结果 #tagGCTeamMemFuncDataList
class  tagGCTeamMemFuncData(Structure):
    PlayerID = 0    #(DWORD PlayerID)
    DataLen = 0    #(WORD DataLen)
    MemFuncData = ""    #(String MemFuncData)// 队员对应功能数据查询结果
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.DataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.MemFuncData,_pos = CommFunc.ReadString(_lpData, _pos,self.DataLen)
        return _pos
    def Clear(self):
        self.PlayerID = 0
        self.DataLen = 0
        self.MemFuncData = ""
        return
    def GetLength(self):
        length = 0
        length += 4
        length += 2
        length += len(self.MemFuncData)
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteDWORD(data, self.PlayerID)
        data = CommFunc.WriteWORD(data, self.DataLen)
        data = CommFunc.WriteString(data, self.DataLen, self.MemFuncData)
        return data
    def OutputString(self):
        DumpString = '''
                                PlayerID:%d,
                                DataLen:%d,
                                MemFuncData:%s
                                '''\
                                %(
                                self.PlayerID,
                                self.DataLen,
                                self.MemFuncData
                                )
        return DumpString
class  tagGCTeamMemFuncDataList(Structure):
    Head = tagHead()
    TeamMemFuncType = 0    #(BYTE TeamMemFuncType)// 查询队员的功能数据类型
    MemCount = 0    #(BYTE MemCount)
    MemFuncDataList = list()    #(vector<tagGCTeamMemFuncData> MemFuncDataList)// 数据列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xB9
        self.Head.SubCmd = 0x12
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.TeamMemFuncType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.MemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.MemCount):
            temMemFuncDataList = tagGCTeamMemFuncData()
            _pos = temMemFuncDataList.ReadData(_lpData, _pos)
            self.MemFuncDataList.append(temMemFuncDataList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xB9
        self.Head.SubCmd = 0x12
        self.TeamMemFuncType = 0
        self.MemCount = 0
        self.MemFuncDataList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 1
        for i in range(self.MemCount):
            length += self.MemFuncDataList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.TeamMemFuncType)
        data = CommFunc.WriteBYTE(data, self.MemCount)
        for i in range(self.MemCount):
            data = CommFunc.WriteString(data, self.MemFuncDataList[i].GetLength(), self.MemFuncDataList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                TeamMemFuncType:%d,
                                MemCount:%d,
                                MemFuncDataList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.TeamMemFuncType,
                                self.MemCount,
                                "..."
                                )
        return DumpString
m_NAtagGCTeamMemFuncDataList=tagGCTeamMemFuncDataList()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCTeamMemFuncDataList.Head.Cmd,m_NAtagGCTeamMemFuncDataList.Head.SubCmd))] = m_NAtagGCTeamMemFuncDataList
#------------------------------------------------------