Consider player1 and player2.
player1 - On ground
player2 - In vehicle to ram player1
First check if the player1 is having a M4/Deagle when he fire s(OnPlayerKeyStateChange?), and then
GetPlayerCameraFrontVector and
GetPlayerCameraPos to get the player1's aim position.
Check if the aim position is matching with the GetPlayerPos of the player2 who is trying to ram the player1. If it matches, SetPlayerPos of the player2 some distance back.