Отслеживание передвижения Player'a

  • Автор темы Автор темы stiznt
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

stiznt

Активный участник
Пользователь
Баллы
61
Можно ли каким-нибудь танцам с бубном узнать сколько Player прошел
 
Последнее редактирование:
Мне кажется он хочет узнать именно двигается ли Игрок в определенный момент, т.е. что-то вроде вызвать метод Player.IsMovingNowMazafaka();
Но такого нету(
А самому такой метод закостылить?
 
Я не представляю насколько это костыльно должно быть))...
Ну сохраняй позицию игрока в хашмап при каждом moveevent, а перед тем как сохранить тупо сравнивай позицию из хашмапа и игрока. Если отличаеться то значит он двигаеться. И заноси новые корды в мапу
 
Ну сохраняй позицию игрока в хашмап при каждом moveevent, а перед тем как сохранить тупо сравнивай позицию из хашмапа и игрока. Если отличаеться то значит он двигаеться. И заноси новые корды в мапу
Ну можно, только это не мне надо, а ТСу)
 
Ну сохраняй позицию игрока в хашмап при каждом moveevent, а перед тем как сохранить тупо сравнивай позицию из хашмапа и игрока. Если отличаеться то значит он двигаеться. И заноси новые корды в мапу
ох уж эти мамкины кодеры. а потом "ой, сервер лагает"

для подобных решений категорически запрещено использовать MoveEvent. На сервере с онлайном в 100 человек эта штука может вызываться 2 - 3 тысячи раз в секунду. даже 1 миллисекунда исполнения запихнутого туда кода вызовет огромную проблему.
 
ох уж эти мамкины кодеры. а потом "ой, сервер лагает"

для подобных решений категорически запрещено использовать MoveEvent. На сервере с онлайном в 100 человек эта штука может вызываться 2 - 3 тысячи раз в секунду. даже 1 миллисекунда исполнения запихнутого туда кода вызовет огромную проблему.
NCP нормальноже работает с большим онлайном, а там действий с MoveEvent намного больше, чем тупо сохранение корд в мапу. Хотя как обычно я наверное не прав.
 
ох уж эти мамкины кодеры. а потом "ой, сервер лагает"

для подобных решений категорически запрещено использовать MoveEvent. На сервере с онлайном в 100 человек эта штука может вызываться 2 - 3 тысячи раз в секунду. даже 1 миллисекунда исполнения запихнутого туда кода вызовет огромную проблему.
Молчал бы уже тогда. Вспомни сначала, как привелегии в своих самописах через dispatchCommand выдавал.
 
Код:
    @EventHandler
    public void onMove(PlayerMoveEvent event) {
        Player p = event.getPlayer();
        if(!(event.getFrom().getY() < event.getTo().getY())) {
            // игрок не прыгнул
            // куда то заносишь значение
            // в моем случае в конфиг предположим
            getConfig().set(p.getName().toString(), getConfig().getInt(p.getName().toString()) + 1);
             saveConfig();
        }
    }
 
Если нужно узнать сколько игрок прошёл вообще (с первого захода) то вот
Java:
int totalWalked = player.getStatistic(Statistic.WALK_ONE_CM);
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх