Циклы активируются одновременно

DimaKlgd2014

Участник
Регистрация
27 Сен 2024
Сообщения
0
Я кодил игру и тут понял что мои 2 цикла срабатывают одновременно независимо от их времени (1040 тиков в первом и 2040 тиков в втором) циклы работаю одинаково цикл трава1 1040 тиков и далее 9 игровых событий заполнить область блоками и второй такой же только 2040 тиков и 7 игровых событий заполнить область блоками и оба они активируются когда заходит игрок. У меня происходит ошибка каждый раз когда срабатывает цикл (я не знаю какой) вроде превышен лимит 10 операций в 1000ms и второй цикл не работает. Как это исправить?
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
370
Я кодил игру и тут понял что мои 2 цикла срабатывают одновременно независимо от их времени (1040 тиков в первом и 2040 тиков в втором) циклы работаю одинаково цикл трава1 1040 тиков и далее 9 игровых событий заполнить область блоками и второй такой же только 2040 тиков и 7 игровых событий заполнить область блоками и оба они активируются когда заходит игрок. У меня происходит ошибка каждый раз когда срабатывает цикл (я не знаю какой) вроде превышен лимит 10 операций в 1000ms и второй цикл не работает. Как это исправить?
представь, что ты каждые 5 секунд говоришь привет, а каждые 10 секунд говоришь пока
на пятой секунде ты скажешь привет, а на десятой скажешь привет и пока, т.к. это и пятая секунда, и десятая
так-же и у тебя в циклах, у тебя циклы в какой-то момент просто соприкасаются, и используют целые 16 действий над миром, хотя вылезаемая ошибка говорит, что вообще-то лимит 10 действий над миром
решение в принципе простое, достаточно цикл с меньшей задержкой занести в начало цикла с большой задержкой
затем после тех 9 игровых действий ставишь задержку на 1000 тиков, и вуаля, всё починилось
е активировать циклы в событии "игрок присоединился к игре"
если цикл запущен, то с ним ничё происходить не будет при повторном запуске, это тут не причём
 

DimaKlgd2014

Участник
Регистрация
27 Сен 2024
Сообщения
0
представь, что ты каждые 5 секунд говоришь привет, а каждые 10 секунд говоришь пока
на пятой секунде ты скажешь привет, а на десятой скажешь привет и пока, т.к. это и пятая секунда, и десятая
так-же и у тебя в циклах, у тебя циклы в какой-то момент просто соприкасаются, и используют целые 16 действий над миром, хотя вылезаемая ошибка говорит, что вообще-то лимит 10 действий над миром
решение в принципе простое, достаточно цикл с меньшей задержкой занести в начало цикла с большой задержкой
затем после тех 9 игровых действий ставишь задержку на 1000 тиков, и вуаля, всё починилось

если цикл запущен, то с ним ничё происходить не будет при повторном запуске, это тут не причём
Я не очень понял насчёт того как это сделать типо я должен 9 блоков из цикла с задержкой 1020 перенести в начало цикла с задержкой 2040 а потом как я поставлю задержку на 1000 тиков и это точно сработает с теми задержками которые у меня стоят?
Сообщение объединено:

Я не очень понял насчёт того как это сделать типо я должен 9 блоков из цикла с задержкой 1020 перенести в начало цикла с задержкой 2040 а потом как я поставлю задержку на 1000 тиков и это точно сработает с теми задержками которые у меня стоят?
Ну лан попробую пока так как понял
 

DimaKlgd2014

Участник
Регистрация
27 Сен 2024
Сообщения
0
представь, что ты каждые 5 секунд говоришь привет, а каждые 10 секунд говоришь пока
на пятой секунде ты скажешь привет, а на десятой скажешь привет и пока, т.к. это и пятая секунда, и десятая
так-же и у тебя в циклах, у тебя циклы в какой-то момент просто соприкасаются, и используют целые 16 действий над миром, хотя вылезаемая ошибка говорит, что вообще-то лимит 10 действий над миром
решение в принципе простое, достаточно цикл с меньшей задержкой занести в начало цикла с большой задержкой
затем после тех 9 игровых действий ставишь задержку на 1000 тиков, и вуаля, всё починилось

если цикл запущен, то с ним ничё происходить не будет при повторном запуске, это тут не причём
Ну или можешь мне сам в коде помочь потому что мне реально не понятно
 
Сверху