Регистрация - или - Войти

Восстановить пароль
×

Для восстановления пароля необходимо ввести логин или почту, которую Вы вводили при регистрации. После это, на Ваш почтовый ящик будет отпрвлено письмо с кодом.

Логин или почта :

Assassin beta 1.2Assassin beta 1.2

https:\/\/www.fileplanet.com\/archive\/c-15\/first-person\/2429 mod hl...

Underworld: Bloodline 2.0Underworld: Bloodline 2.0

Мод сделан на тему одноименного фильма - Другой Мир...

16/09/2003
Статистика ( общая по плагинам ), шт.

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


  • Описание
  • КАК УСТАНОВИТЬ

Quake strafing & DoD bobing styles

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


Автор / ы урока : Ku2zoff
Просмотров : 3366 ( +1 )
Прислал / (а) : Streit
Дата создания : 07.04.2011 21: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. И снова наследование классов :) - Казалось бы тема наследования классов давно избита, ан нет всё ещё существуют вопросы, правда про чуть боле сложное наследование.
4. Фикс: func_healthcharger - Фикс: func_healthcharger и func_recharger
5. Увеличение количества мяса от взрыв - Увеличение количества мяса от взрывов людей или инопланетян.
6. Наследование классов в С++ - В этом туторе я попытаюсь кратко рассказать про наследование классов в С++
7. Как перекрасить пули в ХЛ - Здесь я вам расскажу, как можно перекрасить пули в Half-Life1 и приведу свой пример
8. Как сделать вортигонта из HL1 другом - Моя первая статья
9. Water Splash - Добавляем брызги при выстреле по воде
Neoner 02.11.2011, 17:44:14 пишет :
#1
Автор, выложи пожалуйста cpp что ты изменял, а то у меня при компиляции ошибку пишет(
stepanium 22.01.2016, 11:14:57 пишет :
#2
Отличный туториал, спасибо, помог.
yarik 17.02.2018, 8:32:17 пишет :
#3
у меня нету строчки float side
yarik 18.03.2018, 4:17:18 пишет :
#4
а как собрать единый файл client.dll?
***FantoM*** 18.03.2018, 12:12:15 пишет :
#5
@yarik
В Microsoft Visual C++ 6.0
Build -> Build client.dll (F7)
no_name_nick 18.08.2021, 6:27:59 пишет :
#6
тооп, получилось вшить с первого раза
Вы не можете комментировать, т.к. вы не зарегистрированы.
    speedrun_bblock_extreme
    Counter-Strike 1.6speedrun_bblock_extreme
    speedrun_helvs_ak
    Counter-Strike 1.6speedrun_helvs_ak
    zs_zombie_village_v4
    Garrys modzs_zombie_village_v4
    Professor Zadverjeva / Профессор Задверьева
    Half-LifeProfessor Zadverjeva / Профессор Задверьева