Как проверить находиться ли игрок за игроком?
#1

Доброго времени суток. Можно ли как-нибудь проверить, находиться ли игрок за спиной другого игрока? Мой вариант: узнать позицию и угол поворота игрока, по этим координатам создать зону (mix, miny, maxx, maxy) за игроком, и проверять, находиться ли другой игрок в этой зоне. Может есть какой вариант получше?
Reply
#2

https://sampforum.blast.hk/showthread.php?tid=344951 только углы на 180 уменьши
Reply
#3

Quote:
Originally Posted by OKStyle
Посмотреть сообщение
https://sampforum.blast.hk/showthread.php?tid=344951 только углы на 180 уменьши
Про какую функцию вы конкретно говорите? Что-то я не понимаю, как она мне поможет.
Reply
#4

Тогда совсем-совсем печалька. Та функция определяет положение ПЕРЕД игроком. Другие углу дадут положение ЗА игроком.
Reply
#5

Quote:
Originally Posted by OKStyle
Посмотреть сообщение
Тогда совсем-совсем печалька. Та функция определяет положение ПЕРЕД игроком. Другие углу дадут положение ЗА игроком.
Это я понимаю. Поэтому я и спрашиваю, как мне поможет эта функция, если она выдаст конкретные координаты за игроком, а не сверит координаты игроков?
Reply
#6

> Геометрия
>> Декартова система координат (плоская)
>> Углы
>>> 7-9 классы
>>>> Мне вас жаль.

P.s.: 2^9 -ый пост))
Reply
#7

Quote:
Originally Posted by Mutha_X
Посмотреть сообщение
> Геометрия
>> Декартова система координат (плоская)
>> Углы
>>> 7-9 классы
>>>> Мне вас жаль.

P.s.: 2^9 -ый пост))
Из-за чего вам меня жаль? Вы меня даже не знаете. Из-за вопроса или из-за того, что я никогда не понимал математику? Абсурд. Что такое "2^9"? С сис-мой координат Декартова я знаком, но я не совсем понимаю, как это реализовать в самп, либо вы не понимаете меня. Я хочу проверить, находиться ли игрок за спиной другого игрока (в радиусе нескольких метров от него).

Эдит: Вы имеете ввиду - получить координаты игрока и проверить их по углу:
Код:
x < player_x, y < player_y
x > player_x, y > player_y
x > player_x, y < player_y
x < player_x, y > player_y
?
Reply
#8

Quote:
Originally Posted by Mutha_X
Посмотреть сообщение
> Геометрия
>> Декартова система координат (плоская)
>> Углы
>>> 7-9 классы
>>>> Мне вас жаль.

P.s.: 2^9 -ый пост))
Не нужно иронизировать и стараться принизить других форумчан. Не все знают геометрию так хорошо, как наверное вы. Блеснули знаниями...
Reply
#9

Quote:
Originally Posted by Johurt
Посмотреть сообщение
Из-за чего вам меня жаль? Вы меня даже не знаете. Из-за вопроса или из-за того, что я никогда не понимал математику? Абсурд. Что такое "2^9"? С сис-мой координат Декартова я знаком, но я не совсем понимаю, как это реализовать в самп, либо вы не понимаете меня. Я хочу проверить, находиться ли игрок за спиной другого игрока (в радиусе нескольких метров от него).

Эдит: Вы имеете ввиду получить координаты игрока и проверить их по углу:
Код:
x < player_x, y < player_y
x > player_x, y > player_y
x > player_x, y < player_y
x < player_x, y > player_y
?
Отвечаю по порядку:
Из-за того что вы не знаете математику, тяжело вам будет по жизни.
Читай предыдущий ответ.
2^9 это 512 - количество сообщений.
А чего тут понимать, откиньте вообще ГТА и вы получите просто систему координат в 3 измерениях. Определить расстояние между двумя игроками можно встроенной функцией IsPlayerInRangeOfPoint, дальше нужно определить что они смотрят в одном направлении, или примерно в одном, GetPlayerFacingAngle, и самое сложно определить кто из них позади, для этого вам потребуется складывать и вычитать координаты X и Y в зависимости от угла поворота игрока (подсказка всего 4 сектора).
Вам даже теорема Пифагора не потребуется.

Quote:
Originally Posted by Mexanizm93
Посмотреть сообщение
Не нужно иронизировать и стараться принизить других форумчан. Не все знают геометрию так хороши, как наверное вы. Блеснули знаниями...
Без математики в программировании никак. Так что не надо тут, не знаете математику - идите кричите "свободная касса".
Reply
#10

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
Отвечаю по порядку:
Из-за того что вы не знаете математику, тяжело вам будет по жизни.
Читай предыдущий ответ.
2^9 это 512 - количество сообщений.
А чего тут понимать, откиньте вообще ГТА и вы получите просто систему координат в 3 измерениях. Определить расстояние между двумя игроками можно встроенной функцией IsPlayerInRangeOfPoint, дальше нужно определить что они смотрят в одном направлении, или примерно в одном, GetPlayerFacingAngle, и самое сложно определить кто из них позади, для этого вам потребуется складывать и вычитать координаты X и Y в зависимости от угла поворота игрока (подсказка всего 4 сектора).
Вам даже теорема Пифагора не потребуется.

Без математики в программировании никак. Так что не надо тут, не знаете математику - идите кричите "свободная касса".
Я согласен, но не нужно превозносить себя в облака выше других. Мне не понравился тон его поста.
К тому же, не все проф. программисты и такая сложная и серьёзная дисциплина не всем даётся. Кто то поймёт с первого раза, а кто то с 100-го.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)