So I'm trying to have the clone(NPC) move to the player once the player touches its brick/zone, then once it leaves it returns to the original position, but I haven't done that yet. Whenever I touch the brick that the NPC is supposed to respond to, it just stays there, it doesn't move.

LW = game.Workspace.zone.LW
Mid = game.Workspace.zone.Mid
OPG = game.Workspace.zone.OPG
RW = game.Workspace.zone.RW
z1 = game.Workspace.zone.Zones.z1
z2 = game.Workspace.zone.Zones.z2
z3 = game.Workspace.zone.Zones.z3
z4 = game.Workspace.zone.Zones.z4
opg1 = false
lw1 = false
mid1 = false
rw1 = false

z1.Touched:connect(function(hit)
	
	local character= script.Parent:FindFirstChild("Humanoid")
	
			if character then
					print("it works")
				opg1 = true
				while opg1 == true do
				OPG.Humanoid:MoveTo(game.Workspace.Player.Humanoid)
				wait()

				end
			else
				return false
	end
end)