HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > ПРОСТРЕЛЫ.
через стену как в cs1.6
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
с@ш@ халфер
Молодой

Дата регистрации: Jul 2010
Проживает: Нижний Новгород
Сообщений: 134
Возраст: 29

Рейтинг



Unhappy ПРОСТРЕЛЫ.

Я уже голову сломал пытаясь выдрать из гаусса код прострела для пушки mp5...
Пожалуйста(искал в гугле на двух форумах а толку 0)сделайте(есле не трудно)или помогите с прострелов через стены...
И чтобы это работало в пушке mp5//

__________________
Глупый юзер

Кто написал^^^

Тот сам такой...

Сообщить модератору | IP: Записан
Сообщение: 63324

Старое сообщение 22-08-2010 20:02
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33064
Нанёс повреждений: 392 ед.

Рейтинг



с@ш@ халфер может для начала английский подучить?
ну чтобы каменты в коде понимать.

C++ Source Code:
1
// try punching through wall if secondary attack (primary is incapable of breaking through)
2
if ( !m_fPrimaryFire )
3
{
4
  UTIL_TraceLine( tr.vecEndPos + vecDir * 8, vecDest, dont_ignore_monsters, pentIgnore, &beam_tr);
5
  if (!beam_tr.fAllSolid)
6
  {
7
    // trace backwards to find exit point
8
    UTIL_TraceLine( beam_tr.vecEndPos, tr.vecEndPos, dont_ignore_monsters, pentIgnore, &beam_tr);

Траселайн до вышеприведенного кода упирается в стенку и возвращает tr.vecEndPos - это точка, где луч уперся в стенку.
Далее мы делаем трассу сквозь стенку вперед на 8 юнитов:
C++ Source Code:
UTIL_TraceLine( tr.vecEndPos + vecDir * 8, vecDest, dont_ignore_monsters, pentIgnore, &beam_tr);

Если через 8 юнитов трасса не выйдет наружу (стенка окажется толще либо это будет крайняя стена уровня, то трасса наружу не выйдет и вернет параметр allsolid == true.
Поэтому чуть дальше делается проверка на beam_tr.allsolid.
Но стенка, вовсе необязательно должна быть ровно 8 юнитов. Она может быть и 1 юнит и 3 юнита. Поэтому нам необходимо найти точку с обратной стороны стены, которую мы прострелили. Для этого делается еще одна трасса, назад - уже в сторону игрока.
C++ Source Code:
UTIL_TraceLine( beam_tr.vecEndPos, tr.vecEndPos, dont_ignore_monsters, pentIgnore, &beam_tr);

Этот последний вызов и вернет точку с той стороны стены - beam_tr.vecEndPos.
А уж что дальше делать с этой точкой - трасить вперед до следующей стенки или нанести урон тому кто стоит за ней - это дело кодера.
В кода гаусса, к примеру, луч ослабляет свою дамагу, соответственно с толщиной стены, и прёт дальше.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 63325

Старое сообщение 22-08-2010 20:24
-
с@ш@ халфер
Молодой

Дата регистрации: Jul 2010
Проживает: Нижний Новгород
Сообщений: 134
Возраст: 29

Рейтинг



А есть ли исходник какой-нить пушки(ну наподобие глока 18)
с кодом простреливания?
Если есть то плиз скиньте в аттач.

__________________
Глупый юзер

Кто написал^^^

Тот сам такой...

Сообщить модератору | IP: Записан
Сообщение: 63327

Старое сообщение 22-08-2010 20:54
- За что?
sania_3
Местный криворукий гитарист.

Дата регистрации: Jun 2009
Проживает: Ростов-на-Дону.
Сообщений: 413
Возраст: 35

Рейтинг



Награды
 
[1 награда]


http://half-life.ru/forum/showthrea...t*&pagenumber=2
Искал целых минут семь. Перед тем, как иметь мозг другим, юзай поиск.

__________________
Владелец восьмиструнного монстра Schecter Omen-8 Vintage White (VWHT)
Бывал на концертах этих групп: Rashamba, 7000$, Louna, Molecul, Project Revolution, Headsource, Digimortal и многих других. Куча автографов.
Я член возлагаю на сраный геймдев.

Сообщить модератору | IP: Записан
Сообщение: 63328

Старое сообщение 22-08-2010 22:08
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33064
Нанёс повреждений: 392 ед.

Рейтинг



sania_3 ну вод - как раз код гаусса и еть. Даже трасса называется beam_tr

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 63338

Старое сообщение 23-08-2010 10:14
-
с@ш@ халфер
Молодой

Дата регистрации: Jul 2010
Проживает: Нижний Новгород
Сообщений: 134
Возраст: 29

Рейтинг



А есть ли подробный туториальчик на эту тему?

__________________
Глупый юзер

Кто написал^^^

Тот сам такой...

Сообщить модератору | IP: Записан
Сообщение: 63366

Старое сообщение 24-08-2010 13:38
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 17:46. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > ПРОСТРЕЛЫ.
через стену как в cs1.6
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024