Run it
Copy the script and paste it into your executor.
-- LocalScript in StarterPlayerScripts
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
-- Wait for character and parts
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local rootPart = character:WaitForChild("HumanoidRootPart")
-- Wait until character is likely grounded
repeat task.wait() until rootPart.Velocity.Magnitude < 1
-- Freeze movement
humanoid.PlatformStand = true
-- Settings
local amplitude = 10 -- height
local speed = 10 -- bounce speed
local startPosition = rootPart.Position -- should now be correct
-- Bouncing
RunService.RenderStepped:(()
rootPart rootPart.Parent
bounceY = .(() * speed) * amplitude
newPosition = .(startPosition.X, startPosition.Y + bounceY, startPosition.Z)
rootPart.Velocity = .zero
rootPart.RotVelocity = .zero
rootPart.CFrame = .(newPosition)
)
Makes you bounce up and down until you reset

Universal