I want to make this script not working when the player is falling and when you landed, it will work:
local leaderstats = game.Players.LocalPlayer.leaderstats local jumps = leaderstats.Points --|| SERVICES ||-- local camera = game.Workspace.CurrentCamera local random = math.random(5000, 10000) local UserInputService = game:GetService("UserInputService") local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local SlideSFX = Instance.new("Sound") SlideSFX.Parent = script.Parent.HumanoidRootPart SlideSFX.MaxDistance = 50 SlideSFX.MinDistance = 10 SlideSFX.SoundId = "rbxassetid://6429226498" SlideSFX.Volume = 1.5 SlideSFX.Name = "SlideSFX" local Character = script.Parent local Humanoid = Character:WaitForChild("Humanoid") local Slide = Humanoid:LoadAnimation(script:WaitForChild("Animation")) local Properties = { Velocity = 300, Duration = .10, Keybind = Enum.KeyCode.C, LastSlide = tick(), Cooldown = 1, } UserInputService.InputBegan:Connect(function(Input, GameProcessedEvent) if Input.KeyCode == Properties.Keybind and Humanoid.Jump == false then if tick() - Properties.LastSlide >= Properties.Cooldown then Properties.LastSlide = tick() Slide:Play() SlideSFX:Play() jumps.Value += math.random(3,5) local BodyVelocity = Instance.new("BodyVelocity") BodyVelocity.MaxForce = Vector3.new(1,1,1) * random BodyVelocity.Velocity = Character.HumanoidRootPart.CFrame.LookVector * Properties.Velocity BodyVelocity.Parent = Character.HumanoidRootPart wait(Properties.Duration) BodyVelocity:Destroy() end end end)