Wanting to create different types of Ammo

the simplest solution would be to create a variable for each ammo type (say pistol, rifle, shotgun) in the character. this way you just have to have your guns get the actor that is holding the gun and firing and decrement the specific variable.

in the below example you will see a quick method i threw together. as you can see in the second picture i made a variable for each ammo type. more on the second picture in a minute. the first picture shows how things could be done within the gun. in the gun i used a custom event fire which will be called to fire the gun and the event has a input of the fpscharacter type (where we have the ammo variables). the gun also has a ammo type variable which is a enumeration of the ammo types (basically a list). ok so you would set the ammo type variable depending on the type of weapon, it just tells which kind of ammo should be used when the weapon is fired. so on fire we get ammo type and select the variable from the character, then we check to ensure ammo is greater than 0, and if it is we decrement the ammo, and finally do the script to fire the weapon. it sounds confusing i know and i didnt explain well but its not too hard.

anywho back to the second pictures script. the script shown here is one method to add ammo via pickups. you have a ammo bp actor and then just have it call the addAmmo event and specify the ammo type and amount. the amount is added to the current ammo then clamped to a max amount and set.

sorry if this is poorly written and confusing, im pretty tired atm so ill try to clarify it a bit in the morning.