Хорошо, я делаю игру в режиме ожидания, и чтобы вам не приходилось ждать каждую секунду, чтобы получить озолит (валюта в игре), я создал переменную с именем ops (озолит в секунду) и сделал setInterval () выполняется таким образом, что, если у человека есть 2 операции, он будет запускаться каждые 0,5 секунды. Это работает в большинстве случаев, но иногда он сходит с ума и решает, что он идет так же быстро, как если бы у игрока было 1000 операций, поэтому он работает каждые 1 миллисекунду. Вот код, который является источником проблемы, чтобы помочь вам найти ответ на этот вопрос.
ops = Math.floor(((reactors*10)+mines)*((alientransbought*colplanets)+1))
if(ops>=1){
setInterval(production,Math.floor(1000/ops)) //Production is just where it gives the ozolith and is not
the root of the problem
}