Sorry not exactly what I wanted to say.
For 1/ and 2/ ; I was meant the direction between the end position ( where you aim ) and the entity origin.
By getting the direction you can retrieve an angle of it and changing the entity angle.
Code:
new Float:AimOrigin[3];
new Float:EntityAngles[3];
new Float:EntityOrigin[3];
new Float:Direction[3];
xs_vec_sub( AimOrigin, EntityOrigin, Direction );
xs_vec_normalize( Direction, Direction );
vector_to_angle( Direction, EntityAngles );
set_pev( Entity, pev_angles, EntityAngles );
__________________