I have a gun script that does not tag the player and therefore does not count kills
Personally, my favourite way is to check if they died after dealing the damage.
Example:
human:TakeDamage(40) local tag = human.Died:Connect(function() --this will run if you inflicted the final hit end) wait(0.1) tag:Disconnect()