Of course it's not going to work. This is your trigger in simple form:
Code:
Set x = 1
If
(x != 1)
Then
(do some actions)
Else
(do something else)
So of course you won't get to the "Then" block, because just an action above the If/Then/Else you set x to be equal to 1.
The way these "item-types" are handled is usually through item level. For example all items with item-level 1 will be weapons. All items with item-level 2 will be Armor, etc.
So in your trigger, when unit acquires an item, you loop through each item slot and:
1) check if level of item in that slot is not equal to the level of the picked item, and
2) also if the item in a slot is not the acquired item itself.
If this passes, the unit does not carry any other item of same item-type (e.g. weapon).
The problem is that items can have only item levels from 0 to 8. What you can do though is to also use item classification (classification is Artifact, campaign, etc.) - there is a total of 7 classifications (well, in truth it can have 8, more on this below), so you can have a total of 63 different item-types. This way you can have items for a class/hero only - e.g. Paladin-only weapon. Such item could for example have item-level 5 and item-classification 'Power Up'.
So your trigger should look something like this:
As for the 8th classification - there is a classification called "Unknown". Basically when the classification of an item is not one of the standard 7 ones, then it is of classification "unknown". You can check if item-classification is "unknown" in triggers.
In object editor it's a bit harder to set unknown classification, because it only offers you the standard 7 classifications. To bypass this, select the item you want, hold down left SHIFT key and open the item-classification field. Now instead of list it will open as text box. Write in it anything you want - be it empty space " ", or "Custom", etc. - triggers will evaluate this item's classification as "unknown".
So theoretically you have 9 levels and 8 classifications, so 72 possible options. Do note though that I didn't do any extensive testing of this, so while it shouldn't break anything, one can never be sure it won't bug something.