PepHubV1
Key RequiredUniversal

PepHubV1

Universal ScriptPepkl7Pepkl7 4.9K views 2.2K executesUpdated Jun 23, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•317 lines (9781 chars)
local Players = game:GetService("Players")
local lp = Players.LocalPlayer
local StarterGui = game:GetService("StarterGui")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")

-- Remove old GUI if exists
if game.CoreGui:FindFirstChild("PepHubv1Gui") then
    game.CoreGui.PepHubv1Gui:Destroy()
end

-- Create main GUI
local gui = Instance.new("ScreenGui")
gui.Name = "PepHubv1Gui"
gui.Parent = game.CoreGui

-- Main frame
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 350, 0, 450)
mainFrame.Position = UDim2.new(0.3, 0, 0.3, 0)
mainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 35)
mainFrame.BorderSizePixel = 0
mainFrame.Parent = gui

local uicornerMain = Instance.new("UICorner", mainFrame)
uicornerMain.CornerRadius = UDim.new(0, 12)

-- Dragging
local dragging = false
local dragInput, mousePos, framePos

mainFrame.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        dragging = true
        mousePos = input.Position
        framePos = mainFrame.Position
        input.Changed:Connect(function()
            if input.UserInputState == Enum.UserInputState.End then
                dragging = false
            end
        end)
    end
end)

mainFrame.InputChanged:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseMovement then
        dragInput = input
    end
end)

RunService.RenderStepped:Connect(function()
    if dragging and dragInput then
        local delta = dragInput.Position - mousePos
        mainFrame.Position = UDim2.new(framePos.X.Scale, framePos.X.Offset + delta.X, framePos.Y.Scale, framePos.Y.Offset + delta.Y)
    end
end)

-- Title
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -40, 0, 40)
title.Position = UDim2.new(0, 10, 0, 5)
title.BackgroundTransparency = 1
title.Text = "PepHubv1"
title.TextColor3 = Color3.fromRGB(240, 240, 240)
title.Font = Enum.Font.GothamBold
title.TextSize = 26
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = mainFrame

-- Close button X
local closeButton = Instance.new("TextButton")
closeButton.Size = UDim2.new(0, 30, 0, 30)
closeButton.Position = UDim2.new(1, -35, 0, 5)
closeButton.BackgroundColor3 = Color3.fromRGB(190, 50, 50)
closeButton.Text = "X"
closeButton.TextColor3 = Color3.new(1,1,1)
closeButton.Font = Enum.Font.GothamBold
closeButton.TextSize = 20
closeButton.Parent = mainFrame
local uicornerClose = Instance.new("UICorner", closeButton)
uicornerClose.CornerRadius = UDim.new(0, 5)

closeButton.MouseButton1Click:Connect(function()
    gui:Destroy()
end)

-- Container for main buttons
local buttonsFrame = Instance.new("ScrollingFrame")
buttonsFrame.Size = UDim2.new(1, -20, 1, -60)
buttonsFrame.Position = UDim2.new(0, 10, 0, 50)
buttonsFrame.BackgroundTransparency = 1
buttonsFrame.ScrollBarThickness = 6
buttonsFrame.Parent = mainFrame

local buttonsLayout = Instance.new("UIListLayout", buttonsFrame)
buttonsLayout.Padding = UDim.new(0, 10)
buttonsLayout.SortOrder = Enum.SortOrder.LayoutOrder

-- Function to create buttons
local function createButton(text, parent, callback)
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(1, 0, 0, 35)
    btn.BackgroundColor3 = Color3.fromRGB(70, 70, 110)
    btn.TextColor3 = Color3.new(1,1,1)
    btn.Font = Enum.Font.GothamSemibold
    btn.TextSize = 18
    btn.Text = text
    btn.AutoButtonColor = true
    btn.Parent = parent
    local uicorner = Instance.new("UICorner", btn)
    uicorner.CornerRadius = UDim.new(0, 6)

    btn.MouseButton1Click:Connect(callback)
    return btn
end

-- === Button functions === --

-- Become Invisible via loadstring
createButton("Become Invisible", buttonsFrame, function()
    loadstring(game:HttpGet('https://pastebin.com/raw/3Rnd9rHf'))()
end)

-- Explode
createButton("Explode", buttonsFrame, function()
    if not lp.Character or not lp.Character.PrimaryPart then return end
    local explosion = Instance.new("Explosion")
    explosion.Position = lp.Character.PrimaryPart.Position
    explosion.Parent = workspace
end)

-- Fling toggle (spin fast)
local flingToggle = false
local flingConn = nil

local function startFling()
    flingToggle = true
    local char = lp.Character
    if not char or not char.PrimaryPart then return end
    local root = char.PrimaryPart
    flingConn = RunService.Heartbeat:Connect(function()
        root.CFrame = root.CFrame * CFrame.Angles(0, math.rad(240), 0) -- spin faster
    end)
end

local function stopFling()
    flingToggle = false
    if flingConn then
        flingConn:Disconnect()
        flingConn = nil
    end
end

createButton("Toggle Fling", buttonsFrame, function()
    if flingToggle then
        stopFling()
    else
        startFling()
    end
end)

-- Fly toggle with external loadstring (FlyGuiV3)
local flyingScriptLoaded = false

