there's a way but it's not very realistic...but it works
Give him only one magazine and make a trigger that checks how much ammo he has left
eg : magazine is 30 bullets
check the ammo and when it is 29 , remove the magazine...
Try
condition : Player ammo "M16" == 29
on activation: Player removemagazine "M16"
hmmm, that should work...