Code:
my.NODE_NEXT=path_nextnode(my,1,1); // SET THE NODE
	while(1)
	{
         // PATH NODE DETECTION AND RANDOMIZATION AND FACING //////////////////////////////////
		
		
		if(vec_dist(my.x,vec_next_node.x) < my.max_x)    // Is next node within 160 units 
		{
			path_next(my); // will jump from current path to new path// Jump to new path
			my.NODE_NEXT=path_nextnode(my,my.NODE_NEXT,1); // Grab Next node on new path -- NOTE ALL PATHS MUST HAVE THE SAME NUM NODE IN SAME GEN LOCATION
			my.skill10=0; // only enable facing the path node if changing the path.   
		}
		
		path_getnode(my,my.NODE_NEXT,vec_next_node,NULL);  // Get next node actual vector location 
		
		if(my.skill10 ==0)
		{
			vec_to_angle(my.pan,vec_diff(NULL,vec_next_node,my.x)); // face the new node
		}

		///////////////////////////////////////////////////////////////////////////
		
		// SOFT AND HARD MOVEMENTs /////////////////////////////////////////////////////////////
		
		c_move(my,vector(my.skill3*time_step,0,0),nullvector,GLIDE | IGNORE_PASSABLE);
		
wait(1);
}
}




Ok lets walk through the logic of my code so you can learn to modify it.
1)my.Node_next=path_nextnode(my,1,1);
we are setting a skill to the return value of path_nextnode.
path_nextnode manual notes "Finds the next node along a given edge."
So we are finding the next node in the orges path and returning it to the skill my.NODE_NEXT

2)if(vec_dist(my.x,vec_next_node.x) < my.max_x) // Is next node within 160 units
check if the next node is close

3)path_next(my); // will jump from current path to new path// Jump to new path
Will jump to the next closest path... In your cause you have only one path, so this command should not be here, but instead used to attach the orge to the path before all this code

4)my.NODE_NEXT=path_nextnode(my,my.NODE_NEXT,1); // Grab Next node on new path -- NOTE ALL PATHS MUST HAVE THE SAME NUM NODE IN SAME GEN LOCATION
Ok this is little tricky, my.node_next at this point holds the a node number, we use it to get the number of the next node, and replace it with the return value or the next node we wanted

5)my.skill10=0; // only enable facing the path node if changing the path.
We open the lock so that we may turn to the new node

6)path_getnode(my,my.NODE_NEXT,vec_next_node,NULL); // Get next node actual vector location
Now we take the node number my.Nodenext and from it we fill it's xyz into vec_next_node.

7)if(my.skill10 ==0)
{
vec_to_angle(my.pan,vec_diff(NULL,vec_next_node,my.x)); // face the new node
}

We have a new node location and we have opened the lock, so now we make the ogre turn to the new node

8)c_move(my,vector(my.skill3*time_step,0,0),nullvector,GLIDE | IGNORE_PASSABLE);

A automatic move that keeps the ogre walking forward, when used with the above code the ogre will walk the path.

Thats the logic