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

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

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

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

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

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

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

    Trophy Points:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Приобрести мозги
     
  4. IcedwinterZ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Trophy Points:
    123
    Имя в Minecraft:
    Reality_SC
    Code:
    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 Старожил Пользователь

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

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

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

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

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

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

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

Share This Page