Half-Life и Adrenaline Gamer форум
http://aghl.ru/forum/

Проблема с моделью меча
http://aghl.ru/forum/viewtopic.php?f=20&t=1367
Страница 3 из 3

Автор:  D-AIRY [ 28 июл 2013, 10:17 ]
Заголовок сообщения:  Re: Проблема с моделью меча

Можете показать пример кода без использования weaponmod?, а то из за одной карты не хочется еще модуль грузить

Автор:  KORD_12.7 [ 28 июл 2013, 10:26 ]
Заголовок сообщения:  Re: Проблема с моделью меча

Ну модуль можно загружать только на нужной карте, если что.

Автор:  D-AIRY [ 28 июл 2013, 11:34 ]
Заголовок сообщения:  Re: Проблема с моделью меча

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

Автор:  KORD_12.7 [ 28 июл 2013, 11:45 ]
Заголовок сообщения:  Re: Проблема с моделью меча

Попробуй это:
Код:
public Player_SetAttackAnimation(const iPlayer)
{
   #define ACT_SWIM 6
   #define ACT_LEAP 8
   #define ACT_RANGE_ATTACK1 28
   #define ACT_HOVER 50
   
   // CBaseAnimating
   const m_flFrameRate = 23;
   const m_flGroundSpeed = 24;
   const m_flLastEventCheck = 25;
   const m_fSequenceFinished = 26;
   const m_fSequenceLoops = 27;
   
   // CBaseMonster
   const m_Activity = 88;
   const m_IdealActivity = 89;
   const m_szAnimExtention = 387;
   
   // Extra offsets
   const extra_offset_player = 5;
   const extra_offset_animating = 4;
   
   new iAnimDesired, iActivity = get_pdata_int(iPlayer, m_Activity, extra_offset_player);

   if (iActivity == ACT_SWIM || iActivity == ACT_LEAP || iActivity == ACT_HOVER)   
   {
      return;
   }
   
   new szAnim[64], Float: flFrameRate;
   
   get_pdata_string(iPlayer, m_szAnimExtention * 4, szAnim, charsmax(szAnim), 0, extra_offset_player * 4);
   format(szAnim, charsmax(szAnim), (pev(iPlayer, pev_flags) & FL_DUCKING) ? "crouch_shoot_%s" : "ref_shoot_%s", szAnim);
         
   if ((iAnimDesired = lookup_sequence(iPlayer, szAnim, flFrameRate)) == -1)
   {
      iAnimDesired = 0;
   }

   set_pev(iPlayer, pev_frame, 0.0);
   set_pev(iPlayer, pev_framerate, 1.0);
   set_pev(iPlayer, pev_sequence, iAnimDesired);
   set_pev(iPlayer, pev_animtime, get_gametime());
   
   set_pdata_int(iPlayer, m_fSequenceLoops, 0, extra_offset_animating);
   set_pdata_int(iPlayer, m_fSequenceFinished, 0, extra_offset_animating);
   set_pdata_int(iPlayer, m_Activity, ACT_RANGE_ATTACK1, extra_offset_player);
   set_pdata_int(iPlayer, m_IdealActivity, ACT_RANGE_ATTACK1, extra_offset_player);   
   
   set_pdata_float(iPlayer, m_flGroundSpeed, 0.0, extra_offset_animating);
   set_pdata_float(iPlayer, m_flFrameRate, flFrameRate, extra_offset_animating);
   set_pdata_float(iPlayer, m_flLastEventCheck, get_gametime(), extra_offset_animating);
}
В теории оно должно запустить аниму атаки текущего оружия на модели игрока.

Добавлено спустя 7 минут 29 секунд:
Проверил - работает.

Автор:  D-AIRY [ 28 июл 2013, 14:16 ]
Заголовок сообщения:  Re: Проблема с моделью меча

Спасибо, теперь буду ждать ответа от тестеров

Автор:  D-AIRY [ 03 авг 2013, 00:01 ]
Заголовок сообщения:  Re: Проблема с моделью меча

К сожалению, это работает не совсем так как хотелось бы, правильная анимация проигрывается только на crowbar'е, на самом мече, слоте из под hornetgun, проигрывается анимация первичной атаки именно этого оружия. Есть ли возможность на любом слоте воспроизвести анимацию crowbar'а?

Автор:  KORD_12.7 [ 03 авг 2013, 07:46 ]
Заголовок сообщения:  Re: Проблема с моделью меча

В коде выше замени
Код:
get_pdata_string(iPlayer, m_szAnimExtention * 4, szAnim, charsmax(szAnim), 0, extra_offset_player * 4);
format(szAnim, charsmax(szAnim), (pev(iPlayer, pev_flags) & FL_DUCKING) ? "crouch_shoot_%s" : "ref_shoot_%s", szAnim);
на
Код:
formatex(szAnim, charsmax(szAnim), (pev(iPlayer, pev_flags) & FL_DUCKING) ? "crouch_shoot_crowbar" : "ref_shoot_crowbar");

Автор:  D-AIRY [ 04 авг 2013, 00:45 ]
Заголовок сообщения:  Re: Проблема с моделью меча

Спасибо, то что нужно

Страница 3 из 3 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/