Old PavelHub
Key RequiredUniversal

Old PavelHub

Universal Scriptpavelkurd20pavelkurd20 1.1K views 63 executesUpdated Jul 15, 2025
Unrated
00
Lua Script•390 lines (13964 chars)
--[[
	WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
]]
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")

local player = Players.LocalPlayer
local camera = Workspace.CurrentCamera

-- === Fancy Loading Screen ===
local loadingGui = Instance.new("ScreenGui")
loadingGui.Name = "LoadingScreen"
loadingGui.ResetOnSpawn = false
loadingGui.Parent = player:WaitForChild("PlayerGui")

local loadingFrame = Instance.new("Frame")
loadingFrame.Size = UDim2.new(0, 300, 0, 100)
loadingFrame.Position = UDim2.new(0.5, -150, 0.5, -50)
loadingFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
loadingFrame.BorderSizePixel = 0
loadingFrame.Parent = loadingGui

local loadingText = Instance.new("TextLabel")
loadingText.Size = UDim2.new(1, 0, 1, 0)
loadingText.BackgroundTransparency = 1
loadingText.TextColor3 = Color3.new(1, 1, 1)
loadingText.Font = Enum.Font.SourceSansBold
loadingText.TextSize = 32
loadingText.Text = "Loading Pavel Hub..."
loadingText.Parent = loadingFrame

task.wait(2)
loadingGui:Destroy()

-- === Main GUI ===
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "PavelHubGUI"
screenGui.ResetOnSpawn = false
screenGui.Parent = player:WaitForChild("PlayerGui")

local toggleBtn = Instance.new("TextButton")
toggleBtn.Name = "ToggleBtn"
toggleBtn.Size = UDim2.new(0, 100, 0, 30)
toggleBtn.Position = UDim2.new(0, 10, 0, 10)
toggleBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
toggleBtn.TextColor3 = Color3.new(1, 1, 1)
toggleBtn.Font = Enum.Font.SourceSansBold
toggleBtn.TextSize = 18
toggleBtn.Text = "Pavel Hub"
toggleBtn.Parent = screenGui

local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 300, 0, 260)
mainFrame.Position = UDim2.new(0, 10, 0, 45)
mainFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
mainFrame.BorderSizePixel = 0
mainFrame.Visible = false
mainFrame.Parent = screenGui

local header = Instance.new("TextLabel")
header.Name = "Header"
header.Size = UDim2.new(1, 0, 0, 30)
header.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
header.TextColor3 = Color3.new(1, 1, 1)
header.Font = Enum.Font.SourceSansBold
header.TextSize = 20
header.Text = "Pavel Hub"
header.Parent = mainFrame

-- Drag logic
local dragging, dragInput, dragStart, startPos = false, nil, nil, nil
header.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        dragging, dragStart, startPos = true, input.Position, mainFrame.Position
        input.Changed:Connect(function()
            if input.UserInputState == Enum.UserInputState.End then dragging = false end
        end)
    end
end)
header.InputChanged:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseMovement then dragInput = input end
end)
UserInputService.InputChanged:Connect(function(input)
    if dragging and input == dragInput then
        local delta = input.Position - dragStart
        mainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
    end
end)

-- Utility function for buttons
local function createButton(name, text, posY, parent)
    local btn = Instance.new("TextButton")
    btn.Name = name
    btn.Size = UDim2.new(1, -20, 0, 40)
    btn.Position = UDim2.new(0, 10, 0, posY)
    btn.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
    btn.TextColor3 = Color3.new(1, 1, 1)
    btn.Font = Enum.Font.SourceSansBold
    btn.TextSize = 20
    btn.Text = text
    btn.Parent = parent
    return btn
end

-- Pages
local page1 = Instance.new("Frame")
page1.Size = UDim2.new(1, 0, 1, -30)
page1.Position = UDim2.new(0, 0, 0, 30)
page1.BackgroundTransparency = 1
page1.Parent = mainFrame

local page2 = Instance.new("Frame")
page2.Size = UDim2.new(1, 0, 1, -30)
page2.Position = UDim2.new(0, 0, 0, 30)
page2.BackgroundTransparency = 1
page2.Visible = false
page2.Parent = mainFrame

local page3 = Instance.new("Frame")
page3.Size = UDim2.new(1, 0, 1, -30)
page3.Position = UDim2.new(0, 0, 0, 30)
page3.BackgroundTransparency = 1
page3.Visible = false
page3.Parent = mainFrame

-- Page 1 buttons
local espBtn = createButton("ESPBtn", "ESP: OFF", 10, page1)
local speedBtn = createButton("SpeedBtn", "Speed: OFF", 60, page1)
local jumpBtn = createButton("JumpBtn", "Jump: OFF", 110, page1)
local noclipBtn = createButton("NoclipBtn", "Noclip: OFF", 160, page1)
local toPage2Btn = createButton("ToPage2Btn", "Go to Page 2", 210, page1)

