1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Как сделать дистанцию чата?

Тема в разделе "Разработка плагинов для новичков", создана пользователем Conorfish, 31 авг 2020.

Статус темы:
Закрыта.
  1. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Во-первых, меньше игроков проверять придется. Во-вторых, как писали ранее, ошибка.
    Он возвращает дистанцию по теореме Пифагора. Метод distanceSquared опускает одну тяжёлую операцию - вывод из-под корня. Т.е. если distance 9, distanceSquared вернёт 81. Поэтому мы просто заранее возводим в квадрат проверяемую дистанцию и сверяем её с полученной.
     
  2. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Там оверхет никакущий в Math.sqrt, даже при 200 операций на тик вычислять и сервер это не заметит. Это придется конкретно упоростья и разом флудить 300+ ботами. Но тогда сервер уже упадет от отправки пакетов на чат :D
     
    Последнее редактирование: 31 авг 2020
  3. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Мало ли как ещё тс решит использовать проверку на расстоянии - при движении например. Да и в конце концов - размер кода увеличится максимум на пару строк, читабельность не жертвуется.
     
  4. Автор темы
    Conorfish

    Conorfish Активный участник Пользователь

    Баллы:
    76
    Конечно извини если я не заметил тут ответ, но продублируйте его если он тут есть. Из-за споров я ничего не понял, а только запутался
     
  5. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Ответ @Lillie-May, но с поправкой получения игроков из мира, а не всего онлайна. Опционально - проверка не дистанции, а дистанции в квадрате.
     
  6. Gizar_TV

    Gizar_TV Активный участник Пользователь

    Баллы:
    76
    Ты отправляешь сообщение всем игрокам а if работает если рядом игрок
     
Статус темы:
Закрыта.

Поделиться этой страницей