Как сделать плоты

Vlad232012

Активный участник
Регистрация
10 Май 2023
Сообщения
17
Как сделать плоты такие чтобы при заходе игроку создавался плот а при повторном заходе его туда телепортировало?
 

maxim34a

Эксперт
Регистрация
10 Июн 2023
Сообщения
538
Как сделать плоты такие чтобы при заходе игроку создавался плот а при повторном заходе его туда телепортировало?
Это сложно. Не понимаешь - не лезь. Самый лучший способ сделать плот - сохранять блоки в массив, а при надобности - загружать эти блоки. Возьмём к примеру офис. Ты строишь сотню одинаковых зданий, а когда надо - просто узнаешь координаты и тип блока из массива с плотом игрока и ставишь блоки на нужные места. Когда игрок выходит - сохраняешь все поставленные блоки(Насчёт сломанных сложнее.) и вставляешь на место этого здания пустое.
 

danikbobr6

Новичок
Регистрация
7 Июл 2023
Сообщения
2
Как сделать плоты такие чтобы при заходе игроку создавался плот а при повторном заходе его туда телепортировало?
Могу примерно подскзаать.
1688739540174.png
В этом примере размер плота 20. Блоки которые включительно входят в первый плот это от 0 до 19, во второй это от 20 до 39 и так далее.
Создаешь масив размером 12, так как всего 12 тут плотов.
Это будет 12 ников, т.е 12 хозяев плотов.
Когда игрок взаимодействует с блоком - мы берем координату блока.
Берем X и делим на 20 и округляем вниз, прибавляем 1. Y делим тоже на 20 и округляем вниз и умножаем на 3(так как по X у нас помещается всего 3 плота).
Теперь складываем X+Y и полуаем индекс в массиве, или же просто - номер плота.
По индексу мы легко находим хозяина плота, и если вдруг его имя не равно имени текущего игрока - отменяем событие.

Для создания плота для игрока мы через цикл проходим по массиву и ищем не занятый плот.
Теперь наша цель сделать обратную операцию - получить из индекса координаты.
I - наш индекс, тогда координатa начальная координата плота X = ((i-1)%3) * 20
Y = (i-1)/3 и округляем вниз и умножаем на 20.
 
Сверху