sorry, my initial post was kind of irrelevant because i didn't understand your system.
so, the first thing i would recommend is to read up on containers in the manual.
i would make one object type to represent all of the equipment, and then give that object type a variable that holds what it is and one that holds where it can be equipped, as well as a variable that holds how big its inventory is.
then i would put that object into a container with an inventory array, and set the inventory array's size to the item's size in an event.
this will simplify your code base dramatically because you won't need to use families--all of the equipped inventory can be picked at once with your "on the player" variable
once that's done, it seems like you already have the basic setup done: gear has an associated array that can hold N items. now you have to draw the items, which you can do with a (fairly complex, tbh) nested set of for loops, one for each equipped item, and one for each entry in the equipped items array.
item is "on the player"
for each item
-----create itemIcon at x = loopindex*25, y = 300
-----itemIcon set animation item.Type
-----inventoryArray for each X element
----------create itemIcon at x = item.X+10, y=310+(loopIndex*10)
----------itemIcon set animation inventoryArray.At(inventoryArray.curX)
this would draw all the items vertically below the equipped item, if you set up the itemIcon to hold 1 animation for each item name.
i hope that helps you move forward!
edit: sorry i don't know how to render the tabs correctly