HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Gauss (https://hlfx.ru/forum/showthread.php?threadid=1196)
Отправлено Brainiac2008 14-03-2008 в 14:11:
Gauss
Можно ли сделать так, чтобы лучи гаусса не кончали игрока самоубийством? (для синглплеера)
Отправлено Ku2zoff 14-03-2008 в 14:24:
Brainiac2008 ты имеешь ввиду отражение луча от стенки на 90 градусов прямо в игрока? В принципе можно вообще убрать отражение лучей.
C++ Source Code:
1 | if ( pEntity->ReflectGauss() ) |
7 | n = -DotProduct(tr.vecPlaneNormal, vecDir); |
9 | if (n < 0.5) // 60 degrees //условие отражения лучей, если его убрать они не отражаются от стен |
11 | // ALERT( at_console, "reflect %f\n", n ); |
15 | r = 2.0 * tr.vecPlaneNormal * n + vecDir; |
16 | flMaxFrac = flMaxFrac - tr.flFraction; |
18 | vecSrc = tr.vecEndPos + vecDir * 8; |
19 | vecDest = vecSrc + vecDir * 8192; |
22 | m_pPlayer->RadiusDamage( tr.vecEndPos, pev, m_pPlayer->pev, flDamage * n, CLASS_NONE, DMG_BLAST ); |
28 | flDamage = flDamage * (1 - n); |
Отправлено Brainiac2008 14-03-2008 в 20:51:
А сквозь стены они проникать всё-равно будут? (хочу эту возможность оставить)
И вообще, что с этими строками делать надо, удалять вообще, или что? Что конкретно удалить?
Отправлено Brainiac2008 16-03-2008 в 14:12:
Удалил все эти строки, не помогло, всё-равно убивает.
Отправлено XaeroX 16-03-2008 в 14:48:
Brainiac2008 если ты удалил все эти строки, то дллка у тебя как минимум не скомпилится. Так что говорить "не помогло" не стоит 
__________________
Отправлено Brainiac2008 16-03-2008 в 15:49:
Всё нормально скомпилилось, 0 ошибок.
Отправлено Brainiac2008 17-03-2008 в 08:30:
так что мне делать с этим кодом, если не удалять?
Отправлено Brainiac2008 18-03-2008 в 08:17:
К черту вас, буду методом тыка подбирать.
Отправлено Scrama 18-03-2008 в 11:09:
Brainiac2008 Надо было удалить кусок, начинающийся с if (n < 0.5) и заканчивающийся соответсвующей скобкой }
Но, имхо, надо проверять в TakeDamage (или как оно там называется) не сам ли себя игрок фигачит, а не отражение удалять.
__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran
Отправлено Brainiac2008 18-03-2008 в 11:37:
Удалил как ты сказал.
error C2181: illegal else without matching if
Error executing cl.exe.
Отправлено Ku2zoff 18-03-2008 в 11:42:
Brainiac2008 удаляешь else и скобку за ним, и закрывающую скобку внизу.
>>error C2181: illegal else without matching if
Сначала хоть чуть-чуть выучи синтаксис c++ а потом уже ищи ошибки
Отправлено Brainiac2008 18-03-2008 в 11:58:
Ух! Замечательно!
Ku2zoff
Спасибо!