Destroy() doesn't work when I jump

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve? Keep it simple and clear!
    I want it so when even when I jump or whatever that I don’t keep spinning.
  2. What is the issue? Include screenshots / videos if possible!
    I have a code where a vortex pops up to my character by welding it to the root part of the humanoid by press “J” and I end up spinning where I point my mouse but for some reason it doesn’t work when I’m jump and I can’t stop the vortex.
    https://gyazo.com/efeff90677e180360432baa49c7b9f7b
    This shows what happens if I press J while in mid air. How do I fix this?
  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    I have tried many videos, different forums and tried re writing the whole script multiple times.
local meshes = game.ServerStorage.Elements:WaitForChild("Fire Element")
local move = meshes:WaitForChild("FireVortex")
local ra1 = move:WaitForChild("Red Aura 1")
local ra2 = move:WaitForChild("Red Aura 2")
local vortex = move:WaitForChild("Vortex")
local ya1 = move:WaitForChild("Yellow Aura 1")
local ya2 = move:WaitForChild("Yellow Aura 2")
debounce = false
canTouch = false
vortex.CFrame = vortex.CFrame * CFrame.Angles(math.rad(45),0,0)

game.ReplicatedStorage.FireVortex.OnServerEvent:Connect(function(player, direction)
	local character = player.Character
	local getchar = character:GetChildren()
	local humanoid = character:WaitForChild("Humanoid")
	local humrp = character:WaitForChild("HumanoidRootPart")
	local newRa1 = ra1:Clone()
	local newRa2 = ra2:Clone()
	local newVortex = vortex:Clone()
	local newYa1 = ya1:Clone()
	local newYa2 = ya2:Clone()
	local weld1 = Instance.new("Weld", newRa1)
	local weld2 = Instance.new("Weld", newRa2)
	local weld3 = Instance.new("Weld", newVortex)
	local weld4 = Instance.new("Weld", newYa1)
	local weld5 = Instance.new("Weld", newYa2)
	--[[local bodyVelocity = Instance.new("BodyVelocity", newVortex)
	bodyVelocity.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
	bodyVelocity.Velocity = direction.lookVector * 50 --(character.HumanoidRootPart.CFrame.lookVector*50)
	bodyVelocity.Velocity = CFrame.new(humrp.Position)
	humrp.CFrame = humrp.CFrame * CFrame.Angles(math.rad(90),0,0) 
	local bodyPos = Instance.new("BodyPosition", humrp)
	bodyPos.Position = newVortex.Position
	bodyPos.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
	--CFrame.lookAt(humrp.Position , newVortex.Position)
	
	--CFrame.lookAt(humrp.Position, ) -]]
	--newVortex.CFrame = newVortex.CFrame * CFrame.Angles(math.rad(90),0,0)
	--[[for i, v in pairs(g) do
		if v:IsA("Part") then
			v.CFrame = CFrame.Angles(math.rad(90,0,0))
		end
	end--]]
	for i, v in pairs(getchar) do
		if v:IsA("Part") then
			--character.HumanoidRootPart.Transparency = 1
			v.Transparency = 1
		end
		if v:IsA("Accessory") then
			v.Handle.Transparency = 1
		end
		
	end
	
	local BV = Instance.new("BodyVelocity")
	BV.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
	BV.Velocity = direction.lookVector * 50
	BV.Parent = newVortex
	--newVortex.Orientation = Vector3.new(90,math.rad(90),0)
	--[[local BV2 = Instance.new("BodyVelocity")
	BV.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
	BV.Velocity = newRa2.CFrame.lookVector * 50
	BV.Parent = newRa2--]]
	
	--[[local BV3 = Instance.new("BodyVelocity")
	BV.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
	BV.Velocity = newVortex.CFrame.lookVector * 50
	BV.Parent = newVortex--]]
	
	newRa1.Parent = humrp
	newRa2.Parent = humrp
	newVortex.Parent = humrp
	newYa1.Parent = humrp
	newYa2.Parent = humrp
	newRa1.Anchored = false
	newRa2.Anchored = false
	newVortex.Anchored = false
	newYa1.Anchored = false
	newYa2.Anchored = false
	newRa1.CanCollide = false
	newRa2.CanCollide = false
	newVortex.CanCollide = false
	newYa1.CanCollide = false
	newYa2.CanCollide = false
	newRa1.CFrame = newVortex.CFrame
	newRa2.CFrame = newVortex.CFrame
	newVortex.CFrame = humrp.CFrame
	newYa1.CFrame =  newVortex.CFrame
	newYa2.CFrame = newVortex.CFrame
	weld1.Part0 = newRa1
	weld1.Part1 = newVortex
	weld2.Part0 = newRa2
	weld2.Part1 = newVortex
	weld3.Part0 = humrp
	weld3.Part1 = newVortex
	weld4.Part0 = newYa1
	weld4.Part1 = newVortex
	weld5.Part0 = newYa2
	weld5.Part1 = newVortex
	newVortex.Orientation = humrp.Orientation + Vector3.new(90,0,0)
	newRa1.Orientation = humrp.Orientation + Vector3.new(90,0,0)
	newRa2.Orientation = humrp.Orientation + Vector3.new(90,0,0)
	newYa1.Orientation = humrp.Orientation + Vector3.new(90,0,0)
	newYa2.Orientation = humrp.Orientation + Vector3.new(90,0,0)
	--newVortex.CFrame = CFrame.new((humrp.CFrame +  CFrame.new(0,0,-3)).p,direction.p)
	--humrp.CFrame = CFrame.new((humrp.CFrame + CFrame.new(0,0,-3)).p,direction.p)
	while wait()do
		--newRa1.CFrame = newRa1.CFrame * CFrame.Angles(math.rad(90), 0, 0)
		--newRa2.CFrame = newRa2.CFrame * CFrame.Angles(math.rad(90), 0, 0)
		newVortex.CFrame = newVortex.CFrame * CFrame.Angles(0,math.rad(90),0)
		--humrp.CFrame = newVortex.CFrame
		--newYa1.CFrame = newYa1.CFrame * CFrame.Angles(math.rad(90), 0, 0)
		--newYa2.CFrame = newYa2.CFrame * CFrame.Angles(math.rad(90), 0, 0)
		--newVortex.CFrame = newVortex.CFrame * CFrame.Angles(math.rad(90),0,0)
		--print(newVortex.CFrame)
		--humrp.CFrame = humrp.CFrame * CFrame.Angles(math.rad(90),0,0)
		--controls:Disabled()
		--newVortex.CFrame = humrp.CFrame * CFrame.Angles(0,0,0)
		local DamageAmount = 15
		newVortex.Touched:Connect(function(hit)
			local hum = hit.Parent:FindFirstChild("Humanoid")
			if hum and canTouch == false then
				print(hit.Parent)
				if hit.Parent.Name ~= player.Name then
					canTouch = true
					print(hit.Parent)
					hum.Health = hum.Health - DamageAmount
					wait(2)
					newVortex.CFrame = newVortex.CFrame * CFrame.Angles(0,0,0)
					canTouch = false
				
				end
			end
			wait(2)
			newRa1:Destroy()
			newRa2:Destroy()
			newVortex:Destroy()
			newYa1:Destroy()
			newYa2:Destroy()
		--	Controller:Enabled()
			--bodyVelocity:Destroy()
			--bodyPos:Destroy()
			humrp.CFrame = humrp.CFrame 
			for i, v in pairs(getchar) do
				if v:IsA("Part") then 
					v.Transparency = 0
					character:WaitForChild("HumanoidRootPart").Transparency = 1
				end
				if v:IsA("Accessory") then
					v.Handle.Transparency = 0
				end
			end
			
		end)
	end
end)

Also a side question. How do I make it so my root part faces where my mouse goes?

Are you using .Touched to try and detect when you jump?

No, I only have .Touched for when I want to deal damage

I’m sorry, but could you like point out where you’re detecting a jump? (Like a quote of the code or something.)

So, I don’t have anything in the code for jumping. It was just something I found by jumping and using the move. I don’t have anywhere in the code detecting jump or anything with jumping.

Ohhh so the problem is when you jump something doesn’t happen like it’s suppose to.

Yes, exactly. The parts won’t destroy and the velocity and gyro won’t destroy neither.