-- BOBER ULTIMATE | NO-CLIMB WALLCLIP
local Player = game.Players.LocalPlayer
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Lighting = game:GetService("Lighting")
local Camera = workspace.CurrentCamera
-- Очистка старой версии
local old = Player:WaitForChild("PlayerGui"):FindFirstChild("BoberStable")
if old then old:Destroy() end
local ScreenGui = Instance.new("ScreenGui", Player.PlayerGui)
ScreenGui.Name = "BoberStable"
ScreenGui.ResetOnSpawn = false
-- СОСТОЯНИЯ
local flying, noclipActive, wallClipActive, espActive, noFogActive, freecamActive, scriptActive = false, false, false, false, false, false, true
local bv, bg, antiy, freecamPart
local selectedPlayer = nil
-- ФУНКЦИИ ОЧИСТКИ
local function FullPhysicsReset()
pcall(function()
local char = Player.Character
if char then
local hum = char:FindFirstChildOfClass("Humanoid")
if hum then
hum.PlatformStand = false
hum.JumpPower = 50
hum.AutoJumpEnabled = true -- Возвращаем авто-прыжок
hum:SetStateEnabled(Enum.HumanoidStateType.Climbing, true) -- Возвращаем лестницы
end
if char:FindFirstChild("HumanoidRootPart") then char.HumanoidRootPart.Anchored = false end
for _, v in pairs(char:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = true end end
end
if bv then bv:Destroy() bv = nil end
if bg then bg:Destroy() bg = nil end
if antiy then antiy:Destroy() antiy = nil end
if freecamPart then freecamPart:Destroy() freecamPart = nil end
Camera.CameraSubject = Player.Character:FindFirstChildOfClass("Humanoid")
end)
end
-- ИНТЕРФЕЙС
local Main = Instance.new("Frame", ScreenGui)
Main.Size = UDim2.new(0, 200, 0, 280); Main.Position = UDim2.new(0.5, 75, 0.5, -140)
Main.BackgroundColor3 = Color3.fromRGB(30, 30, 30); Main.Active = true; Main.Draggable = true
local TitleFrame = Instance.new("Frame", Main)
TitleFrame.Size = UDim2.new(1, 0, 0, 40); TitleFrame.BackgroundColor3 = Color3.fromRGB(45, 45, 45); TitleFrame.BorderSizePixel = 0
local Title = Instance.new("TextLabel", TitleFrame)
Title.Size = UDim2.new(1, -90, 1, 0); Title.Position = UDim2.new(0, 35, 0, 0); Title.Text = "BOBER | FLY"
Title.TextColor3 = Color3.new(1, 1, 1); Title.BackgroundTransparency = 1; Title.Font = Enum.Font.GothamBold; Title.TextSize = 12; Title.TextXAlignment = Enum.TextXAlignment.Left
local function HeaderBtn(txt, pos, color)
local b = Instance.new("TextButton", TitleFrame); b.Size = UDim2.new(0, 24, 0, 24); b.Position = pos
b.Text = txt; b.BackgroundColor3 = color; b.TextColor3 = Color3.new(1, 1, 1); b.Font = Enum.Font.GothamBold; b.ZIndex = 10; return b
end
local TpPanelToggle = HeaderBtn("+", UDim2.new(0, 5, 0, 8), Color3.fromRGB(0, 100, 150))
local CollapseBtn = HeaderBtn("-", UDim2.new(1, -55, 0, 8), Color3.fromRGB(60, 60, 60))
local CloseBtn = HeaderBtn("X", UDim2.new(1, -28, 0, 8), Color3.fromRGB(150, 0, 0))
local Content = Instance.new("Frame", Main)
Content.Size = UDim2.new(1, 0, 1, -40); Content.Position = UDim2.new(0, 0, 0, 40); Content.BackgroundTransparency = 1
local function CreateBtn(n, p, c)
local b = Instance.new("TextButton", Content); b.Size = UDim2.new(1, 0, 0, 40); b.Position = p
b.BackgroundColor3 = c; b.TextColor3 = Color3.new(1, 1, 1); b.Text = n; b.Modal = true; return b
end
local SpeedIn = Instance.new("TextBox", Content); SpeedIn.Size = UDim2.new(0.5, 0, 0, 40); SpeedIn.Text = "50"; SpeedIn.BackgroundColor3 = Color3.fromRGB(20,20,20); SpeedIn.TextColor3 = Color3.new(0,1,0.5)
local FlyNocBtn = Instance.new("TextButton", Content); FlyNocBtn.Size = UDim2.new(0.5, 0, 0, 40); FlyNocBtn.Position = UDim2.new(0.5, 0, 0, 0); FlyNocBtn.Text = "Noclip: OFF"; FlyNocBtn.TextColor3 = Color3.new(1, 1, 1); FlyNocBtn.Modal = true
local WallBtn = CreateBtn("WallClip: OFF", UDim2.new(0, 0, 0, 40), Color3.fromRGB(50, 50, 80))
local EspBtn = CreateBtn("ESP: OFF", UDim2.new(0, 0, 0, 80), Color3.fromRGB(0, 70, 90))
local FogBtn = CreateBtn("NoFog: OFF", UDim2.new(0, 0, 0, 120), Color3.fromRGB(100, 50, 150))
local FreecamBtn = CreateBtn("Freecam: OFF", UDim2.new(0, 0, 0, 160), Color3.fromRGB(50, 80, 50))
local WalkIn = Instance.new("TextBox", Content); WalkIn.Size = UDim2.new(1, 0, 0, 40); WalkIn.Position = UDim2.new(0, 0, 0, 200); WalkIn.Text = "16"; WalkIn.PlaceholderText = "Speed up"; WalkIn.BackgroundColor3 = Color3.fromRGB(20,40,20); WalkIn.TextColor3 = Color3.new(1, 1, 1)
local TpPanel = Instance.new("Frame", Main)
TpPanel.Size = UDim2.new(0, 150, 0, 280); TpPanel.Position = UDim2.new(0, -155, 0, 0); TpPanel.BackgroundColor3 = Color3.fromRGB(25, 25, 25); TpPanel.Visible = false
local PlayerList = Instance.new("ScrollingFrame", TpPanel); PlayerList.Size = UDim2.new(1, -10, 1, -50); PlayerList.Position = UDim2.new(0, 5, 0, 10); PlayerList.BackgroundTransparency = 1; PlayerList.CanvasSize = UDim2.new(0,0,0,0)
local TpDoBtn = Instance.new("TextButton", TpPanel); TpDoBtn.Size = UDim2.new(1, -10, 0, 35); TpDoBtn.Position = UDim2.new(0, 5, 1, -40); TpDoBtn.Text = "Teleport"; TpDoBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 0); TpDoBtn.TextColor3 = Color3.new(1,1,1); TpDoBtn.Modal = true
-- ТУМАН
task.spawn(function()
while task.wait(0.2) do
if not scriptActive then break end
if noFogActive then
Lighting.FogEnd = 1e5
Lighting.FogStart = 0
for _, v in pairs(Lighting:GetChildren()) do if v:IsA("Atmosphere") then v.Density = 0 end end
end
end
end)
local function UpdateUI()
FlyNocBtn.BackgroundColor3 = not flying and Color3.fromRGB(45, 45, 45) or (noclipActive and Color3.fromRGB(20,100,20) or Color3.fromRGB(80,30,30))
FlyNocBtn.Text = noclipActive and "Noclip: ON" or "Noclip: OFF"
WallBtn.Text = wallClipActive and "WallClip: ON" or "WallClip: OFF"; WallBtn.BackgroundColor3 = wallClipActive and Color3.fromRGB(20,100,100) or Color3.fromRGB(50, 50, 80)
EspBtn.Text = espActive and "ESP: ON" or "ESP: OFF"; EspBtn.BackgroundColor3 = espActive and Color3.fromRGB(0, 150, 200) or Color3.fromRGB(0, 70, 90)
FogBtn.Text = noFogActive and "NoFog: ON" or "NoFog: OFF"; FogBtn.BackgroundColor3 = noFogActive and Color3.fromRGB(150, 80, 200) or Color3.fromRGB(100, 50, 150)
FreecamBtn.Text = freecamActive and "Freecam: ON" or "Freecam: OFF"; FreecamBtn.BackgroundColor3 = freecamActive and Color3.fromRGB(80, 150, 80) or Color3.fromRGB(50, 80, 50)
end
-- КНОПКИ
FlyNocBtn.MouseButton1Click:Connect(function() if flying then noclipActive = not noclipActive; if not noclipActive then for _,v in pairs(Player.Character:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide=true end end end UpdateUI() end end)
WallBtn.MouseButton1Click:Connect(function()
wallClipActive = not wallClipActive
if wallClipActive then flying = false FullPhysicsReset() wallClipActive = true
else FullPhysicsReset() end
UpdateUI()
end)
EspBtn.MouseButton1Click:Connect(function() espActive = not espActive UpdateUI() end)
FogBtn.MouseButton1Click:Connect(function() noFogActive = not noFogActive UpdateUI() end)
CloseBtn.MouseButton1Click:Connect(function() scriptActive = false; FullPhysicsReset(); ScreenGui:Destroy() end)
CollapseBtn.MouseButton1Click:Connect(function() Content.Visible = not Content.Visible; TpPanel.Visible = false; Main.Size = Content.Visible and UDim2.new(0,200,0,280) or UDim2.new(0,200,0,40); CollapseBtn.Text = Content.Visible and "-" or "+" end)
FreecamBtn.MouseButton1Click:Connect(function()
freecamActive = not freecamActive; local r = Player.Character and Player.Character:FindFirstChild("HumanoidRootPart")
if freecamActive then if r then r.Anchored = true end; freecamPart = Instance.new("Part", workspace); freecamPart.Transparency = 1; freecamPart.Anchored = true; freecamPart.CFrame = Camera.CFrame; Camera.CameraSubject = freecamPart
else if r then r.Anchored = false end; if freecamPart then freecamPart:Destroy() end; Camera.CameraSubject = Player.Character:FindFirstChildOfClass("Humanoid") end; UpdateUI()
end)
local selP = nil
TpPanelToggle.MouseButton1Click:Connect(function()
TpPanel.Visible = not TpPanel.Visible
if TpPanel.Visible then
for _, v in pairs(PlayerList:GetChildren()) do if v:IsA("TextButton") then v:Destroy() end end
local y = 0
for _, p in pairs(game.Players:GetPlayers()) do if p ~= Player then
local b = Instance.new("TextButton", PlayerList); b.Size = UDim2.new(1, 0, 0, 25); b.Position = UDim2.new(0,0,0,y); b.Text = p.Name; b.BackgroundColor3 = Color3.fromRGB(40,40,40); b.TextColor3 = Color3.new(1,1,1); b.TextSize = 10
b.MouseButton1Click:Connect(function() selP = p; for _, x in pairs(PlayerList:GetChildren()) do if x:IsA("TextButton") then x.BackgroundColor3 = Color3.fromRGB(40,40,40) end end b.BackgroundColor3 = Color3.fromRGB(0,100,200) end); y = y + 27
end end; PlayerList.CanvasSize = UDim2.new(0,0,0,y)
end
end)
TpDoBtn.MouseButton1Click:Connect(function() if selP and selP.Character then Player.Character.HumanoidRootPart.CFrame = selP.Character.HumanoidRootPart.CFrame end end)
-- ЦИКЛЫ
RunService.Stepped:Connect(function()
if not scriptActive or not Player.Character then return end
local char = Player.Character; local hum = char:FindFirstChildOfClass("Humanoid")
if not hum then return end
hum.WalkSpeed = tonumber(WalkIn.Text) or 16
if (flying and noclipActive) or (wallClipActive and not flying) or freecamActive then
for _, v in pairs(char:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = false end end
if wallClipActive and not flying then
hum.JumpPower = 0
hum.AutoJumpEnabled = false -- ВЫКЛЮЧАЕМ АВТО-ЗАЛЕЗАНИЕ
hum:SetStateEnabled(Enum.HumanoidStateType.Climbing, false) -- ВЫКЛЮЧАЕМ ЛЕСТНИЦЫ
if hum.FloorMaterial ~= Enum.Material.Air and not antiy then
antiy = Instance.new("BodyVelocity", char.HumanoidRootPart); antiy.Velocity = Vector3.new(0,0,0); antiy.MaxForce = Vector3.new(0,9e9,0)
end
end
else
if antiy then antiy:Destroy() antiy = nil end
if not flying then hum.JumpPower = 50 hum.AutoJumpEnabled = true hum:SetStateEnabled(Enum.HumanoidStateType.Climbing, true) end
end
end)
RunService.RenderStepped:Connect(function()
if not scriptActive then return end
for _, v in pairs(ScreenGui:GetChildren()) do if v.Name == "ESP" then v:Destroy() end end
if espActive then for _, p in pairs(game.Players:GetPlayers()) do
if p ~= Player and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
local h = Instance.new("Highlight", ScreenGui); h.Adornee = p.Character; h.FillColor = Color3.fromRGB(0, 190, 255); h.Name = "ESP"
local b = Instance.new("BillboardGui", ScreenGui); b.AlwaysOnTop = true; b.Size = UDim2.new(0, 200, 0, 100); b.Adornee = p.Character.HumanoidRootPart; b.Name = "ESP"
local l = Instance.new("TextLabel", b); l.Size = UDim2.new(1, 0, 1, 0); l.BackgroundTransparency = 1; l.Text = p.Name; l.TextColor3 = Color3.new(0.5, 0.9, 1); l.TextSize = 24
end
end end
if freecamActive and freecamPart then
local s = tonumber(SpeedIn.Text) or 50; local d = Vector3.new(0,0,0)
if UIS:IsKeyDown(Enum.KeyCode.W) then d = d + Camera.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.S) then d = d - Camera.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.A) then d = d - Camera.CFrame.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.D) then d = d + Camera.CFrame.RightVector end
freecamPart.CFrame = freecamPart.CFrame + (d * (s/150))
end
end)
UIS.InputBegan:Connect(function(i, g)
if g or not scriptActive or freecamActive then return end
if i.KeyCode == Enum.KeyCode.E then
flying = not flying; if flying then wallClipActive = false; FullPhysicsReset(); flying = true end; UpdateUI()
local char = Player.Character; if flying and char and char:FindFirstChild("HumanoidRootPart") then
local r, h = char.HumanoidRootPart, char:FindFirstChildOfClass("Humanoid")
h.PlatformStand = true; bg = Instance.new("BodyGyro", r); bg.MaxTorque = Vector3.new(9e9,9e9,9e9); bg.P = 5e5; bv = Instance.new("BodyVelocity", r); bv.MaxForce = Vector3.new(9e9,9e9,9e9)
task.spawn(function()
while flying and scriptActive do
local cam = Camera.CFrame; bg.CFrame = cam; local d = Vector3.new(0,0,0)
if UIS:IsKeyDown(Enum.KeyCode.W) then d = d + cam.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.S) then d = d - cam.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.A) then d = d - cam.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.D) then d = d + cam.RightVector end
bv.Velocity = d.Magnitude > 0 and d.Unit * (tonumber(SpeedIn.Text) or 50) or Vector3.new(0,0,0); RunService.RenderStepped:Wait()
end
FullPhysicsReset(); UpdateUI()
end)
end
end
end)
Player.Idled:Connect(function() pcall(function() game:GetService("VirtualUser"):CaptureController(); game:GetService("VirtualUser"):ClickButton2(Vector2.new()) end) end)
UpdateUI()