-- Page 2 buttons
local tpBtn = createButton("TpBtn", "Teleport", 10, page2)
local antiAfkBtn = createButton("AntiAfkBtn", "Anti AFK: OFF", 60, page2)
local v2HackBtn = createButton("V2HackBtn", "V2 Hack (Infinite Yield)", 110, page2)
local godModeBtn = createButton("GodModeBtn", "God Mode: OFF", 160, page2)
local toPage3Btn = createButton("ToPage3Btn", "Go to Page 3", 210, page2)

-- Page 3 buttons
local giveTpToolBtn = createButton("GiveTpToolBtn", "Give TP Tool", 10, page3) -- THIS BUTTON GIVES TP TOOL
local dummyBtn2 = createButton("DummyBtn2", "Dummy Button 2", 60, page3)
local backToPage1Btn = createButton("BackToPage1Btn", "Back to Page 1", 210, page3)

-- Toggle main GUI
toggleBtn.MouseButton1Click:Connect(function()
    mainFrame.Visible = not mainFrame.Visible
end)

-- Page switching
toPage2Btn.MouseButton1Click:Connect(function()
    page1.Visible = false
    page2.Visible = true
    page3.Visible = false
end)

toPage3Btn.MouseButton1Click:Connect(function()
    page1.Visible = false
    page2.Visible = false
    page3.Visible = true
end)

backToPage1Btn.MouseButton1Click:Connect(function()
    page1.Visible = true
    page2.Visible = false
    page3.Visible = false
end)

-- === ESP Implementation ===
local espEnabled, espDrawings = false, {}
function createESPForPlayer(p)
    local box = Drawing.new("Square")
    local line = Drawing.new("Line")
    local name = Drawing.new("Text")
    local health = Drawing.new("Text")
    box.Color = Color3.fromRGB(0,255,0)
    line.Color = Color3.fromRGB(255,0,0)
    name.Size = 14
    health.Size = 14
    name.Color = Color3.new(1,1,1)
    health.Color = Color3.fromRGB(0,255,0)
    name.Center = true
    name.Outline = true
    health.Center = true
    health.Outline = true
    espDrawings[p] = {box = box, line = line, name = name, health = health}
end
function removeESPForPlayer(p)
    if espDrawings[p] then
        for _, d in pairs(espDrawings[p]) do d:Remove() end
        espDrawings[p] = nil
    end
end
RunService.RenderStepped:Connect(function()
    if not espEnabled then return end
    for _, p in pairs(Players:GetPlayers()) do
        if p ~= player and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
            if not espDrawings[p] then createESPForPlayer(p) end
            local hrp = p.Character.HumanoidRootPart
            local humanoid = p.Character:FindFirstChild("Humanoid")
            local pos, onScreen = camera:WorldToViewportPoint(hrp.Position)
            local boxSize, tl = Vector2.new(60,100), Vector2.new(pos.X - 30, pos.Y - 50)
            local e = espDrawings[p]
            if onScreen then
                e.box.Visible = true
                e.box.Position = tl
                e.box.Size = boxSize
                e.line.Visible = true
                e.line.From = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y)
                e.line.To = Vector2.new(pos.X, pos.Y)
                e.name.Visible = true
                e.name.Position = Vector2.new(pos.X, pos.Y - 60)
                e.name.Text = p.Name
                e.health.Visible = true
                e.health.Position = Vector2.new(pos.X, pos.Y + 60)
                e.health.Text = "Health: " .. math.floor(humanoid.Health)
            else
                removeESPForPlayer(p)
            end
        else
            removeESPForPlayer(p)
        end
    end
end)
espBtn.MouseButton1Click:Connect(function()
    espEnabled = not espEnabled
    espBtn.Text = espEnabled and "ESP: ON" or "ESP: OFF"
    espBtn.BackgroundColor3 = espEnabled and Color3.fromRGB(0,255,0) or Color3.fromRGB(30,30,30)
    if not espEnabled then
        for _, v in pairs(espDrawings) do
            for _, d in pairs(v) do d:Remove() end
        end
        espDrawings = {}
    end
end)

-- === Speed ===
local speedOn = false
speedBtn.MouseButton1Click:Connect(function()
    local h = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")
    if h then
        speedOn = not speedOn
        h.WalkSpeed = speedOn and 80 or 16
        speedBtn.Text = speedOn and "Speed: ON" or "Speed: OFF"
        speedBtn.BackgroundColor3 = speedOn and Color3.fromRGB(0,255,0) or Color3.fromRGB(30,30,30)
    end
end)

-- === Jump ===
local jumpOn, jumpConnection = false, nil
jumpBtn.MouseButton1Click:Connect(function()
    jumpOn = not jumpOn
    jumpBtn.Text = jumpOn and "Jump: ON" or "Jump: OFF"
    jumpBtn.BackgroundColor3 = jumpOn and Color3.fromRGB(0,255,0) or Color3.fromRGB(30,30,30)
    if jumpOn and not jumpConnection then
        jumpConnection = UserInputService.JumpRequest:Connect(function()
            local h = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")
            if h then h:ChangeState(Enum.HumanoidStateType.Jumping) end
        end)
    elseif jumpConnection then
        jumpConnection:Disconnect()
        jumpConnection = nil
    end
end)

