local lib = loadstring(game:HttpGet("https://raw.githubusercontent.
com/dawid-
scripts/UI-Libs/main/Vape.txt"))()
local win = lib:Window("SpecHub (TBG)", Color3.fromRGB(24, 180, 124),
Enum.KeyCode.RightControl)
local tab = win:Tab("Aimbot")
local aimbotConnection
local aimlockConnection
tab:Toggle("Aimbot", false, function(t)
    if t then
        -- Create a ScreenGui
        local screenGui = Instance.new("ScreenGui")
        screenGui.Name = "InfoGui"
        screenGui.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui")
          -- Create a Frame to hold the text
          local frame = Instance.new("Frame")
          frame.Size = UDim2.new(0, 200, 0, 60)
          frame.Position = UDim2.new(0, 10, 0, 10)
          frame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
          frame.BackgroundTransparency = 0.5
          frame.BorderSizePixel = 0
          frame.Parent = screenGui
          -- Create TextLabels
          local textLabel1 = Instance.new("TextLabel")
          textLabel1.Size = UDim2.new(1, 0, 0, 25)
          textLabel1.Position = UDim2.new(0, 0, 0, 0)
          textLabel1.BackgroundTransparency = 1
          textLabel1.TextColor3 = Color3.fromRGB(255, 0, 0)
          textLabel1.TextStrokeTransparency = 0.5
          textLabel1.Text = "Made by Nett (The Scripter)"
          textLabel1.TextScaled = true
          textLabel1.Parent = frame
          local textLabel2 = Instance.new("TextLabel")
          textLabel2.Size = UDim2.new(1, 0, 0, 25)
          textLabel2.Position = UDim2.new(0, 0, 0.5, 0)
          textLabel2.BackgroundTransparency = 1
          textLabel2.TextColor3 = Color3.fromRGB(255, 0, 0)
          textLabel2.TextStrokeTransparency = 0.5
          textLabel2.Text = "Turn on Aimlock to Aimbot Players"
          textLabel2.TextScaled = true
          textLabel2.Parent = frame
    else
          -- Remove the InfoGui if Aimbot is turned off
          local playerGui = game.Players.LocalPlayer:FindFirstChild("PlayerGui")
          if playerGui then
              local infoGui = playerGui:FindFirstChild("InfoGui")
              if infoGui then
                  infoGui:Destroy()
              end
          end
    end
end)
tab:Toggle("AimLock", false, function(t)
    local Players = game:GetService("Players")
    local Camera = workspace.CurrentCamera
    local RunService = game:GetService("RunService")
    if t then
        local function getClosestPlayer()
            local closestPlayer = nil
            local shortestDistance = math.huge
            local localPlayer = Players.LocalPlayer
            for _, player in ipairs(Players:GetPlayers()) do
                if player ~= localPlayer and player.Character and
player.Character:FindFirstChild("HumanoidRootPart") then
                    local playerPosition =
player.Character.HumanoidRootPart.Position
                    local cameraPosition = Camera.CFrame.Position
                    local distance = (playerPosition - cameraPosition).magnitude
                            if distance < shortestDistance then
                                shortestDistance = distance
                                closestPlayer = player
                            end
                      end
                end
                return closestPlayer
          end
          local function updateCamera()
              local closestPlayer = getClosestPlayer()
            if closestPlayer and closestPlayer.Character and
closestPlayer.Character:FindFirstChild("HumanoidRootPart") then
                local playerPosition =
closestPlayer.Character.HumanoidRootPart.Position
                Camera.CFrame = CFrame.new(Camera.CFrame.Position, playerPosition)
            end
        end
          aimbotConnection = RunService.Heartbeat:Connect(updateCamera)
    else
          if aimbotConnection then
              aimbotConnection:Disconnect()
              aimbotConnection = nil
          end
    end
end)
tab:Toggle("Silent Aim", false, function(t)
    local Players = game:GetService("Players")
    local Camera = workspace.CurrentCamera
    local RunService = game:GetService("RunService")
    local trackingStrength = 0.1
    local silentAimConnection
    local function getClosestPlayer()
        local closestPlayer = nil
          local shortestDistance = math.huge
          local localPlayer = Players.LocalPlayer
        for _, player in ipairs(Players:GetPlayers()) do
            if player ~= localPlayer and player.Character and
player.Character:FindFirstChild("HumanoidRootPart") then
                local playerPosition = player.Character.HumanoidRootPart.Position
                local cameraPosition = Camera.CFrame.Position
                local distance = (playerPosition - cameraPosition).magnitude
                      if distance < shortestDistance then
                          shortestDistance = distance
                          closestPlayer = player
                      end
                end
          end
          return closestPlayer
    end
    local function updateCamera()
        local closestPlayer = getClosestPlayer()
        if closestPlayer and closestPlayer.Character and
closestPlayer.Character:FindFirstChild("HumanoidRootPart") then
            local playerPosition =
closestPlayer.Character.HumanoidRootPart.Position
            local cameraPosition = Camera.CFrame.Position
            local desiredCFrame = CFrame.new(cameraPosition, playerPosition)
            Camera.CFrame = Camera.CFrame:Lerp(desiredCFrame, trackingStrength)
        end
    end
    if t then
         silentAimConnection = RunService.Heartbeat:Connect(updateCamera)
    else
         if silentAimConnection then
             silentAimConnection:Disconnect()
             silentAimConnection = nil
         end
    end
    local function updateTrackingStrength(value)
        trackingStrength = value
    end
    tab:Slider("Silent Aim Strength", 0.1, 0.5, 0.1, function(value)
         updateTrackingStrength(value)
         print("Tracking Strength set to:", value)
    end)
end)
local tab = win:Tab("Player")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local localPlayer = Players.LocalPlayer
local character = localPlayer.Character or localPlayer.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local walkSpeedConnection
local walkSpeed = 16
local function updateWalkSpeed(value)
    walkSpeed = value
    if humanoid then
        humanoid.WalkSpeed = value
    end
end
tab:Slider("Walk Speed", 16, 30, 16, function(value)
     updateWalkSpeed(value)
     print("Walk Speed set to:", value)
end)
local function enforceWalkSpeed()
    while true do
        if humanoid then
            humanoid.WalkSpeed = walkSpeed
        end
        wait(0.1)
    end
end
local function onCharacterAdded(char)
    character = char
    humanoid = character:WaitForChild("Humanoid")
    updateWalkSpeed(walkSpeed)
end
localPlayer.CharacterAdded:Connect(onCharacterAdded)
walkSpeedConnection = RunService.Heartbeat:Connect(enforceWalkSpeed)
tab:Toggle("Infinite Jump", false, function(t)
    local player = game.Players.LocalPlayer
    local infiniteJumpPower = 100
    local gui = Instance.new("ScreenGui")
    gui.Name = "InfiniteJumpGUI"
    gui.Parent = player.PlayerGui
    local mainFrame = Instance.new("Frame")
    mainFrame.Name = "MainFrame"
    mainFrame.Size = UDim2.new(0, 200, 0, 50)
    mainFrame.Position = UDim2.new(1, -220, 1, -60)
    mainFrame.BackgroundTransparency = 0.3
    mainFrame.BackgroundColor3 = Color3.new(0.2, 0.8, 0.8)
    mainFrame.BorderSizePixel = 0
    mainFrame.Parent = gui
    local turnOnButton = Instance.new("TextButton")
    turnOnButton.Name = "TurnOnButton"
    turnOnButton.Text = "Infinite Jump"
    turnOnButton.Size = UDim2.new(0, 200, 0, 50)
    turnOnButton.Position = UDim2.new(0, 0, 0, 0)
    turnOnButton.BackgroundTransparency = 0.3
    turnOnButton.BackgroundColor3 = Color3.new(0.4, 0.9, 0.4)
    turnOnButton.Parent = mainFrame
    local minimizeButton = Instance.new("TextButton")
    minimizeButton.Name = "MinimizeButton"
    minimizeButton.Text = "_"
    minimizeButton.Size = UDim2.new(0, 30, 0, 30)
    minimizeButton.Position = UDim2.new(1, -35, 0, 5)
    minimizeButton.BackgroundTransparency = 0.3
    minimizeButton.BackgroundColor3 = Color3.new(0.8, 0.2, 0.2)
    minimizeButton.TextColor3 = Color3.new(1, 1, 1)
    minimizeButton.Parent = mainFrame
    local function handleJump()
        if player.Character and player.Character:FindFirstChildOfClass("Humanoid")
then
                local humanoid = player.Character:FindFirstChildOfClass("Humanoid")
                humanoid.JumpPower = infiniteJumpPower
                humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
          end
    end
    local function turnOnInfiniteJump()
        handleJump()
        turnOnButton.Visible = true
    end
    local function minimizeGUI()
        mainFrame.Visible = false
        minimizeButton.Visible = false
    end
    turnOnButton.MouseButton1Click:Connect(turnOnInfiniteJump)
    minimizeButton.MouseButton1Click:Connect(minimizeGUI)
    local UserInputService = game:GetService("UserInputService")
    UserInputService.InputBegan:Connect(function(input, isProcessed)
         if not isProcessed and input.KeyCode == Enum.KeyCode.Space then
             turnOnInfiniteJump()
         end
    end)
    game:GetService("StarterGui"):SetCore("SendNotification", {
        Title = "Script By";
        Text = "Nett (The Scripter)";
        Icon = "rbxthumb://type=Asset&id=5107182114&w=150&h=150";
        Duration = 16;
    })
end)
local tab = win:Tab("Automatics")
tab:Toggle("Auto Combo (credits to owner)", false, function(t)
     if t then
         loadstring(game:HttpGet("https://pastefy.app/50dQTFqE/raw"))()
     end
end)
tab:Toggle("Auto Attack", false, function(t)
    local   Players = game:GetService("Players")
    local   UserInputService = game:GetService("UserInputService")
    local   localPlayer = Players.LocalPlayer
    local   character = localPlayer.Character or localPlayer.CharacterAdded:Wait()
    local   humanoid = character:WaitForChild("Humanoid")
    local autoAttackConnection
    local function attack()
        -- Replace this with your attack logic
        print("Attacking")
    end
    local function onInputBegan(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then
            attack()
        end
    end
    if t then
         autoAttackConnection = UserInputService.InputBegan:Connect(onInputBegan)
    else
         if autoAttackConnection then
             autoAttackConnection:Disconnect()
             autoAttackConnection = nil
         end
    end
end)
tab:Toggle("Auto Block", false, function(t)
    local Players = game:GetService("Players")
    local RunService = game:GetService("RunService")
    local localPlayer = Players.LocalPlayer
    local character = localPlayer.Character or localPlayer.CharacterAdded:Wait()
    local humanoid = character:WaitForChild("Humanoid")
    local autoBlockConnection
    local function block()
        -- Replace this with your block logic
        print("Blocking")
    end
    local function checkDistance()
        while true do
            local closestPlayer = nil
            local shortestDistance = math.huge
            for _, player in ipairs(Players:GetPlayers()) do
                if player ~= localPlayer and player.Character and
player.Character:FindFirstChild("HumanoidRootPart") then
                    local playerPosition =
player.Character.HumanoidRootPart.Position
                    local characterPosition = character.HumanoidRootPart.Position
                    local distance = (playerPosition - characterPosition).magnitude
                    if distance < shortestDistance then
                        shortestDistance = distance
                        closestPlayer = player
                    end
                      end
                end
                if closestPlayer and shortestDistance <= 20 then
                    block()
                end
                wait(0.1)
          end
    end
    if t then
         autoBlockConnection = RunService.Heartbeat:Connect(checkDistance)
    else
         if autoBlockConnection then
             autoBlockConnection:Disconnect()
             autoBlockConnection = nil
         end
    end
end)