action patrol_path
{
var node_pos[3]; // temp storage for node position in AI
var node; // current node
var dist; // distance to node
var temp_angle[3];
var target_angle[3];
var temp_pan[3];
var rotation_speed = 6;
.
// get direction to target
vec_set(temp, node_pos.x);
vec_sub(temp, my.x);
vec_to_angle(temp_angle, temp);
.
// get difference of current angle to desired angle
target_angle.pan = ang(temp_angle.pan - my.pan);
target_angle.tilt = ang(temp_angle.tilt - my.tilt);
// move towards desired angle over time
temp_pan.pan = target_angle.pan * rotation_speed * time;
temp_pan.tilt = target_angle.tilt * rotation_speed * time;
temp_pan.roll = 0;
// must use c_rotate() to turn if using c_move()
c_rotate(my,temp_pan,IGNORE_YOU + IGNORE_PASSABLE + IGNORE_PUSH + ACTIVATE_TRIGGER + GLIDE);
// move the entity
c_move (my, temp, nullvector, IGNORE_YOU + IGNORE_PASSABLE + IGNORE_PUSH + ACTIVATE_TRIGGER + GLIDE);
.

That should be closer methinks.
Loco


Professional A8.30
Spoils of War - East Coast Games