Never had the issue, however use my own path code not this function.
Simple debugging
action monster_code()
{
var I_live=0;
...
if(my)
beep();
ent_movepath(me, "path_001", 2, 1+2); // THIS CODE HERE
while(1)
{
if(my)
I_live=1;
DEBUG_VAR(my.x,50);
DEBUG_VAR(my.y,100);
DEBUG_VAR(my.z,150);
DEBUG_VAR(I_live,200);
...
wait(1);
}
}
If you see red numbers and any are none zero, the ent was created, most likely the path name is wrong. Also listen for the BEEP - if you hear the BEEP but do not get the numbers , then ent has slipped into a black hole and become uncreated.
EDIT - also not in the ent_create action named monster_action, but action named monster_code..
EDIT2- ACTUAL code for ent_movepath - no way to REMOVE ent
// let an entity move along a closed path with given speed
function ent_movepath(ENTITY* ent,char* pathname,var speed,var mode)
{
proc_kill2(ent_movepath,ent);
var vLastPos[3],vDir[3];
vec_set(vLastPos,ent.x);
var dist = 0;
if(pathname) path_set(ent,pathname);
while(speed)
{
// place the entity along the path
path_spline(ent,ent.x,dist);
dist += speed*time_step;
// adjust the entity to the floor
if(mode&1)
ent_placefloor(ent);
// let the entity look ahead in movement direction
if(mode&2) {
vec_diff(vDir,ent.x,vLastPos);
vec_to_angle(ent.pan,vDir);
vec_set(vLastPos,ent.x);
}
var ehandle = handle(ent);
wait(1);
ent = ptr_for_handle(ehandle);
}
}
You can edit it to debug if path is found, by changing here
var is_path=0;
if(pathname) is_path=path_set(ent,pathname);
while(speed)
{ DEBUG_VAR(is_path,300);
If red '1' at pixel 300 path found, if red '0' path not found.
OK bed time for me
Have fun
Mal