Registrierung - oder - Hineingehen
Brave BrainBrave Brain

Играем за ученого Тома Редгрейва...

6/11/2003
Action Halflife 2Action Halflife 2

First Person Shooter...

20/05/2011

Довольно забавно наблюдать, как игрок одинаково быстро бегает как с монтировкой в руках, так и с тяжелой базукой, хотя логичнее, что держа в руках сей девайс, он будет бегать медленнее


  • Beschreibung
  • Einstellung

Замедление игрока

Довольно забавно наблюдать, как игрок одинаково быстро бегает как с монтировкой в руках, так и с тяжелой базукой, хотя логичнее, что держа в руках сей девайс, он будет бегать медленнее


Der Autor der Lektion : XaeroX
Der Durchsichten : 381 ( +2 )
Hochgeladen von : Streit
Erstellt : 04/07/2011 6:22:55 PM
Source : http://www.hlfx.ru/forum
Wertung :
 ( 0 ) 
Aktie :


Es gibt die folgenden Sprachen : | russisch |

Довольно забавно наблюдать, как игрок одинаково быстро бегает как с монтировкой в руках, так и с тяжелой базукой, хотя логичнее, что держа в руках сей девайс, он будет бегать медленнее (если вообще сможет бегать), а прыгать ниже. В этой статье я расскажу, как замедлить игрока, если он несет в руках ту или иную пушку. Ключевой функцией здесь является функция движка pfnSetClientMaxspeed. Ее нужно будет вызвать дважды – когда оружие появляется в руках (замедлить или ускорить игрока), и когда появляется другое (восстановить старое значение скорости). В коде оружия для этого выделены специальные функции – Deploy и Holster. Рассмотрим пример с базукой. В функции Deploy нам надо замедлить игрока (установим максимальную скорость 120), а в функции Holster – восстановить скорость по умолчанию (установив ее в 0). Открываем rpg.cpp, находим функцию CRpg :: Deploy и добавляем туда новый код. Получается вот что:

Code:

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

   if ( m_iClip == 0 )
   {
     return DefaultDeploy( "models/v_rpg.mdl", "models/p_rpg.mdl", RPG_DRAW_UL, "rpg" );
   }

   return DefaultDeploy( "models/v_rpg.mdl", "models/p_rpg.mdl", RPG_DRAW1, "rpg" );
}
Теперь переходим в функцию CRpg

Hoster. Должно получиться вот что:

Code:

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

   m_fInReload = FALSE;// cancel any reload in progress.

   m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 0.5;

   SendWeaponAnim( RPG_HOLSTER1 );

   #ifndef CLIENT_DLL
     if (m_pSpot)
     {
       m_pSpot->Killed( NULL, GIB_NEVER );
       m_pSpot = NULL;
     }
   #endif
}


Die Ähnlichen1. Новый монстр - В общем-то это самый лёгкий тутор который можно придумать.
2. Смена моделей персонажей - Смена моделей персонажей прямо в Хамере
3. Подбираемый фонарик v 2.5 - Подбираемый фонарик v 2.5
4. Летающие бочки и trigger_push - Все, кто хотя бы один раз прошел Hl1 наверняка знает, что на карте c2a5 (там где плотина) есть такие прикольные бочки, которые подскакивают вверх и там взрываются.
5. Сохранение анимаций - как сделать так чтобы анимации на оружии(допустим) сохранялись, например все помнят КС вот там был Usp
6. субтитры из паранойи - субтитры из паранойи.
Ссылки на объект
Полная ссылка на текущем языке :
Короткая ссылка :
Ссылка на превью-картинку :
Ссылка на картинку в полном размере :
Ссылка для вашего форума или сайта
BB код ссылка:
BB код ссылка с картинкой :
BB код картинки :
HTML код ссылка:
HTML код ссылка с картинкой :
HTML код картинки :
Sie können nicht kommentieren, da Sie sind nicht registriert.
    Juliet Starling Ultimate (Lollipop Chainsaw)
    Resident Evil 6Juliet Starling Ultimate (Lollipop Chainsaw)
    Juliet Starling Pack
    Juliet Starling Pack
    Kenshiro & Raoh Pack
    Kenshiro & Raoh Pack
    Jacky as Dante DMC4
    Jacky as Dante DMC4