Submit Your Article


 
RPG Maker

Welcome Guest ( Log In | Register )


  Games Resources RPG Maker VX RPG Maker XP Scripts Tutorials Downloads

 
Reply to this topicStart new topic
> [VX]Ixfuru's ToolBox, shows a small window on map with often used items and item count
DUFUTA
post Aug 11 2012, 05:44 PM
Post #1


Level 5
Group Icon

Group: Member
Posts: 60
Type: Musician
RM Skill: Intermediate




IXFURU'S TOOLBOX 1.0

INTRODUCTION

This little script calls a window where you can display often-used items.

FEATURES

The script has several customization options which include height, width, x and y location, colors and more!

SCREENSHOTS

quickshot


HOW TO USE

Just copy the script from below and paste it in the script editor below materials and above main. The script uses a single switch and a toggle key which is used to activate/deactivate the switch. You can set these things up in the configuration section, along with other more cosmetic features.

DEMO
This is a small and basically self-explanatory script. I may upload a demo soon if the need requires, but just try it out first by taking the script.

SCRIPT
IxfurusToolBox
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


INCOMPATIBLE SCRIPTS

I don't think there should be any problems. As this script aliases existing methods in Game Map and changes little else.
I'll be working to make it compatible with individual inventories, as I know that will be a request soon enough.

CREDIT
Credit me if you use the script and a link to the project would be nice, you can PM it or just post it here. Thanks.

AUTHORS NOTE

If you have any problems with the script or find a bug, let me know by posting in this topic, PMing me here on the site or drop a topic in the FINISH LINE forum at RPGMakerVX.net.
Go to the top of the page
 
+Quote Post
   
Philip
post Aug 15 2012, 08:37 PM
Post #2


Nura (The Jade Ring)
Group Icon

Group: Revolutionary
Posts: 325
Type: Developer
RM Skill: Masterful




Not to dog on you at all (we always love new scripters here on RRR) but what is this script good for? Most people know what items they've been using by memory. If you added a feature that let you use that item directly from your menu it may be a bit better.


__________________________
"If your mind goes blank don't forget to turn off the sound." Unknown Author

Phil


Go to the top of the page
 
+Quote Post
   
DUFUTA
post Aug 15 2012, 08:53 PM
Post #3


Level 5
Group Icon

Group: Member
Posts: 60
Type: Musician
RM Skill: Intermediate




Phillip. Thanks for checking it out. I guess the script could be good for numerous things. You could set it to track ANY database item. Use it for a quick glance at keys, at shovels, at rare, collectible treasures. Basically, it's just a save time from going to the menu to see how many of something you have. Maybe I'll add your little 'selectable' item. Quite honestly, it was just a little snippet I put together for my own project and decided to share it. It seems it doesn't meet your standards for what a good script is, and for that I can only say sorry you don't like it. It's okay, though. I don't like all scripts either. Maybe others will like it, who knows?

QUOTE
Not to dog on you


Interesting way to start a post.

This post has been edited by DUFUTA: Aug 15 2012, 11:09 PM
Go to the top of the page
 
+Quote Post
   
Philip
post Aug 18 2012, 01:45 PM
Post #4


Nura (The Jade Ring)
Group Icon

Group: Revolutionary
Posts: 325
Type: Developer
RM Skill: Masterful




Like I said I meant no offense whatsoever I was just saying you could add more features and it'd be a little more useful. Anyways, it's ok thanks for sharing it with us.


__________________________
"If your mind goes blank don't forget to turn off the sound." Unknown Author

Phil


Go to the top of the page
 
+Quote Post
   

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 19th May 2013 - 04:17 PM
RPG RPG Revolution is an Privacy Policy and Legal
eXTReMe Tracker