What's new
Heapleak - Scripthub

Get the most out of HeapLeak by creating a free account! Once signed in, you’ll gain full access to restricted content, be able to share your own scripts, and participate in our member-only discussions.

Roblox BoBgui

Version / Update: v1.0.0
Download / Script Link
-- BoBGui | V1.0

local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local TeleportService = game:GetService("TeleportService")

local player = Players.LocalPlayer
local char, hum, hrp

local function loadChar()
char = player.Character or player.CharacterAdded:Wait()
hum = char:WaitForChild("Humanoid")
hrp = char:WaitForChild("HumanoidRootPart")
end
loadChar()
player.CharacterAdded:Connect(loadChar)

-- ================= THEMES =================

local Themes = {
Dark ={bg=Color3.fromRGB(8,8,8),btn=Color3.fromRGB(25,25,25),border=Color3.fromRGB(200,200,200)},
Red ={bg=Color3.fromRGB(15,5,5),btn=Color3.fromRGB(40,10,10),border=Color3.fromRGB(255,0,0)},
Blue ={bg=Color3.fromRGB(5,8,18),btn=Color3.fromRGB(10,20,45),border=Color3.fromRGB(0,170,255)},
Green ={bg=Color3.fromRGB(5,15,8),btn=Color3.fromRGB(10,40,20),border=Color3.fromRGB(0,255,120)},
Pink ={bg=Color3.fromRGB(20,5,12),btn=Color3.fromRGB(45,10,30),border=Color3.fromRGB(255,80,160)}
}
local themeOrder={"Dark","Red","Blue","Green","Pink"}
local themeIndex=1

-- ================= GUI =================

local gui=Instance.new("ScreenGui",player.PlayerGui)
gui.Name="BoBGui"

local main=Instance.new("Frame",gui)
main.Position=UDim2.fromScale(0.275,0.225)
main.Active=true
main.Draggable=true
main.BorderSizePixel=2

-- SIZE SYSTEM
local baseSize=UDim2.fromScale(0.45,0.55)
local guiScale=1
local function applySize()
main.Size=UDim2.fromScale(
baseSize.X.Scale*guiScale,
baseSize.Y.Scale*guiScale
)
end

-- THEME APPLY
local function applyTheme()
local t=Themes[themeOrder[themeIndex]]
main.BackgroundColor3=t.bg
main.BorderColor3=t.border
for _,v in pairs(main:GetDescendants()) do
if v:IsA("TextButton") then
v.BackgroundColor3=t.btn
v.BorderColor3=t.border
end
end
end

applySize()
applyTheme()

-- TITLE
local title=Instance.new("TextLabel",main)
title.Size=UDim2.fromScale(1,0.12)
title.Text="BoBGui"
title.BackgroundTransparency=1
title.TextColor3=Color3.new(1,1,1)
title.TextScaled=true
title.Font=Enum.Font.Code
title.TextStrokeTransparency=0

-- CLOSE / MINIMIZE
local close=Instance.new("TextButton",main)
close.Text="X"
close.Size=UDim2.fromScale(0.08,0.08)
close.Position=UDim2.fromScale(0.92,0.02)

local mini=Instance.new("TextButton",main)
mini.Text="_"
mini.Size=UDim2.fromScale(0.08,0.08)
mini.Position=UDim2.fromScale(0.84,0.02)

for _,b in pairs({close,mini}) do
b.TextColor3=Color3.new(1,1,1)
b.TextScaled=true
b.Font=Enum.Font.Code
end

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

local minimized=false
local oldSize
mini.MouseButton1Click:Connect(function()
minimized=not minimized
if minimized then
oldSize=main.Size
main.Size=UDim2.fromScale(main.Size.X.Scale,0.12)
else
main.Size=oldSize
end
end)

-- ================= PAGES =================

local content=Instance.new("Frame",main)
content.Size=UDim2.fromScale(0.9,0.65)
content.Position=UDim2.fromScale(0.05,0.18)
content.BackgroundTransparency=1

