Never had the issue, however use my own path code not this function.

Simple debugging
Code:
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
Code:
// 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
Code:
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

Last edited by Malice; 10/28/15 06:10.