Ixfuru's Toolbox

● ARCHIVED · READ-ONLY
Started by Ixfuru 3 posts View original ↗
  1. IXFURUS TOOLBOX 1.0

    INTRODUCTION

    This script displays a small window during Scene_Map which enables a quick peek at the party's most-used tools or items.

    HOW TO USE

    Copy the script below into your script editor, below materials and above main. You'll need to configure what items you want to show up in the window, by altering, adding or deleting values in the TOOLS array. Then, you'll want to locate the TOOLSWITCH and change the value to link it to an in game switch. This script will then be toggled by the TOOLBOX_INPUT constant, which you can also configure to your needs. Also, there are plenty of other customizations, but mainly they are cosmetic.

    SCREENSHOTS

    Spoiler
    toolboxpic.jpg
    Above is the script in action. Note that items which are not possessed by the party are shown in their NO_TOOLS_COLOR!

    THE SCRIPT

    Spoiler
    Code:
    ################################################################################
    # IXFURU'S TOOLBOX
    # Written By: IXFURU
    # 8/11/12
    ################################################################################
    
    ################################################################################
    # This script allows you to add a 'callable' window through player
    # input which will show a quick window with icons of items and a value next
    # to it showing the amount of the item which is currently in possession.
    ################################################################################
    
    ################################################################################
    # Credit: IXFURU
    # Please give credit if you use, a link to the project would be thanks enough
    ################################################################################
    
    ################################################################################
    # CONFIGURATION SECTION
    ################################################################################
    module ITB
    TOOLS = [3, 5, 8, 12, 21] #item ids of tools to display
    TOOLSWITCH = 20 # Switch toggled to open/close window if above is true
    TOOLSWITCH_INPUT = Input::R # This is the input key
    # used to open and close the toolbox window.
    TOOL_TEXT = "Tools" #Text displayed at top of toolbox window
    TOOL_TEXT_COLOR = 29 # Text color for TOOL_TEXT. Integer 0-31
    TOOLBOX_X = 440 #X location of where the toolbox opens
    TOOLBOX_Y = 100 #Y location of where the toolbox opens
    NO_TOOLS_COLOR = 18 #Color of tool amount when zero are in possession
    SOME_TOOLS_COLOR = 0 #Color of tool amount when one or more are in possession
    TOOLBOX_WIDTH = 100 #width of the window
    TOOLBOX_HEIGHT_MULTIPLIER = 38 #height of the window is based on amount of tools
    #multiplied by this value
    end
    ################################################################################
    # END CONFIGURATION SECTION
    ################################################################################
    
    class Window_Toolbox < Window_Base
    
    def initialize
    super(ITB::TOOLBOX_X, ITB::TOOLBOX_Y, ITB::TOOLBOX_WIDTH, ITB::TOOLS.size * ITB::TOOLBOX_HEIGHT_MULTIPLIER)
    @x = ITB::TOOLBOX_X #set the x position of toolbox
    @y = ITB::TOOLBOX_Y #set teh y position of toolbox
    draw_toolbox_text #call method to draw text
    end
    
    
    def draw_toolbox_text
    self.contents.font.color = text_color(ITB::TOOL_TEXT_COLOR) #set color of text
    self.contents.draw_text((ITB::TOOLBOX_WIDTH-self.width)/2, 4, self.width, WLH, ITB::TOOL_TEXT) # draw the text
    end
    
    
    def refresh
    contents.clear
    draw_toolbox_text
    tib = 0 # create the iteration variable
    tibsy = 30 #set iteration variable used for y positioning
    for i in ITB::TOOLS # once for each item in the toolbox
    tool = $data_items[ITB::TOOLS[tib]]
    draw_icon(tool.icon_index, 4, tibsy, enabled = true)
    if $game_party.item_number($data_items[ITB::TOOLS[tib]]) == 0 # if party doesn't have this item
    self.contents.font.color = text_color(ITB::NO_TOOLS_COLOR)
    else
    self.contents.font.color = text_color(ITB::SOME_TOOLS_COLOR)
    end
    self.contents.draw_text(40, tibsy, self.width, WLH, $game_party.item_number($data_items[ITB::TOOLS[tib]]))
    tibsy += 24
    tib += 1
    end
    end #End of Method
    
    end #End of Class
    
    
    ##############################################################################
    # Scene_Map
    ##############################################################################
    
    class Scene_Map < Scene_Base
    
    def close_toolbox
    Sound.play_decision
    $game_switches[ITB::TOOLSWITCH] = false
    @tool_window.dispose
    end
    
    def update_toolbox
    @tool_window.refresh
    end
    
    def open_toolbox
    Sound.play_decision
    $game_switches[ITB::TOOLSWITCH] = true
    @tool_window = Window_Toolbox.new
    end
    
    
    def check_for_toolbox_input
    if Input.trigger?(ITB::TOOLSWITCH_INPUT)
    if $game_switches[ITB::TOOLSWITCH] == false
    open_toolbox
    else
    close_toolbox
    end
    end
    end
    
    
    
    
    alias itb_sm_update update
    def update
    itb_sm_update
    if $game_switches[ITB::TOOLSWITCH] == true
    update_toolbox
    check_for_toolbox_input
    else
    check_for_toolbox_input
    end
    end
    
    
    alias itb_sm_call_battle call_battle
    def call_battle
    itb_sm_call_battle
    $game_switches[ITB::TOOLSWITCH] = false
    end
    
    alias itb_sm_call_shop call_shop
    def call_shop
    itb_sm_call_shop
    $game_switches[ITB::TOOLSWITCH] = false
    end
    
    alias itb_sm_call_name call_name
    def call_name
    itb_sm_call_name
    $game_switches[ITB::TOOLSWITCH] = false
    end
    
    alias itb_sm_call_menu call_menu
    def call_menu
    itb_sm_call_menu
    $game_switches[ITB::TOOLSWITCH] = false
    end
    
    alias itb_sm_call_save call_save
    def call_save
    itb_sm_call_save
    $game_switches[ITB::TOOLSWITCH] = false
    end
    
    alias itb_sm_call_debug call_debug
    def call_debug
    itb_sm_call_debug
    $game_switches[ITB::TOOLSWITCH] = false
    end
    
    alias itb_sm_call_gameover call_gameover
    def call_gameover
    itb_sm_call_gameover
    $game_switches[ITB::TOOLSWITCH] = false
    end
    
    alias itb_sm_call_title call_title
    def call_title
    itb_sm_call_title
    $game_switches[ITB::TOOLSWITCH] = false
    end
    
    end
    If you try the script, please let me know how you like it/hate it. And also, link me to your project if you use it. Other than that, feel free to use it, as long as you give me credit.
  2. Some BBcode got mixed into your script. You'll want to re-paste the script to fix that.
  3. Thanks Mr. Bubble. I think I got it.