SceneManager.call Directly to Items

● ARCHIVED · READ-ONLY
Started by Raikuden 6 posts View original ↗
  1. I am using events to create a custom menu for Items, Save, and End Game as the player does not need to see the character's HP, status, etc.

    Spoiler
    Menu.PNG


    Common Event.PNG

    I use the script call, SceneManager.call(Scene_Item) to bring up the Items menu. Since I do not need the Weapons, Armors, or Key Items categories, I have removed those. However, the player still needs to press an extra confirm button in the Item Categories menu to start browsing the actual items. This is redundant, as one confirm button from the original evented menu should be enough to start browsing their items.

    Spoiler
    Items.PNG

    So I am asking if there is a SceneManager.Call or equivalent that brings the player directly to browsing their collection of items. I suppose the next step would be figuring out a way for the player to not need to press the cancel button twice to get out of the menu.


    Thanks for any help and insight on this topic!
  2. There is no such call. The SceneManager.call just open the scene. If you want the menu to go direct to the items, you have to edit the scripts to remove the category window and make the scene skip it.
  3. I appreciate it. I was thinking as much, so I'll look into that.
  4. Raikuden said:
    I appreciate it. I was thinking as much, so I'll look into that.

    If you can figure this out, would you post it in this thread? I'm having the exact same problem with my game. 
  5. Credit goes to Tsukihime for this script.

    Code:
    class Window_ItemList < Window_Selectable
      
      def initialize(x, y, width, height)
        super
        @category = :none
        @data = []
        refresh
        self.oy = 0
      end
      
      def include?(item)
        return true if item
      end
    end
    
    class Scene_Item < Scene_ItemBase
      def start
        super
        create_help_window
        create_item_window
      end
      
      def create_item_window
        wy = @help_window.y + @help_window.height
        wh = Graphics.height - wy
        @item_window = Window_ItemList.new(0, wy, Graphics.width, wh)
        @item_window.viewport = @viewport
        @item_window.help_window = @help_window
        @item_window.set_handler(:ok,     method(:on_item_ok))
        @item_window.set_handler(:cancel, method(:on_item_cancel))
        @item_window.select_last
        @item_window.activate
      end
      
      def on_item_cancel
        return_scene
      end
    end
  6. Raikuden said:
    Credit goes to Tsukihime for this script.

    Code:
    class Window_ItemList < Window_Selectable
      
      def initialize(x, y, width, height)
        super
        @category = :none
        @data = []
        refresh
        self.oy = 0
      end
      
      def include?(item)
        return true if item
      end
    end
    
    class Scene_Item < Scene_ItemBase
      def start
        super
        create_help_window
        create_item_window
      end
      
      def create_item_window
        wy = @help_window.y + @help_window.height
        wh = Graphics.height - wy
        @item_window = Window_ItemList.new(0, wy, Graphics.width, wh)
        @item_window.viewport = @viewport
        @item_window.help_window = @help_window
        @item_window.set_handler(:ok,     method(:on_item_ok))
        @item_window.set_handler(:cancel, method(:on_item_cancel))
        @item_window.select_last
        @item_window.activate
      end
      
      def on_item_cancel
        return_scene
      end
    end

    It works like a charm. //rmwforums.s3.amazonaws.com/emoticons/default_biggrin.gif Thanks everyone.