local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local player = Players.LocalPlayer local function setupCharacter(character) local humanoid = character:WaitForChild("Humanoid") humanoid.UseJumpPower = true humanoid.JumpPower = 47 local canJump = true humanoid.StateChanged:Connect(function(_, newState) if newState == Enum.HumanoidStateType.Landed or newState == Enum.HumanoidStateType.Running then canJump = true end end) UserInputService.JumpRequest:Connect(function() if not humanoid or not humanoid.Parent then return end if canJump and humanoid.FloorMaterial ~= Enum.Material.Air then canJump = false humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end end) end if player.Character then setupCharacter(player.Character) end player.CharacterAdded:Connect(setupCharacter)