Регистрация - или - Войти
Rock 24 (Скала 24)Rock 24 (Скала 24)

Приоритетное задание - спасение ученого из неприступной тюрьмы...

8/11/2006
Half-Life 2 Capture The FlagHalf-Life 2 Capture The Flag

Захват флага теперь и в HL2...

20/10/2011

Вот от нечего делать я решил немножко изменить стиль игры в оригинальной хл.


  • Описание
  • Ссылка и установка

Quake strafing & DoD bobing styles

Вот от нечего делать я решил немножко изменить стиль игры в оригинальной хл.


Автор / ы урока : Ku2zoff
Просмотров : 1463 ( +1 )
Прислал / (а) : Streit
Дата создания : 07.04.2011 18:20:49
Источник : http://www.hlfx.ru/forum
Рейтинг :
 ( 5 ) 
Поделиться :


Имеются следующие переводы : | русский |

Всем превед! Вот от нечего делать я решил немножко изменить стиль игры в оригинальной хл. Сделать его динамичнее. Вобщем, это несложно, но после этого играть становится приятнее. Итак вот вам тутор по наклонам во время стрейфов и стилю качания оружия как в Day of Defeat. Вся работа проводится на клиентской стороне.

Откройте view.cpp в cl_dll и спуститесь до функции V_CalcViewRoll. В её начало добавьте две новые сторчки:

Code:

extern cvar_t *cl_rollspeed;
extern cvar_t *cl_rollangle;

Затем удалите строчки:

Code:

float side;

и

Code:

side = V_CalcRoll ( viewentity->angles, pparams->simvel, pparams->movevars->rollangle, pparams->movevars->rollspeed );

после замените строку

Code:

pparams->viewangles[ROLL] += side;

на

Code:

pparams->viewangles[ROLL] = V_CalcRoll (pparams->viewangles, pparams->simvel, cl_rollangle->value, cl_rollspeed->value ) * 4;

Теперь при стрейфах экран будет наклоняться в стиле Quake или DMC. Число 4 вы можете изменить по своему вкусу, это коэффициент наклона, то есть чем больше это значение, тем сильнее наклоняется экран.

Осталось только задекларировать две новые переменные cl_rollspeed и cl_rollangle.

Идите в hud.cpp и где-нибудь после заголовочных файлов добавьте две новые строки:

Code:

cvar_t *cl_rollspeed;
cvar_t *cl_rollangle;
Потом промотайте вниз до void CHud

Init( void ) и воткните туда

Code:

cl_rollangle = gEngfuncs.pfnRegisterVariable ( "cl_rollangle", "0.65", FCVAR_CLIENTDLL|FCVAR_ARCHIVE );
cl_rollspeed = gEngfuncs.pfnRegisterVariable ( "cl_rollspeed", "300", FCVAR_CLIENTDLL|FCVAR_ARCHIVE );

На этом наклоны закончены. Переходим к качанию оружия, так называемому cl_bob.

Откройте view.cpp и в функции void V_CalcNormalRefdef ( struct ref_params_s *pparams ) замените:

Code:

// Let the viewmodel shake at about 10% of the amplitude
gEngfuncs.V_ApplyShake( view->origin, view->angles, 0.9 );

for ( i = 0; i < 3; i++ )
{
   view->origin[ i ] += bob * 0.4 * pparams->forward[ i ];//viewmodel раскачивается вперёд-назад
}
view->origin[2] += bob;

На вот это:

Code:

// Let the viewmodel shake at about 10% of the amplitude
gEngfuncs.V_ApplyShake( view->origin, view->angles, 0.9 );

for ( i = 0; i < 3; i++ )
{
   view->origin[ i ] += bob * 0.4 * pparams->right[ i ];//viewmodel раскачивается вправо-влево
}
view->origin[2] += bob;

Число 0.4 это амплитуда раскачивания. Для тех, кто не знает физику это насколько сильно модель оружия будет отклоняться в сторону.

Вот и всё. Теперь осталось скомпилить client.dll и насладиться большей динамичностью игры.



Похожие1. Создание нового ствола - Создание нового ствола с новыми патронами
2. Новый монстр - В общем-то это самый лёгкий тутор который можно придумать.
3. Переключение оружия a la HL2 - Мне не нравится, как переключается оружие в ХЛ. Может, кому-то и интересно тыкать по менюшкам худа, но мне больше нравится реализация переключения в Unreal RTN, Quake Mission Packs и HL2
4. Создание сценариев - Для создания сценариев (aka скриптов) в Half-Life существуют две энтити: scripted_sequence и scripted_sentence. Первая отвечает за движения, выполняемые монстром/персонажем, будь то ходьба, бег, нажатие кнопки, тряска автомата с газировкой или почёсывание подбородка. Вторая служит для того, чтобы персонаж произнес какую-то фразу. При этом его голова повернётся в сторону слушателя, и рот будет открываться в соответствии с амплитудой звука.
Neoner 02.11.2011, 16:32:14 пишет :
#1
Автор, выложи пожалуйста cpp что ты изменял, а то у меня при компиляции ошибку пишет(
stepanium 22.01.2016, 10:02:57 пишет :
#2
Отличный туториал, спасибо, помог.
Вы не можете комментировать, т.к. вы не зарегистрированы.
    OldSkool Amp'd
    Unreal Tournament 99OldSkool Amp'd
    Csejte Castle HerdCoop Map Pack V3
    Unreal Tournament 99Csejte Castle HerdCoop Map Pack V3
    Unreal Tournament 3 Original Soundtrack
    Unreal Tournament 3 Original Soundtrack
    Harley Quinn
    Counter-Strike Global OffensiveHarley Quinn