This function seems to do exactly what I need. However, I am not entirely sure how this function works and or how to register the function properly. Also to detect if Hit/Miss I was using get_user_aiming. Not sure if thats the most accurate way.
/**
* Description: Called when the main attack of a weapon is triggered.
* Forward params: function(this)
* Return type: None.
* Execute params: ExecuteHam(Ham_Weapon_PrimaryAttack, this);
*/
Ham_Weapon_PrimaryAttack,