Use custom values, like weapons have custom value 1, armor 2, boots 3... (but you'll need biger values i think)
So then you make triggers:
You need if/then/else to check for custom value of item
Condition(integer)
Check for custom value and if the hero allready have such item (with same custom value in it's invertory)
So if it have, make a message/drop item/do what you wish...
Duno that comes to my head a.t.m, hope it helps =)
~Berz