Registration - or - Enter
Attack DayAttack Day

Действие происходит ночью. Со всех сторон вас атакуют зомби....

26/07/2010

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


  • Description
  • HOW TO INSTALL

Quake strafing & DoD bobing styles

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


Author/s of lesson : Ku2zoff
Views : 1563 ( +1 )
Uploaded by : Streit
Created : 04/07/2011 6:20:49 PM
Source : http://www.hlfx.ru/forum
Rating :
 ( 5 ) 
Share :


Available following translations : | russian |

Всем превед! Вот от нечего делать я решил немножко изменить стиль игры в оригинальной хл. Сделать его динамичнее. Вобщем, это несложно, но после этого играть становится приятнее. Итак вот вам тутор по наклонам во время стрейфов и стилю качания оружия как в 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 и насладиться большей динамичностью игры.



Similar1. Новый монстр - В общем-то это самый лёгкий тутор который можно придумать.
2. Изменяем классы монстров злой барн - Как известно, первое что хочет сделать начинающий кодер (по крайней так было у меня ) это написать какое-нибудь оружие и изменить монстров.
3. Удалённый контроль зарядника - Всегда хотелось, чтобы зарядник в хл был управляемым.
4. Цвет спрайтов HUD - Итак, как же сменить цвет спрайтов в HUD-системе
Neoner 11/02/2011, 4:32:14 PM is writing :
#1
Автор, выложи пожалуйста cpp что ты изменял, а то у меня при компиляции ошибку пишет(
stepanium 01/22/2016, 10:02:57 AM is writing :
#2
Отличный туториал, спасибо, помог.
You cannot comment, because you are not registered.
    Menshevik Microgun
    Team Fortress 2Menshevik Microgun
    Gentleman's Sleight
    Team Fortress 2Gentleman's Sleight
    Short-term Solution
    Team Fortress 2Short-term Solution
    Silent Sight
    Team Fortress 2Silent Sight

Время --------- ___ALL___ --------- : 0.62818 секунд