For the seperated item categories, that's been done a dozen times, so you should probably find many many topics if you look around. I'll still give you some basics of how to do it... which is kinda everything you need to do really... please keep in mind that I'm writing without RM** on my hands, so forgive me eventual errors...
First (well, before that, you might consider duplicating the window under another name for compatibility benefits), go for the Window_Item initialize definition, which first line you change from 'def initialize' to
, and a couple of lines after that (3 or so), this:
Now, head for the draw_item area... if you can't find that because I messed up and no such definition exists, look for the >for i in 0..$data_items< something line. Directly underneath that, place
if ( item.is_a?(RPG::Weapon) and @type == 0 ) or ( item.is_a?(RPG::Armor) and @type == 1 ) or ( item.is_a?(RPG::Item) and @type == 2 )
This obviously allows only items to be pushed into the array that are both the requested type and the type id given by you when you call the item window. You of course do that by replacing '@something_window = Window_Item.new' with
@item_window = Window_Item.new(0)
That one has a 0 in the call, meaning the window would only display weapons.
For further know-hows of how to operate windows, you might check my Window Creating tutorial that's linked in my signature.
For your menu background, you have to use a sprite. The necessary code is:
initialize:
@sprite = Sprite.new
@sprite.bitmap = [your bitmap going here]
@sprite.z = 1 # adjust the depth position of your pic to make it appear in the background
dispose:
(@sprite.bitmap.dispose) # i think needed in RMXP, but not in VX
@sprite.dispose