It's actually very easy to set up.
first of all you make sure you have collision set to both the pick-up and the character (you can use actor too and use the near sensor, but it is less reliable).
So when that is done you simple click on the character, create a property "player" and another property called "pickup", then click on the pick-up item and set the logic bricks as following..
[Collision 'property': player] -> and -> [message to player/character with 'topic'] and also connect the 'and' to a [edit object 'end object'] actuator.
After this you go to the character/player and add a [message sensor with 'topic'] -> and -> [property "pickup" 'add' 'value (5 for example)'].
So when this is done the pickup item will disappear and add a value off 5 to your pickup property. Then what you decide to do with the property itself is up to you. It can be ammo, health, EXP etc. No limits really.
Good luck and have fun!