local player = game.Players.LocalPlayer local mouse = player:GetMouse() local RunService = game:GetService("RunService") local object local basePos local time = 0 local amplitude = 5 local speed = 2 mouse.Button1Down:Connect(function() if mouse.Target and mouse.Target.Name == "Soccerg33ign3t" then object = mouse.Target basePos = object.Position print("Ball selected:", object:GetFullName()) end end) RunService.RenderStepped:Connect(function(dt) if object then time += dt * speed local newY = basePos.Y + math.sin(time) * amplitude object.CFrame = CFrame.new( basePos.X, newY, basePos.Z ) end end)