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 :

Half-Life: Day One (OEM Demo)Half-Life: Day One (OEM Demo)

Первая предрелизная демо-версия Half-Life!...

26/08/1998
Silent EscapeSilent Escape

First Person Shooter...

26/08/2012
Stat ( source mods ), pcs.

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


  • Description
  • HOW TO INSTALL

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

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


Author/s of tutorial : Jack-Hang
Views : 1783 ( +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. Как адаптировать код к модели - Допустим, вы сделали новую модель для автомата MP5, но порядок и кол-во анимаций не сходятся.
2. учёные не отставали - Как сделать так, чтобы учёные не отставали на каждом препятствии
3. Спрыгивающий Headcrab - Наверняка каждый, кто поиграл в Half-Life2 хотел, чтобы хедкрабы спрыгивали с зомбяков и в первом Half-Life
4. Trigger_PlayerFreeez - Trigger_PlayerFreeez (остановка игрока)
5. Функции движка - как и для чего - Функции движка - как и для чего их использовать?
6. Неработающие двери :) - Как сделать, чтоб двери не открывались, когда нет света и рядом с ними был индикатор (красн. зел.)
7. Water Splash - Добавляем брызги при выстреле по воде
You cannot comment, because you are not logged-in.
    METLKR (версия 1.0.0.11082026)
    Mass Effect 2METLKR (версия 1.0.0.11082026)
    PawnHighLight v. 1.1
    Unreal Tournament 99PawnHighLight v. 1.1
    сейв с обновлением
    Half-Life 2сейв с обновлением
    сейв "турель 19 "отомщение""
    Half-Life 2сейв