2017/11/22, Ср, 20:37 Приветствую Вас ---- | RSS
Регистрация
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: Jack-Hang 
Форум » Основной раздел » Кодинг Статьи » [Кодинг] Замедление игрока. (Когда у него в руках тяжелая пушка.)
[Кодинг] Замедление игрока.
Jack-HangДата: Пт, 2007/04/20, 13:39 | Сообщение # 1
Hang-Overed
Репутация: 5
Регистрация:2006/08/20
Сообщений: 84
Статус: Offline
Довольно забавно наблюдать, как игрок одинаково быстро бегает как с монтировкой в руках, так и с тяжелой базукой, хотя логичнее, что держа в руках сей девайс, он будет бегать медленнее (если вообще сможет бегать), а прыгать ниже. В этой статье я расскажу, как замедлить игрока, если он несет в руках ту или иную пушку.
Ключевой функцией здесь является функция движка pfnSetClientMaxspeed. Ее нужно будет вызвать дважды – когда оружие появляется в руках (замедлить или ускорить игрока), и когда появляется другое (восстановить старое значение скорости). В коде оружия для этого выделены специальные функции – Deploy и Holster.
Рассмотрим пример с базукой. В функции Deploy нам надо замедлить игрока (установим максимальную скорость 120), а в функции Holster – восстановить скорость по умолчанию (установив ее в 0).
Открываем rpg.cpp, находим функцию CRpg :: Deploy и добавляем туда новый код.

В BOOL CRpg :: Deploy( ) добавим
Code
g_engfuncs.pfnSetClientMaxspeed(m_pPlayer->edict(), 120 ); // ограничиваем скорость игрока до 120

В void CRpg :: Holster( int skiplocal /* = 0 */ ) добавим
Code
g_engfuncs.pfnSetClientMaxspeed(m_pPlayer->edict(), 0 ); // восстанавливаем скорость игрока

Компилируем, запускаем и наслаждаемся большей реалистичностью игры.




 
Форум » Основной раздел » Кодинг Статьи » [Кодинг] Замедление игрока. (Когда у него в руках тяжелая пушка.)
Страница 1 из 11
Поиск:

Сайт управляется системой uCoz Copyright by kiexStudio © 2009