BOBER | FLY 2.0
Murder Mystery 2 Keyless
BOBER | FLY 2.0
👤 alexriderr 👁 11 views ❤️ 0 likes ⏱ May 4, 2026
Features include fly, noclip, freecam, teleport, wall clip, no fog, and speed boost. **New update:** added teleport (TP) improvements and fixed various bugs.
✨ Features
Fly Noclip Freecam TP Wallclip No Fog Speed Up
📋 Script Code
-- 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()
▶ Script Video
🎮 Similar Scripts
💬 Comments (0)
Login to post a comment
No comments yet. Be the first!
Script Info
Game Murder Mystery 2
TypeKeyless
Authoralexriderr
Views11
Likes0
PublishedMay 4, 2026
🎮 Play Game on Roblox
🕐 Recent Scripts
SZA Survive Zombie Arena Script (No Keys)
SZA Survive Zombie Arena Script (No Keys)
Survive Zombie Arena • 👁 5
Keyless
Hypershot Aim and hitbox expander script
Hypershot Aim and hitbox expander script
Hypershot • 👁 4
Keyless
Auto Kick and Weight Farm
Auto Kick and Weight Farm
Kick a Lucky Block • 👁 6
Keyless
Xynapse Blox Fruits Script (No Keys) – Auto Farm Levels
Xynapse Blox Fruits Script (No Keys) – Auto Farm Levels
Blox Fruits • 👁 8
Keyless
+1 Wings For Brainrots Auto Stamina Script
+1 Wings For Brainrots Auto Stamina Script
+1 Wings for Brainrots • 👁 8
Keyless