Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Как отследить, что игрок не двигается?

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

  1. Автор темы
    jamesg101

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

    Баллы:
    76
    Имя в Minecraft:
    jamesg101
    Народ, как отследить, что игрок не двигается, а точнее сам игрок, не камера.
     
  2. Хостинг MineCraft
    <
  3. Mr_RoboMan

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

    Баллы:
    123
    Для того чтобы просто отследить движение - PlayerMoveEvent,
    для того чтобы отследить именно двигался ли игрок (а не камера), сравнивай его X, Y, Z из локации откуда он двигался и из локации куда он двигается.
     
  4. gasfull

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

    Баллы:
    123
    Skype:
    gasfull2
    Имя в Minecraft:
    gasfull
    e.getPlayer().getWalkSpeed()[DOUBLEPOST=1470490301,1470490184][/DOUBLEPOST]А точнее

    Код:
    public void onMove(PlayerMoveEvent e){
    Player p = e.getPlayer();
    if (p.getWalkSpeed == 0) {
      p.sendMessage("u Stay)";
    }else{
      p.sendMessage("U walk");
    }
    }
    
    
    Можно еще проверить на Sprint (IsSpringing())
    booleanisSprinting()
    Gets whether the player is sprinting or not.
     
  5. Автор темы
    jamesg101

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

    Баллы:
    76
    Имя в Minecraft:
    jamesg101
    Да ты гений, а я прям не знал. Только вот эта байда работает и с камерой
     
  6. gasfull

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

    Баллы:
    123
    Skype:
    gasfull2
    Имя в Minecraft:
    gasfull
    Тебе нужно узнать, стоит ли игрок, Правильно?
     
  7. Автор темы
    jamesg101

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

    Баллы:
    76
    Имя в Minecraft:
    jamesg101
    Народ, как отследить, что игрок не двигается, а точнее сам игрок, не камера.
     
  8. Ission

    Ission Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    lokivava
    Проверить расстояние с его предыдущим местоположением, делать это в задаче каждые зетталион(подобрать эмперически) тиков, если расстояние меньше 0.005 например, то не двигается. С нулём не сравнивать, всё же это числа с плавающей точкой, а не с фиксированной.
     
  9. Dymeth

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

    Баллы:
    76
    Разве есть какая-то разница? По логике можно просто сравнить два значения. Можно поподробнее?
     
  10. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    По логике инженеров IEEE ноль в вещественных числах можно записать огромным числом способов, причём все эти нули будут отличны друг от друга. Сравнение традиционно проводят так: модуль числа должен быть меньше [или равен] погрешности.
    Подробнее миллион в интернетах.
     
  11. Dymeth

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

    Баллы:
    76
    Спасибо. Я сам разобрался, поскольку как раз приспичило. Странно, что за кучу времени первый раз с этим столкнулся...
     

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