- Регистрация
- 6 Ноя 2023
- Сообщения
- 3
Исходные данные:
Запуск игры - проверка на наличие переменных/массива и их создание, остановка и запуск циклов.
Цикл (5 тиков) который строит мост (в двух екземплярах) при каждой установке блока запускается асинк функция.
Событие игрок (игрок установил блок) - взять координату блока - вызвать асинк функцию.
Функция - внести данные координаты блока - провернуть счетчик индекса на +1.
Окончание игры - остановка и запуск циклов.
Цикл (0,33 тиков) на вызов асинк функции.
Функция - извлечение данных координаты - провернуть счетчик индекса на -1 - установить блок воздуха по извлеченной координате.
Суть проблемы:
Код успешно сохраняет координаты от 2 строящихся мостов и удаляет их полностью, так же он спокойно успевает сохранить, а потом и удалить если несколько игроков размещают блоки в нубском темпе.
Проблемы возникают когда игроки ставят блоки с помощью кликера или просто имеют неприличный КПС, судя по всему код попросту не успевает записать все координаты или вовремя изменить номер индекса, я не думаю что проблема именно в той части кода где происходит извлечение данных поскольку частота его выполнения лимитирована, в отличие от записи.
Сама болячка выглядит как случайное нагромождение одиночных блоков в местах где игроки строились ну ооочень быстро, при том мосты которые были построены кодом в этот самый момент удаляются штатно.
Вобщем я бы мог поставить кулдаун на установку блоков, или ввести другие ограничения, но интересны ваши соображения как лечить такую болячку. Концептуально или конкретным примером кода.
Запуск игры - проверка на наличие переменных/массива и их создание, остановка и запуск циклов.
Цикл (5 тиков) который строит мост (в двух екземплярах) при каждой установке блока запускается асинк функция.
Событие игрок (игрок установил блок) - взять координату блока - вызвать асинк функцию.
Функция - внести данные координаты блока - провернуть счетчик индекса на +1.
Окончание игры - остановка и запуск циклов.
Цикл (0,33 тиков) на вызов асинк функции.
Функция - извлечение данных координаты - провернуть счетчик индекса на -1 - установить блок воздуха по извлеченной координате.
Суть проблемы:
Код успешно сохраняет координаты от 2 строящихся мостов и удаляет их полностью, так же он спокойно успевает сохранить, а потом и удалить если несколько игроков размещают блоки в нубском темпе.
Проблемы возникают когда игроки ставят блоки с помощью кликера или просто имеют неприличный КПС, судя по всему код попросту не успевает записать все координаты или вовремя изменить номер индекса, я не думаю что проблема именно в той части кода где происходит извлечение данных поскольку частота его выполнения лимитирована, в отличие от записи.
Сама болячка выглядит как случайное нагромождение одиночных блоков в местах где игроки строились ну ооочень быстро, при том мосты которые были построены кодом в этот самый момент удаляются штатно.
Вобщем я бы мог поставить кулдаун на установку блоков, или ввести другие ограничения, но интересны ваши соображения как лечить такую болячку. Концептуально или конкретным примером кода.