So i'm making a spinning helicopter like tool that I finally figured out how to put together and I got it to spin how I want it to spin and everything. The one problem i'm getting is that after a while the blades of the helicopter which are welded to the rotate piece will somehow will teleport somewhere else still welded to the rotate piece but have changed CFrame's . What is my problem here is my script.
while true do
wait()
local mouse = game.Players.LocalPlayer:GetMouse()
local tool = script.Parent
local w = Instance.new("Weld")
w.Parent = Rotate1
w.Part0 = Rotate1
w.Part1 = Blade1
w.C0 = Rotate1.CFrame:inverse()
w.C1 = Blade1.CFrame:inverse()
print ("weld1 made")
local w2 = Instance.new("Weld")
w2.Parent = Rotate1
w2.Part0 = Rotate1
w2.Part1 = Blade2
w2.C0 = Rotate1.CFrame:inverse()
w2.C1 = Blade2.CFrame:inverse()
print ("weld2 made")
local Handle = tool.Handle
local Rotate1 = tool.Rotate1
local rotate = Instance.new("Motor",game.JointsService)
rotate.Part0 = tool.Handle
rotate.Part1 = tool.Rotate1
rotate.C0 = CFrame.new(3,0,0) * CFrame.Angles(0,math.rad(90),0)
rotate.C1 = CFrame.new(0,0,0) * CFrame.Angles(0,math.rad(90),0)
print ("rotate joint made")
local Moving = mouse.Button1Down:connect(function()
rotate.MaxVelocity = math.rad(30)
rotate.DesiredAngle = math.rad(99999999999999999999999999999999999999999999999999999999) -- Couldn't figure out to make it go forever so i just put a number so large that it would take more than a lifetime of spinning to finish
print ("Spinning")
end)
local stop = mouse.Button1Up:connect(function()
rotate.MaxVelocity = math.rad(0)
rotate.DesiredAngle = math.rad(0)
print ("stopping")
end)
end

2 comments
you forgot the 2+1
ok thanks for the help i finally figured this out