--// Roblohacker Menu v1.7 (Fly + WalkSpeed + InfJump + Noclip) -- Place this in StarterGui > LocalScript local player = game.Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local humanoid = character:WaitForChild("Humanoid") local humanoidRootPart = character:WaitForChild("HumanoidRootPart") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") -- Menu local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "RoblohackerMenu" ScreenGui.Parent = player:WaitForChild("PlayerGui") local Menu = Instance.new("Frame") Menu.Size = UDim2.new(0, 250, 0, 300) Menu.Position = UDim2.new(0.1, 0, 0.1, 0) Menu.BackgroundColor3 = Color3.fromRGB(40, 40, 40) Menu.BorderSizePixel = 0 Menu.Active = true Menu.Draggable = true Menu.Parent = ScreenGui -- Title local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, -25, 0, 25) Title.Position = UDim2.new(0, 0, 0, 0) Title.BackgroundColor3 = Color3.fromRGB(25, 25, 25) Title.Text = "Roblohacker Menu v1.7" Title.Font = Enum.Font.SourceSansBold Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.TextSize = 18 Title.Parent = Menu -- Close Button local CloseButton = Instance.new("TextButton") CloseButton.Size = UDim2.new(0, 25, 0, 25) CloseButton.Position = UDim2.new(1, -25, 0, 0) CloseButton.BackgroundColor3 = Color3.fromRGB(150, 0, 0) CloseButton.Text = "X" CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255) CloseButton.Font = Enum.Font.SourceSansBold CloseButton.TextSize = 18 CloseButton.Parent = Menu CloseButton.MouseButton1Click:Connect(function() ScreenGui:Destroy() end) -- Fly Button local FlyButton = Instance.new("TextButton") FlyButton.Size = UDim2.new(1, -10, 0, 40) FlyButton.Position = UDim2.new(0, 5, 0, 35) FlyButton.BackgroundColor3 = Color3.fromRGB(30, 30, 30) FlyButton.TextColor3 = Color3.fromRGB(255, 255, 255) FlyButton.Text = "Fly: OFF" FlyButton.Font = Enum.Font.SourceSansBold FlyButton.TextSize = 20 FlyButton.Parent = Menu -- Reset Button local ResetButton = Instance.new("TextButton") ResetButton.Size = UDim2.new(1, -10, 0, 40) ResetButton.Position = UDim2.new(0, 5, 0, 80) ResetButton.BackgroundColor3 = Color3.fromRGB(30, 30, 30) ResetButton.TextColor3 = Color3.fromRGB(255, 255, 255) ResetButton.Text = "Reset" ResetButton.Font = Enum.Font.SourceSansBold ResetButton.TextSize = 20 ResetButton.Parent = Menu -- WalkSpeed local SpeedLabel = Instance.new("TextLabel") SpeedLabel.Size = UDim2.new(1, -10, 0, 20) SpeedLabel.Position = UDim2.new(0, 5, 0, 125) SpeedLabel.BackgroundTransparency = 1 SpeedLabel.Text = "WalkSpeed: 16" SpeedLabel.Font = Enum.Font.SourceSansBold SpeedLabel.TextColor3 = Color3.fromRGB(255, 255, 255) SpeedLabel.TextSize = 18 SpeedLabel.Parent = Menu local SpeedBox = Instance.new("TextBox") SpeedBox.Size = UDim2.new(1, -10, 0, 30) SpeedBox.Position = UDim2.new(0, 5, 0, 150) SpeedBox.BackgroundColor3 = Color3.fromRGB(30, 30, 30) SpeedBox.TextColor3 = Color3.fromRGB(255, 255, 255) SpeedBox.Text = "16" SpeedBox.Font = Enum.Font.SourceSans SpeedBox.TextSize = 18 SpeedBox.ClearTextOnFocus = false SpeedBox.Parent = Menu SpeedBox.FocusLost:Connect(function() local num = tonumber(SpeedBox.Text) if num and num >= 1 and num <= 1000 then humanoid.WalkSpeed = num SpeedLabel.Text = "WalkSpeed: " .. num end end) -- Infinite Jump local InfJumpButton = Instance.new("TextButton") InfJumpButton.Size = UDim2.new(1, -10, 0, 40) InfJumpButton.Position = UDim2.new(0, 5, 0, 190) InfJumpButton.BackgroundColor3 = Color3.fromRGB(30, 30, 30) InfJumpButton.TextColor3 = Color3.fromRGB(255, 255, 255) InfJumpButton.Text = "InfJump: OFF" InfJumpButton.Font = Enum.Font.SourceSansBold InfJumpButton.TextSize = 20 InfJumpButton.Parent = Menu local infJump = false InfJumpButton.MouseButton1Click:Connect(function() infJump = not infJump InfJumpButton.Text = infJump and "InfJump: ON" or "InfJump: OFF" end) UserInputService.JumpRequest:Connect(function() if infJump then humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end end) -- Noclip local NoclipButton = Instance.new("TextButton") NoclipButton.Size = UDim2.new(1, -10, 0, 40) NoclipButton.Position = UDim2.new(0, 5, 0, 235) NoclipButton.BackgroundColor3 = Color3.fromRGB(30, 30, 30) NoclipButton.TextColor3 = Color3.fromRGB(255, 255, 255) NoclipButton.Text = "Noclip: OFF" NoclipButton.Font = Enum.Font.SourceSansBold NoclipButton.TextSize = 20 NoclipButton.Parent = Menu local noclip = false NoclipButton.MouseButton1Click:Connect(function() noclip = not noclip NoclipButton.Text = noclip and "Noclip: ON" or "Noclip: OFF" end) RunService.Stepped:Connect(function() if noclip then for _, part in pairs(character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end else for _, part in pairs(character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = true end end end end) -- Fly logic local flying = false local bodyGyro local bodyVelocity local flySpeed = 50 FlyButton.MouseButton1Click:Connect(function() flying = not flying FlyButton.Text = flying and "Fly: ON" or "Fly: OFF" if flying then bodyGyro = Instance.new("BodyGyro") bodyGyro.P = 9e4 bodyGyro.MaxTorque = Vector3.new(9e9, 9e9, 9e9) bodyGyro.CFrame = humanoidRootPart.CFrame bodyGyro.Parent = humanoidRootPart bodyVelocity = Instance.new("BodyVelocity") bodyVelocity.Velocity = Vector3.new(0, 0, 0) bodyVelocity.MaxForce = Vector3.new(9e9, 9e9, 9e9) bodyVelocity.Parent = humanoidRootPart RunService.Heartbeat:Connect(function() if flying then local camCF = workspace.CurrentCamera.CFrame local moveDir = Vector3.new() if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDir = moveDir + camCF.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDir = moveDir - camCF.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDir = moveDir - camCF.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDir = moveDir + camCF.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveDir = moveDir + Vector3.new(0, 1, 0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then moveDir = moveDir - Vector3.new(0, 1, 0) end bodyVelocity.Velocity = moveDir * flySpeed bodyGyro.CFrame = camCF end end) else if bodyGyro then bodyGyro:Destroy() end if bodyVelocity then bodyVelocity:Destroy() end end end) -- Reset ResetButton.MouseButton1Click:Connect(function() humanoid.WalkSpeed = 16 SpeedBox.Text = "16" SpeedLabel.Text = "WalkSpeed: 16" end)