Not sure I really get what you mean, but if you use the EH "fired" then that will return the weapon, the muzzle its using (if any), the firing mode (single, burst or auto) and the ammo.
If you had that in a simple loop, you could easily keep track of all of it.
eg. (syntax prob not 100% correct)
#Ammo
_unit addEventHandler ["fired", {goto "DisplayAmmo"}]
~0.01
goto "Ammo"
#DisplayAmmo
; Get the values
_ammo = _this select 0
_muzzle = _this select 1
_mode = _this select 2
_weapon = _this select 3
; Return the values in a hint
_displayAmmo = hint Format["Unit is using a %1\nWith a %2 muzzle\nOn %3\n\nRounds left: %4", _weapon, _muzzle, _mode, _ammo]
~1
goto "DisplayAmmo"