The RPG Maker Resource Kit

RMRK RPG Maker Creation => XP => XP Scripts Database => Topic started by: albertfish on September 13, 2009, 08:42:39 AM

Title: Categorized Items Menu - by: albertfish
Post by: albertfish on September 13, 2009, 08:42:39 AM
Categorized Items Menu
Version: 1.3
Author: albertfish
Date: October 22, 2009

Version History



Planned Future Versions


Description


This is a complete redesign of the default items menu that aims to make it a lot easier to search through your items. This script sorts items into categories for better organization.

Features


Customizable Features


Screenshots

(https://rmrk.net/proxy.php?request=http%3A%2F%2Fimg6.imageshack.us%2Fimg6%2F8721%2Fafcimss1.png&hash=364333652d0510bc88bc1297f3653cde794e0181)

Easy to choose which categories you want!
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fimg5.imageshack.us%2Fimg5%2F8000%2Fafcimss2.png&hash=f4d248f90eebf9b15bd2d372d3b2bc94749eea86)


Instructions

Item Setup Instructions:
     This script sorts items automatically based on certain aspects of the
item. To set up items to be sorted into correct categories follow this
guide.

     Consumable Items - Must have Consumable flag set to yes
                      - Must have Occasion flag set to anything other than
                        never.
     Weapons          - All items in Weapons tab in the database
     Equipment        - All items in the Weapons and Armors tab
     Body Equipment   - Must be under Armors tab
                      - Kind must be Body Armor
     Head Equipment   - Must be under Armors tab
                      - Kind must be Helmet
     Arm Equipment    - Must be under Armors tab
                      - Kind must be Shield
     Accessory        - Must be under Armors tab
                      - Kind must be Accessory
     Raw Materials    - Must be consumable
                      - Must have occasion of never
     Story Items      - Must be non consumable
     All Items        - All of the above

Install Instructions:
     Place this script above the main script and below the default scripts.

Script


Please see the attached script or the demo!

Credit



Thanks


Support


If you need to contact me you can send me a pm.

Known Compatibility Issues

Incompatible with some other items menu scripts. No real compatibility issues found yet.

Demo

Warning! The following demo is of an older version. Please download the newer script until a new demo is posted.
There is a demo available! Download it here! (http://www.megaupload.com/?d=J4J8UADM)

Author's Notes


If you discover any bugs, please pm me or post the bug here! Thanks.
Enjoy :).

Restrictions

You may use this in your game commercial or non-commercial as long as proper credit is given.[/list]
Title: Re: Categorized Items Menu - by: albertfish
Post by: modern algebra on September 13, 2009, 03:03:04 PM
That is really quite a nice interface. Great work, albertfish!

Some tips on making your scripts a little shorter and more compatible though;

I noticed that you added a $recent_items global variable:

Code: [Select]
#==============================================================================
# ** Scene_Load
#------------------------------------------------------------------------------
#  This class performs load screen processing.
#==============================================================================
class Scene_Load < Scene_File
  #--------------------------------------------------------------------------
  # * Read Save Data
  #     file : file object for reading (opened)
  #--------------------------------------------------------------------------
  def read_save_data(file)
    # Read character data for drawing save file
    characters = Marshal.load(file)
    # Read frame count for measuring play time
    Graphics.frame_count = Marshal.load(file)
    # Read each type of game object
    $game_system        = Marshal.load(file)
    $game_switches      = Marshal.load(file)
    $game_variables     = Marshal.load(file)
    $game_self_switches = Marshal.load(file)
    $game_screen        = Marshal.load(file)
    $game_actors        = Marshal.load(file)
    $game_party         = Marshal.load(file)
    $game_troop         = Marshal.load(file)
    $game_map           = Marshal.load(file)
    $game_player        = Marshal.load(file)
    $recent_items       = Marshal.load(file)
    # If magic number is different from when saving
    # (if editing was added with editor)
    if $game_system.magic_number != $data_system.magic_number
      # Load map
      $game_map.setup($game_map.map_id)
      $game_player.center($game_player.x, $game_player.y)
    end
    # Refresh party members
    $game_party.refresh
  end
end

#==============================================================================
# ** Scene_Save
#------------------------------------------------------------------------------
#  This class performs save screen processing.
#==============================================================================

