The only solutions to this that I can think of are complicated enough to the point where you may as well just make your own weapon as you’d need to use a sphere trace in control rig to put a trigger between the player and the object located at the furthest distance in front of them (up to the maximum range of the weapon) that would trigger whenever they missed. You’d then need to create a listener that runs for both damage events and that triggers events (you’d run those against a conditional that checks the player IsHolding and then correlates the item to the ammo type) to subtract the bullet from the clip count.
At that point I’d just make a custom weapon with the control rig trace instead.
Edit: The other option would be to create your entire level out of props and then put them in a giant prop manipulator and listen for DamageEvent and then heal them back every time they’re hit. You could then use a combination of damage events and misses to calculate the ammo in the clip. The only issue you run into there is what if the player shoots directly into the sky? In order to handle that you’d have to create an invisible prop that sits at the highest point in the playspace you would use so that it would still trigger but not interfere with gameplay.