Something simple:
Code:
new iEyesOrigin[ 3 ];
get_user_origin( iPlayer, iEyesOrigin, 1 );
new Float:vecEyesOrigin[ 3 ];
IVecFVec( iEyesOrigin, vecEyesOrigin );
new Float:vecDirection[ 3 ];
velocity_by_aim( iPlayer, 40, vecDirection );
new Float:vecAimOrigin[ 3 ];
xs_vec_add( vecEyesOrigin, vecDirection, vecAimOrigin );
// vecAimOrigin has 40 units away from where player is aiming
__________________