As it was needed on the server I work with, I thought I may aswell share it with others, but be warned, the way this is coded is for the server i work with, I will explain what it wont do.

Because it detects the camera mode (GetPlayerCameraMode), and is set to 53, it will only work on weapons like Pistol, SMG, Carbine... and not things like Sniper and Rocket Launcher.

This is only for 0.3z as it uses OnPlayerWeaponShot, this code was about 10 minutes of work, so if its slow or whatever, I apologize as I am quite new to scripting... but here you go.

pawn Code:
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
new string[128];
new cmode = GetPlayerCameraMode(playerid);
new target = GetPlayerTargetPlayer(playerid); //Reports as 65535 if auto aim is being used.
if( hittype == BULLET_HIT_TYPE_PLAYER )
{
if( GetPlayerState(target) == PLAYER_STATE_WASTED || GetPlayerState(hitid) == PLAYER_STATE_WASTED)
{
SCM(playerid, -1, "This player is dead");
return 0;
}
if( cmode == 53 )
{
if( hitid != target)
{
format(string, sizeof(string), "ID:%d may be using a controller or autoaim.", playerid);
SendClientMessageToAll(-1, string);
return 0;
}
}
}
return 1;
}

And here is a proof of concept video.

[ame]http://www.*******.com/watch?v=PyInvWL229A[/ame]

Any feedback will be helpful so I can improve