well, i think i resolved it in the next way:
when my.status is 0
i animate the "StandShoot" frames that begin in 150.
I made that:
if (my.status == 0)
{
c_updatehull(my,150);
ent_animate(my, "StandShoot", idle_percentage, ANM_CYCLE);
idle_percentage += 12 * time_step;
segundos = segundos+20*time_step;
if ((total_frames % 50) == 1)
{
vec_for_vertex (temp, my, 8);
ent_create ("bala.mdl", temp, move_enemy_bullets);
snd_play(shoot1_wav, 80, 0);
}
if ((segundos > 500) == 1)
{mi_estado=integer(random(2));
my.status = mi_estado;
segundos = 0;}
}
And so on, when my.status = 1 i pass to animate "CrouchAim " animation
that begins in 155 frame
and i do
c_updatehull(my,155);
I am testing and i believe it is working well.
in that video i show how it works.
http://www.youtube.com/watch?v=ag7iyImfFu8if you see, when the enemy is in the AIM position, the bollet of my gun dont impact its original collision box because it was ajusted to the AIM position.
Note: i dont know why Z-soft dont record the muzzle effect and the explosion of the bullet when it hits the wall or the enemy. But in the game it happens.
Thanks friends.