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

Помогите Телепортация.

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

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

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

    Баллы:
    66
    Имя в Minecraft:
    ThePuchk0ff
    Привет всем:)
    Хочу сделать штуку, чтобы при нажатии на палочку игрок телепортировался на 10 блоков вперед.
    Как это можно сделать?xD
     
  2. Хостинг MineCraft
    <
  3. _MediaNik_

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

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Приобрести мозги
     
  4. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    Узнать направление взгляда игрока = сервер. юг. запад. восток.
    потом тепешить на 10 блоков вперед
     
  5. Автор темы
    Puchkoff

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

    Баллы:
    66
    Имя в Minecraft:
    ThePuchk0ff
    Спасибо за твой, оч ценный совет, сверхразум, можешь идти дальше.
     
  6. _MediaNik_

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

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    А если он смотрит на СЗ, ЮЗ, СВ, ЮВ?[DOUBLEPOST=1471598055,1471597992][/DOUBLEPOST]Предоставь начальный код, который у тебя есть, ну или то, что ты знаешь.
     
  7. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    А это уже совсем другая история...[DOUBLEPOST=1471598132][/DOUBLEPOST]
    Ты мне?)
     
  8. Автор темы
    Puchkoff

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

    Баллы:
    66
    Имя в Minecraft:
    ThePuchk0ff
    На телепортацию кода нет, пока что я на моменте где чекаю, что у игрока в руке и уровень голода.
     
  9. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    Смотри, вроде как то так... Чесно ХЗ, не дома, так что не проверял.
    Location loc = p.getLocation(); // Получаем корды игрока.
    Location locTp = loc.clone().add(10, 0, 0); // Добавляем к ним 10 блоков по оси X - но там надо узнать, в какую сторону смотрит игрок
    p.teleport(locTp) //Забыл как этот метод называется... Ну.. Этот... Который тпшит

    Этот код не полный, Нужно узнать куда игрок смотрит.
     
  10. _MediaNik_

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

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Нет
    Чекай направление у игрока: player.getLocation().getDirection(). И проверяй
     
  11. Larin

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

    Баллы:
    103
    Холопы не умеют пользоваться синусами и косинусами?
    Подсказываю:
    Игрок - центр круга
    Радиус круга - 10 блоков
    Куда смотри игрок можно получить с помощью одного из методов у Location(я не помню)
    А дальше идёт просто математика.
    Вот пример того, что надо:
    http://flashgamedev.ru/viewtopic.php?f=6&t=3948
    Но многие здесь и 7 класса не закончили, чего уж о пользе математики им говорить.
     
  12. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Код:
    Location loc = player.getLocation().clone();
    Vector   dir = loc.getDirection();
    dir.setY(0.0);
    double   xzr = Math.sqrt(dir.getX() * dir.getX() + dir.getZ() * dir.getZ());
    loc.add(dir.multiply(10.0 / xzr));
    loc — теперь отстоит от игрока на 10 блоков в направлении его взгляда, только в плоскости XZ, Y = начальной позиции.
     
  13. Mr_RoboMan

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

    Баллы:
    123
    А если не хочешь чтоб игрока могло кинуть в землю, добавь к коду @Reality_SC
    loc.setY(loc.getWorld.getHighestBlockAt(loc.getY()))
    Писал прямо тут, так щито хз правильно ли...
     
  14. Larin

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

    Баллы:
    103
    А если этот код в шахте используют? Нужно добавить третью координату и уменьшать радиус, если в месте для телепорта нет воздуха. Also, в sponge это сделать можно в триллион раз легче.
     
  15. Mr_RoboMan

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

    Баллы:
    123
    Ага, только на Sponge туториалов очень мало (только официальный), а один из чувачков на рубаките который нормально знает Sponge, чаще посылает, чем помогает :oops:
     
  16. Larin

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

    Баллы:
    103
    Достаточно 1 раз прочитать официальную документацию, чтобы приобрести знание SpongeAPI на таком же уровне, как у меня.
     

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