class Scene_Save < Scene_File
  #--------------------------------------------------------------------------
  # * Write Save Data
  #     file : write file object (opened)
  #--------------------------------------------------------------------------
  def write_save_data(file)
    # Make character data for drawing save file
    characters = []
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      characters.push([actor.character_name, actor.character_hue])
    end
    # Write character data for drawing save file
    Marshal.dump(characters, file)
    # Wrire frame count for measuring play time
    Marshal.dump(Graphics.frame_count, file)
    # Increase save count by 1
    $game_system.save_count += 1
    # Save magic number
    # (A random value will be written each time saving with editor)
    $game_system.magic_number = $data_system.magic_number
    # Write each type of game object
    Marshal.dump($game_system, file)
    Marshal.dump($game_switches, file)
    Marshal.dump($game_variables, file)
    Marshal.dump($game_self_switches, file)
    Marshal.dump($game_screen, file)
    Marshal.dump($game_actors, file)
    Marshal.dump($game_party, file)
    Marshal.dump($game_troop, file)
    Marshal.dump($game_map, file)
    Marshal.dump($game_player, file)
    Marshal.dump($recent_items, file)
  end
end

with aliasing (http://rmrk.net/index.php/topic,25550.0.html) (which you've done a few times in the script, I notice), it could become a lot shorter and also work with any other scripts that modify those methods. As a short exercise, the above code could be condensed to:


Code: [Select]
#==============================================================================
# ** Scene_Load
#------------------------------------------------------------------------------
#  This class performs load screen processing.
#==============================================================================
class Scene_Load < Scene_File
  #--------------------------------------------------------------------------
  # * Read Save Data
  #     file : file object for reading (opened)
  #--------------------------------------------------------------------------
  alias abfish_rd_save_rcntitms_9lj4 read_save_data
  def read_save_data(file, *args)
    abfish_rd_save_rcntitms_9lj4 (file, *args)
    $recent_items       = Marshal.load(file)
  end
end

#==============================================================================
# ** Scene_Save
#------------------------------------------------------------------------------
#  This class performs save screen processing.
#==============================================================================

class Scene_Save < Scene_File
  #--------------------------------------------------------------------------
  # * Write Save Data
  #     file : write file object (opened)
  #--------------------------------------------------------------------------
  alias albertfish_recent_items_wrtsave_0gb2 write_save_data
  def write_save_data(file, *args)
    albertfish_recent_items_wrtsave_0gb2 (file, *args)
    Marshal.dump($recent_items, file)
  end
end

But what would be even better would be to not use a separate global variable at all.

You could get rid of the Scene_Title, Scene_Save, and Scene_Load modifications altogether if you did something like this:

Code: [Select]
class Game_Party
  attr_accessor :recent_items
  alias albertfish_init_rcntitms_0hf2 initialize
  def initialize (*args)
    albertfish_init_rcntitms_0hf2 (*args)
    @recent_items = []
  end
end

You could then access the array through:

Code: [Select]
$game_party.recent_items

and it would completely bypass the need to create a new global variable to store that data.

Anyway, this script does look very nice. Again, great work!
Title: Re: Categorized Items Menu - by: albertfish
Post by: albertfish on September 13, 2009, 04:41:04 PM
I originally had the save and load menus aliased but had an error while doing so. I must have done something wrong lol.

Thanks for the suggestions. I'll see what I can do to finally remove that global variable!
Title: Re: Categorized Items Menu - by: albertfish
Post by: phillip1756 on September 13, 2009, 05:18:12 PM
i used this script,plz remind me to credit you in my game
Title: Re: Categorized Items Menu - by: albertfish
Post by: albertfish on September 13, 2009, 05:32:22 PM
i used this script,plz remind me to credit you in my game
This is a reminder.

Also, a newer version has been posted with a few changes. New demo and script available!
Title: Re: Categorized Items Menu - by: albertfish
Post by: gameface101 on September 14, 2009, 07:42:20 AM
@albertfish - nice touch! customizable!! neat icon resizing

you don't have to remind me to give credit ^,^

~g)@m(e|F/A\(C|E


EDIT: @"MA" - nice catch!                                !
                                                                   ^  ^
when it comes to script, you know your $#!T d *_* b
                                                                     *
Title: Re: Categorized Items Menu - by: albertfish
Post by: eps5000 on September 15, 2009, 07:40:31 PM
DUDE! this script is awsome! I hav no prob citing you!
Title: Re: Categorized Items Menu - by: albertfish
Post by: albertfish on October 05, 2009, 03:14:52 AM
New version available that fixed a bug found by MarkDarkness. New version of the script is added to the initial post.
Title: Re: Categorized Items Menu - by: albertfish
Post by: blademan on October 18, 2009, 01:30:10 AM
I'm not sure what's causing this, but Weapons do not shop up in the weapons tab:

All items tab (the weapon is there):
Spoiler for:
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi36.tinypic.com%2F2i9l66p.jpg&hash=5a2894809aa1fa8dbf975b710bd160e0ad25f5b7)

Weapons tab (the sword doesn't show up):
Spoiler for:
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi38.tinypic.com%2F2uh7t6q.jpg&hash=140b115578dbddedaf6b32ae56ae361dd0f24bf4)

Any idea what's happening? It's not a Script incompatibility, since I tried it on a brand new game project, and the error still happened.
Title: Re: Categorized Items Menu - by: albertfish
Post by: Lazer Ki on October 18, 2009, 01:54:59 AM
I will use this.... thanks...
Title: Re: Categorized Items Menu - by: albertfish
Post by: albertfish on October 22, 2009, 07:37:32 AM
I'm not sure what's causing this, but Weapons do not shop up in the weapons tab:

All items tab (the weapon is there):
Spoiler for:
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi36.tinypic.com%2F2i9l66p.jpg&hash=5a2894809aa1fa8dbf975b710bd160e0ad25f5b7)

