Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Items, Armor, Weapons -> A menu for each of them

I was wondering if there was a way to split up the weapons, armors and items in the Window_item...
because I would like to do 3 windows, one for each type of items (Weapons, Armors and items)

I've some good bases of RGSS so it won't be a problem if I have to make the 3 windows myself!
Just want to know where's the section in the Window_Item script that mix the 3 kind of items...

I also want to make 3 independant windows so that we CAN'T navigate through one another.
that won't be a problem, the main idea is to create 3 windows for each type of item.
One should be a Window_selectable (The items one)
but the others only need to be Window_Bases...

Thanks a lot.
 
Inside Window_Item you should see the code:
Code:
    @data = []
    # push items into the data array
    for i in 1...$data_items.size
      if $game_party.item_number(i) > 0
        @data.push($data_items[i])
      end
    end
    # unless in battle, draw weapons and armor
    unless $game_temp.in_battle
      for i in 1...$data_weapons.size
        if $game_party.weapon_number(i) > 0
          @data.push($data_weapons[i])
        end
      end
      for i in 1...$data_armors.size
        if $game_party.armor_number(i) > 0
          @data.push($data_armors[i])
        end
      end
    end
Depending on the Window, remove the respective snippet. For instance, for weapons the code would be:
Code:
    @data = []
    # push items into the data array
    # unless in battle, draw weapons and armor
    unless $game_temp.in_battle
      for i in 1...$data_weapons.size
        if $game_party.weapon_number(i) > 0
          @data.push($data_weapons[i])
        end
      end
    end
So basically, what you do is, you duplicate Window_Item twice, so you have 3 of it. Change two of them to Window_Weapon and Window_Armor. Remove the respective snippets as shown above.

Next step is to duplicate Scene_Item two times and change these as well to Weapon and Armor.
Find the line:
Code:
@item_window = Window_Item.new
For weapon and armor, change Window_Item.new to Window_Weapon.new or Window_Armor.new.

Hope this helps.

EDIT: Just noticed:
I also want to make 3 independant windows so that we CAN'T navigate through one another.
that won't be a problem, the main idea is to create 3 windows for each type of item.
One should be a Window_selectable (The items one)
but the others only need to be Window_Bases...
I didn't quite get that, can you explain a bit better?
 
Thanks a lot! I managed to do it!

I also want to make 3 independant windows so that we CAN'T navigate through one another.
that won't be a problem, the main idea is to create 3 windows for each type of item.
One should be a Window_selectable (The items one)
but the others only need to be Window_Bases...
I mean : The window item is a Window_Selectable -> You can navigate through the window, choose and item and use items.
            The others are not -> Window_Armor (and Window_Weapon) are not ACTIVE Window_Electable so that there is no cursor in it.
            The windows for weapons ans armors are just a simple window.

and I added to this piece of code the Scene_Item script! (with all the .update and .dispose things at the right place)
Code:
 #Make the 3 windows
@win_item = Window_Item.new
@win_armor = Window_Armor.new
@win_weapon = Window_Weapon.new
 #the only active window is the item one
@win_armor.active = false
@win_weapon.active = false
I also added "self.index = -1" to the Window_Armor and Window_Weapon so that there's no cursor at all in these 2
and I resized the windows to about 1/3 of the screen.

http://www.mediafire.com/?penx4mgth8b
Here's a screenshot. The windowskins are not done yet but you can have a good idea!
I guess there's no need to put a demo for a menu so there's only a screenshot.

Sorry for my english... I'm from Quebec and my first language is french. Is my english that bad?  :smile:

Thanks again
 
Using self.index = -1 works fine, though this might be uneccessary and lengthening the code. I won't go into detail, as it works fine and shouldn't lower your FPS at all anyway.

Your English isn't bad at all, I understood it fully when you added the explanation in your previous post.

Glad it worked out for you.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top