HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- SOHL Custom Build (https://hlfx.ru/forum/forumdisplay.php?forumid=15)
-- Бесконечная стрельба из egon'a (https://hlfx.ru/forum/showthread.php?threadid=280)
Отправлено Government-Man 02-06-2006 в 19:58:
Бесконечная стрельба из egon'a
Гулял сегодня по сорцам Спирита 1.6 и случайно обнаружил, что в функции CEgon::HasAmmo закомментирована одна строчка:
C++ Source Code:
1 | BOOL CEgon::HasAmmo( void ) |
3 | //if ( m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] <= 0 ) return FALSE; |
Это значит, что из егона можно стрелять, даже когда у него нет патронов.
Вопрос: Что это? Пасхалка?
Отправлено BUzer 03-06-2006 в 00:22:
А ты испытывал?.. Мож ему она просто не нужна, эта функция..
Отправлено Jaturkenjensirhiv 03-06-2006 в 06:14:
Да, помню, был там такой глюк, причем давно. Особенно интересно с ним было в мультиплеере...
Отправлено XaeroX 03-06-2006 в 08:30:
Дык каво. Нажимаем ЛКМ, потом ПКМ, потом отпускаем ЛКМ. Егон продолжает "стрелять" до бесконечности (патроны не расходует, но и повреждений не наносит. Так, для понту
)
__________________
Отправлено Government-Man 04-06-2006 в 08:47:
Цитата:
BUzer писал:
А ты испытывал?.. Мож ему она просто не нужна, эта функция..
В оригинальном Спирите 16 егон продолжает стрелять после того, как у него не останется патронов, нанося при этом повреждения. Если эту строчку раскомментировать - то все нормально...
Отправлено Дядя Миша 04-06-2006 в 12:29:
Government-Man это я что-то там проверял и забыл раскоментировать, блин 
Отправлено Government-Man 07-06-2006 в 06:14:
И еще об одном глюке: если бить монтировкой по убитым монстрам, то звук при этом не проигрывается.
Не знаю, насколько это правильно, но я пофиксил этот баг путем вставки в функцию CCrowbar::Swing куска кода из обычной халфы.
C++ Source Code:
3 | if ( pEntity->Classify() != CLASS_NONE && pEntity->Classify() != CLASS_MACHINE ) |
7 | m_pPlayer->m_iWeaponVolume = CROWBAR_BODYHIT_VOLUME; |
8 | if ( !pEntity->IsAlive() ) |
9 | m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 0.5; |
Заменил на:
C++ Source Code:
3 | if ( pEntity->Classify() != CLASS_NONE && pEntity->Classify() != CLASS_MACHINE ) |
7 | switch( RANDOM_LONG(0,2) ) |
10 | EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_ITEM, "weapons/cbar_hitbod1.wav", 1, ATTN_NORM); break; |
12 | EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_ITEM, "weapons/cbar_hitbod2.wav", 1, ATTN_NORM); break; |
14 | EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_ITEM, "weapons/cbar_hitbod3.wav", 1, ATTN_NORM); break; |
16 | m_pPlayer->m_iWeaponVolume = CROWBAR_BODYHIT_VOLUME; |
17 | if ( !pEntity->IsAlive() ) |
Вроде как помогло...
Отправлено Дядя Миша 07-06-2006 в 08:18:
Government-Man там звук играется через эвент на клиенте. Ты о чем вообще? 
Отправлено Government-Man 07-06-2006 в 09:18:
Цитата:
Дядя Миша писал:
там звук играется через эвент на клиенте.
Не знаю, у меня он почему-то не играется. Вот я и вставил туда обычный EMIT_SOUND...