HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- несколько вопросов (https://hlfx.ru/forum/showthread.php?threadid=2935)
Отправлено Shapirlic 16-01-2012 в 18:34:
Вот скажите что в этом коде неправильно? Если не найдёте ошибки я вкину видео того как этот с виду нормальный код себя ведёт.
C++ Source Code:
1 | void CFlash::PrimaryAttack( void ) |
6 | UTIL_MakeVectors (m_pPlayer->pev->v_angle); |
7 | Vector vecSrc = m_pPlayer->GetGunPosition( ); |
8 | Vector vecEnd = vecSrc + gpGlobals->v_forward * 30; |
10 | UTIL_TraceHull( vecSrc, vecEnd, dont_ignore_monsters, head_hull, ENT( m_pPlayer->pev ), &tr ); |
15 | switch( (m_iSwing++) % 2 ) |
17 | case 0: SendWeaponAnim( FLASH_ATTACKHIT1 ); break; |
18 | case 1: SendWeaponAnim( FLASH_ATTACKHIT2 ); break; |
21 | CBaseEntity *pEntity = CBaseEntity::Instance(tr.pHit); |
25 | pEntity->TakeDamage( pev, m_pPlayer->pev , 5, DMG_CLUB ); |
27 | if ( pEntity->Classify() != CLASS_NONE && pEntity->Classify() != CLASS_MACHINE ) |
29 | // play thwack or smack sound |
30 | switch( RANDOM_LONG(0,2) ) |
32 | case 0: EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_ITEM, "weapons/cbar_hitbod1.wav", 0.3, ATTN_NORM); break; |
33 | case 1: EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_ITEM, "weapons/cbar_hitbod2.wav", 0.3, ATTN_NORM); break; |
34 | case 2: EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_ITEM, "weapons/cbar_hitbod3.wav", 0.3, ATTN_NORM); break; |
40 | switch( RANDOM_LONG(0,1) ) |
43 | EMIT_SOUND(ENT(pev), CHAN_BODY, "weapons/cbar_hit1.wav", 0.3, ATTN_NORM); break; |
45 | EMIT_SOUND(ENT(pev), CHAN_BODY, "weapons/cbar_hit2.wav", 0.3, ATTN_NORM); break; |
49 | m_pPlayer->m_iWeaponVolume = 25; |
57 | switch( (m_iSwing++) % 2 ) |
59 | case 0: SendWeaponAnim( FLASH_ATTACK1 ); break; |
60 | case 1: SendWeaponAnim( FLASH_ATTACK2 ); break; |
63 | EMIT_SOUND_DYN(ENT(m_pPlayer->pev), CHAN_WEAPON, "weapons/cbar_miss1.wav", 0.3, ATTN_NORM, 0, 94 + RANDOM_LONG(0,0xF)); |
71 | if(m_pPlayer->ServoOn == 0) |
72 | m_flNextPrimaryAttack = m_flNextSecondaryAttack = UTIL_WeaponTimeBase() + 0.8; |
74 | m_flNextPrimaryAttack = m_flNextSecondaryAttack = UTIL_WeaponTimeBase() + 0.7; |
76 | m_pPlayer->SetAnimation( PLAYER_ATTACK1 ); |
77 | m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 4; |
Отправлено Дядя Миша 16-01-2012 в 18:45:
ну а чо тут? Квейковский примитивный метод с одним трейслейном.
Полагаешь FindHullIntersection в халфе от хорошей жизни появился?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Shapirlic 16-01-2012 в 18:52:
Но почему этот код ведёт себя ТАК???
http://www.youtube.com/watch?v=xyqy3hHSGwA
Отправлено XaeroX 16-01-2012 в 18:55:
Поставь алерт на класснейм pEntity для начала.
__________________
Отправлено Дядя Миша 16-01-2012 в 19:56:
Я бы посоветовал сначала поставить траселайн.
Добавлено 16-01-2012 в 23:56:
Гля и модельку фонарика упёр в свой мод
А ты у Доктора Тресси разрешения спросил? а ты у меня разрешения спросил?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Shapirlic 16-01-2012 в 20:27:
Авторские права за тобой Дядя Миша ) Если не нравится - вырежу модель поставлю другую
Отправлено Дядя Миша 16-01-2012 в 20:45:
Конечно не нравится. Если бы ксаш-мод уже вышел я бы слова ни сказал.
А теперь будут думать что это я у тебя упёр. Так что вырезай.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Shapirlic 17-01-2012 в 03:04:
Модельку поставил ту что мне XF-Alien с Half-Life форума сделал.Можно анимации Доктора Тресси оставить?
Отправлено -=DrTressi=- 17-01-2012 в 08:22:
Shapirlic Нельзя. В анимации как раз весь смак. Сделай новую!
__________________
How interesting, just look at that!
© Scientist
Отправлено Shapirlic 17-01-2012 в 13:24:
С анимациями у меня туго.Ну тогда фонарик без удара будет пока )
Отправлено marikcool 27-01-2012 в 08:54:
я тут баловался с видом от третего лица.
после того как я сдвинул камеру, я сделал чтобы патроны летели в прицел через изменения gunposition (по стандарту игрок стреляет прямо перед собой).
в трейсе пули используется дистанция полета обычно равная ~4 или ~8 тыщям, следовательно получается чтобы патрон точно попал в центр прицела и в объект, дистанция полета должна равнятся растоянию от игрока до объекта.
Это можно исправить добавив дополнительный трейс для расчета дистанции.
интересует как дальше трасировать объекты если я хочу сделать пробиваемость? у меня только идея поварчивать трейс после первого объекта, используя данные трейся для расчета дистанции.
схемка и скрины для наглядности:



[IMG]

Отправлено Дядя Миша 27-01-2012 в 09:08:
не, это ерунда какая-то со сдвигом.
Ты лучше сделай так, чтобы при прицеле камера сдвигалась обратно на вид из глаз.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено marikcool 27-01-2012 в 09:17:
Цитата:
Дядя Миша писал:
не, это ерунда какая-то со сдвигом.
Ты лучше сделай так, чтобы при прицеле камера сдвигалась обратно на вид из глаз.
не тут задумка что это тпс) при зажатой правой кнопкой мыши фов уменьшается, но стрельба все равно со сдвигом идет.
как интересно в других играх то сделано? неужто патрон также непопрямой двигается?
Отправлено Дядя Миша 27-01-2012 в 09:55:
патрон я думаю также и двигается с вида из глаз. Игроки просто об этом не задумываются.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено marikcool 27-01-2012 в 10:04:
Цитата:
Дядя Миша писал:
патрон я думаю также и двигается с вида из глаз. Игроки просто об этом не задумываются.
с центра стрелять нельзя, тогда можно будет поместить модель игрока за колону/или стену и стрелять с центра экрана.