local UserInputService = game:GetService("UserInputService") local Players = game:GetService("Players") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local humanoid = character:WaitForChild("Humanoid") local infiniteJumpEnabled = true local jumpPower = 50 local rotationSpeed = 5 local spinning = false local spinDirection = 0 -- Enable infinite jump UserInputService.JumpRequest:Connect(function() if infiniteJumpEnabled then humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end end) -- Handle keyboard inputs UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end -- Toggle infinite jump with "J" if input.KeyCode == Enum.KeyCode.J then infiniteJumpEnabled = not infiniteJumpEnabled print("Infinite Jump:", infiniteJumpEnabled) end -- Start spinning clockwise with "+" if input.KeyCode == Enum.KeyCode.Equals then spinDirection = 1 spinning = true end -- Start spinning counterclockwise with "-" if input.KeyCode == Enum.KeyCode.Minus then spinDirection = -1 spinning = true end end) -- Stop spinning when key is released UserInputService.InputEnded:Connect(function(input) if input.KeyCode == Enum.KeyCode.Equals or input.KeyCode == Enum.KeyCode.Minus then spinning = false end end) -- Rotate character RunService.RenderStepped:Connect(function() if spinning and character and character:FindFirstChild("HumanoidRootPart") then local hrp = character.HumanoidRootPart hrp.CFrame = hrp.CFrame * CFrame.Angles(0, math.rad(rotationSpeed * spinDirection), 0) end end)