@snajlen - Im not familiar with this tutorial - I think this might be whats happening - when you “remove from inventory” are you SPAWNING a new BP class into the world (which of course would inherit a full magazine of ammo because it is brand new, and NOT the one you actually picked up and used. If you set variables to count down the number of ammo left in a magazine, and then ‘destroy’ that actor in inventory, and Spawn a brand new actor- they have nothing to do with each other. They even have different names 01, 02, 03 etc as you spawn and destroy.
Instead, of Destroying actors, try Hiding them, they will remain in the world but not visible and will retain their variables. When you ‘remove’ from inventory, simply ‘Reshow’ the original Blueprint class actor, and Move it to where it should now be (in front of character). That way when you go to pick it back up again (actually just hiding it again) it will be empty as it will retain the variables you set while using it. Best of luck! - Jerry