Uuuuuund hier ist die version die wir oben wollten. Macht genau das gleiche wie die in der letzten post, nur eine angle rechnung weniger pro frame, und es macht's nach der art, die wir ursprünglich wollten:
Code:
void turningEnt()
{
	my.scale_x = 2;
	my.scale_y = 2;
	my.scale_z= 2;
	
	vec_randomize(temp, 50);
	if(vec_length(temp) < 30) vec_normalize(temp, 30);
	
	you = ent_create("blob.mdl", temp, NULL);
	vec_set(you.pan, vector(random(360), random(360), random(360)));
	you.scale_x = .6;
	you.scale_y = you.scale_x;
	you.scale_z = you.scale_x;
	
	VECTOR dirRestore;
	vec_diff(dirRestore, you.x, my.x);
	vec_rotateback(dirRestore, my.pan);
	VECTOR angRestore;
	ang_diff(angRestore, you.pan, my.pan);
	angRestore.x -= my.pan;
	angRestore.y -= my.tilt;
	angRestore.z -= my.roll;

	while(key_i == OFF) wait(1);
	
	while(my)
	{
		my.pan += (key_cul-key_cur)*time_step*6;
		my.tilt += (key_cuu-key_cud)*time_step*6;
		
		vec_set(temp, dirRestore);
		vec_rotate(temp, my.pan);
		vec_set(you.x, temp);
		
		vec_set(you.pan, my.pan);
		ang_rotate(you.pan, angRestore);
		wait(1);
	}
}



ang_diff und ang_rotate warn schon richtig, nur musste ventilator's vec_rotateback noch rein - allerdings in angle form. Ich hab das mit:
angRestore.x -= my.pan;
angRestore.y -= my.tilt;
angRestore.z -= my.roll;
gemacht.

Find die version schöner.
^^


~"I never let school interfere with my education"~
-Mark Twain