local player = game.Players.LocalPlayer local char = player.Character or player.CharacterAdded:Wait() local hrp = char:WaitForChild("HumanoidRootPart") local hum = char:WaitForChild("Humanoid") -- Create the Button UI local sg = Instance.new("ScreenGui", player.PlayerGui) sg.Name = "BackflipGui" local btn = Instance.new("TextButton", sg) btn.Size = UDim2.new(0, 70, 0, 70) btn.Position = UDim2.new(0.8, 0, 0.5, 0) -- Right side of screen btn.BackgroundColor3 = Color3.fromRGB(40, 40, 40) btn.TextColor3 = Color3.fromRGB(255, 255, 255) btn.Text = "FLIP" btn.Font = Enum.Font.SourceSansBold btn.TextSize = 20 -- Round the button corners local corner = Instance.new("UICorner", btn) corner.CornerRadius = UDim.new(0, 10) local flipping = false local function doBackflip() if flipping or hum.FloorMaterial == Enum.Material.Air then return end flipping = true -- Movement Force local vel = Instance.new("BodyVelocity") vel.MaxForce = Vector3.new(100000, 100000, 100000) vel.Velocity = (hrp.CFrame.LookVector * -20) + Vector3.new(0, 45, 0) vel.Parent = hrp -- Rotation Force local gyro = Instance.new("BodyGyro") gyro.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) gyro.D = 500 gyro.P = 3000 gyro.CFrame = hrp.CFrame gyro.Parent = hrp -- Animation loop (Spinning) for i = 1, 10 do gyro.CFrame = gyro.CFrame * CFrame.Angles(math.rad(-36), 0, 0) task.wait(0.04) end vel:Destroy() gyro:Destroy() flipping = false end btn.MouseButton1Click:Connect(doBackflip) print("SkibX: Backflip Button Loaded!")