-- === Noclip ===
local noclipOn, noclipConnection = false, nil
noclipBtn.MouseButton1Click:Connect(function()
    noclipOn = not noclipOn
    noclipBtn.Text = noclipOn and "Noclip: ON" or "Noclip: OFF"
    noclipBtn.BackgroundColor3 = noclipOn and Color3.fromRGB(0,255,0) or Color3.fromRGB(30,30,30)
    if noclipOn and not noclipConnection then
        noclipConnection = RunService.Stepped:Connect(function()
            if player.Character then
                for _, p in pairs(player.Character:GetChildren()) do
                    if p:IsA("BasePart") then p.CanCollide = false end
                end
            end
        end)
    elseif noclipConnection then
        noclipConnection:Disconnect()
        noclipConnection = nil
        if player.Character then
            for _, p in pairs(player.Character:GetChildren()) do
                if p:IsA("BasePart") then p.CanCollide = true end
            end
        end
    end
end)

-- === Teleport UI ===
tpBtn.MouseButton1Click:Connect(function()
    local f = Instance.new("Frame")
    f.Size = UDim2.new(0, 280, 0, 100)
    f.Position = UDim2.new(0, 10, 0, 70)
    f.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
    f.Parent = page2
    local box = Instance.new("TextBox")
    box.Size = UDim2.new(1, -20, 0, 30)
    box.Position = UDim2.new(0, 10, 0, 10)
    box.PlaceholderText = "Enter player name"
    box.Parent = f
    local ok = Instance.new("TextButton")
    ok.Size = UDim2.new(0.5, -15, 0, 30)
    ok.Position = UDim2.new(0, 10, 0, 50)
    ok.Text = "Teleport"
    ok.Parent = f
    local cancel = Instance.new("TextButton")
    cancel.Size = UDim2.new(0.5, -15, 0, 30)
    cancel.Position = UDim2.new(0.5, 5, 0, 50)
    cancel.Text = "Cancel"
    cancel.Parent = f
    ok.MouseButton1Click:Connect(function()
        local p = Players:FindFirstChild(box.Text)
        if p and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
            player.Character:FindFirstChild("HumanoidRootPart").CFrame = p.Character.HumanoidRootPart.CFrame
        end
        f:Destroy()
    end)
    cancel.MouseButton1Click:Connect(function()
        f:Destroy()
    end)
end)

-- === Anti AFK ===
local antiAFKOn = false
antiAfkBtn.MouseButton1Click:Connect(function()
    antiAFKOn = not antiAFKOn
    antiAfkBtn.Text = antiAFKOn and "Anti AFK: ON" or "Anti AFK: OFF"
    antiAfkBtn.BackgroundColor3 = antiAFKOn and Color3.fromRGB(0,255,0) or Color3.fromRGB(30,30,30)
    if antiAFKOn then
        spawn(function()
            while antiAFKOn do
                wait(60)
                UserInputService:SetMouseLocation(math.random(0, 200), math.random(0, 200))
            end
        end)
    end
end)

-- === V2 Hack (Infinite Yield) ===
v2HackBtn.MouseButton1Click:Connect(function()
    loadstring(game:HttpGet("https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source"))()
end)

-- === God Mode ===
local godModeOn = false
local godModeConnection
godModeBtn.MouseButton1Click:Connect(function()
    godModeOn = not godModeOn
    godModeBtn.Text = godModeOn and "God Mode: ON" or "God Mode: OFF"
    godModeBtn.BackgroundColor3 = godModeOn and Color3.fromRGB(0,255,0) or Color3.fromRGB(30,30,30)
    if godModeOn then
        godModeConnection = RunService.Heartbeat:Connect(function()
            local h = player.Character and player.Character:FindFirstChildOfClass("Humanoid")
            if h then h.Health = h.MaxHealth end
        end)
    elseif godModeConnection then
        godModeConnection:Disconnect()
        godModeConnection = nil
    end
end)

-- === GIVE TELEPORT TOOL BUTTON LOGIC ===
giveTpToolBtn.MouseButton1Click:Connect(function()
    local Backpack = player:WaitForChild("Backpack")

    -- Check if tool already exists in Backpack or Character, to avoid duplicates
    if Backpack:FindFirstChild("Pavel_TP") or (player.Character and player.Character:FindFirstChild("Pavel_TP")) then
        return
    end

    local tool = Instance.new("Tool")
    tool.Name = "Pavel_TP"
    tool.RequiresHandle = false
    tool.CanBeDropped = false

    tool.Activated:Connect(function()
        local mouse = player:GetMouse()
        local targetPos = mouse.Hit and mouse.Hit.p
        if targetPos and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
            player.Character.HumanoidRootPart.CFrame = CFrame.new(targetPos + Vector3.new(0,3,0))
        end
    end)

    tool.Parent = Backpack
end)

Features & Information

Old PavelHub

Community Comments (2)

JadoJadoJul 15, 2025

Ez Skid

JadoJadoJul 15, 2025

its * anyway

More Scripts for Universal Scripts