Полицейские шипы
#9

Quote:
Originally Posted by Eims
View Post
Вообще всё зависит от того, какое максимальное количество шипов ты планируешь разрешить.
Если шипов будет мало - можно заюзать и динамические зоны. Но я бы лучше просто запускал индивидуальный таймер, когда игрок запускает двигатель в авто, и уже в таймере делал бы все нужные проверки.


И если шипов может быть много, я бы сделал так:
1) Разделил карту на определённое количество квадратов, постаравшись заранее предугадать где чаще всего игроки будут ставить шипы. В зонах, где шипы будут ставить чаще (какое-нибудь гетто, например), квадратов было бы больше, дабы каждый квадрат в себе содержал минимальное количество зон.
2) Создал бы массив под каждый из квадратов для хранения ID шипов, чтоб в дальнейшем работать напрямую с шипами из текущего квадрата, а не обрабатывать все шипы.
3) При создании шипов определял бы квадрат, в котором они находятся, и записал бы ID зоны в соответствующий массив.
4) Отслеживал бы то, в каком квадрате находится игрок и уже работал с координатами тех шипов, которые находятся в этом квадрате.
+ для точности можно так же на каждые шипы вешать какой-то радиус, при котором бы запускался таймер с минимальным интервалом. И уже в таймере массивом передавать ID шипов для сверки координат, чтоб по новой не определять их.

Это + индивидуальный таймер, который работает только когда игрок движется в авто - всё это позволит свести к минимуму лишние проверки.
Хотя, опять же, если ты будешь делать вменяемое ограничение на количество шипов, то можно обойтись и без разграничения карты на квадраты (ну или написать более универсальную систему, начав использовать эти разграничения не только для шипов, но и для всех остальных случаев, когда нужно сверять координаты).
Описал работу стримера.

Лучше делать проверку на пересечения вектора движения авто (можно разделить все 4 колеса) с линией шипов.

Даже если задержка проверки в таймере будет большой, то пересечение вектора даст 100% результат в отличии от проверки на нахождение в зоне, где можно тупо пролететь.

Можешь модифицировать под проверку пересечения векторов W_Points
Reply


Messages In This Thread
Полицейские шипы - by Delphi - 14.03.2019, 15:11
Re: Полицейские шипы - by Mutha_X - 14.03.2019, 16:12
Re: Полицейские шипы - by Delphi - 14.03.2019, 17:16
Re: Полицейские шипы - by Eims - 16.03.2019, 16:51
Re: Полицейские шипы - by OKStyle - 16.03.2019, 18:35
Re: Полицейские шипы - by Delphi - 16.03.2019, 18:44
Re: Полицейские шипы - by eakwarp - 16.03.2019, 20:08
Re: Полицейские шипы - by Eims - 17.03.2019, 02:11
Re: Полицейские шипы - by White_116 - 18.03.2019, 21:22
Re: Полицейские шипы - by Eims - 19.03.2019, 00:33

Forum Jump:


Users browsing this thread: 1 Guest(s)