Así que estoy construyendo un Pokémon Idle RPG y codifiqué una función "buyStarter ()", de modo que cuando un jugador tenga suficiente dinero, puede comprar un Pokémon inicial que haga clic automáticamente para ellos. Por alguna razón, el intervalo no comienza cuando comienza la función "buyStarter()".
A continuación se muestra la función llamada onClick y debajo se encuentra la función que se supone que establecerá el intervalo si tiene éxito.
var starterCost = 250; var starter = 0; var autoclick = 0; function buyStarter() { if (count >= starterCost && starter == 0) { autoclick = 1; starter = 1; count = count - starterCost; document.getElementById("starterCost").innerHTML = starterCost; document.getElementById("starter").innerHTML = starter; document.getElementById("autoclick").innerHTML = autoclick; } else if (starter == 1) { alert("you have already purchased a starter pokemon"); } else { alert("You cannot purchase a starter pokemon"); } setInterval(function(buyStarter) { findPokeballs(autoclick); }, 1000); } <input type="image" id="" src="images/pokemon/black-white/1.png" onClick="buyStarter()" value="Send">El proceso de la función es hacer clic y, una vez que ganes suficiente dinero, puedes comprar un pokemon para que haga clic por ti (inactivo/autoclicker).
Cometiste tres errores:
setInterval , pero setInterval no tiene idea de qué pasar como ese parámetrocount en alguna parte, así que var count; en la parte superior donde estás definiendo otras variablessetInterval desde el principio, y en su lugar tener un valor booleano que cambie a verdadero cuando desee que la función comience a ser llamada, esto le brinda la ventaja de una mayor personalización más adelante (como agregar diferentes declaraciones que se ejecutan/no ejecutar en su setInterval .