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

GhostMining
http://aghl.ru/forum/viewtopic.php?f=9&t=2317
Страница 1 из 1

Автор:  Bl@cK [ 08 ноя 2015, 22:51 ]
Заголовок сообщения:  GhostMining

Lev а можешь так же простенькой схемой, как на 2й странице, рассказать про гостмайнинг в общем, или хотя бы на примере любой лампочки или вот этой картинки:
Изображение
прострел с аптечки

Автор:  Mr_Death [ 10 ноя 2015, 13:04 ]
Заголовок сообщения:  Re: GhostMining

У тебя же в подписи сайт. Там есть статья о GhostMining'e: http://hl.loess.ru/?txt=ghostmining

Автор:  Bl@cK [ 10 ноя 2015, 21:57 ]
Заголовок сообщения:  Re: GhostMining

тем не менее, именно о природе возникновения этого явления там не сказано ничего кроме констатации факта. Поскольку такие места на картах никто не документировал, хотелось бы определять их исходя из конфигурации карты, а не опытным путём.

Автор:  Lev [ 20 ноя 2015, 01:21 ]
Заголовок сообщения:  Re: GhostMining

При выстреле в угол аптечки, производится TraceLine (TR) до выхода из ентити (точка 1).
Далее, производится отступ от этой точки далее по линии (на 8 кажется) (точка 2) и в этом месте (получается что в стене) производится (рассчитывается) взрыв.
Все ентити (точнее место на них выбранное для атаки), которые трейсятся из этой точки получают урон.
Радиус поиска зависит от силы взрыва, который в свою очередь зависит от раскрутки гаусса.
Если на пути TR встречается поверхность с лицевой стороной, то трейс, соответственно, останавливается, не достигнув ентити (например, на картинке справа, под полом, всё что слева получит урон).
Причем из-за "бага" в движке, расстояние трейса показывает что всё "как будто" находится в точке взрыва, поэтому получает полный урон (200 в максимуме).
Вложение:
64098043.jpg
64098043.jpg [ 138.37 КБ | Просмотров: 7234 ]

Автор:  Bl@cK [ 21 ноя 2015, 17:10 ]
Заголовок сообщения:  Re: GhostMining

Спасибо, но как тогда работают сатчелы? полностью проваливаются в стены?
И картинка, наверное, не показывает пример когда дамажит стреляющего и соседей в этой же комнате

Автор:  unnamed [ 21 ноя 2015, 18:35 ]
Заголовок сообщения:  Re: GhostMining

Зона дамага при простреле в лампу.

На самом деле, зависит от угла и конкретного места попадания в лампу.
На втором скрине гарантировано спастись можно только рядом со стрелком.
Меньше вероятность умереть, если присесть около секретной двери. Но и там достает, в зависимости от того, как в лампу попасть.

Добавлено спустя 10 минут 43 секунды:
Нижние две картинки - Прострел сверху через аптеку
Красный цвет маркера означает урон 125+
Граница резкая. Либо достает по максимуму, либо не коцает вообще

Вложения:
crossfire_15.11.21-15.25.52.jpg
crossfire_15.11.21-15.25.52.jpg [ 632.57 КБ | Просмотров: 7222 ]
crossfire_15.11.21-15.30.jpg
crossfire_15.11.21-15.30.jpg [ 178.2 КБ | Просмотров: 7222 ]
crossfire_15.11.21-15.40.jpg
crossfire_15.11.21-15.40.jpg [ 199.37 КБ | Просмотров: 7222 ]
crossfire_15.11.21-15.40.jpg
crossfire_15.11.21-15.40.jpg [ 93.11 КБ | Просмотров: 7222 ]

Автор:  Lev [ 21 ноя 2015, 18:58 ]
Заголовок сообщения:  Re: GhostMining

Bl@cK писал(а):
И картинка, наверное, не показывает пример когда дамажит стреляющего и соседей в этой же комнате
Да, этот момент я упустил показать. В саму комнату взрыв тоже трейсится, и, если игрок ничем не загорожен, то получит урон.

Добавлено спустя 34 минуты 38 секунд:
С сатчелами - тоже самое.
Код:
void CGrenade::Detonate( void )
{
   vecSpot = pev->origin + Vector ( 0 , 0 , 8 );
   UTIL_TraceLine ( vecSpot, vecSpot + Vector ( 0, 0, -40 ),  ignore_monsters, ENT(pev), & tr);
   Explode( &tr, DMG_BLAST );
}
void CGrenade::Explode( TraceResult *pTrace, int bitsDamageType )
{
   // Pull out of the wall a bit
   if ( pTrace->flFraction != 1.0 )
   {
      pev->origin = pTrace->vecEndPos + (pTrace->vecPlaneNormal * (pev->dmg - 24) * 0.6);
   }
При подрыве, если сатчел лежит на чем-нибудь (пол), за центр взрыва берется не ориджин сатчела, а точка выше (дальше от поверхности пола по нормали)
Для сатчела это расстояние будет равно ~60.
Все остальные гранаты (и ракеты) используют этот же код для взрыва.

Для гаусса код такой:
Код:
damage_radius = flDamage * 1.75;
::RadiusDamage( beam_tr.vecEndPos + vecDir * 8, pev, m_pPlayer->pev, flDamage, damage_radius, CLASS_NONE, DMG_BLAST );
Т.е. на 8.

Автор:  Bl@cK [ 21 ноя 2015, 19:40 ]
Заголовок сообщения:  Re: GhostMining

unnamed писал(а):
Зона дамага при простреле в лампу.
На самом деле, зависит от угла и конкретного места попадания в лампу.
хммм 8) оформишь плагин? :oops:

Автор:  unnamed [ 21 ноя 2015, 20:08 ]
Заголовок сообщения:  Re: GhostMining

Bl@cK писал(а):
оформишь плагин? :oops:

Вряд ли. Это просто старые наброски. Чтоб проверить кое-что

 Плагин

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