local pages={}
local page=1

local function newPage(name)
local f=Instance.new("Frame",content)
f.Size=UDim2.fromScale(1,1)
f.Visible=false
f.BackgroundTransparency=1

local l=Instance.new("TextLabel",f)
l.Text=name
l.Size=UDim2.fromScale(1,0.15)
l.BackgroundTransparency=1
l.TextColor3=Color3.new(1,1,1)
l.TextScaled=true
l.Font=Enum.Font.Code
l.TextStrokeTransparency=0

table.insert(pages,f)
return f
end

local function showPage(n)
for i,v in ipairs(pages) do v.Visible=(i==n) end
end

local function btn(p,t,y)
local b=Instance.new("TextButton",p)
b.Text=t
b.Size=UDim2.fromScale(0.95,0.12)
b.Position=UDim2.fromScale(0.025,y)
b.TextColor3=Color3.new(1,1,1)
b.TextScaled=true
b.Font=Enum.Font.Code
b.TextStrokeTransparency=0
return b
end

-- SLIDER
local function slider(p,text,y,min,max,val,cb)
local f=Instance.new("Frame",p)
f.Size=UDim2.fromScale(0.95,0.12)
f.Position=UDim2.fromScale(0.025,y)
f.BackgroundTransparency=1

local l=Instance.new("TextLabel",f)
l.Text=text.." : "..val
l.Size=UDim2.fromScale(1,0.4)
l.BackgroundTransparency=1
l.TextColor3=Color3.new(1,1,1)
l.TextScaled=true
l.Font=Enum.Font.Code

local bar=Instance.new("Frame",f)
bar.Size=UDim2.fromScale(1,0.25)
bar.Position=UDim2.fromScale(0,0.55)
bar.BackgroundColor3=Color3.fromRGB(40,40,40)

local fill=Instance.new("Frame",bar)
fill.BackgroundColor3=Color3.fromRGB(150,150,150)
fill.Size=UDim2.fromScale((val-min)/(max-min),1)

local drag=false
bar.InputBegan:Connect(function(i) if i.UserInputType==Enum.UserInputType.MouseButton1 then drag=true end end)
bar.InputEnded:Connect(function(i) if i.UserInputType==Enum.UserInputType.MouseButton1 then drag=false end end)

UIS.InputChanged:Connect(function(i)
if drag and i.UserInputType==Enum.UserInputType.MouseMovement then
local x=(i.Position.X-bar.AbsolutePosition.X)/bar.AbsoluteSize.X
x=math.clamp(x,0,1)
val=math.floor(min+(max-min)*x)
fill.Size=UDim2.fromScale(x,1)
l.Text=text.." : "..val
cb(val)
end
end)
end

-- PAGES
local p1=newPage("Movement")
local p2=newPage("Teleport")
local p3=newPage("Settings")
showPage(1)

-- PAGE SWITCH
local left=btn(main,"<",0.85)
left.Size=UDim2.fromScale(0.1,0.1)
left.Position=UDim2.fromScale(0.05,0.85)

local right=btn(main,">",0.85)
right.Size=UDim2.fromScale(0.1,0.1)
right.Position=UDim2.fromScale(0.85,0.85)

left.MouseButton1Click:Connect(function() page=page-1<1 and #pages or page-1 showPage(page) end)
right.MouseButton1Click:Connect(function() page=page+1>#pages and 1 or page+1 showPage(page) end)

-- ================= MOVEMENT =================

local flyBtn=btn(p1,"Fly : OFF",0.18)
local spinBtn=btn(p1,"Spin : OFF",0.32)
local noclipBtn=btn(p1,"Noclip : OFF",0.46)

local flySpeed=70
slider(p1,"Speed",0.60,16,100,16,function(v) hum.WalkSpeed=v end)
slider(p1,"Jump",0.74,50,200,50,function(v) hum.JumpPower=v end)
slider(p1,"FlySpeed",0.88,30,150,flySpeed,function(v) flySpeed=v end)

-- FLY
local flying=false
local bg,bv
RunService.RenderStepped:Connect(function()
if flying then
local cam=workspace.CurrentCamera
bg.CFrame=cam.CFrame
local d=Vector3.zero
if UIS:IsKeyDown(Enum.KeyCode.W) then d+=cam.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.S) then d-=cam.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.A) then d-=cam.CFrame.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.D) then d+=cam.CFrame.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.Space) then d+=cam.CFrame.UpVector end
if UIS:IsKeyDown(Enum.KeyCode.LeftControl) then d-=cam.CFrame.UpVector end
bv.Velocity=d*flySpeed
end
end)

