here an example code of an entity looking at the player constantly.
Everything works fine and here. (a bit slow but ok):

Code:
action look_at_player()
{
	while(1)
	{
		VECTOR temp_vec; 
		ANGLE temp_angle;
		ANGLE head_angle;

		vec_set(temp_vec,player.x); 
		vec_sub(temp_vec,my.x); 
		vec_to_angle(temp_angle,temp_vec);
		vec_sub(temp_angle, my.pan);    
		//head
		head_angle.pan = temp_angle.pan;
		head_angle.tilt = temp_angle.tilt;
		head_angle.roll = 0;
		head_angle.tilt = clamp(head_angle.tilt, -80, 80);
		head_angle.pan = clamp(head_angle.pan, -90, 90);
		ent_bonereset(my,"Head");    
		ent_bonerotate(my,"Head",head_angle);

		wait(1);
	}
}



But now I don`t only need the head to rotate, but also the (lets say) right arm and left arm.
Then it would look like this;

Code:
action look_at_player()
{
	while(1)
	{
		VECTOR temp_vec; 
		ANGLE temp_angle;
		ANGLE head_angle;
		ANGLE right_arm_angle;
		ANGLE left_arm_angle;

		vec_set(temp_vec,player.x); 
		vec_sub(temp_vec,my.x); 
		vec_to_angle(temp_angle,temp_vec);
		vec_sub(temp_angle, my.pan);    
		
		//head
		head_angle.pan = temp_angle.pan;
		head_angle.tilt = temp_angle.tilt;
		head_angle.roll = 0;
		ent_bonereset(my,"Head");    
		ent_bonerotate(my,"Head",head_angle);

		//right arm
		right_arm_angle.pan = temp_angle.pan;
		right_arm_angle.tilt = temp_angle.tilt;
		right_arm_angle.roll = 0;
		ent_bonereset(my,"right_arm");    
		ent_bonerotate(my,"right_arm",right_arm_angle);

		//left arm
		left_arm_angle.pan = temp_angle.pan;
		left_arm_angle.tilt = temp_angle.tilt;
		left_arm_angle.roll = 0;
		ent_bonereset(my,"left_arm");    
		ent_bonerotate(my,"left_arm",left_arm_angle);

		wait(1);
	}
}



And that is a real fps killer.
Is there any way to save fps in that example?
I needs alot more ghosts to stop this fps packman!