Touch won't work

Here is the code -
–Event 2
elseif Event.Value == 2 then
AlbertPresent.Value = false
if AlbertPresent.Value == false then

			Albert.Position = Vector3.new(43.989, 3.351, -7.009)
	
			if RanPos.Value == 1 then
				Fladingo.Position = Vector3.new(23.989,1.351,-201.009)
			elseif RanPos.Value == 2 then
				Fladingo.Position = Vector3.new(-140.449,1.351,-155.643)
			elseif RanPos.Value == 3 then
				Fladingo.Position = Vector3.new(174.15, 1.351, -155.271)
			end
	
			Fladingo.Touched:connect(function()
					daF:Play()
						wait(3)
				Fladingo.Position = Vector3.new(51.989, 3.351, -7.009)
				Albert.Position = Vector3.new(174.15, 1.351, -155.271)
					AlbertPresent.Value = true
				wait(1)
			end)
		end 

So I want Fladingo to play the sound then move back to its position but it won’t go back and I’m not sure how to fix it. It will do everything else it is suppose to like teleport to one of the random positions that I set but not work when you touch it.

Is there any errors? (Char300000000000)

There isn’t any errors. (char30)

Okay I guess I fixed it?? maybe…??

So to understand, you want when u touch a part(fladingo or albert) in your case, to play a sound, and when the sound is done playing, fladingo move to one random position?

well I tried in play mode and when I first touched it it didn’t do what it was suppose to but then I went into other tab for a sec and came back and it had teleported in the right place

basically Albert is the main and if you touch him he starts a random event from the list I have and I’m using Fladingo as a dummy so the real teleports out of map but Fladingo will teleport into a random location in the map and when you touch him its suppose to send fladingo back to its original position under the map and the real Albert back to its normal position.