createButton("Toggle Fly", buttonsFrame, function()
    if not flyingScriptLoaded then
        local success, err = pcall(function()
            loadstring(game:HttpGet("https://raw.githubusercontent.com/XNEOFF/FlyGuiV3/main/FlyGuiV3.txt"))()
        end)
        flyingScriptLoaded = success
        if not success then
            StarterGui:SetCore("SendNotification", {
                Title = "Error";
                Text = "Failed to load Fly.";
                Duration = 4;
            })
        end
    else
        -- Fly already loaded, manage from fly GUI itself
    end
end)

-- Noclip toggle
local noclipToggle = false
local noclipConn

createButton("Toggle Noclip", buttonsFrame, function()
    noclipToggle = not noclipToggle
    local char = lp.Character
    if not char then return end

    if noclipToggle then
        noclipConn = RunService.Stepped:Connect(function()
            for _, part in pairs(char:GetChildren()) do
                if part:IsA("BasePart") then
                    part.CanCollide = false
                end
            end
        end)
    else
        if noclipConn then
            noclipConn:Disconnect()
            noclipConn = nil
        end
        for _, part in pairs(char:GetChildren()) do
            if part:IsA("BasePart") then
                part.CanCollide = true
            end
        end
    end
end)

-- Sit / Stand
local sitting = false

createButton("Sit / Stand", buttonsFrame, function()
    local char = lp.Character
    if not char then return end
    local humanoid = char:FindFirstChildOfClass("Humanoid")
    if not humanoid then return end

    sitting = not sitting
    humanoid.Sit = sitting
end)

-- Jerking tool - loads pastefy tool and activates only when button clicked
local toolLoaded = false

createButton("Jerking Tool", buttonsFrame, function()
    if not toolLoaded then
        local success, err = pcall(function()
            loadstring(game:HttpGet("https://pastefy.app/wa3v2Vgm/raw"))("Spider Script")
        end)
        toolLoaded = success
        if not success then
            StarterGui:SetCore("SendNotification", {
                Title = "Error";
                Text = "Failed to load tool.";
                Duration = 4;
            })
        end
    else
        -- You can activate tool if you want, depends on external script
    end
end)

-- Players list fixed on right side
local playersListFrame = Instance.new("Frame")
playersListFrame.Size = UDim2.new(0, 150, 0, 450)
playersListFrame.Position = UDim2.new(1, -160, 0.3, 0)
playersListFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 35)
playersListFrame.BorderSizePixel = 0
playersListFrame.Parent = gui

local uicornerPlayers = Instance.new("UICorner", playersListFrame)
uicornerPlayers.CornerRadius = UDim.new(0, 12)

local playersTitle = Instance.new("TextLabel")
playersTitle.Size = UDim2.new(1, 0, 0, 30)
playersTitle.BackgroundTransparency = 1
playersTitle.Text = "Players"
playersTitle.TextColor3 = Color3.fromRGB(240,240,240)
playersTitle.Font = Enum.Font.GothamBold
playersTitle.TextSize = 20
playersTitle.Parent = playersListFrame

local playersList = Instance.new("ScrollingFrame")
playersList.Size = UDim2.new(1, -10, 1, -40)
playersList.Position = UDim2.new(0, 5, 0, 35)
playersList.BackgroundTransparency = 1
playersList.ScrollBarThickness = 6
playersList.Parent = playersListFrame

local playersLayout = Instance.new("UIListLayout", playersList)
playersLayout.SortOrder = Enum.SortOrder.LayoutOrder
playersLayout.Padding = UDim.new(0, 4)

local function refreshPlayersList()
    playersList:ClearAllChildren()
    for _, player in pairs(Players:GetPlayers()) do
        if player ~= lp then
            local plrBtn = Instance.new("TextButton")
            plrBtn.Size = UDim2.new(1, 0, 0, 30)
            plrBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 80)
            plrBtn.TextColor3 = Color3.new(1,1,1)
            plrBtn.Font = Enum.Font.GothamSemibold
            plrBtn.TextSize = 16
            plrBtn.Text = player.Name
            plrBtn.Parent = playersList
            local uicorner = Instance.new("UICorner", plrBtn)
            uicorner.CornerRadius = UDim.new(0, 5)

            plrBtn.MouseButton1Click:Connect(function()
                StarterGui:SetCore("SendNotification", {
                    Title = "Player Selected";
                    Text = "You clicked on "..player.Name;
                    Duration = 3,
                })
            end)
        end
    end
    wait(0.1)
    playersList.CanvasSize = UDim2.new(0, 0, 0, playersLayout.AbsoluteContentSize.Y)
end

refreshPlayersList()
Players.PlayerAdded:Connect(refreshPlayersList)
Players.PlayerRemoving:Connect(refreshPlayersList)

-- Loading notification (kept)
StarterGui:SetCore("SendNotification", {
    Title = "PepHubv1";
    Text = "Successfully loaded!  Credit to Pepkl7";
    Duration = 5;
})

print("Made my Pepkl7:)")

Features & Information

simple trolling hub made by me :) no key system bdw
#troll#universal#pepe

Community Comments (6)

Pepkl7Pepkl7Jun 23, 2025

V2 comming soon

Pepkl7migasPepkl7migasJun 23, 2025

Some of the features dont work, whaiting for V2

joshff377joshff377Jun 23, 2025

ok tysm

sp9derssp9dersJun 24, 2025

should probably obfuscate it

Pepkl7Pepkl7Jun 24, 2025

v2 alredy out

Pepkl7Pepkl7Jun 24, 2025

v2 https://scriptblox.com/script/Universal-Script-PepHubV2-43317

More Scripts for Universal Scripts