BOBER Fly v2 Scrpt
Murder Mystery 2 Keyless
BOBER Fly v2 Scrpt
👤 alexriderr 👁 82 views ❤️ 0 likes ⏱ May 7, 2026
Speed, fly, noclip, teleport, freecam, wallclip, no fog, and ESP features are included. **New update:** added a new ESP for MM2 along with an updated menu.
✨ Features
Fly Speed Boost Teleport (TP) Freecam Noclip Wallclip No Fog ESP New Menu MM2 ESP MM2 Features
📋 Script Code
-- 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)
🎮 Similar Scripts
💬 Comments (0)
Login to post a comment
No comments yet. Be the first!
Script Info
Game Murder Mystery 2
TypeKeyless
Authoralexriderr
Views82
Likes0
PublishedMay 7, 2026
🎮 Play Game on Roblox
🕐 Recent Scripts
Find and Snipe Brainrot script keyless
Find and Snipe Brainrot script keyless
Find and snipe Brainrot • 👁 5
Keyless
Mpan HUB Violence District New
Mpan HUB Violence District New
Violence District • 👁 7
Keyless
Gym League AutoFarm | Anti-AFK, Xmas Ticket, Auto Train | 2026
Gym League AutoFarm | Anti-AFK, Xmas Ticket, Auto Train | 2026
Gym League • 👁 13
Keyless
Driving empire script
Driving empire script
Driving Empire • 👁 11
Keyless
Funny Hub Keyless prison life script (After 2025 Update)
Funny Hub Keyless prison life script (After 2025 Update)
Prison Life • 👁 10
Keyless