var temp_pan[3];
var pan_ang_smooth = 0.5;
var tilt_ang_smooth = 0.5;
var pos_node[3]; // array to hold node position
define _nodeHitDist, skill10;
define _moveSpeed, skill11;
define _nodeId, skill71;
define _nodeDir, skill72;
define _ani1, skill73;
var cid = 0;
function e1f_move() {
c_move(me, vector(my._moveSpeed*time_step, 0, 0), nullvector, GLIDE | IGNORE_PUSH);
ent_animate(my, "walk", my._ani1, anm_cycle);
my._ani1 += 10 * time_step; // 10//number controls the animation speed
}
function e1f_turnTo(&_v) {
vec_to_angle(temp_pan, vec_diff(temp, _v, my.x));
my.pan += ang(temp_pan.pan - my.pan) * pan_ang_smooth*time_step;
my.tilt += ang(temp_pan.tilt - my.tilt) * tilt_ang_smooth*time_step;
}
action e1_a {
wait(1);
cid += 1;
my._nodeHitDist = 25;
my._moveSpeed = 10;
// attach entity to nearest path
//my._nodeId = path_scan(me,my.x,my.pan,vector(360,180,1000));
//if (my._nodeId == 0) {
//return;
//}
if (cid == 1) {
path_set(me, "path_000");
} else {
path_set(me, "path_001");
}
my._nodeDir = 1;
my._nodeId = 1;
while(me != NULL) {
if (path_getnode(me, my._nodeId, pos_node, null) == 0) {
my._nodeDir *= -1;
my._nodeId += my._nodeDir;
path_getnode(me, my._nodeId, pos_node, null);
}
if (vec_dist(my.x, pos_node) < my._nodeHitDist) {
my._nodeId += my._nodeDir;
}
e1f_move();
e1f_turnTo(pos_node);
wait(1);
}
}