--// Universal Hub (Compact Version by ChatGPT) //--
if game.CoreGui:FindFirstChild("UniversalHub") then
game.CoreGui.UniversalHub:Destroy()
end
local plr = game.Players.LocalPlayer
local char = plr.Character or plr.CharacterAdded:Wait()
local hum = char:WaitForChild("Humanoid")
local defaultSpeed = hum.WalkSpeed
--// GUI
local gui = Instance.new("ScreenGui", game.CoreGui)
gui.Name = "UniversalHub"
gui.ResetOnSpawn = false
local frame = Instance.new("Frame", gui)
frame.Size = UDim2.new(0, 200, 0, 210)
frame.Position = UDim2.new(0.4, 0, 0.3, 0)
frame.BackgroundColor3 = Color3.fromRGB(20, 20, 50)
frame.Active = true
frame.Draggable = true
Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 8)
local title = Instance.new("TextLabel", frame)
title.Size = UDim2.new(1, 0, 0, 25)
title.BackgroundColor3 = Color3.fromRGB(15, 15, 40)
title.Text = "Universal Hub"
title.TextColor3 = Color3.new(1,1,1)
title.Font = Enum.Font.GothamBold
title.TextSize = 16
Instance.new("UICorner", title).CornerRadius = UDim.new(0, 8)
local close = Instance.new("TextButton", frame)
close.Size = UDim2.new(0, 20, 0, 20)
close.Position = UDim2.new(1, -25, 0, 3)
close.Text = "X"
close.Font = Enum.Font.GothamBold
close.TextSize = 14
close.BackgroundColor3 = Color3.fromRGB(60, 0, 0)
close.TextColor3 = Color3.new(1,1,1)
close.MouseButton1Click:Connect(function() gui:Destroy() end)
--// Noclip
local noclip = false
local btn1 = Instance.new("TextButton", frame)
btn1.Size = UDim2.new(0, 170, 0, 30)
btn1.Position = UDim2.new(0, 15, 0, 40)
btn1.Text = "Noclip: OFF"
btn1.BackgroundColor3 = Color3.fromRGB(0, 0, 100)
btn1.TextColor3 = Color3.new(1,1,1)
btn1.Font = Enum.Font.GothamBold
btn1.TextSize = 14
Instance.new("UICorner", btn1)
local stepConn
btn1.MouseButton1Click:Connect(function()
noclip = not noclip
btn1.Text = "Noclip: " .. (noclip and "ON" or "OFF")
if noclip then
stepConn = game:GetService("RunService").Stepped:Connect(function()
for _,v in pairs(char:GetDescendants()) do
if v:IsA("BasePart") then v.CanCollide = false end
end
end)
else
if stepConn then stepConn:Disconnect() end
end
end)
--// ESP
local espOn = false
local btn2 = Instance.new("TextButton", frame)
btn2.Size = UDim2.new(0, 170, 0, 30)
btn2.Position = UDim2.new(0, 15, 0, 80)
btn2.Text = "ESP: OFF"
btn2.BackgroundColor3 = Color3.fromRGB(0, 0, 100)
btn2.TextColor3 = Color3.new(1,1,1)
btn2.Font = Enum.Font.GothamBold
btn2.TextSize = 14
Instance.new("UICorner", btn2)
local function makeESP(p)
if not p.Character or p.Character:FindFirstChild("ESP") then return end
local bb = Instance.new("BillboardGui", p.Character)
bb.Name = "ESP"
bb.Size = UDim2.new(0,150,0,30)
bb.AlwaysOnTop = true
bb.Adornee = p.Character:FindFirstChild("Head")
local tl = Instance.new("TextLabel", bb)
tl.Size = UDim2.new(1,0,1,0)
tl.BackgroundTransparency = 1
tl.Text = p.Name
tl.TextColor3 = Color3.fromRGB(0,255,0)
tl.Font = Enum.Font.GothamBold
tl.TextScaled = true
end
local function removeESP(p)
if p.Character and p.Character:FindFirstChild("ESP") then
p.Character.ESP:Destroy()
end
end
btn2.MouseButton1Click:Connect(function()
espOn = not espOn
btn2.Text = "ESP: " .. (espOn and "ON" or "OFF")
for _,p in pairs(game.Players:GetPlayers()) do
if p ~= plr then
if espOn then makeESP(p) else removeESP(p) end
end
end
end)
--// Speed
local spdBox = Instance.new("TextBox", frame)
spdBox.Size = UDim2.new(0, 170, 0, 25)
spdBox.Position = UDim2.new(0, 15, 0, 120)
spdBox.PlaceholderText = "Enter Speed (1-400)"
spdBox.BackgroundColor3 = Color3.fromRGB(0, 0, 80)
spdBox.TextColor3 = Color3.new(1,1,1)
spdBox.Font = Enum.Font.Gotham
spdBox.TextSize = 14
Instance.new("UICorner", spdBox)
local spdOn = false
local customSpeed = defaultSpeed
local btn3 = Instance.new("TextButton", frame)
btn3.Size = UDim2.new(0, 170, 0, 30)
btn3.Position = UDim2.new(0, 15, 0, 155)
btn3.Text = "Speed: OFF"
btn3.BackgroundColor3 = Color3.fromRGB(0, 0, 150)
btn3.TextColor3 = Color3.new(1,1,1)
btn3.Font = Enum.Font.GothamBold
btn3.TextSize = 14
Instance.new("UICorner", btn3)
spdBox.FocusLost:Connect(function(enter)
if enter then
local val = tonumber(spdBox.Text)
if val and val > 0 and val <= 400 then
customSpeed = val
if spdOn then hum.WalkSpeed = customSpeed end
else
spdBox.Text = "Invalid"
end
end
end)
btn3.MouseButton1Click:Connect(function()
spdOn = not spdOn
btn3.Text = "Speed: " .. (spdOn and "ON" or "OFF")
hum.WalkSpeed = spdOn and customSpeed or defaultSpeed
end)
Comments
Sorry didnt saw ur comment
This script was made with Coding from Chatgpt this is my first ever script