local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") local player = Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local hrp = character:WaitForChild("HumanoidRootPart") local COOLDOWN = 0.5 local POWER = 50 local lastHop = 0 UIS.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.Space then if tick() - lastHop < COOLDOWN then return end local params = RaycastParams.new() params.FilterDescendantsInstances = {character} params.FilterType = Enum.RaycastFilterType.Blacklist local result = workspace:Raycast(hrp.Position, hrp.CFrame.LookVector * 3, params) if result then hrp.AssemblyLinearVelocity = Vector3.new( -hrp.CFrame.LookVector.X * 20, POWER, -hrp.CFrame.LookVector.Z * 20 ) lastHop = tick() end end end)