Half-Life и Adrenaline Gamer форум
http://aghl.ru/forum/

Проблемы с кодом 2
http://aghl.ru/forum/viewtopic.php?f=20&t=2839
Страница 1 из 1

Автор:  BIGs [ 03 дек 2017, 23:49 ]
Заголовок сообщения:  Проблемы с кодом 2

Всем привет , я не могу решить проблему. Это часть кода запуска гранаты , когда граната касается поверхности - взрыв.
Но она косается стен и пола , а мне надо чтобы она взрывалась только на полу. А еще если она падает на лафт и его включить то спавнится очень много взрывов и серверу приходится тяжело. Как убрать эти баги?
 

Автор:  Lev [ 04 дек 2017, 01:36 ]
Заголовок сообщения:  Re: Проблемы с кодом 2

BIGs писал(а):
то спавнится очень много взрывов
Ну, гранату-то удаляй после взрыва.
Какая-то странная граната. Почему только на полу?
Проверить пол или не пол можно сделав trace вниз. Если упрется, то можно проверить в ентитю (лифт) или в пол (world). И проверить угол наклона поверхности (TR_vecPlaneNormal).

Автор:  BIGs [ 04 дек 2017, 19:29 ]
Заголовок сообщения:  Re: Проблемы с кодом 2

Блина. Сори за тупёж. Можно пожалуйста пример кода?
Почему только на полу? Да так попросили.

Автор:  Lev [ 04 дек 2017, 21:21 ]
Заголовок сообщения:  Re: Проблемы с кодом 2

Код:
   pev(id, pev_origin, origin);
   end[0] = origin[0];
   end[1] = origin[1];
   end[2] = origin[2] - 10.0; // тут зависит от размера ббокса ентити, на самом деле, поэкспериментируй

   engfunc(EngFunc_TraceLine, origin, end, IGNORE_MONSTERS, 0, 0);
   new ent = get_tr2(0, TR_pHit);
   get_tr2(0, TR_vecPlaneNormal, planeNormal);
Надо убедиться что ты воткнулся во что-нибудь, проверить во что и потом проверить вектор нормали. Не помню, если честно, что там должно быть. Скорее всего единичный вектор. Если так, то можно просто проверять z координату на величину (типа, больше 0.6). На крайняк, есть xs_vec_angle, но не должна понадобиться.

Автор:  BIGs [ 06 дек 2017, 00:39 ]
Заголовок сообщения:  Re: Проблемы с кодом 2

Лёва , я доточил код. А что дальше?

Автор:  Lev [ 06 дек 2017, 06:37 ]
Заголовок сообщения:  Re: Проблемы с кодом 2

А я откуда знаю? :)

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/