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