I like Dino's answer, and I'm not sure if the management technique that I started planning logistically was what he was actually talking about, but either way, he got the ball rolling. Ill check it out when I'm not at work. Can't youtube here.
But my original help would be to put your hasweapons variables/array on the player itself. Then your player could keep up with it, and your menu system and player can chat over a coffee when the menu loads.
I also don't think a global array would cause a major cleanup issue, especially compared to individual weapons, but it wouldn't seem "right" to use that as a global anyways.