-- Script taken from https://xenoscripts.com website --
-- BOBER ULTIMATE | THE BUG-EXTERMINATOR | XENO
local Player = game:GetService("Players").LocalPlayer
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Lighting = game:GetService("Lighting")
local Camera = workspace.CurrentCamera
-- СОСТОЯНИЯ
local Bober = {
WS = 16, FS = 50,
isFly = false, isNoc = false, isWall = false,
isEsp = false, isMM2 = false, isFog = false, isFree = false,
Target = nil, Active = true
}
local Fly_Conn
-- Очистка старого
pcall(function() if Player.PlayerGui:FindFirstChild("BoberFinal") then Player.PlayerGui.BoberFinal:Destroy() end end)
local sg = Instance.new("ScreenGui", Player:WaitForChild("PlayerGui"))
sg.Name = "BoberFinal"; sg.ResetOnSpawn = false
local function ApplyCorner(o)
local c = Instance.new("UICorner", o); c.CornerRadius = UDim.new(0, 10)
end
-- === УЛЬТИМАТИВНЫЙ СБРОС (УБИВАЕТ ВСЁ) ===
local function FullPhysicsReset()
pcall(function()
local char = Player.Character
if char then
local hum = char:FindFirstChildOfClass("Humanoid")
local root = char:FindFirstChild("HumanoidRootPart")
if hum then
hum.PlatformStand = false
hum.AutoRotate = true
hum.JumpPower = 50
hum:SetStateEnabled(Enum.HumanoidStateType.Climbing, true)
end
if root then
root.Anchored = false
-- Удаляем вообще все левые силы
for _, v in pairs(root:GetChildren()) do
if v:IsA("BodyVelocity") or v:IsA("BodyGyro") then v:Destroy() end
end
end
for _, v in pairs(char:GetDescendants()) do
if v:IsA("BasePart") then v.CanCollide = true end
end
end
Camera.CameraSubject = Player.Character:FindFirstChildOfClass("Humanoid")
Player.DevCameraOcclusionMode = Enum.DevCameraOcclusionMode.Zoom
if workspace:FindFirstChild("BoberCamPart") then workspace.BoberCamPart:Destroy() end
end)
end
-- === ОКНО 1: SPEED UP ===
local SpeedWin = Instance.new("Frame", sg); SpeedWin.Size = UDim2.new(0, 130, 0, 65); SpeedWin.Position = UDim2.new(0.5, -280, 0.1, 0); SpeedWin.BackgroundColor3 = Color3.fromRGB(240, 245, 255); ApplyCorner(SpeedWin); SpeedWin.Active = true; SpeedWin.Draggable = true
local SL = Instance.new("TextLabel", SpeedWin); SL.Size = UDim2.new(1,0,0,25); SL.Text = "SPEED UP"; SL.Font = "GothamBold"; SL.BackgroundTransparency = 1; SL.TextColor3 = Color3.fromRGB(60, 70, 90)
local SI = Instance.new("TextBox", SpeedWin); SI.Size = UDim2.new(1,-20,0,30); SI.Position = UDim2.new(0,10,0,25); SI.Text = "16"; SI.BackgroundColor3 = Color3.new(1,1,1); ApplyCorner(SI); SI.TextColor3 = Color3.new(0,0,0)
SI:GetPropertyChangedSignal("Text"):Connect(function() Bober.WS = tonumber(SI.Text) or 16 end)
-- === ОКНО 2: TELEPORT ===
local TpWin = Instance.new("Frame", sg); TpWin.Size = UDim2.new(0, 160, 0, 280); TpWin.Position = UDim2.new(0.5, -280, 0.5, -140); TpWin.BackgroundColor3 = Color3.fromRGB(230, 235, 250); TpWin.Visible = false; ApplyCorner(TpWin); TpWin.Active = true; TpWin.Draggable = true
local TL = Instance.new("TextLabel", TpWin); TL.Size = UDim2.new(1,0,0,30); TL.Text = "TELEPORT"; TL.Font = "GothamBold"; TL.BackgroundTransparency = 1; TL.TextColor3 = Color3.fromRGB(60, 70, 90)
local sc = Instance.new("ScrollingFrame", TpWin); sc.Size = UDim2.new(1,-10,1,-80); sc.Position = UDim2.new(0,5,0,35); sc.BackgroundTransparency = 1; sc.ScrollBarThickness = 3; Instance.new("UIListLayout", sc).Padding = UDim.new(0, 5)
local TpExec = Instance.new("TextButton", TpWin); TpExec.Size = UDim2.new(1,-20,0,35); TpExec.Position = UDim2.new(0,10,1,-40); TpExec.Text = "TELEPORT"; TpExec.BackgroundColor3 = Color3.fromRGB(80, 200, 120); TpExec.TextColor3 = Color3.new(1,1,1); TpExec.Font = "GothamBold"; ApplyCorner(TpExec)
local function RefreshTP()
for _, v in pairs(sc:GetChildren()) do if v:IsA("TextButton") then v:Destroy() end end
for _, p in pairs(game.Players:GetPlayers()) do if p ~= Player then
local b = Instance.new("TextButton", sc); b.Size = UDim2.new(1, 0, 0, 25); b.Text = p.Name:sub(1,12); b.BackgroundColor3 = (Bober.Target == p) and Color3.fromRGB(100, 130, 200) or Color3.fromRGB(190, 210, 240); b.TextColor3 = Color3.fromRGB(60, 70, 90); ApplyCorner(b)
b.MouseButton1Click:Connect(function() Bober.Target = (Bober.Target == p) and nil or p; RefreshTP() end)
end end
end
TpExec.MouseButton1Click:Connect(function() if Bober.Target and Bober.Target.Character then Player.Character:MoveTo(Bober.Target.Character.HumanoidRootPart.Position) end end)
-- === ОКНО 3: ГЛАВНОЕ ===
local Main = Instance.new("Frame", sg); Main.Size = UDim2.new(0, 180, 0, 355); Main.Position = UDim2.new(0.5, 60, 0.5, -177); Main.BackgroundColor3 = Color3.fromRGB(245, 245, 250); Main.Active = true; Main.Draggable = true; ApplyCorner(Main)
local Bar = Instance.new("Frame", Main); Bar.Size = UDim2.new(1,0,0,35); Bar.BackgroundColor3 = Color3.fromRGB(200, 210, 230); ApplyCorner(Bar)
local TitleLabel = Instance.new("TextLabel", Bar); TitleLabel.Size = UDim2.new(1,-80,1,0); TitleLabel.Position = UDim2.new(0,35,0,0); TitleLabel.Text = "BOBER | FLY"; TitleLabel.Font = "GothamBold"; TitleLabel.TextSize = 10; TitleLabel.BackgroundTransparency = 1; TitleLabel.TextColor3 = Color3.fromRGB(60, 70, 90)
local function HBtn(txt, x, col, func)
local b = Instance.new("TextButton", Bar); b.Size = UDim2.new(0,26,0,26); b.Position = UDim2.new(0,x,0,4); b.Text = txt
b.BackgroundColor3 = col; b.TextColor3 = Color3.new(1,1,1); b.Font = "GothamBold"; ApplyCorner(b); b.MouseButton1Click:Connect(func)
end
HBtn("TP", 4, Color3.fromRGB(80, 180, 120), function() TpWin.Visible = not TpWin.Visible; if TpWin.Visible then RefreshTP() end end)
HBtn("-", 118, Color3.fromRGB(160, 170, 190), function() Main.Cont.Visible = not Main.Cont.Visible; Main.Size = Main.Cont.Visible and UDim2.new(0,180,0,355) or UDim2.new(0,180,0,35); TpWin.Visible = false end)
HBtn("X", 148, Color3.fromRGB(220, 80, 80), function() Bober.Active = false; FullPhysicsReset(); sg:Destroy(); if Fly_Conn then Fly_Conn:Disconnect() end end)
local Cont = Instance.new("Frame", Main); Cont.Name = "Cont"; Cont.Size = UDim2.new(1,0,1,-35); Cont.Position = UDim2.new(0,0,0,35); Cont.BackgroundTransparency = 1
local FI = Instance.new("TextBox", Cont); FI.Size = UDim2.new(0.6,-15,0,35); FI.Position = UDim2.new(0,10,0,10); FI.Text = "50"; FI.BackgroundColor3 = Color3.new(1,1,1); ApplyCorner(FI); FI.TextColor3 = Color3.new(0,0,0)
FI:GetPropertyChangedSignal("Text"):Connect(function() Bober.FS = tonumber(FI.Text) or 50 end)
local NB = Instance.new("TextButton", Cont); NB.Size = UDim2.new(0.4,-5,0,35); NB.Position = UDim2.new(0.6,0,0,10); NB.Text = "NOCLIP"; NB.TextColor3 = Color3.fromRGB(60, 70, 90); NB.BackgroundColor3 = Color3.fromRGB(180, 190, 210); ApplyCorner(NB)
NB.MouseButton1Click:Connect(function() if Bober.isFly then Bober.isNoc = not Bober.isNoc end end)
local function MBtn(txt, y, val)
local b = Instance.new("TextButton", Cont); b.Size = UDim2.new(1,-20,0,40); b.Position = UDim2.new(0,10,0,y); b.Text = txt
b.BackgroundColor3 = Color3.fromRGB(160, 175, 200); b.TextColor3 = Color3.fromRGB(60, 70, 90); b.Font = "GothamBold"; ApplyCorner(b)
b.MouseButton1Click:Connect(function()
if val == "isWall" then
Bober.isWall = not Bober.isWall
if Bober.isWall then Bober.isFly = false FullPhysicsReset() Bober.isWall = true end
elseif val == "isFree" then
Bober.isFree = not Bober.isFree
else Bober[val] = not Bober[val] end
end); return b
end
local WallB = MBtn("WALL CLIP", 55, "isWall")
local EspB = MBtn("ESP", 100, "isEsp")
local MM2B = MBtn("ESP (MM2)", 145, "isMM2")
local FogB = MBtn("NO FOG", 190, "isFog")
local FreeB = MBtn("FREECAM", 235, "isFree")
-- === ЯДРО ЛОГИКИ ===
local freePart, bv, bg, antiy
RunService.Stepped:Connect(function()
if not Bober.Active then return end
local char = Player.Character; if not char then return end
char.Humanoid.WalkSpeed = Bober.WS
Player.DevCameraOcclusionMode = (Bober.isFly or Bober.isWall or Bober.isFree) and Enum.DevCameraOcclusionMode.Invisicam or Enum.DevCameraOcclusionMode.Zoom
if Bober.isFog then Lighting.FogEnd = 1e5 pcall(function() for _,v in pairs(Lighting:GetDescendants()) do if v:IsA("Atmosphere") then v.Density = 0 end end end) end
local shouldNoc = (Bober.isFly and Bober.isNoc) or (Bober.isWall and not Bober.isFly) or Bober.isFree
for _, v in pairs(char:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = not shouldNoc end end
if Bober.isWall and not Bober.isFly then
char.Humanoid.JumpPower = 0; char.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Climbing, false)
if char.Humanoid.FloorMaterial ~= Enum.Material.Air and not char.HumanoidRootPart:FindFirstChild("BAnchor") then
antiy = Instance.new("BodyVelocity", char.HumanoidRootPart); antiy.Name = "BAnchor"; antiy.Velocity = Vector3.new(0,0,0); antiy.MaxForce = Vector3.new(0,9e9,0)
end
elseif not Bober.isFly then
if char.HumanoidRootPart:FindFirstChild("BAnchor") then char.HumanoidRootPart.BAnchor:Destroy() end
if not Bober.isFree then char.Humanoid.JumpPower = 50 char.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Climbing, true) end
end
if Bober.isFree then
char.HumanoidRootPart.Anchored = true
if not freePart then
freePart = Instance.new("Part", workspace); freePart.Name = "BoberCamPart"; freePart.Transparency = 1; freePart.Anchored = true; freePart.CanCollide = false; freePart.CFrame = Camera.CFrame; Camera.CameraSubject = freePart
end
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
freePart.CFrame = freePart.CFrame + (d * (Bober.FS/100))
else
if freePart then freePart:Destroy() freePart = nil Camera.CameraSubject = char.Humanoid end
if not Bober.isFly then char.HumanoidRootPart.Anchored = false end
end
end)
-- ESP + ОБНОВЛЕНИЕ КНОПОК
RunService.RenderStepped:Connect(function()
if not Bober.Active then return end
for _, v in pairs(sg:GetChildren()) do if v.Name == "Extra" then v:Destroy() end end
if Bober.isEsp or Bober.isMM2 then
for _, p in pairs(game.Players:GetPlayers()) do
if p ~= Player and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
local color = (Bober.isMM2 and (p.Backpack:FindFirstChild("Knife") or p.Character:FindFirstChild("Knife")) and Color3.new(1,0,0)) or (Bober.isMM2 and (p.Backpack:FindFirstChild("Gun") or p.Character:FindFirstChild("Gun") or p.Backpack:FindFirstChild("Revolver")) and Color3.new(0,0,1)) or (Bober.isMM2 and Color3.new(0,1,0)) or Color3.fromRGB(100,180,255)
local h = Instance.new("Highlight", sg); h.Name = "Extra"; h.Adornee = p.Character; h.FillColor = color
local b = Instance.new("BillboardGui", sg); b.Name = "Extra"; b.Adornee = p.Character.HumanoidRootPart; b.Size = UDim2.new(0,100,0,30); b.AlwaysOnTop = true; b.ExtentsOffset = Vector3.new(0,3,0)
local l = Instance.new("TextLabel", b); l.Size = UDim2.new(1,0,1,0); l.Text = p.Name; l.TextColor3 = color; l.BackgroundTransparency = 1; l.Font = "GothamBold"; l.TextSize = 14
end
end
end
pcall(function()
WallB.BackgroundColor3 = Bober.isWall and Color3.fromRGB(120, 220, 160) or Color3.fromRGB(160, 175, 200)
EspB.BackgroundColor3 = Bober.isEsp and Color3.fromRGB(120, 160, 220) or Color3.fromRGB(160, 175, 200)
MM2B.BackgroundColor3 = Bober.isMM2 and Color3.fromRGB(255, 100, 100) or Color3.fromRGB(160, 175, 200)
FogB.BackgroundColor3 = Bober.isFog and Color3.fromRGB(200, 140, 220) or Color3.fromRGB(160, 175, 200)
FreeB.BackgroundColor3 = Bober.isFree and Color3.fromRGB(100, 255, 100) or Color3.fromRGB(160, 175, 200)
NB.BackgroundColor3 = (Bober.isFly and Bober.isNoc) and Color3.fromRGB(100, 200, 150) or Color3.fromRGB(180, 190, 210)
end)
end)
Fly_Conn = UIS.InputBegan:Connect(function(i, g)
if g or not Bober.Active then return end
if i.KeyCode == Enum.KeyCode.E then
Bober.isFly = not Bober.isFly
if Bober.isFly then
Bober.isWall = false -- ВЫКЛЮЧАЕМ ВАЛКЛИП ПРИ ВЗЛЕТЕ
FullPhysicsReset(); Bober.isFly = true
local r = Player.Character.HumanoidRootPart; Player.Character.Humanoid.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 Bober.isFly and Bober.Active 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 * Bober.FS or Vector3.new(0,0,0)
RunService.RenderStepped:Wait()
end
FullPhysicsReset()
end)
else FullPhysicsReset() end
end
end)