Расстояние до trigger_multiple

Banana

Участник
Сообщения
892
Реакции
113
trigger_multiple имеет определенную кубическую площадь, мне нужно узнать находится ли предмет\сущность (например граната) в зоне или на каком расстоянии до зоны находится предмет (ВНИАМНИЕ!! Не до центра trigger_multiple а до ближайшей ее поверхности)

Спасибо за ваше время.
 
Последнее редактирование:

DarkerZ

Участник
Сообщения
405
Реакции
183
ну ставишь фильтр(имя/класс/команда) (для летящей гранаты класс будет hegrenade_projectile), указываешь у триггера, а так же выставляешь необходимые флаги, например для гранаты: Everything (not including physics derbis) + Physics derbis. Ну и соответственно на OnStartTouch ставишь что необходимо сделать типа !activator/!caller/имяхкласс энтити и т.д.
 

Banana

Участник
Сообщения
892
Реакции
113
ну ставишь фильтр(имя/класс/команда) (для летящей гранаты класс будет hegrenade_projectile), указываешь у триггера, а так же выставляешь необходимые флаги, например для гранаты: Everything (not including physics derbis) + Physics derbis. Ну и соответственно на OnStartTouch ставишь что необходимо сделать типа !activator/!caller/имяхкласс энтити и т.д.
та этот метод я знаю. Это больше похоже на костыл)
 

DarkerZ

Участник
Сообщения
405
Реакции
183
у кубического триггера есть mins <vector> maxs <vector> и зная координаты центра триггера, можно узнать расстояние до триггера. но это опять же если триггер именно кубический, а он может быть и овальным и треугольный и ещё хз каким + если его повернуть на условные 45' это опять вызовет ошибку в расчётах
 

Banana

Участник
Сообщения
892
Реакции
113
у кубического триггера есть mins <vector> maxs <vector> и зная координаты центра триггера, можно узнать расстояние до триггера. но это опять же если триггер именно кубический, а он может быть и овальным и треугольный и ещё хз каким + если его повернуть на условные 45' это опять вызовет ошибку в расчётах
он может быть только кубическим или прямоугольным=)
 

DarkerZ

Участник
Сообщения
405
Реакции
183
если нужно в плагине чекать, то вот таким образом
C-подобный:
SDKHook(iEntity, SDKHook_StartTouch, OnStartTouch);
C-подобный:
public Action OnStartTouch(int iEntity, int iActivator){...}
 

Boeing 767

заскамили мамонта ни за что, ни про что
Сообщения
524
Реакции
913
Этого кода достаточно для написания такого функционала.
Почему-то стало интересно вспомнить школьную программу геометрии.
Потратив немного времени можно сделать базовое определение ближайшей стороны к игроку и точки( за основу просто взял середину стороны, чтобы сделать точно, можно использовать код выше(может когда-то доделаю, когда будет не лень) ).
 

Вложения

  • d0dwcaVUru.mp4
    7.5 МБ

Banana

Участник
Сообщения
892
Реакции
113
Этого кода достаточно для написания такого функционала.
Почему-то стало интересно вспомнить школьную программу геометрии.
Потратив немного времени можно сделать базовое определение ближайшей стороны к игроку и точки( за основу просто взял середину стороны, чтобы сделать точно, можно использовать код выше(может когда-то доделаю, когда будет не лень) ).
Благодарю.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
@Banana, емнип у меня на гитхабе был код, где высчитывалось расстояние до ближайшей точки зоны.
там до спавна, вроде расстояние считало
Сообщения автоматически склеены:

@Boeing 767, когда-то здесь на форуме был вопрос по получению расстояния от игрока до какой-то зоны. В принципе там всё просто.
Я там работающий код бросал с визуализацией границ и кратчайшего расстояния от игрока до зоны.
И отображало 2 зоны, при этом писало расстояние до ближайшей, емнип.
 
Последнее редактирование:
Сверху Снизу