Статистика ( по комментариям ), шт.
как сделать так чтобы анимации на оружии(допустим) сохранялись, например все помнят КС вот там был Usp
Сохранение анимаций
как сделать так чтобы анимации на оружии(допустим) сохранялись, например все помнят КС вот там был Usp
Автор / ы урока : Jack-Hang Просмотров : 1374 ( +3 ) Прислал / (а) : Streit Дата создания : 07.04.2011 21:19:43 Источник : http://www.hang-over.ucoz.ru Рейтинг : ( 0 ) Поделиться :
Имеются следующие переводы : |
русский |
И так я расскажу о самом простом, как сделать так чтобы анимации на оружии(допустим) сохранялись, например все помнят КС вот там был Usp, я покажу только пример его создания. Для начала создадим переменную которая будет за всё это отвечать. Откроем weapons.h :
И после строки :
int m_iAnimLevel; // Save Animation or anything else
Откроем файл weapons.cpp :
И после строки :
DEFINE_FIELD( CBasePlayerWeapon, m_iDefaultAmmo, FIELD_INTEGER ),
DEFINE_FIELD( CBasePlayerWeapon, m_iAnimLevel, FIELD_INTEGER ),
Так теперь я расскажу как этим пользоваться, в коде оружия например если создаю тот же Усп из КС во вторичной атаке я напишу примерно так :
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;
}
Незабудте в функции Спавн прописать
В стрельбе например пишем вот так :
void CUSP::PrimaryAttack( void )
{
if(m_iAnimLevel == 0)
{
Shoot();
}
if(m_iAnimLevel == 1)
{
ShootSilensed();
}
}
Shoot(); и ShootSilensed(); это обычная атака, надеюсь дальше всё понятно. Также делаем с Deploy, Reload, Idle, Holster(mb)
Примечание редактора: Внимание при использовании этого тутора вам пройдется позаботится о том что бы проверка значений переменой хранящей анимацию происходило только на сервере, дело в том, что при загрузке на сервере значения переменных восстановиться из сейв файла, а на клиенте они останутся прежними, это может привести к непредсказуемым последствиям. Что бы этого не произошло Вам необходимо либо заключить проверку в директивы условной компиляции только для сервера, либо отказаться от кода пушки на клиенте.
Похожие 1. Исходный код ножа - weapon_knife (Нож) с двумя режимами атаки: Slash и Stab. 2. Как адаптировать код к модели - Допустим, вы сделали новую модель для автомата MP5, но порядок и кол-во анимаций не сходятся. 3. Добавление новых классов для монстр - Мы будем добавлять новый класс Блэк Опс из Оппосинг Форс 4. Trigger_PlayerFreeez - Trigger_PlayerFreeez (остановка игрока) 5. Удалённый контроль зарядника - Всегда хотелось, чтобы зарядник в хл был управляемым. 6. Замедление игрока - Довольно забавно наблюдать, как игрок одинаково быстро бегает как с монтировкой в руках, так и с тяжелой базукой, хотя логичнее, что держа в руках сей девайс, он будет бегать медленнее 7. Переключение оружия a la HL2 - Мне не нравится, как переключается оружие в ХЛ. Может, кому-то и интересно тыкать по менюшкам худа, но мне больше нравится реализация переключения в Unreal RTN, Quake Mission Packs и HL2 8. Наследование классов в С++ - В этом туторе я попытаюсь кратко рассказать про наследование классов в С++
Вы не можете комментировать, т.к. вы не зарегистрированы.