function DeleteIdlePlane()for Y,i in pairs(Planekit:GetChildren())do if i.Name=="\080\108\097\110\101"then i:Destroy()end end end function RegenMain()local Y=PlaneClone:clone()Y.Parent=Planekit Y.Origin.Value=Planekit Y:MakeJoints()return Y end function RegeneratePlane(Y)local i=game.Players:GetPlayerFromCharacter(Y.Parent)if i then local Y=i.Character:FindFirstChild("\072\117\109\097\110\111\105\100")if Y.Health~=0 then if Active then Active=false DeleteIdlePlane()for Y=0,1,.2 do Main.Transparency=Y wait()end if RegenTime>=1 then RegenGui.Parent=i.PlayerGui end wait(RegenTime)RegenGui.Parent=script local U=RegenMain()if EnterOnSpawn.Value then coroutine.resume(coroutine.create(function()repeat wait()until U.Welded.Value while true do if U.Welded.Value or Y.Health==0 then break end wait()end onPlaneWelded(i,U)end))end wait(WaitTime)for Y=1,0,-0.2 do Main.Transparency=Y wait()end Active=true end end end end function onPlaneWelded(Y,i)if i and Y then if Y.Character:FindFirstChild("\084\111\114\115\111")then if Y.Character.Humanoid.Health~=0 then Y.Character.Torso.CFrame=i.MainParts.Seat.CFrame end end end end Main.Touched:connect(RegeneratePlane)
--------------------------------------------------------
function DeleteIdlePlane() --This deletes any planes that aren't currently being used
	for _, v in pairs(Planekit:GetChildren()) do
		if v.Name == "Plane" then
			v:Destroy()
		end
	end
end

function RegenMain() --This function regens the plane
	local PlaneClone2 = PlaneClone:clone()
	PlaneClone2.Parent = Planekit
	PlaneClone2.Origin.Value = Planekit
	PlaneClone2:MakeJoints()
	return PlaneClone2
end

function RegeneratePlane(Part) --This is the main regenerating function
	local Player = game.Players:GetPlayerFromCharacter(Part.Parent) --This gets the player that touched it
	if Player then
		local Humanoid = Player.Character:FindFirstChild("Humanoid")
		if Humanoid.Health ~= 0 then
			if Active then
				Active = false
				DeleteIdlePlane() --This activates the "DeleteIdlePlane" function
				for i = 0, 1, 0.2 do --This makes the button transparent
					Main.Transparency = i
					wait()
				end
				if RegenTime >= 1 then
					RegenGui.Parent = Player.PlayerGui --The regengui will be put into the player if the regentime is more than 1
				end
				wait(RegenTime)
				RegenGui.Parent = script --This puts the gui back in the script
				local PlaneClone2 = RegenMain()
				if EnterOnSpawn.Value then --If the EnterOnSpawn value is true...
					coroutine.resume(coroutine.create(function()
						repeat
							wait()
						until PlaneClone2.Welded.Value
						while true do
							if PlaneClone2.Welded.Value or Humanoid.Health == 0 then
								break
							end
							wait()
						end
						onPlaneWelded(Player, PlaneClone2) --This activates the "onPlaneWelded" function whenever the welded value changes
					end))
				end
				wait(WaitTime)
				for i = 1, 0, -0.2 do --This makes the button visible
					Main.Transparency = i
					wait()
				end
				Active = true
			end
		end
	end
end

function onPlaneWelded(Player, Plane) --This function put you into the plane seat the moment the plane is welded
	if Plane and Player then --This checks to make sure there is a plane and a player
		if Player.Character:FindFirstChild("Torso") then
			if Player.Character.Humanoid.Health ~= 0 then
				Player.Character.Torso.CFrame = Plane.MainParts.Seat.CFrame
			end
		end
	end
end

Main.Touched:connect(RegeneratePlane) --This activates the "RegeneratePlane" function when the Main brick is touched
