Hi, I am converting AUM 35 racing AI to lite-c but it keep rotating at the same point. It is suppose to move along the circuit. Below are the codes, can someone please enlighten me.

Code:
 
....
action car()
{
	var waypoint_number = 0;
	VECTOR target_coords, temp; 
	var engine_handle;
	ANGLE angle_diff;
	var engine_offset; 
	int node = 1, p;
	my.skill20 = 0;
	my.skill21 = 1;
	my.skill22 = -1;
	my.skill23 = 50;
	my.skill24 = 50; 
	my.emask |= ENABLE_SCAN; 
	my.event = make_way; 
	engine_offset = random(3); 
	if (my.skill1 == 2.000) 
	{
		path_set(my, "car02");
		car2 = me;
	}
	while (race_started == 0) {wait (1);}
	engine_handle = ent_playloop (my, engine_wav, 50); 
	p = path_getnode(my,node, target_coords, NULL); 

	while (my.skill20 == 0) 
	{
		temp.x = 60;  
		temp.y = 60; 
		temp.z = 150; 
		c_scan (my.x, my.pan, vector(60,60,150), SCAN_ENTS); 

		temp.x = target_coords.x - my.x; 
		temp.y = target_coords.y - my.y;
		temp.z = 0;
		
		if (vec_to_angle (angle_diff.pan, temp) < 150) 
		{
			waypoint_number = path_nextnode(my, node, 1);
			path_getnode(my,waypoint_number, target_coords, NULL);
		}
		
		angle_diff.pan = ang(angle_diff.pan - my.pan); 
		my.pan += my.skill27 * angle_diff.pan * 0.005; 
		if (((waypoint_number > 65) || (waypoint_number < 8)) || ((waypoint_number > 34) && (waypoint_number < 49))) 
		{
			if (my.skill27 < (my.skill23 * time_step)) 
			{
				my.skill27 += 1 * time_step; 
			}
		}
		else 
		{
			if (my.skill27 > (my.skill24 * time_step)) 
			{
				my.skill27 -= 0.5 * time_step; 
			}
		}
		if (waypoint_number == 66) 
		{
			pick_new_path(); 
		}		
		if ((my.skill25 < 500) && (my.skill27 > 15))
		{	
			my.skill27 -= my.skill25 / 200; 
		}
		my.skill28 = 0; 
		my.skill29 = 0; 
		move_mode = IGNORE_YOU + IGNORE_PASSABLE + GLIDE;
		my.skill2 = ent_move (my.skill27, nullvector); 
		my.skill25 += my.skill2; 
		snd_tune (engine_handle, 50, (my.skill2 * 5 + engine_offset), 0); 
		wait(1);
	}
}
...


Last edited by calz054; 07/19/08 07:31.