I keep getting: No appropriate version of 'UnityEngine.Object.Instantiate' for the argument list '(float, UnityEngine.Vector3, UnityEngine.Quaternion)' was found.

I keep getting “No appropriate version of ‘UnityEngine.Object.Instantiate’ for the argument list ‘(float, UnityEngine.Vector3, UnityEngine.Quaternion)’ was found”

I’m not quite sure where the mistake is. Where I need to pass a Vector3, I do, and so on with the Quaternion in the Instantiate function, yet I keep getting this error.
Any help would be highly appreciated.

#pragma strict

var miProyectil: GameObject;
var tiempoRecarga: float = 1f;
var velocidadGiro: float = 5f;
var tiempoPausa: float = .25f;
var efectoBoca: float = .001f;
var miObjetivo: Transform;
var bocaPosicion: Transform[];
var torreBola: Transform;
var errorAmount: float = 2f;

private var tiempoSiguienteDisparo: float;
private var tiempoSiguienteMovimiento: float;
private var rotacionDeseada: Quaternion;
private var errorApuntar: float;

function Start () {

}

function Update () 
{

	if(miObjetivo)
	{
		if(Time.time >= tiempoSiguienteMovimiento)
			{
			CalcularPosicionApuntar(miObjetivo.position);
			torreBola.rotation = Quaternion.Lerp(torreBola.rotation, rotacionDeseada, Time.deltaTime*velocidadGiro);

			}
		if(Time.time >= tiempoSiguienteDisparo)
			{
		DispararProyectil();
			}
	}
		
}

function CalcularErrorApuntar()
		{
		errorApuntar = Random.Range(-errorAmount, errorAmount);
		}

function EnemigoEntraRango(other : Collider)
	{
	if(other.gameObject.tag == "Enemigo")
	{
		tiempoSiguienteDisparo = Time.time+(tiempoRecarga*.5);
		miObjetivo = other.gameObject.transform;
		}
	}

function CalcularPosicionApuntar(posicionObjetivo : Vector3)
	{
	var puntoApuntado = Vector3(posicionObjetivo.x+errorApuntar, posicionObjetivo.y+errorApuntar, posicionObjetivo.z+errorApuntar);
	rotacionDeseada = Quaternion.LookRotation(puntoApuntado);
	}

function DispararProyectil()
	{
	audio.Play();
	tiempoSiguienteDisparo = Time.time+tiempoRecarga;
	tiempoSiguienteMovimiento = Time.time+tiempoPausa;
	CalcularErrorApuntar();
	
		for(laBocaPosicion in bocaPosicion)
			{
			Instantiate(miProyectil, laBocaPosicion.position, laBocaPosicion.rotation);
			Instantiate(efectoBoca, laBocaPosicion.position, laBocaPosicion.rotation);
			}
	}
	
function EnemigoSaleRango(other: Collider)
		{
			if(other.gameObject.transform ==miObjetivo)
			{
				miObjetivo = null;
			}
		}

The problem is in this line:

     Instantiate(efectoBoca, laBocaPosicion.position, laBocaPosicion.rotation);

efectoBoca is declared as float - definitely, you’re not allowed to instantiate a float in the scene! What exactly are you trying to instantiate with this line?