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

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

Discussion in 'Разработка плагинов для новичков' started by jamesg101, Aug 6, 2016.

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

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

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

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

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

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

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

    Code:
    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 Активный участник Пользователь

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

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

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

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

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

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

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

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

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

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

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

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

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

Share This Page