-- 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)