coroutine.wrap(function() local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Camera = workspace.CurrentCamera local LocalPlayer = Players.LocalPlayer local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() local HRP = Character:WaitForChild("HumanoidRootPart") local Humanoid = Character:WaitForChild("Humanoid") local driftToggled = false local muteStepsToggled = false local superJumpToggled = false local espToggled = true local jumpDriftToggled = false local jumpDriftToggleKey = Enum.KeyCode.Comma local boostDirection = Vector3.zero local boostTime = 0 local boostDuration = 0.25 local boostStrength = 1.35 local airControlStrength = 0.8 local maxAirSpeedIncrease = 20 local airSpeedIncrease = Vector3.zero local noInputTime = 0 local fadeDuration = 0.5 local superJumpHeight = 100 local driftSpeed = 5 local currentDriftVelocity = Vector3.new(0, 0, 0) local acceleration = 60 local deceleration = 80 local driftKey = Enum.KeyCode.Period local muteStepsKey = Enum.KeyCode.Semicolon local jumpToggleKey = Enum.KeyCode.Quote local toggleUIKey = Enum.KeyCode.RightAlt local espToggleKey = Enum.KeyCode.BackSlash LocalPlayer.CharacterAdded:Connect(function(char) Character = char HRP = char:WaitForChild("HumanoidRootPart") Humanoid = char:WaitForChild("Humanoid") airSpeedIncrease = Vector3.zero noInputTime = 0 if muteStepsToggled then toggleFootstepsMute(true) end end) local visuals = {} local muteConnection local function createVisual(player) visuals[player] = { dot = Drawing.new("Circle"), text = Drawing.new("Text"), box = Drawing.new("Square"), name = Drawing.new("Text") } local v = visuals[player] local lime = Color3.fromRGB(0, 255, 0) v.dot.Radius = 2 v.dot.Color = lime v.dot.Filled = true v.dot.Thickness = 1 v.text.Color = Color3.fromRGB(255, 255, 255) v.text.Size = 13 v.text.Center = true v.text.Outline = true v.name.Color = Color3.fromRGB(255, 255, 255) v.name.Size = 13 v.name.Center = true v.name.Outline = true v.box.Color = lime v.box.Thickness = 1.5 v.box.Transparency = 1 v.box.Filled = false end local function removeVisual(player) if visuals[player] then for _, v in pairs(visuals[player]) do v:Remove() end visuals[player] = nil end end Players.PlayerRemoving:Connect(removeVisual) local function isFootstepSound(sound) if not sound:IsA("Sound") then return false end local sname = sound.Name:lower() return sname:find("step") or sname:find("foot") or sname:find("walk") end local function setFootstepsVolume(character, volume) for _, sound in pairs(character:GetDescendants()) do if isFootstepSound(sound) then sound.Volume = volume end end end local function muteNewFootsteps(character) if muteConnection then muteConnection:Disconnect() muteConnection = nil end muteConnection = character.DescendantAdded:Connect(function(obj) if isFootstepSound(obj) then obj.Volume = 0 end end) end local function toggleFootstepsMute(state) local char = LocalPlayer.Character if not char then return end if state then setFootstepsVolume(char, 0) muteNewFootsteps(char) else if muteConnection then muteConnection:Disconnect() muteConnection = nil end setFootstepsVolume(char, 1) end end RunService.RenderStepped:Connect(function(dt) for _, player in pairs(Players:GetPlayers()) do local char = player.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") local head = char and char:FindFirstChild("Head") if player == LocalPlayer or not char or not hrp or not head then removeVisual(player) continue end if not visuals[player] then createVisual(player) end local v = visuals[player] local headPos = Camera:WorldToViewportPoint(head.Position + Vector3.new(0, 0.5, 0)) local footPos = Camera:WorldToViewportPoint(hrp.Position - Vector3.new(0, 2.5, 0)) local screenPos, onScreen = Camera:WorldToViewportPoint(hrp.Position) if onScreen and espToggled then local target = Vector2.new(screenPos.X, screenPos.Y) local distance = (hrp.Position - Camera.CFrame.Position).Magnitude local roundedDistance = math.floor(distance) v.dot.Position = target v.dot.Visible = true v.text.Text = tostring(roundedDistance) .. "m" v.text.Position = Vector2.new(target.X, target.Y + 12) v.text.Visible = true v.name.Text = player.Name v.name.Position = Vector2.new(target.X, target.Y - 18) v.name.Visible = true local boxHeight = math.abs(headPos.Y - footPos.Y) local boxWidth = boxHeight / 2 v.box.Size = Vector2.new(boxWidth, boxHeight) v.box.Position = Vector2.new(screenPos.X - boxWidth / 2, headPos.Y) v.box.Visible = true else v.dot.Visible = false v.text.Visible = false v.name.Visible = false v.box.Visible = false end end local hrp = HRP if hrp then for _, sound in pairs(hrp.Parent:GetDescendants()) do if sound:IsA("Sound") and sound.IsPlaying then local parent = sound.Parent if parent and parent:IsA("BasePart") then local dist = (parent.Position - hrp.Position).Magnitude if dist < 5 then if muteStepsToggled then sound.Volume = 0 else sound.Volume = 1 end end end end end end if driftToggled and HRP then local dir = Humanoid.MoveDirection if dir.Magnitude > 0 then local targetVelocity = dir.Unit * driftSpeed currentDriftVelocity = currentDriftVelocity:Lerp(targetVelocity, math.clamp(acceleration * dt, 0, 1)) else currentDriftVelocity = currentDriftVelocity:Lerp(Vector3.new(0, 0, 0), math.clamp(deceleration * dt, 0, 1)) end HRP.CFrame = HRP.CFrame + currentDriftVelocity * dt end if jumpDriftToggled and HRP and Humanoid then if boostDirection.Magnitude > 0 then local elapsed = tick() - boostTime if elapsed < boostDuration then local fade = 1 - (elapsed / boostDuration) HRP.AssemblyLinearVelocity += boostDirection * (boostStrength * fade * dt * 60) end end if Humanoid:GetState() == Enum.HumanoidStateType.Freefall then local inputDir = Vector3.new() if UserInputService:IsKeyDown(Enum.KeyCode.W) then inputDir += workspace.CurrentCamera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then inputDir -= workspace.CurrentCamera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then inputDir -= workspace.CurrentCamera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then inputDir += workspace.CurrentCamera.CFrame.RightVector end inputDir = Vector3.new(inputDir.X, 0, inputDir.Z) if inputDir.Magnitude > 0 then inputDir = inputDir.Unit noInputTime = 0 local currentVel = HRP.AssemblyLinearVelocity local horizontalVel = Vector3.new(currentVel.X, 0, currentVel.Z) local desiredIncrease = inputDir * airControlStrength * dt * 60 local potentialIncrease = airSpeedIncrease + desiredIncrease if potentialIncrease.Magnitude > maxAirSpeedIncrease then desiredIncrease = desiredIncrease.Unit * (maxAirSpeedIncrease - airSpeedIncrease.Magnitude) end airSpeedIncrease += desiredIncrease local newHorizontalVel = horizontalVel + desiredIncrease HRP.AssemblyLinearVelocity = Vector3.new(newHorizontalVel.X, currentVel.Y, newHorizontalVel.Z) else noInputTime += dt if noInputTime < fadeDuration then local fade = 1 - (noInputTime / fadeDuration) local currentVel = HRP.AssemblyLinearVelocity local horizontalVel = Vector3.new(currentVel.X, 0, currentVel.Z) local fadedVel = airSpeedIncrease * fade local baseVel = horizontalVel - airSpeedIncrease local newHorizontalVel = baseVel + fadedVel HRP.AssemblyLinearVelocity = Vector3.new(newHorizontalVel.X, currentVel.Y, newHorizontalVel.Z) else airSpeedIncrease = Vector3.zero end end else airSpeedIncrease = Vector3.zero noInputTime = 0 end end end) Humanoid.Jumping:Connect(function(active) if active then local moveDir = Humanoid.MoveDirection if moveDir.Magnitude > 0 then boostDirection = moveDir.Unit boostTime = tick() end airSpeedIncrease = Vector3.zero noInputTime = 0 end end) Humanoid.StateChanged:Connect(function(_, new) if new == Enum.HumanoidStateType.Jumping and superJumpToggled and HRP then HRP.Velocity = Vector3.new(HRP.Velocity.X, superJumpHeight, HRP.Velocity.Z) elseif new == Enum.HumanoidStateType.Landed then airSpeedIncrease = Vector3.zero noInputTime = 0 end end) UserInputService.InputBegan:Connect(function(input, gpe) if gpe then return end if input.UserInputType == Enum.UserInputType.Keyboard then if UserInputService:GetFocusedTextBox() then return end if input.KeyCode == driftKey then driftToggled = not driftToggled DriftToggle.Text = "Toggle Drift: " .. (driftToggled and "ON" or "OFF") elseif input.KeyCode == muteStepsKey then muteStepsToggled = not muteStepsToggled toggleFootstepsMute(muteStepsToggled) MuteStepsToggle.Text = "Mute Footsteps: " .. (muteStepsToggled and "ON" or "OFF") elseif input.KeyCode == jumpToggleKey then superJumpToggled = not superJumpToggled SuperJumpToggle.Text = "Super Jump: " .. (superJumpToggled and "ON" or "OFF") elseif input.KeyCode == toggleUIKey then Frame.Visible = not Frame.Visible elseif input.KeyCode == espToggleKey then espToggled = not espToggled ESPToggle.Text = "ESP: " .. (espToggled and "ON" or "OFF") elseif input.KeyCode == jumpDriftToggleKey then jumpDriftToggled = not jumpDriftToggled JumpDriftToggle.Text = "Jump Drift: " .. (jumpDriftToggled and "ON" or "OFF") end end end) local ScreenGui = Instance.new("ScreenGui", LocalPlayer:WaitForChild("PlayerGui")) ScreenGui.ResetOnSpawn = false local Frame = Instance.new("Frame", ScreenGui) Frame.Size = UDim2.new(0, 320, 0, 320) Frame.Position = UDim2.new(0.5, -160, 0.5, -160) Frame.BackgroundColor3 = Color3.fromRGB(40, 40, 40) Frame.BorderSizePixel = 0 Frame.Visible = true Frame.Active = true Frame.Draggable = true local corner = Instance.new("UICorner", Frame) corner.CornerRadius = UDim.new(0, 12) local padding = Instance.new("UIPadding", Frame) padding.PaddingTop = UDim.new(0, 10) padding.PaddingBottom = UDim.new(0, 10) padding.PaddingLeft = UDim.new(0, 15) padding.PaddingRight = UDim.new(0, 15) local layout = Instance.new("UIListLayout", Frame) layout.SortOrder = Enum.SortOrder.LayoutOrder layout.Padding = UDim.new(0, 8) local Title = Instance.new("TextLabel", Frame) Title.Size = UDim2.new(1, 0, 0, 35) Title.BackgroundTransparency = 1 Title.Text = "Nerbs Scripts" Title.Font = Enum.Font.GothamBold Title.TextSize = 22 Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.LayoutOrder = 0 local SliderLabel = Instance.new("TextLabel", Frame) SliderLabel.Size = UDim2.new(1, 0, 0, 25) SliderLabel.BackgroundTransparency = 1 SliderLabel.Text = "Super Jump Height: " .. tostring(superJumpHeight) SliderLabel.TextColor3 = Color3.fromRGB(255, 255, 255) SliderLabel.Font = Enum.Font.GothamSemibold SliderLabel.TextSize = 18 SliderLabel.TextXAlignment = Enum.TextXAlignment.Left SliderLabel.LayoutOrder = 1 local Slider = Instance.new("TextBox", Frame) Slider.Size = UDim2.new(1, 0, 0, 35) Slider.BackgroundColor3 = Color3.fromRGB(55, 55, 55) Slider.Text = tostring(superJumpHeight) Slider.Font = Enum.Font.GothamSemibold Slider.TextSize = 18 Slider.TextColor3 = Color3.fromRGB(255, 255, 255) Slider.ClearTextOnFocus = false Slider.LayoutOrder = 2 Slider.FocusLost:Connect(function() local val = tonumber(Slider.Text) if val then superJumpHeight = math.clamp(val, 0, 500) SliderLabel.Text = "Super Jump Height: " .. tostring(superJumpHeight) else Slider.Text = tostring(superJumpHeight) end end) local DriftToggle = Instance.new("TextButton", Frame) DriftToggle.Size = UDim2.new(1, 0, 0, 30) DriftToggle.BackgroundColor3 = Color3.fromRGB(80, 80, 80) DriftToggle.Text = "Toggle Drift: OFF" DriftToggle.Font = Enum.Font.GothamSemibold DriftToggle.TextSize = 18 DriftToggle.TextColor3 = Color3.fromRGB(255, 255, 255) DriftToggle.LayoutOrder = 3 DriftToggle.MouseButton1Click:Connect(function() driftToggled = not driftToggled DriftToggle.Text = "Toggle Drift: " .. (driftToggled and "ON" or "OFF") end) local MuteStepsToggle = Instance.new("TextButton", Frame) MuteStepsToggle.Size = UDim2.new(1, 0, 0, 30) MuteStepsToggle.BackgroundColor3 = Color3.fromRGB(80, 80, 80) MuteStepsToggle.Text = "Mute Footsteps: OFF" MuteStepsToggle.Font = Enum.Font.GothamSemibold MuteStepsToggle.TextSize = 18 MuteStepsToggle.TextColor3 = Color3.fromRGB(255, 255, 255) MuteStepsToggle.LayoutOrder = 4 MuteStepsToggle.MouseButton1Click:Connect(function() muteStepsToggled = not muteStepsToggled toggleFootstepsMute(muteStepsToggled) MuteStepsToggle.Text = "Mute Footsteps: " .. (muteStepsToggled and "ON" or "OFF") end) local SuperJumpToggle = Instance.new("TextButton", Frame) SuperJumpToggle.Size = UDim2.new(1, 0, 0, 30) SuperJumpToggle.BackgroundColor3 = Color3.fromRGB(80, 80, 80) SuperJumpToggle.Text = "Super Jump: OFF" SuperJumpToggle.Font = Enum.Font.GothamSemibold SuperJumpToggle.TextSize = 18 SuperJumpToggle.TextColor3 = Color3.fromRGB(255, 255, 255) SuperJumpToggle.LayoutOrder = 5 SuperJumpToggle.MouseButton1Click:Connect(function() superJumpToggled = not superJumpToggled SuperJumpToggle.Text = "Super Jump: " .. (superJumpToggled and "ON" or "OFF") end) local JumpDriftToggle = Instance.new("TextButton", Frame) JumpDriftToggle.Size = UDim2.new(1, 0, 0, 30) JumpDriftToggle.BackgroundColor3 = Color3.fromRGB(80, 80, 80) JumpDriftToggle.Text = "Jump Drift: OFF" JumpDriftToggle.Font = Enum.Font.GothamSemibold JumpDriftToggle.TextSize = 18 JumpDriftToggle.TextColor3 = Color3.fromRGB(255, 255, 255) JumpDriftToggle.LayoutOrder = 6 JumpDriftToggle.MouseButton1Click:Connect(function() jumpDriftToggled = not jumpDriftToggled JumpDriftToggle.Text = "Jump Drift: " .. (jumpDriftToggled and "ON" or "OFF") end) local ESPToggle = Instance.new("TextButton", Frame) ESPToggle.Size = UDim2.new(1, 0, 0, 30) ESPToggle.BackgroundColor3 = Color3.fromRGB(80, 80, 80) ESPToggle.Text = "ESP: ON" ESPToggle.Font = Enum.Font.GothamSemibold ESPToggle.TextSize = 18 ESPToggle.TextColor3 = Color3.fromRGB(255, 255, 255) ESPToggle.LayoutOrder = 7 ESPToggle.MouseButton1Click:Connect(function() espToggled = not espToggled ESPToggle.Text = "ESP: " .. (espToggled and "ON" or "OFF") end) end)()