I updated my code

===============================================================================
action player_cb()
{
var pos_cb = vector(my.x, my.y, my.z);
//ENEMY IS STANDING ON GROUND
VECTOR vFeet;
vec_for_min(vFeet,me);
set(my,FLAG2);
my.STATE = 1;
//ENEMY IS IDLE
if(my.STATE == 1)
{
c_scan(my.x,my.pan,vector(900,900,900),SCAN_ENTS | SCAN_FLAG2 | IGNORE_ME);
while(1)
{
my.ANIMATION += 10 * time_step;
ent_animate(my, "idle", my.ANIMATION, ANM_CYCLE);
if(you)
{
my.ANIMATION = 0;
my.STATE = 2;
}
wait(1);
}
}
if(my.STATE == 2)
{
var agwat = vec_dist(my.x, your.x);


while(1)
{
if(agwat > 900)
{
ent_animate(my,"walk",walk_percentage,ANM_CYCLE);
my.ANIMATION = 0;
if(agwat == 0)
{
my.ANIMATION = 0;
my.STATE = 3;
}
}
wait(1);
}

}
if(my.STATE == 3)
{
my.ANIMATION = 0;
my.STATE = 1;

}
}

============================================================================

Enemy detects my presence but it only stays in idle animation. Unless the distance between the two is reduced to 0, the enemy should be on walking state but it still stays in idle state.


If you do not know where you are . . .
Ask a villager.