flyBtn.MouseButton1Click:Connect(function()
flying=not flying
flyBtn.Text=flying and "Fly : ON" or "Fly : OFF"
if flying then
bg=Instance.new("BodyGyro",hrp)
bg.MaxTorque=Vector3.new(9e9,9e9,9e9)
bv=Instance.new("BodyVelocity",hrp)
bv.MaxForce=Vector3.new(9e9,9e9,9e9)
hum.PlatformStand=true
else
if bg then bg:Destroy() end
if bv then bv:Destroy() end
hum.PlatformStand=false
end
end)

-- SPIN
local spinning=false
spinBtn.MouseButton1Click:Connect(function()
spinning=not spinning
spinBtn.Text=spinning and "Spin : ON" or "Spin : OFF"
end)
RunService.RenderStepped:Connect(function()
if spinning then hrp.CFrame*=CFrame.Angles(0,math.rad(5),0) end
end)

-- NOCLIP FIXED
local noclip=false
noclipBtn.MouseButton1Click:Connect(function()
noclip=not noclip
noclipBtn.Text=noclip and "Noclip : ON" or "Noclip : OFF"
for _,v in pairs(char:GetDescendants()) do
if v:IsA("BasePart") then v.CanCollide=not noclip end
end
end)

-- ================= TELEPORT =================

btn(p2,"Teleport Forward",0.3).MouseButton1Click:Connect(function()
hrp.CFrame+=hrp.CFrame.LookVector*60
end)

btn(p2,"Get Teleport Tool",0.5).MouseButton1Click:Connect(function()
if player.Backpack:FindFirstChild("TeleportTool") then return end
local t=Instance.new("Tool",player.Backpack)
t.Name="TeleportTool"
t.RequiresHandle=false
t.Activated:Connect(function()
local m=player:GetMouse()
if m.Hit then hrp.CFrame=CFrame.new(m.Hit.Position+Vector3.new(0,3,0)) end
end)
end)

-- ================= SETTINGS =================

btn(p3,"Theme Switch",0.25).MouseButton1Click:Connect(function()
themeIndex=themeIndex%#themeOrder+1
applyTheme()
end)

btn(p3,"Size +",0.45).MouseButton1Click:Connect(function() guiScale+=0.1 applySize() end)
btn(p3,"Size -",0.6).MouseButton1Click:Connect(function() guiScale-=0.1 applySize() end)

btn(p3,"Rejoin Server",0.78).MouseButton1Click:Connect(function()
TeleportService:Teleport(game.PlaceId,player)
end)

-- ================= BROOKHAVEN RP =================

task.spawn(function()
for i=1,10 do
task.wait(3)
for _,v in pairs(player.PlayerGui:GetDescendants()) do
if v:IsA("TextBox") then
local n=v.Name:lower()
if n:find("name") then v.Text="Hello "..player.Name end
if n:find("bio") then v.Text="Welcome To BoBGui" end
end
end
end
end)
[ View More ]
7a34adcf-b560-43a8-bbf6-4b01506adfbe.webp


BoBGui V1.0Features:Movement|FlySpinNoclipSet speedSet Jump PowerSet flyspeedTeleport|Teleport ForwardGet Teleport ToolSettings|Theme Switch [Color]Rejoin ServerSet Gui Size
 
Back
Top