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

Помогите Вычисление вектора для перемещения на заданную позицию

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

Метки:
  1. Автор темы
    SoKnight

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

    Баллы:
    66
    Имя в Minecraft:
    SoKnight_
    Ну мне обрезать не нужно, если ты про это. Ну а так, щас попробую)
     
  2. Автор темы
    SoKnight

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

    Баллы:
    66
    Имя в Minecraft:
    SoKnight_
    @BDMan, А откуда брать getDirection то? Ну просто Vector toTarget = getDirectory(...); не работает...
     
  3. Автор темы
    SoKnight

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

    Баллы:
    66
    Имя в Minecraft:
    SoKnight_
    @BDMan Смотри, а можно вот так?

    Код:
    Vector playerVector = p.getLocation().clone().add(0, 4, 0).toVector().multiply(0.1);
    p.setVelocity(playerVector);
     
  4. BDMan

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

    Баллы:
    76
    Имя в Minecraft:
    CKATEPTb
    Лучше так, как я скинул.
    Я же написал что я его выше скидывал!
    ВОТ ОН!
     
  5. Автор темы
    SoKnight

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

    Баллы:
    66
    Имя в Minecraft:
    SoKnight_
    А, всё, понял, ща протещу) Извини)
     
  6. Автор темы
    SoKnight

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

    Баллы:
    66
    Имя в Minecraft:
    SoKnight_
    @BDMan Чёт не работает... Вот код:
    Код:
    if(withPlayer == true) {
                p.setGravity(false);
                p.setMetadata("InElevator", new FixedMetadataValue(EPlus.plugin, elevatorName));
                Vector playerVector = getDirection(p.getLocation(), p.getLocation().clone().add(0,wayDistance,0)).multiply(0.1);
                p.setVelocity(playerVector);
            }
           
            for(int c = 0; c < moveBlocks.size(); c++) {
                FallingBlock b = moveBlocks.get(c);
                Vector blockVector = getDirection(b.getLocation(), b.getLocation().clone().add(0,wayDistance,0)).multiply(0.1);
                moveBlocks.get(c).setVelocity(blockVector);
            }
    WayDistance - Кол-во блоков между текущим этажом и целевым
     
  7. BDMan

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

    Баллы:
    76
    Имя в Minecraft:
    CKATEPTb
    Должно работать. Ищи причину, увеличь множитель до 1.
     
  8. Автор темы
    SoKnight

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

    Баллы:
    66
    Имя в Minecraft:
    SoKnight_
    Ну я почти всё починил, но... Блоки и игрок всё равно улетают выше, чем нужно. Если что у игрока и у блоков отключена гравитация.
     
  9. BDMan

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

    Баллы:
    76
    Имя в Minecraft:
    CKATEPTb
    С множителем играйся
     
  10. Автор темы
    SoKnight

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

    Баллы:
    66
    Имя в Minecraft:
    SoKnight_
    @BDMan Слушай, а можно ли как-то убить эти fallingBlock'и? Просто сейчас я их просто телепортирую "в космос"...
     
  11. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    FallingBlock b = ...;
    b.remove();
     
  12. alexandrage

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

    Баллы:
    173
    Юзать арморстенд и шелкера. Никуда никого телепортировать в космос не придется. Игрок на них сам поднимется и сможет двигаться и прыгать во время движения лифта.
     
    Последнее редактирование: 7 апр 2019
  13. Автор темы
    SoKnight

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

    Баллы:
    66
    Имя в Minecraft:
    SoKnight_
    Да я видел твоё сообщение в дискорде про этот лифт, не хочу я так)))
    + Такое передвижение выглядит дёрганым. Мне лучше пожертвовать стабильностью, чем плавностью)
     
  14. alexandrage

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

    Баллы:
    173
    Ну смотря как сделать. Тот просто не очень качественно сделан.
    А твое говно и лифтом не назвать, игрок будет как привязанный.
     
    Последнее редактирование: 7 апр 2019
  15. Автор темы
    SoKnight

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

    Баллы:
    66
    Имя в Minecraft:
    SoKnight_
    Ты думаешь, что так сложно сделать "лифт", используя цикл телепортаций? Это никому не интересно, это может сделать блен каждый, а вот плавный лифт - нет... Да и тебе так важно двигаться, когда перемещение занимает секунду-две в любом случае?
     
  16. Автор темы
    SoKnight

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

    Баллы:
    66
    Имя в Minecraft:
    SoKnight_
    Спасибо, чуть позже попробую.
     
  17. alexandrage

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

    Баллы:
    173
    Важно.
     
  18. BDMan

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

    Баллы:
    76
    Имя в Minecraft:
    CKATEPTb
    Кто-то в лифте круги наматывает пока едет.
     
  19. alexandrage

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

    Баллы:
    173
    Ага. И круги и прыгает.
     

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