ONeiLL
CrazyUkrainian
Дата регистрации : Dec 2011
Проживает : Украина, Житомир
Сообщений : 562
Возраст: 27
Рейтинг
[кратко]
Пользователи:
9.9 (7 )
Нарушения:
-1.3 (? )
Сообщения:
0.1 (Метки )
Регистрация:
8.3
Ku2zoff , я в моделировании нуб, да я и так всё уже зделал. Если кому надо, то вот, держите:
C++ Source Code:
1 void CBasePlayer::SetAnimation( PLAYER_ANIM playerAnim )
7 speed = pev->velocity.Length2D();
9 if (pev->flags & FL_FROZEN)
12 playerAnim = PLAYER_IDLE;
18 //m_IdealActivity = ACT_HOP;
21 case PLAYER_SUPERJUMP:
22 //m_IdealActivity = ACT_LEAP;
26 m_IdealActivity = ACT_DIESIMPLE;
27 m_IdealActivity = GetDeathActivity( );
38 m_IdealActivity = m_Activity;
41 m_IdealActivity = ACT_RANGE_ATTACK1;
47 if ( !FBitSet( pev->flags, FL_ONGROUND ) && (m_Activity == ACT_HOP || m_Activity == ACT_LEAP) ) // Still jumping
49 m_IdealActivity = m_Activity;
51 else if ( pev->waterlevel > 1 )
54 m_IdealActivity = ACT_HOVER;
56 m_IdealActivity = ACT_SWIM;
60 m_IdealActivity = ACT_WALK;
65 switch (m_IdealActivity)
73 if ( m_Activity == m_IdealActivity)
75 m_Activity = m_IdealActivity;
77 animDesired = LookupActivity( m_Activity );
78 // Already using the desired animation?
79 if (pev->sequence == animDesired)
82 pev->gaitsequence = 0;
83 pev->sequence = animDesired;
88 case ACT_RANGE_ATTACK1:
89 if ( FBitSet( pev->flags, FL_DUCKING ) ) // crouching
90 strcpy( szAnim, "crouch_shoot_" );
92 strcpy( szAnim, "ref_shoot_" );
93 strcat( szAnim, m_szAnimExtention );
94 animDesired = LookupSequence( szAnim );
95 if (animDesired == -1)
98 if ( pev->sequence != animDesired || !m_fSequenceLoops )
103 if (!m_fSequenceLoops)
105 pev->effects |= EF_NOINTERP;
108 m_Activity = m_IdealActivity;
110 pev->sequence = animDesired;
111 ResetSequenceInfo( );
115 if (m_Activity != ACT_RANGE_ATTACK1 || m_fSequenceFinished)
117 if ( FBitSet( pev->flags, FL_DUCKING ) ) // crouching
118 strcpy( szAnim, "crouch_aim_" );
120 strcpy( szAnim, "ref_aim_" );
121 strcat( szAnim, m_szAnimExtention );
122 animDesired = LookupSequence( szAnim );
123 if (animDesired == -1)
125 m_Activity = ACT_WALK;
129 animDesired = pev->sequence;
133 if ( playerAnim == PLAYER_JUMP )
134 pev->gaitsequence = LookupSequence( "jump" );
135 else if ( playerAnim == PLAYER_SUPERJUMP )
136 pev->gaitsequence = LookupSequence( "longjump" );
137 else if ( FBitSet( pev->flags, FL_DUCKING ) )
141 pev->gaitsequence = LookupActivity( ACT_CROUCHIDLE );
142 // pev->gaitsequence = LookupActivity( ACT_CROUCH );
146 pev->gaitsequence = LookupActivity( ACT_CROUCH );
149 else if ( speed > 220 )
151 pev->gaitsequence = LookupActivity( ACT_RUN );
155 pev->gaitsequence = LookupActivity( ACT_WALK );
159 // pev->gaitsequence = LookupActivity( ACT_WALK );
160 pev->gaitsequence = LookupSequence( "idle1" );
163 // Already using the desired animation?
164 if (pev->sequence == animDesired)
167 //ALERT( at_console, "Set animation to %d\n", animDesired );
168 // Reset to first frame of desired animation
169 pev->sequence = animDesired;
171 ResetSequenceInfo( );
Если зделать так, то idle и jump будут нормально выглядеть
Добавлено 14-05-2012 в 11:32:
Давно хотел спросить, что надо зделать, чтобы анимация смерти "проигралась" до конца, а то у меня моделька на коленках стоит
И что надо зделать, чтобы после смерти модель не вертелась, то есть я убит, но моделька поворачивается за мышкой
Сообщить модератору | IP: Записан
Сообщение: 98144