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

Помогите Velocity 0 при движении в бок

Тема в разделе "Разработка плагинов для новичков", создана пользователем ql_Nik_lp, 23 июл 2014.

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

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

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Собственно сабж такой, попробовал толкнуть игрока в сторону движения, но хрен там.
    Велосити "работает" только при движении вперед, если же передвигаться через A и D, то Velocity 0

    Чтоподелать?
     
  2. Автор темы
    ql_Nik_lp

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

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
  3. fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Т.е. ты хочешь сказать, что когда игрок не давит кнопку W или S у него Velocity нет???
     
  4. DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    Так и есть.
    Bukkit не вычисляет velocity (или вычисляет не верно) для игроков.
    Для "своих" энтитей (на стороне сервера) он всегда вычисляет динамическую скорость, а вот перемещение клиента - зависит от самого клиента.
    В протоколе клиент никогда не передает своей скорости. По факту при движении он просто телепортируется на короткие расстояния. Единственный способ вычислить его скорость - дифференциальный.
     
  5. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Видимо it's time для формулы V = loc.distance(prev) / (dTicks * 20.0);
    Или как-то так.
     
  6. Автор темы
    ql_Nik_lp

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

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Благодарю за информацию.
    В данный момент пытаюсь реализовать через смещения получаемые через onMoveEvent
    Скорость мы так то получим, только нам она нужна в векторе, по XYZ
     
  7. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    dx = curr.x - prev.x
    dy = curr.y - prev.y
    dz = curr.z - prev.z
    Насколько я понял, ты пытаешься сделать что-то типа прыгалки? )
     
  8. fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Прикольно. Тогда нужно делать репорт по ошибке. Пущай исправляют ;)
     
  9. Ission

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

    Баллы:
    173
    Skype:
    lokivava
    На сколько я знаю так не только с игроками, но и с мобами, на ванильном ядре.
     
  10. Автор темы
    ql_Nik_lp

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

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Я про это и говорил
    Все верно. Так и сделал)
     

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