Sign up - or - Login

Recover password
×

To recover your password, you must enter the username or e-mail that you used during the registration. After that, a mail with a security code will be sent to your inbox.

Your username or e-mail :

PrecursorPrecursor

First Person Shooter...

28/03/2011
Stat points ( ALL )

как сделать так чтобы анимации на оружии(допустим) сохранялись, например все помнят КС вот там был Usp


  • Description
  • HOW TO INSTALL

Сохранение анимаций

как сделать так чтобы анимации на оружии(допустим) сохранялись, например все помнят КС вот там был Usp


Author/s of tutorial : Jack-Hang
Views : 1409 ( +1 )
Uploader : Streit
Created : 04/07/2011 9:19:43 PM
Source : http://www.hang-over.ucoz.ru
Rating :
 ( 0 ) 
Share :


Following translations are available : | russian |

И так я расскажу о самом простом, как сделать так чтобы анимации на оружии(допустим) сохранялись, например все помнят КС вот там был Usp, я покажу только пример его создания. Для начала создадим переменную которая будет за всё это отвечать. Откроем weapons.h : И после строки :

Code:

int m_fInReload;

Добавте :

Code:

int m_iAnimLevel; // Save Animation or anything else

Откроем файл weapons.cpp : И после строки :

Code:

DEFINE_FIELD( CBasePlayerWeapon, m_iDefaultAmmo, FIELD_INTEGER ),

Добавим :

Code:

DEFINE_FIELD( CBasePlayerWeapon, m_iAnimLevel, FIELD_INTEGER ),

Так теперь я расскажу как этим пользоваться, в коде оружия например если создаю тот же Усп из КС во вторичной атаке я напишу примерно так :

Code:

void CUSP::SecondaryAttack( void )
{
   if(m_iAnimLevel == 0)
   {
     SendWeaponAnim( USP_ADD_SILENCER )
     m_iAnimLevel = 1;
   }
   else if(m_iAnimLevel == 1)
   {
     SendWeaponAnim( USP_DEL_SILENCER )
     m_iAnimLevel = 0;
   }

   m_flNextSecondaryAttack = 0.5;
   m_flNextPrimaryAttack = 0.5;
}

Незабудте в функции Спавн прописать

Code:

m_iAnimLevel = 0;

В стрельбе например пишем вот так :

Code:

void CUSP::PrimaryAttack( void )
{
   if(m_iAnimLevel == 0)
   {
     Shoot();
   }
   if(m_iAnimLevel == 1)
   {
     ShootSilensed();
   }
}

Shoot(); и ShootSilensed(); это обычная атака, надеюсь дальше всё понятно. Также делаем с Deploy, Reload, Idle, Holster(mb)

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



Similar1. Создание нового ствола - Создание нового ствола с новыми патронами
2. Два цвета крови у зомби - Два цвета крови у зомби
3. Создание КООП,смена карт аля сингл - Сдесь я расскажу как разрешить синглплеерные скрипты в мултиплеере!
You cannot comment, because you are not logged-in.
    me3_TableLarge01_Dirty
    Half-Lifeme3_TableLarge01_Dirty
    me3_TableLarge01
    Half-Lifeme3_TableLarge01
    me3_Crate01_L
    Half-Lifeme3_Crate01_L
    me3_Desk01_Corner_Worn
    Half-Lifeme3_Desk01_Corner_Worn