Why don’t you use CFrame:Lerp()? You can set a starting cframe and an ending one, then use the function inside a for loop like this
local startingCf = CFrame.new(0, 0, 0)
local endingCf = CFrame.new(1, 0, 0)
for i = 1, 100, 1 do
model:PivotTo(startingCf:Lerp(endingCf, i/100))
task.wait()
end
turret:GetPivot() * CFrame.lookAt(Vector3.new(turret:GetPivot()), mouse.Hit.Position)
Did you try to multiply by the turrets cframe cuz else it will teleport to cframe(0, 0, 0). You tested this already right?
Try tweening atan2 with the Mouse Axis if you want smòoth rotation. You can also use a plugin to weld the car if not done already. Atan2 = four-quadrant inverse tangent. I suggest you read a bit about atan2 it is pretty useful. For example you have a frisbee and you throw that firsbee to your friend on the other side of the field, atan2 would tell you where the firsbee would be by its end destination.