Личная рекурсивная функция

Seesness

Участник
Регистрация
20 Июл 2023
Сообщения
6
Можно ли реализовать личную рекурсивную функцию, которая не будет стакаться после перезахода игрока?
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
381
Можно ли реализовать личную рекурсивную функцию, которая не будет стакаться после перезахода игрока?
JavaScript:
PlayerEvent(leave) {
    var.set(`%player%_func`, 0);
}

PlayerEvent(join) {
    game.wait(2);
    select.default();
    var.set(`%player%_func`, 1);
    function.call(`рекурсия`);
}

Function(`рекурсия`) {
    select.default();
    ifVar.equals(`%player%_func`, 1) {
        // код рекурсии
    }
}
этот код застопится после перезахода игрока
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
381
Я думал над такой реализацией, но если попасть в тайминг, то можно будет повторно вызывать функцию
game.wait(2); ни о чём не говорит да?
Сообщение объединено:

тайминг такой есть только если у сервера тпс просел
так-же не забывай, что задержка в строке входа должен быть больше, чем задержка самой рекурсии
 

Seesness

Участник
Регистрация
20 Июл 2023
Сообщения
6
game.wait(2); ни о чём не говорит да?
Сообщение объединено:

тайминг такой есть только если у сервера тпс просел
так-же не забывай, что задержка в строке входа должен быть больше, чем задержка самой expected
Если у меня рекурсия работает раз в 100 тиков, то мне придется ставить задержку при входе 101, а это такая себе реализация
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
381
Если у меня рекурсия работает раз в 100 тиков, то мне придется ставить задержку при входе 101, а это такая себе реализация
окей)
JavaScript:
PlayerEvent(leave) {
    var.set(`%player%_func`, 0);
}

PlayerEvent(join) {
    game.wait(2);
    select.default();
    var.set(`%player%_func`, 1);
    var.set(`%player%_func_times`, 0);
    function.call(`рекурсия`);
}

Function(`рекурсия`) {
    select.default();
    ifVar.equals(`%player%_func`, 1) {
        var.add(`%player%_func_times`, 1);
        ifVar.compare(`%player%_func_times`, 100) {
            var.set(`%player%_func_times`, 0);
            // код рекурсии
        }
        game.wait(1);
        function.call(`рекурсия`);
    }
}
теперь код считает 100 тиков, в случае прерыва цикл остановится за 1 тик
 

Seesness

Участник
Регистрация
20 Июл 2023
Сообщения
6
Делать счетчик и вызывать код при определенном брейкпоинте это ясно, но верно ли понял, что без задержки при входе никак?
окей)
JavaScript:
PlayerEvent(leave) {
    var.set(`%player%_func`, 0);
}

PlayerEvent(join) {
    game.wait(2);
    select.default();
    var.set(`%player%_func`, 1);
    var.set(`%player%_func_times`, 0);
    function.call(`рекурсия`);
}

Function(`рекурсия`) {
    select.default();
    ifVar.equals(`%player%_func`, 1) {
        var.add(`%player%_func_times`, 1);
        ifVar.compare(`%player%_func_times`, 100) {
            var.set(`%player%_func_times`, 0);
            // код рекурсии
        }
        game.wait(1);
        function.call(`рекурсия`);
    }
}
теперь код считает 100 тиков, в случае прерыва цикл остановится за 1 тик
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
381
Делать счетчик и вызывать код при определенном брейкпоинте это ясно, но верно ли понял, что без задержки при входе никак?
можно в целом, но мне уже лень третий раз код писать
 
Сверху