Weapons tab (the sword doesn't show up):
Spoiler for:
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi38.tinypic.com%2F2uh7t6q.jpg&hash=140b115578dbddedaf6b32ae56ae361dd0f24bf4)

Any idea what's happening? It's not a Script incompatibility, since I tried it on a brand new game project, and the error still happened.
I'll take a look at it, sorry for the late reply I have been busy lately.

Edit:  Okay version 1.3 is now out which fixes that problem. That you for bringing that problem to my attention blademan.
Title: Re: Categorized Items Menu - by: albertfish
Post by: Mr_Wiggles on December 01, 2009, 07:42:07 AM
i like the script but does this interfear with editing the max limits of items carryed, because when ever i edit that amount it never takes effects, good script tho very helpfull
nvm i fixed that.... nice script
Title: Re: Categorized Items Menu - by: albertfish
Post by: Sith-Man on March 24, 2010, 07:19:36 PM
This is a really cool script.

I have a bit of a problem though.  In my game, the player has a camp area that they can travel back to whenever they want, no matter where they are.  They have a usable item that actually does the teleport.

Whenever I put your menu code in the game, once the item is obtained, it shows up in both recent items, and quest items, since it's non consumable.  And the first time that I started it up to test out the menu, it worked fine.  However, now, it gives me an error whenever I try to use the item.  I took a screenshot of the error.
Spoiler for:
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fimg.photobucket.com%2Falbums%2Fv483%2Fmonkeyheadstudios%2FError1.jpg&hash=6888449faf7f62fecf9be6660e43b698742ea850)

This is the line of code it mentions, but since I don't know the code language, I don't know what it's talking about.  lol

          if $game_variables[c.variable_id] < c.variable_value


Anyone know what the problem might be?
Title: Re: Categorized Items Menu - by: albertfish
Post by: recon2009 on May 19, 2010, 12:08:43 PM
Great script! I can't make a new game without it! But I do have a question: Is there a way to make the inventory half-transparent like 50%, 70%? (so I can see the map while I scroll through the inventory)
Title: Re: Categorized Items Menu - by: albertfish
Post by: Gaspatcher on May 22, 2010, 10:23:33 AM
Hello my game doesn't display any text with the script : I have the icons but no text. I'm using a French version of RMXP. Is it the source of the problem? How can I do to fix it. Thank you very much for your answer.
Title: Re: Categorized Items Menu - by: albertfish
Post by: apoclaydon on May 22, 2010, 11:23:07 AM
How do u get Raw Materials I dnt understand what you mean by

                      - Must have occasion of never
Title: Re: Categorized Items Menu - by: albertfish
Post by: lekiller on February 04, 2012, 09:26:06 PM
Found small bug...
If description of more items is same, icon in help bar doesnt change when scrolling through them.

Sorry for my awful english