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

0

you forgot the 2+1

0

ok thanks for the help i finally figured this out