local Player = game.Players.LocalPlayer
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Lighting = game:GetService("Lighting")
local Camera = workspace.CurrentCamera
-- Очистка старой версии
if game:GetService("CoreGui"):FindFirstChild("BoberSystem") then
game:GetService("CoreGui").BoberSystem:Destroy()
end
local ScreenGui = Instance.new("ScreenGui", game:GetService("CoreGui"))
ScreenGui.Name = "BoberSystem"
ScreenGui.ResetOnSpawn = false
-- СОСТОЯНИЯ
local flying = false
local noclipActive = false
local wallClipActive = false
local espActive = false
local noFogActive = false
local freecamActive = false
local scriptActive = true
local currentKey = Enum.KeyCode.E
local bv, bg, antiy, freecamPart
-- ХРАНИЛИЩЕ ДЛЯ ТУМАНА
local originalFog = {
End = Lighting.FogEnd,
Start = Lighting.FogStart,
Atmospheres = {}
}
-- АНТИ-АФК
local VirtualUser = game:GetService("VirtualUser")
Player.Idled:Connect(function()
VirtualUser:CaptureController()
VirtualUser:ClickButton2(Vector2.new())
end)
local RusToEng = {
["Й"]="Q",["Ц"]="W",["У"]="E",["К"]="R",["Е"]="T",["Н"]="Y",["Г"]="U",["Ш"]="I",["Щ"]="O",["З"]="P",
["Ф"]="A",["Ы"]="S",["В"]="D",["А"]="F",["П"]="G",["Р"]="H",["О"]="J",["Л"]="K",["Д"]="L",
["Я"]="Z",["Ч"]="X",["С"]="C",["М"]="V",["И"]="B",["Т"]="N",["Ь"]="M"
}
-- ГУИ
local Main = Instance.new("Frame", ScreenGui)
Main.Size = UDim2.new(0, 200, 0, 320)
Main.Position = UDim2.new(0.5, 75, 0.5, -240)
Main.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
Main.Active = true
Main.Draggable = true
local Title = Instance.new("TextLabel", Main)
Title.Size = UDim2.new(1, 0, 0, 40)
Title.Text = " BOBER | FLY"
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
Title.TextColor3 = Color3.new(1, 1, 1)
Title.Font = Enum.Font.GothamBold
Title.TextSize = 18
local CloseBtn = Instance.new("TextButton", Title)
CloseBtn.Size = UDim2.new(0, 30, 0, 30); CloseBtn.Position = UDim2.new(1, -70, 0, 5)
CloseBtn.Text = "X"; CloseBtn.BackgroundColor3 = Color3.fromRGB(150, 0, 0); CloseBtn.TextColor3 = Color3.new(1, 1, 1)
local ToggleGuiBtn = Instance.new("TextButton", Title)
ToggleGuiBtn.Size = UDim2.new(0, 30, 0, 30); ToggleGuiBtn.Position = UDim2.new(1, -35, 0, 5)
ToggleGuiBtn.Text = "-"; ToggleGuiBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60); ToggleGuiBtn.TextColor3 = Color3.new(1, 1, 1)
local Content = Instance.new("Frame", Main)
Content.Size = UDim2.new(1, 0, 0, 280); Content.Position = UDim2.new(0, 0, 0, 40); Content.BackgroundTransparency = 1
local function CreateBtn(name, pos, color)
local b = Instance.new("TextButton", Content)
b.Size = UDim2.new(1, 0, 0, 40); b.Position = pos
b.BackgroundColor3 = color; b.TextColor3 = Color3.new(1, 1, 1)
b.Text = name; b.Font = Enum.Font.Gotham; b.TextSize = 14; b.Modal = true
return b
end
local SpeedInput = Instance.new("TextBox", Content)
SpeedInput.Size = UDim2.new(0.5, 0, 0, 40); SpeedInput.Text = "50"
SpeedInput.BackgroundColor3 = Color3.fromRGB(25, 25, 25); SpeedInput.TextColor3 = Color3.new(0, 1, 0.5)
local FlyNoclipBtn = Instance.new("TextButton", Content)
FlyNoclipBtn.Size = UDim2.new(0.5, 0, 0, 40); FlyNoclipBtn.Position = UDim2.new(0.5, 0, 0, 0)
FlyNoclipBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 45); FlyNoclipBtn.TextColor3 = Color3.new(1, 1, 1); FlyNoclipBtn.Text = "Fly Noclip: OFF"
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 BindInput = Instance.new("TextBox", Content)
BindInput.Size = UDim2.new(1, 0, 0, 40); BindInput.Position = UDim2.new(0, 0, 0, 200)
BindInput.Text = "E"; BindInput.PlaceholderText = "Works only eng/rus key E/У"
BindInput.BackgroundColor3 = Color3.fromRGB(20, 20, 20); BindInput.TextColor3 = Color3.new(1, 0.8, 0); BindInput.TextScaled = true
local WalkSpeedInput = Instance.new("TextBox", Content)
WalkSpeedInput.Size = UDim2.new(1, 0, 0, 40); WalkSpeedInput.Position = UDim2.new(0, 0, 0, 240)
WalkSpeedInput.Text = "16"
WalkSpeedInput.PlaceholderText = "Speed up" -- ТА САМАЯ НАДПИСЬ
WalkSpeedInput.BackgroundColor3 = Color3.fromRGB(20, 40, 20); WalkSpeedInput.TextColor3 = Color3.new(1, 1, 1)
-- ЛОГИКА ТУМАНА
local function UpdateFog()
if noFogActive then
-- Сохраняем, если еще не сохранили
originalFog.End = Lighting.FogEnd
originalFog.Start = Lighting.FogStart
Lighting.FogEnd = 100000
Lighting.FogStart = 0
for _, v in pairs(Lighting:GetChildren()) do
if v:IsA("Atmosphere") then
originalFog.Atmospheres[v] = v.Density
v.Density = 0
end
end
else
-- Возвращаем
Lighting.FogEnd = originalFog.End
Lighting.FogStart = originalFog.Start
for atm, dens in pairs(originalFog.Atmospheres) do
if atm and atm.Parent then
atm.Density = dens
end
end
originalFog.Atmospheres = {}
end
end
local function UpdateUI()
WallBtn.Text = wallClipActive and "WallClip: ON" or "WallClip: OFF"
WallBtn.BackgroundColor3 = wallClipActive and Color3.fromRGB(30, 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)
FlyNoclipBtn.Text = noclipActive and "Fly Noclip: ON" or "Fly Noclip: OFF"
FlyNoclipBtn.BackgroundColor3 = not flying and Color3.fromRGB(45, 45, 45) or (noclipActive and Color3.fromRGB(30, 80, 30) or Color3.fromRGB(80, 30, 30))
end
-- СБРОС
local function FullReset()
local char = Player.Character
if char then
local hum = char:FindFirstChildOfClass("Humanoid")
if hum then hum.PlatformStand = false hum.JumpPower = 50 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
noFogActive = false; UpdateFog()
Camera.CameraSubject = Player.Character:FindFirstChildOfClass("Humanoid")
Camera.CameraType = Enum.CameraType.Custom
end
-- КНОПКИ
FlyNoclipBtn.MouseButton1Click:Connect(function() if flying then noclipActive = not noclipActive; if not noclipActive then local c = Player.Character; if c then for _,v in pairs(c:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = true end end end end UpdateUI() end end)
WallBtn.MouseButton1Click:Connect(function() wallClipActive = not wallClipActive; if wallClipActive and flying then flying = false FullReset() wallClipActive = true end UpdateUI(); if not wallClipActive then FullReset() end end)
EspBtn.MouseButton1Click:Connect(function() espActive = not espActive UpdateUI() end)
FogBtn.MouseButton1Click:Connect(function() noFogActive = not noFogActive; UpdateFog(); UpdateUI() end)
FreecamBtn.MouseButton1Click:Connect(function()
freecamActive = not freecamActive; local char = Player.Character; local root = char and char:FindFirstChild("HumanoidRootPart")
if freecamActive then if root then root.Anchored = true end; freecamPart = Instance.new("Part", workspace); freecamPart.Transparency = 1; freecamPart.CanCollide = false; freecamPart.Anchored = true; freecamPart.CFrame = Camera.CFrame; Camera.CameraSubject = freecamPart
else if root then root.Anchored = false end; if freecamPart then freecamPart:Destroy() freecamPart = nil end; Camera.CameraSubject = Player.Character:FindFirstChildOfClass("Humanoid") end
UpdateUI()
end)
CloseBtn.MouseButton1Click:Connect(function() scriptActive = false FullReset(); ScreenGui:Destroy() end)
ToggleGuiBtn.MouseButton1Click:Connect(function() Content.Visible = not Content.Visible; Main.Size = Content.Visible and UDim2.new(0, 200, 0, 320) or UDim2.new(0, 200, 0, 40); ToggleGuiBtn.Text = Content.Visible and "-" or "+" end)
BindInput:GetPropertyChangedSignal("Text"):Connect(function()
local t = BindInput.Text:upper():sub(1,1); if t ~= "" then BindInput.Text = t; local eng = RusToEng[t] or t; for _, v in pairs(Enum.KeyCode:GetEnumItems()) do if v.Name == eng then currentKey = v break end end end
end)
-- ЦИКЛЫ
RunService.Stepped:Connect(function()
if not scriptActive or not Player.Character then return end
local char, hum, root = Player.Character, Player.Character:FindFirstChildOfClass("Humanoid"), Player.Character:FindFirstChild("HumanoidRootPart")
if not hum or not root then return end
hum.WalkSpeed = tonumber(WalkSpeedInput.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 and hum.FloorMaterial ~= Enum.Material.Air then
hum.JumpPower = 0; hum:SetStateEnabled(Enum.HumanoidStateType.Climbing, false)
if not antiy then antiy = Instance.new("BodyVelocity", root); 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:SetStateEnabled(Enum.HumanoidStateType.Climbing, true) end
end
if freecamActive and freecamPart then
local s = tonumber(SpeedInput.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
if d.Magnitude > 0 then freecamPart.CFrame = freecamPart.CFrame + (d.Unit * s * 0.02) end
end
end)
RunService.RenderStepped:Connect(function()
if not scriptActive then return end
for _, v in pairs(ScreenGui:GetChildren()) do if v.Name == "BoberESP" or v.Name == "BoberName" then v:Destroy() end end
if espActive then
for _, p in pairs(game.Players:GetPlayers()) do
if 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.FillTransparency = 0.5; h.Name = "BoberESP"
local b = Instance.new("BillboardGui", ScreenGui); b.AlwaysOnTop = true; b.Size = UDim2.new(0, 200, 0, 100); b.Adornee = p.Character.HumanoidRootPart; b.ExtentsOffset = Vector3.new(0, 4, 0); b.Name = "BoberName"
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.Font = Enum.Font.GothamBold; l.TextSize = 24
end
end
end
Player.DevCameraOcclusionMode = (flying or freecamActive or wallClipActive) and Enum.DevCameraOcclusionMode.Invisicam or Enum.DevCameraOcclusionMode.Zoom
end)
UIS.InputBegan:Connect(function(i, g)
if g or not scriptActive or freecamActive then return end
if i.KeyCode == currentKey then
flying = not flying; if flying then wallClipActive = false FullReset() 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 = 500000; bv = Instance.new("BodyVelocity", r); bv.MaxForce = Vector3.new(9e9,9e9,9e9)
task.spawn(function()
while flying and scriptActive do
local cam = workspace.CurrentCamera.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(SpeedInput.Text) or 50) or Vector3.new(0,0,0); RunService.RenderStepped:Wait()
end
FullReset(); UpdateUI()
end)
end
end
end)
UpdateUI()