hxp
2023-12-18 acf05d7528bcacce32fc20fc5e6ab11110de1cf4
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -18235,6 +18235,118 @@
#------------------------------------------------------
# B2 21 玩家砍树 #tagCMCutTree
class  tagCMCutTree(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("CutCount", c_ubyte),    # 砍几次,默认1
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xB2
        self.SubCmd = 0x21
        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 = 0x21
        self.CutCount = 0
        return
    def GetLength(self):
        return sizeof(tagCMCutTree)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B2 21 玩家砍树 //tagCMCutTree:
                                Cmd:%s,
                                SubCmd:%s,
                                CutCount:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.CutCount
                                )
        return DumpString
m_NAtagCMCutTree=tagCMCutTree()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMCutTree.Cmd,m_NAtagCMCutTree.SubCmd))] = m_NAtagCMCutTree
#------------------------------------------------------
# B2 22 砍树装备操作 #tagCMCutTreeEquipOP
class  tagCMCutTreeEquipOP(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("ItemIndex", c_ubyte),    # 物品在砍树背包的索引
                  ("OPType", c_ubyte),    # 操作类型:1-替换;2-分解
                  ("AutoDecompose", c_ubyte),    # 替换后是否自动分解原装备:0否1是,仅替换操作下有用
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xB2
        self.SubCmd = 0x22
        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 = 0x22
        self.ItemIndex = 0
        self.OPType = 0
        self.AutoDecompose = 0
        return
    def GetLength(self):
        return sizeof(tagCMCutTreeEquipOP)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B2 22 砍树装备操作 //tagCMCutTreeEquipOP:
                                Cmd:%s,
                                SubCmd:%s,
                                ItemIndex:%d,
                                OPType:%d,
                                AutoDecompose:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.ItemIndex,
                                self.OPType,
                                self.AutoDecompose
                                )
        return DumpString
m_NAtagCMCutTreeEquipOP=tagCMCutTreeEquipOP()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMCutTreeEquipOP.Cmd,m_NAtagCMCutTreeEquipOP.SubCmd))] = m_NAtagCMCutTreeEquipOP
#------------------------------------------------------
# B2 12 领取功能系统特权奖励 #tagCMGetFuncSysPrivilegeAward
class  tagCMGetFuncSysPrivilegeAward(Structure):
@@ -18894,6 +19006,58 @@
m_NAtagCMTJGnpc=tagCMTJGnpc()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMTJGnpc.Cmd,m_NAtagCMTJGnpc.SubCmd))] = m_NAtagCMTJGnpc
#------------------------------------------------------
# B2 23 仙树升级 #tagCMTreeLVUP
class  tagCMTreeLVUP(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("Type", c_ubyte),    # 0-开始升级(请求扣除消耗,开始升级倒计时);1-执行升级(倒计时时间到后发送该类型)
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xB2
        self.SubCmd = 0x23
        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 = 0x23
        self.Type = 0
        return
    def GetLength(self):
        return sizeof(tagCMTreeLVUP)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B2 23 仙树升级 //tagCMTreeLVUP:
                                Cmd:%s,
                                SubCmd:%s,
                                Type:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.Type
                                )
        return DumpString
m_NAtagCMTreeLVUP=tagCMTreeLVUP()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMTreeLVUP.Cmd,m_NAtagCMTreeLVUP.SubCmd))] = m_NAtagCMTreeLVUP
#------------------------------------------------------
@@ -20357,6 +20521,66 @@
#------------------------------------------------------
# B4 10 回合制战斗 #tagCMTurnFight
class  tagCMTurnFight(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("MapID", c_int),    # 自定义地图ID,可用于绑定战斗场景功能(如野外关卡,爬塔功能,竞技场等)
                  ("FuncLineID", c_ushort),
                  ("PlayerID", c_int),    # 对应玩家ID,可为0,某些功能可能有用,如竞技场
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xB4
        self.SubCmd = 0x10
        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 = 0x10
        self.MapID = 0
        self.FuncLineID = 0
        self.PlayerID = 0
        return
    def GetLength(self):
        return sizeof(tagCMTurnFight)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B4 10 回合制战斗 //tagCMTurnFight:
                                Cmd:%s,
                                SubCmd:%s,
                                MapID:%d,
                                FuncLineID:%d,
                                PlayerID:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.MapID,
                                self.FuncLineID,
                                self.PlayerID
                                )
        return DumpString
m_NAtagCMTurnFight=tagCMTurnFight()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMTurnFight.Cmd,m_NAtagCMTurnFight.SubCmd))] = m_NAtagCMTurnFight
#------------------------------------------------------
# B5 14 拍卖行竞价物品 #tagCMBiddingAuctionItem
class  tagCMBiddingAuctionItem(Structure):