Помогите Получить игроков рядом , расстояние и направление до них

  • Автор темы Автор темы swat1x
  • Дата начала Дата начала
PHP:
        Player you = (Player) sender;
        Player target = (хз как ты его там получаешь,  вставь сюда цель, до чего надо найти направляние);
        Vector v = findPath(you.getLocation(), target.getLocation());
        you.getEyeLocation().setDirection(v);
Камеру игрока автоматически направит на цель.
 
PHP:
        Player you = (Player) sender;
        Player target = (хз как ты его там получаешь,  вставь сюда цель, до чего надо найти направляние);
        Vector v = findPath(you.getLocation(), target.getLocation());
        you.getEyeLocation().setDirection(v);
Камеру игрока автоматически направит на цель.
Так мне нужно не направлять камеру игрока, а получить направление до игрока и получить направление до него, а затем это указать стрелочками в /near
 
Сложно объяснить, вот пример
V_QFHCbH_xU.jpg
 
Можешь накостылить с yaw.
У юга есть свой придел, например от 30 до 90 градусов. Получаешь этот придел и сравниваешь его его с yaw вектора, который ты получил из метода findpath |> если в данном пределе находится - то направление юг.
 
Можешь накостылить с yaw.
У юга есть свой придел, например от 30 до 90 градусов. Получаешь этот придел и сравниваешь его его с yaw вектора, который ты получил из метода findpath |> если в данном пределе находится - то направление юг.
Юг это не значит что игроки реально на юге, а то, что они сзади. Просто тут так написано
 
upload_2021-3-27_0-47-31.png
как-то так, только они не статичны, а типа центр - игрок
 
Хорошо, тогда можешь сравнить разницу playeryaw - targetyaw. Например, игрок смотрит на север - 90 градусов. Второй игрок находится сзади него, и вектор до него равено 180 градусам. Мы из 90 отнимаем 180 получается -90 |> нам надо повернуть на восток.

Далее, мы, например смотрим на 90, а вектор до игрока находится на 200. Мы из 90 отнимаем 200 -110 |> нам нужно идити на юго-восток. Вроде все.

Хотя, чувствую, что я начинаю нести бред уже и есть способ легче.
 
А если игрок сверху или снизу, это будет типо в раю или в аду :D?
 
А если игрок сверху или снизу :D?
Так главное направление, не вижу смысла указывать высоту. Ну конечно если игрок не в состоянии сам понять на какой высоте чел, то хз зачем он вообще майн скачал. Ему бы в школу математику учить
 
Так главное направление, не вижу смысла указывать высоту. Ну конечно если игрок не в состоянии сам понять на какой высоте чел, то хз зачем он вообще майн скачал. Ему бы в школу математику учить
Так что же ты не учил? Не задавал бы такие вопросы. Тебе сложно даже вычесть направление.
 
Вот на это уже нужны синусы и косинусы, но и это считает метод локации сам. Кидал ранее.
 
Вот на это уже нужны синусы и косинусы, но и это считает метод локации сам. Кидал ранее.
Конечно круто, там чел уже кидал метод выше для нахождения вектора. Не знаю о какой матеше за 1 класс ты говоришь, ибо я даже у своей математички спросил как такой угол найти. Даже она сказала, что чтобы так сделать, надо поделить координату, которая определяет куда смотрит игрок вводивший команду, на координату, которая определяет справа или слева и вообще на каком расстоянии игрок. И уже через полученый тангенс найти угол.
 
Конечно круто, там чел уже кидал метод выше для нахождения вектора. Не знаю о какой матеше за 1 класс ты говоришь, ибо я даже у своей математички спросил как такой угол найти. Даже она сказала, что чтобы так сделать, надо поделить координату, которая определяет куда смотрит игрок вводивший команду, на координату, которая определяет справа или слева и вообще на каком расстоянии игрок. И уже через полученый тангенс найти угол.
Так это я тебе кидал как получается направление.
targetLocation.setDirection(targetLocation.toVector().subtract(location.toVector()));
Те только разницу высчитать от взгляда таргета.
 
Так это я тебе тоже кидал как получается направление. Те только разницу высчитать от взгляда таргета.
Там выдаётся число от 1 до 3 в твоём методе, но сам yaw по до 360. Если бы было ещё понятно что от чего отнимать, а так твой метод пока не помогает
 
Там выдаётся число от 1 до 3 в твоём методе, но сам yaw по до 360. Если бы было ещё понятно что от чего отнимать, а так твой метод пока не помогает
Всмысле не помогает? Вон же видео кидал. Ты только высоту не бери если не нужна.
 
Всмысле не помогает? Вон же видео кидал. Ты только высоту не бери если не нужна.
Мне просто нужно найти угол
unknown.png

Я не знаю как то что ты говоришь, связано с его нахождением. Если ты знаешь формулу то ПОЖАЛУЙСТА скажи :)
 
Мне просто нужно найти угол
unknown.png

Я не знаю как то что ты говоришь, связано с его нахождением. Если ты знаешь формулу то ПОЖАЛУЙСТА скажи :)
Так и быть, решу этот пример за тебя.
Код:
            Location targetLocation = target.getLocation().clone();
            Location location = player.getLocation().clone();
            targetLocation.setDirection(targetLocation.toVector().subtract(location.toVector()));
            float value = player.getLocation().getYaw()-targetLocation.getYaw();

target это твоя цель, игроки вокруг.
 
Победа товарищи!upload_2021-3-30_23-48-53.png
Но кодом я не поделюсь. :)
 
Назад
Верх