Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - prioran

1
Great idea. It worked perfectly! *levels up*
2
Thanks much for the suggestion, but I'm familiar with that menu system and won't be using it because I have custom systems within each option that are difficult to reconcile with the MOG scripts. All I wish to do is replace the text of my default menu system with images.  :)
3
Welcome! / I'm back
December 18, 2010, 10:12:23 am
Hi everyone,

I was more active during the earlier half of the year, but then I had to change countries and begin a new degree program, which caused my RPGM time to vanish. I'll be taking advantage of winter break to make some progress with my project, so I'll be here quite regularly studying and asking for advice. I hope you've all been well.  :)
4
Hello all,

This is a woefully basic question, but I've been trying to edit my Scene_Menu and simply can't get what I want. Could someone please tell me how I might replace the text on the left column of the default menu system (Item, Skill, etc.) with images?

Thanks for your patience and assistance! I'm still trying to teach myself how to script, but my courses are absorbing too much time. :(

5
Bump


Juan, I think I've figured some of this out on my own, so if you're too busy to take a look at it, don't worry. Just please let me know! Thanks. :)
6
Resources / Re: Mage03 and Cleric01 _def edit.
May 21, 2010, 06:05:55 pm
Quote from: Calviin on May 20, 2010, 04:20:24 pm
It should look like this:



Your free to change the brightness if you want.



Ah, of course. My apologies: my monitor is so bad that I didn't even see the blue field surrounding the sprite. This could indeed have some great uses in a magic-oriented storyline. On the other hand, it also reminds me of the bubbles from the underwater scene in Quintessence.
7
Quote from: Nawm on May 19, 2010, 12:09:35 pm
Not really. It's more of personal use. And  I only did the monsters, and certain fighters. But everything else can go to hell because no one likes the original stuff anyway


I agree with the general opinion expressed here regarding the overuse of RTP sprites, but why don't you want to post them? No harm could come of sharing them, and perhaps some people (myself included) could make use of something in a project if you don't mind.  :)
8
Resources / Re: Mage03 and Cleric01 _def edit.
May 20, 2010, 03:06:59 pm
They're quite nice, but unless something is wrong with my computer, the brightness is really high. Or is this intentional?
9
Juan, first of all, a million thanks for your reply and opinion. I would be honored to have your help with this, but of course, I don't want you to feel obligated either. Here is the code for the Categorized Item Menu:

#==============================================================================
# ** Catergorized Items Menu
#------------------------------------------------------------------------------
# * Created by: albertfish
# * Version: 1.3
# * Last edited: October 22, 2009
#------------------------------------------------------------------------------
#  Version History:
#     Version 1.3: October 22, 2009
#       - Fixed a bug that did not weapons in the weapon category
#     Version 1.2: October 4, 2009
#       - Fixed a bug that did not allow you to remove the all items category
#     Version 1.1: September 13, 2009
#       - The variable for recent items is no longer global
#       - Some code removed
#       - Changed it so when you are in items window and you hit escape
#         it goes back to the category window.
#       - You can also select a category with enter now.
#     Version 1.0: September 13, 2009
#       - Initial release
#------------------------------------------------------------------------------
#  Description:
#     This is a complete redesign of the default items menu that sorts items
#     into categories for better organization.
#------------------------------------------------------------------------------
#  Features:
#     - Includes 10 different categories to sort items
#     - Easy to set up items to be sorted
#     - Easy to customize appearance
#     - Easy to customize which categories are active
#     - Extremely customizeable which allows you to set it up the way
#       you want it set up.
#------------------------------------------------------------------------------
#  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.
#==============================================================================

#==============================================================================
# ** CIM_Config
#------------------------------------------------------------------------------
#  This module contains the configuration data of the menu.
#------------------------------------------------------------------------------
#  Begin Editable Area.
#==============================================================================

module CIM_Config
 # If this value is true the category icons will be displayed in a
 # separate window. If you set it to false, the icons will be displayed
 # in the category title bar.
 # Default value: true
 CATEGORIES_WINDOW = true
 
 # This value determines if there is a recent items category.
 # Default value: true
 RECENT_ITEMS = true
 
 # This value determines if there is a consumable items category.
 # Default value: true
 CONSUME_ITEMS = true
 
 # This value determines if there is equipment categories.
 # Default value: true
 EQUIPMENT = true
 
 # This value determines if the equipment is displayed as a single
 # category.
 # Default value: false
 SINGLE_EQUIPMENT_CATEGORY = false
 
 # This value determines if there is a raw materials category.
 # Default value: true
 RAW_MATERIALS = true
 
 # This value determines if there is a quest items category.
 # Default value: true
 QUEST_ITEMS = true
 
 # This value determines if there is a all items category.
 # Default value: true
 ALL_ITEMS = true
 
 # This values determines where the all items category will be.
 # 1 is the very first position, 2 the second, and so on.
 # Warning! If this number is larger than the number of categories
 # then it will cause an error.
 # For example, if there are 5 categories and the number is set to 7
 # an error will occur.
 # Default Value: 2
 ALL_ITEMS_POSITION = 2
 
 # This value determines if the unhighlighted category icons are translucent
 # or opaque.
 # Default value: true
 UNSELECTED_TRANSLUCENT = true
 
 # This value determines if there is a selection cursor for the category
 # window.
 # Default Value: true
 CATEGORY_CURSOR = true
 
 # This is where you set the category title alignment.
 #   0 = Left
 #   1 = Center
 #   2 = Right
 # Default value: 1
 TITLE_ALIGNMENT = 1
 
 # This is where you set how the icon in the help window is displayed.
 #   0 = Not displayd
 #   1 = Normal Size
 #   2 = Double Size
 # Default value: 2
 ICON_DISPLAY = 2
 
 # Set the menu item icons. These must be size 24px by 24px.
 # The icons must be placed in the icons folder in the games directory
 # and the file name of the icons must be placed between the quotation
 # marks.  
 I_RECENT = "032-Item01"  
 I_CONSUME = "021-Potion01"  
 I_WEAPONS = "001-Weapon01"  
 I_BODY = "013-Body01"  
 I_HEAD = "010-Head01"  
 I_ARM = "009-Shield01"  
 I_ACCESSORY = "017-Accessory02"  
 I_RAW = "043-Item12"
 I_QUEST = "035-Item04"
 I_ALL = "034-Item03"
 # This next one is used when you group the different equipment into
 # one category.
 I_EQUIPMENT = "009-Shield01"
 
 # Set the menu item text. This is the text that will display at the bottom
 # informing the player what each category is.
 T_RECENT = "Recent Items"  
 T_CONSUME = "Potions"  
 T_WEAPONS = "Weapons"  
 T_BODY = "Body Equipment"  
 T_HEAD = "Head Equipment"  
 T_ARM = "Arm Equipment"  
 T_ACCESSORY = "Accessories"  
 T_RAW = "Raw Material"  
 T_QUEST = "Quest Items"  
 T_ALL = "All Items"  
 # This next one is used when you group the different equipment into
 # one category.
 T_EQUIPMENT = "Equipment"  

 #============================================================================
 #  End Editable Area.
 #----------------------------------------------------------------------------
 #  Warning! Do not edit beyond this point unless you know what you are doing!
 #============================================================================
 ITEMS_MENU_ICONS = []
 ITEMS_MENU_TEXT = []
 ITEM_ID = []
 
 # Add recent items category
 if RECENT_ITEMS
   ITEMS_MENU_TEXT.push(T_RECENT)
   ITEMS_MENU_ICONS.push(I_RECENT)
   ITEM_ID.push("Recent")
 end
 # Add consumable items category
 if CONSUME_ITEMS
   ITEMS_MENU_TEXT.push(T_CONSUME)
   ITEMS_MENU_ICONS.push(I_CONSUME)
   ITEM_ID.push("Consume")
 end
 # Add equipment category(s)
 if SINGLE_EQUIPMENT_CATEGORY && EQUIPMENT
   ITEMS_MENU_TEXT.push(T_EQUIPMENT)
   ITEMS_MENU_ICONS.push(I_EQUIPMENT)
   ITEM_ID.push("Equip")
 elsif EQUIPMENT
   ITEMS_MENU_TEXT.push(T_WEAPONS)
   ITEMS_MENU_ICONS.push(I_WEAPONS)
   ITEM_ID.push("Weapon")
   ITEMS_MENU_TEXT.push(T_BODY)
   ITEMS_MENU_ICONS.push(I_BODY)
   ITEM_ID.push("Body")
   ITEMS_MENU_TEXT.push(T_HEAD)
   ITEMS_MENU_ICONS.push(I_HEAD)
   ITEM_ID.push("Head")
   ITEMS_MENU_TEXT.push(T_ARM)
   ITEMS_MENU_ICONS.push(I_ARM)
   ITEM_ID.push("Arm")
   ITEMS_MENU_TEXT.push(T_ACCESSORY)
   ITEMS_MENU_ICONS.push(I_ACCESSORY)
   ITEM_ID.push("Accessory")
 end
 # Add raw materials category
 if RAW_MATERIALS
   ITEMS_MENU_TEXT.push(T_RAW)
   ITEMS_MENU_ICONS.push(I_RAW)
   ITEM_ID.push("Raw")
 end
 # Add quest items category
 if QUEST_ITEMS
   ITEMS_MENU_TEXT.push(T_QUEST)
   ITEMS_MENU_ICONS.push(I_QUEST)
   ITEM_ID.push("Quest")
 end
 # Add all items category
 if QUEST_ITEMS
   ITEMS_MENU_TEXT.insert(ALL_ITEMS_POSITION - 1, T_ALL)
   ITEMS_MENU_ICONS.insert(ALL_ITEMS_POSITION - 1, I_ALL)
 end
 # Add all items category
 if ALL_ITEMS
   ITEM_ID.insert(ALL_ITEMS_POSITION - 1, "All")
 end
end

#==============================================================================
# ** Window_Blank
#------------------------------------------------------------------------------
#  This window deals with blank window backgrounds.
#==============================================================================

class Window_Blank < Window_Base
 #--------------------------------------------------------------------------
 # * Object Initialization
 #     x        : window x coordinate
 #     y        : window y coordinate
 #     width    : window width
 #     height   : window height
 #--------------------------------------------------------------------------
 def initialize(x, y, width, height)
   super(x, y, width, height)
 end
end

#==============================================================================
# ** Window_Category
#------------------------------------------------------------------------------
#  This window deals with item category command choices.
#==============================================================================

class Window_Category < Window_Selectable
 #--------------------------------------------------------------------------
 # * include the CMS_Config module
 #--------------------------------------------------------------------------
 include CIM_Config
 
 #--------------------------------------------------------------------------
 # * Object Initialization
 #     width    : window width
 #     commands : command text string array
 #--------------------------------------------------------------------------
 def initialize(width, commands)
   # Compute window height from command quantity
   cw = 32 + ITEMS_MENU_TEXT.size * 32
   super(640 - cw, 0, cw, 64)
   @column_max = ITEMS_MENU_TEXT.size
   @item_max = ITEMS_MENU_TEXT.size
   @commands = commands
   @select = 0
   self.contents = Bitmap.new(cw - 32, height - 32)
   refresh
   self.index = 0
   self.opacity = 0 unless CATEGORIES_WINDOW
 end
 #--------------------------------------------------------------------------
 # * Refresh
 #--------------------------------------------------------------------------
 def refresh
   self.contents.clear
   for i in 0...@item_max
     draw_item(i)
   end
 end
 #--------------------------------------------------------------------------
 # * Draw Item
 #     index : item number
 #     color : text color
 #--------------------------------------------------------------------------
 def draw_item(index)
   rect = Rect.new(0, 0, 24, 24)
   bitmap = RPG::Cache.icon(ITEMS_MENU_ICONS[index])
   self.contents.blt(4 + 32 * index, 4, bitmap, rect) unless UNSELECTED_TRANSLUCENT && index != @select
   self.contents.blt(4 + 32 * index, 4, bitmap, rect, 160) if UNSELECTED_TRANSLUCENT && index != @select
 end
 #--------------------------------------------------------------------------
 # * Disable Item
 #     index : item number
 #--------------------------------------------------------------------------
 def disable_item(index)
   draw_item(index)
 end
 #--------------------------------------------------------------------------
 # * Update Cursor Rectangle
 #--------------------------------------------------------------------------
 def update_cursor_rect
   @select = @index
   # If cursor position is less than 0
   if @index < 0 || !CATEGORY_CURSOR
     self.cursor_rect.empty
     return
   end
   # Update cursor rectangle
   self.cursor_rect.set(@index*32, 0, 32, 32)
 end
 #--------------------------------------------------------------------------
 # * Help Text Update
 #--------------------------------------------------------------------------
 def update_help
   @help_window.set_text(ITEMS_MENU_TEXT[self.index])
 end
end

#==============================================================================
# ** Window_ItemTop
#------------------------------------------------------------------------------
#  This window shows top bar with the title "Items" on it.
#==============================================================================

class Window_ItemTop < Window_Base  
 #--------------------------------------------------------------------------
 # * include the CMS_Config module
 #--------------------------------------------------------------------------
 include CIM_Config
 
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
   cw = 32 + ITEMS_MENU_TEXT.size * 32
   super(0, 0, 640 - cw, 64)
   self.contents = Bitmap.new(width - 32, height - 32)
   @text = ITEMS_MENU_TEXT[0]
   @width = 640 - cw
   update
   self.opacity = 0 unless CATEGORIES_WINDOW
 end
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------
 def update
   self.contents.clear
   self.contents.draw_text(0, 0, @width - 32, 32, @text, TITLE_ALIGNMENT)
 end
 def set_text(text)
   @text = text
 end
end

#==============================================================================
# ** Window_ItemHelp
#------------------------------------------------------------------------------
#  This window shows skill and item explanations along with actor status.
#==============================================================================

class Window_ItemHelp < Window_Base
 #--------------------------------------------------------------------------
 # * include the CMS_Config module
 #--------------------------------------------------------------------------
 include CIM_Config
 
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
   super(0, 0, 640, 128)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.opacity = 0
 end
 #--------------------------------------------------------------------------
 # * Set Text
 #  text  : text string displayed in window
 #  align : alignment (0..flush left, 1..center, 2..flush right)
 #--------------------------------------------------------------------------
 def set_text(text, item, align = 0)
   # If at least one part of text and alignment differ from last time
   if text != @text or align != @align
     # Redraw text
     self.contents.clear
     # Redraw icon
     if item
       bitmap = RPG::Cache.icon(item.icon_name)
       width = bitmap.width
       height = bitmap.height
       src_rect = Rect.new(0, 0, width, height)
       dest_rect = Rect.new(0, 24, width * 2, height * 2)
       self.contents.stretch_blt(dest_rect, bitmap, src_rect) if ICON_DISPLAY == 2
       self.contents.blt(0, 36, bitmap, src_rect)if ICON_DISPLAY == 1
     else
       width = 0
     end
     self.contents.font.color = normal_color
     self.contents.draw_text(4 + width * ICON_DISPLAY, 32, self.width - 40, 32, text, align)
     @text = text
     @align = align
     @actor = nil
   end
   self.visible = true
 end
 #--------------------------------------------------------------------------
 # * Set Display
 #  text  : text string displayed in window
 #  align : alignment (0..flush left, 1..center, 2..flush right)
 #--------------------------------------------------------------------------
 def set_display(text, icon, align = 0)
   # If at least one part of text and alignment differ from last time
   if text != @text or align != @align
     # Redraw text
     self.contents.clear
     # Redraw icon
     if icon
       bitmap = RPG::Cache.icon(icon)
       width = bitmap.width
       height = bitmap.height
       src_rect = Rect.new(0, 0, width, height)
       dest_rect = Rect.new(0, 24, width * 2, height * 2)
       self.contents.stretch_blt(dest_rect, bitmap, src_rect)
     else
       width = 0
     end
     self.contents.font.color = normal_color
     self.contents.draw_text(4 + width * 2, 32, self.width - 40, 32, text, align)
     @text = text
     @align = align
     @actor = nil
   end
   self.visible = true
 end
 #--------------------------------------------------------------------------
 # * Set Actor
 #     actor : status displaying actor
 #--------------------------------------------------------------------------
 def set_actor(actor)
   if actor != @actor
     self.contents.clear
     draw_actor_name(actor, 4, 0)
     draw_actor_state(actor, 140, 0)
     draw_actor_hp(actor, 284, 0)
     draw_actor_sp(actor, 460, 0)
     @actor = actor
     @text = nil
     self.visible = true
   end
 end
 #--------------------------------------------------------------------------
 # * Set Enemy
 #     enemy : name and status displaying enemy
 #--------------------------------------------------------------------------
 def set_enemy(enemy)
   text = enemy.name
   state_text = make_battler_state_text(enemy, 112, false)
   if state_text != ""
     text += "  " + state_text
   end
   set_text(text, 1, 1)
 end
end

#==============================================================================
# ** Window_Item
#------------------------------------------------------------------------------
#  This window displays items in possession on the item and battle screens.
#==============================================================================

class Window_ItemMenu < Window_Selectable
 #--------------------------------------------------------------------------
 # * include the CMS_Config module
 #--------------------------------------------------------------------------
 include CIM_Config
 
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
   super(0, 64, 640, 352)
   @column_max = 2
   @category = ITEM_ID[0]
   refresh
   self.index = -1
   @category_select = true
   # If in battle, move window to center of screen
   # and make it semi-transparent
   if $game_temp.in_battle
     self.y = 64
     self.height = 256
     self.back_opacity = 160
   end
 end
 #--------------------------------------------------------------------------
 # * Get Item
 #--------------------------------------------------------------------------
 def item
   case @category
   when "Recent"
     if @items_max > 20
       return @recent[self.index + (@items_max - 20)]
     else
       return @recent[self.index]
     end
   when "Consume"
     return @consumable[self.index]
   when "Weapon"
     return @weapon[self.index]
   when "Body"
     return @body[self.index]
   when "Head"
     return @head[self.index]
   when "Arm"
     return @arm[self.index]
   when "Accessory"
     return @accessory[self.index]
   when "Raw"
     return @raw[self.index]
   when "Quest"
     return @quest[self.index]
   when "Equip"
     return @equipment[self.index]
   when "All"
     return @all[self.index]
   end
 end
 #--------------------------------------------------------------------------
 # * Set Category
 #--------------------------------------------------------------------------
 def category(index)
   @category = ITEM_ID[index]
 end
 #--------------------------------------------------------------------------
 # * Refresh
 #--------------------------------------------------------------------------
 def refresh
   if self.contents != nil
     self.contents.dispose
     self.contents = nil
   end
   
   @recent = []
   @consumable = []
   @weapon = []
   @body = []
   @head = []
   @arm = []
   @accessory = []
   @raw = []
   @quest = []
   @equipment = []
   @all = []
   # Add item
   for i in 1...$data_items.size
     if $game_party.item_number(i) > 0
       # Add recent items
       if $game_party.recent_items.size < 20
         for u in 0...$game_party.recent_items.size
           if $data_items[i].id == $game_party.recent_items[u].id && $game_party.recent_items[u].is_a?(RPG::Item)
             @recent[($game_party.recent_items.size - 1) - u] = ($data_items[i])
           end
         end
       else
         for u in $game_party.recent_items.size-20...$game_party.recent_items.size
           if $data_items[i].id == $game_party.recent_items[u].id && $game_party.recent_items[u].is_a?(RPG::Item)
             @recent[21 - (u - ($game_party.recent_items.size-20))] = ($data_items[i])
           end
         end
       end
       
       # Add consumable, raw and quest items
       if $data_items[i].consumable
         if $data_items[i].occasion == 3
           @raw.push($data_items[i])
         else
           @consumable.push($data_items[i])
         end
       else
         @quest.push($data_items[i])
       end
       @all.push($data_items[i])
     end
   end
   
   # Also add weapons and armors if outside of battle
   unless $game_temp.in_battle
     for i in 1...$data_weapons.size
       if $game_party.weapon_number(i) > 0
         # Add recent items
         if $game_party.recent_items.size < 20
           for u in 0...$game_party.recent_items.size
             if $data_weapons[i].id == $game_party.recent_items[u].id && $game_party.recent_items[u].is_a?(RPG::Weapon)
               @recent[($game_party.recent_items.size - 1) - u] = ($data_weapons[i])
             end
           end
         else
           for u in $game_party.recent_items.size-20...$game_party.recent_items.size
             if $data_weapons[i].id == $game_party.recent_items[u].id && $game_party.recent_items[u].is_a?(RPG::Weapon)
               @recent[21 - (u - ($game_party.recent_items.size-20))] = ($data_weapons[i])
             end
           end
         end
         
         # Add weapons
         @weapon.push($data_weapons[i])
         @equipment.push($data_weapons[i])
         @all.push($data_weapons[i])
       end
     end
     for i in 1...$data_armors.size
       if $game_party.armor_number(i) > 0
         # Add recent armors
         if $game_party.recent_items.size < 20
           for u in 0...$game_party.recent_items.size
             if $data_armors[i].id == $game_party.recent_items[u].id && $game_party.recent_items[u].is_a?(RPG::Armor)
               @recent[($game_party.recent_items.size - 1) - u] = ($data_armors[i])
             end
           end
         else
           for u in $game_party.recent_items.size-20...$game_party.recent_items.size
             if $data_armors[i].id == $game_party.recent_items[u].id && $game_party.recent_items[u].is_a?(RPG::Armor)
               @recent[21 - (u - ($game_party.recent_items.size-20))] = ($data_armors[i])
             end
           end
         end
         
         # Add armors
         if $data_armors[i].kind == 2 # Body Armor
           @body.push($data_armors[i])
         elsif $data_armors[i].kind == 1 # Head Armor
           @head.push($data_armors[i])
         elsif $data_armors[i].kind == 0 # Arm Armor
           @arm.push($data_armors[i])
         elsif $data_armors[i].kind == 3 # Accessories
           @accessory.push($data_armors[i])
         end
         @equipment.push($data_armors[i])
         @all.push($data_armors[i])
       end
     end
   end
   
   # Repaint
   if @category == "Recent"
     @item_max = @recent.size
   elsif @category == "Consume"
     @item_max = @consumable.size
   elsif @category == "Weapon"
     @item_max = @weapon.size
   elsif @category == "Body"
     @item_max = @body.size
   elsif @category == "Head"
     @item_max = @head.size
   elsif @category == "Arm"
     @item_max = @arm.size
   elsif @category == "Accessory"
     @item_max = @accessory.size
   elsif @category == "Raw"
     @item_max = @raw.size
   elsif @category == "Quest"
     @item_max = @quest.size
   elsif @category == "Equip"
     @item_max = @equipment.size
   elsif @category == "All"
     @item_max = @all.size
   end
   @items_max = @item_max
   if @item_max == 0
     self.contents.dispose if self.contents != nil
     self.contents = Bitmap.new(width - 32, height - 32)
   end
     if @item_max > 20 && @category == "Recent"
       self.contents = Bitmap.new(width - 32, height - 32)
       for i in @recent.size-20...@recent.size
         draw_item(i)
       end
       @items_max = @item_max
       @item_max = 20
     elsif @item_max > 0
       self.contents = Bitmap.new(width - 32, row_max * 32)
       for i in 0...@item_max
         draw_item(i)
       end
     end
 end
 #--------------------------------------------------------------------------
 # * Draw Item
 #     index : item number
 #--------------------------------------------------------------------------
 def draw_item(index)
   case @category
   when "Recent"
     item = @recent[index]
   when "Consume"
     item = @consumable[index]
   when "Weapon"
     item = @weapon[index]
   when "Body"
     item = @body[index]
   when "Head"
     item = @head[index]
   when "Arm"
     item = @arm[index]
   when "Accessory"
     item = @accessory[index]
   when "Raw"
     item = @raw[index]
   when "Quest"
     item = @quest[index]
   when "Equip"
     item = @equipment[index]
   when "All"
     item = @all[index]
   end
   case item
   when RPG::Item
     number = $game_party.item_number(item.id)
   when RPG::Weapon
     number = $game_party.weapon_number(item.id)
   when RPG::Armor
     number = $game_party.armor_number(item.id)
   end
   if item.is_a?(RPG::Item) and
      $game_party.item_can_use?(item.id)
     self.contents.font.color = normal_color
   else
     self.contents.font.color = disabled_color
   end
   x = 4 + index % 2 * (288 + 32)
   if @item_max > 20 && @category == "Recent"
     y = (index - (@item_max - 20)) / 2 * 32
   else
     y = index / 2 * 32
   end
   if item != nil
     rect = Rect.new(x, y, self.width / @column_max - 32, 32)
     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
     bitmap = RPG::Cache.icon(item.icon_name)
     opacity = self.contents.font.color == normal_color ? 255 : 128
     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
     self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
     self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
     self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
   end
 end
 #--------------------------------------------------------------------------
 # * Help Text Update
 #--------------------------------------------------------------------------
 def update_help
   if @index >= 0
     @help_window.set_text(self.item == nil ? "" : self.item.description, self.item)
   end
 end
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------
 def update
   if self.active and @item_max >= 0 and @index >= 0
     if Input.trigger?(Input::UP) && @index <= 1
       @index = -1
     end
   end
   super
 end
 def cat_select(tf)
   @category_select = tf
 end
 #--------------------------------------------------------------------------
 # * Update Cursor Rectangle
 #--------------------------------------------------------------------------
 def update_cursor_rect
   # If cursor position is less than 0
   if @index < 0 || @category_select
     self.cursor_rect.empty
     return
   end
   # Get current row
   row = @index / @column_max
   # If current row is before top row
   if row < self.top_row
     # Scroll so that current row becomes top row
     self.top_row = row
   end
   # If current row is more to back than back row
   if row > self.top_row + (self.page_row_max - 1)
     # Scroll so that current row becomes back row
     self.top_row = row - (self.page_row_max - 1)
   end
   # Calculate cursor width
   cursor_width = self.width / @column_max - 32
   # Calculate cursor coordinates
   x = @index % @column_max * (cursor_width + 32)
   y = @index / @column_max * 32 - self.oy
   # Update cursor rectangle
   self.cursor_rect.set(x, y, cursor_width, 32)
 end
 #--------------------------------------------------------------------------
 # * Draw Items after use
 #--------------------------------------------------------------------------
 def draw_items(index)
   if @category == "Recent" && @recent.size > 20
     draw_item(index + (@item_max - 20))
   else
     draw_item(index)
   end
 end
end

#==============================================================================
# ** Scene_Item
#------------------------------------------------------------------------------
#  This class performs item screen processing.
#==============================================================================

class Scene_Item
 #--------------------------------------------------------------------------
 # * Main Processing
 #--------------------------------------------------------------------------
 def main
   # Make help window, item window
   @top_window = Window_Blank.new(0, 0, 640, 64) unless CIM_Config::CATEGORIES_WINDOW
   @help_window = Window_ItemHelp.new
   @itemtop_window = Window_ItemTop.new
   @help_windowback = Window_Blank.new(0, 416, 640, 64)
   @help_window.y = 384
   @item_window = Window_ItemMenu.new
   @item_window.active = false
   # Associate help window
   @item_window.help_window = @help_window
   # Make target window (set to active)
   @category_window = Window_Category.new(320, [])
   @category_window.active = true
   @category_window.help_window = @itemtop_window
   # Make target window (set to invisible / inactive)
   @target_window = Window_Target.new
   @target_window.visible = false
   @target_window.active = false
   @item_window.refresh
   # Execute transition
   Graphics.transition
   # Main loop
   loop do
     # Update game screen
     Graphics.update
     # Update input information
     Input.update
     # Frame update
     update
     # Abort loop if screen is changed
     if $scene != self
       break
     end
   end
   # Prepare for transition
   Graphics.freeze
   # Dispose of windows
   @help_window.dispose
   @item_window.dispose
   @target_window.dispose
   @help_windowback.dispose
   @category_window.dispose
   @itemtop_window.dispose
   @top_window.dispose unless CIM_Config::CATEGORIES_WINDOW
 end
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------
 def update
   # Update windows
   @help_window.update
   @item_window.update
   @target_window.update
   @help_windowback.update
   @category_window.update
   @category_window.refresh
   @itemtop_window.update
   @top_window.update unless CIM_Config::CATEGORIES_WINDOW
   # If item window is active: call update_item
   if @item_window.active
     update_item
     return
   end
   # If target window is active: call update_target
   if @target_window.active
     update_target
     return
   end
   # If target window is active: call update_target
   if @category_window.active
     @help_window.set_display ("", "")
     update_category
     return
   end
 end
 #--------------------------------------------------------------------------
 # * Frame Update (when item window is active)
 #--------------------------------------------------------------------------
 def update_item
   # If B button was pressed
   if Input.trigger?(Input::B)
     # Set category window active
     @item_window.active = false
     @item_window.cat_select(true)
     @category_window.active = true
     # Play decision SE
     $game_system.se_play($data_system.decision_se)
     return
   end
   # If C button was pressed
   if Input.trigger?(Input::C)
     # Get currently selected data on the item window
     @item = @item_window.item
     # If not a use item
     unless @item.is_a?(RPG::Item)
       # Play buzzer SE
       $game_system.se_play($data_system.buzzer_se)
       return
     end
     # If it can't be used
     unless $game_party.item_can_use?(@item.id)
       # Play buzzer SE
       $game_system.se_play($data_system.buzzer_se)
       return
     end
     # Play decision SE
     $game_system.se_play($data_system.decision_se)
     # If effect scope is an ally
     if @item.scope >= 3
       # Activate target window
       @item_window.active = false
       @target_window.x = (@item_window.index + 1) % 2 * 304
       @target_window.visible = true
       @target_window.active = true
       # Set cursor position to effect scope (single / all)
       if @item.scope == 4 || @item.scope == 6
         @target_window.index = -1
       else
         @target_window.index = 0
       end
     # If effect scope is other than an ally
     else
       # If command event ID is valid
       if @item.common_event_id > 0
         # Command event call reservation
         $game_temp.common_event_id = @item.common_event_id
         # Play item use SE
         $game_system.se_play(@item.menu_se)
         # If consumable
         if @item.consumable
           # Decrease used items by 1
           $game_party.lose_item(@item.id, 1)
           # Draw item window item
           @item_window.draw_item(@item_window.index)
         end
         # Switch to map screen
         $scene = Scene_Map.new
         return
       end
     end
     return
   end
   # If UP button was pressed
   if Input.trigger?(Input::UP) && @item_window.index == -1
     # Set category window active
     @item_window.active = false
     @item_window.cat_select(true)
     @category_window.active = true
     # Play cursor SE
     $game_system.se_play($data_system.cursor_se)
     return
   end
 end
 #--------------------------------------------------------------------------
 # * Frame Update (when target window is active)
 #--------------------------------------------------------------------------
 def update_target
   # If B button was pressed
   if Input.trigger?(Input::B)
     # Play cancel SE
     $game_system.se_play($data_system.cancel_se)
     # If unable to use because items ran out
     unless $game_party.item_can_use?(@item.id)
       # Remake item window contents
       @item_window.refresh
     end
     # Erase target window
     @item_window.active = true
     @target_window.visible = false
     @target_window.active = false
     @item_window.refresh
     return
   end
   # If C button was pressed
   if Input.trigger?(Input::C)
     # If items are used up
     if $game_party.item_number(@item.id) == 0
       # Play buzzer SE
       $game_system.se_play($data_system.buzzer_se)
       return
     end
     # If target is all
     if @target_window.index == -1
       # Apply item effects to entire party
       used = false
       for i in $game_party.actors
         used |= i.item_effect(@item)
       end
     end
     # If single target
     if @target_window.index >= 0
       # Apply item use effects to target actor
       target = $game_party.actors[@target_window.index]
       used = target.item_effect(@item)
     end
     # If an item was used
     if used
       # Play item use SE
       $game_system.se_play(@item.menu_se)
       # If consumable
       if @item.consumable
         # Decrease used items by 1
         $game_party.lose_item(@item.id, 1)
         # Redraw item window item
         @item_window.draw_items(@item_window.index)
       end
       # Remake target window contents
       @target_window.refresh
       # If all party members are dead
       if $game_party.all_dead?
         # Switch to game over screen
         $scene = Scene_Gameover.new
         return
       end
       # If common event ID is valid
       if @item.common_event_id > 0
         # Common event call reservation
         $game_temp.common_event_id = @item.common_event_id
         # Switch to map screen
         $scene = Scene_Map.new
         return
       end
     end
     # If item wasn't used
     unless used
       # Play buzzer SE
       $game_system.se_play($data_system.buzzer_se)
     end
     return
   end
 end
 #--------------------------------------------------------------------------
 # * Frame Update (when category window is active)
 #--------------------------------------------------------------------------
 def update_category
   @item_window.category(@category_window.index)
   @item_window.cat_select(true)
   if Input.repeat? (Input::RIGHT) || Input.repeat? (Input::LEFT)
   @item_window.refresh
   end
   # If B button was pressed
   if Input.trigger?(Input::B)
     # Play cancel SE
     $game_system.se_play($data_system.cancel_se)
     # Switch to menu screen
     $scene = Scene_Menu.new(0)
     return
   end
   # If C button was pressed
   if Input.trigger?(Input::C)
     # Get currently selected data on the item window
     @item = @category_window.index
     # Set item window active
     @item_window.active = true
     @item_window.index = 0
     @category_window.active = false
     @item_window.cat_select(false)
     # Play decision SE
     $game_system.se_play($data_system.decision_se)
     return
   end
   # If DOWN button was pressed
   if Input.trigger?(Input::DOWN)
     # Set item window active
     @item_window.active = true
     @item_window.index = 0
     @category_window.active = false
     @item_window.cat_select(false)
     # Play cursor SE
     $game_system.se_play($data_system.cursor_se)
     return
   end
 end
end

#==============================================================================
# ** Game_Party
#------------------------------------------------------------------------------
#  This class handles the party. It includes information on amount of gold
#  and items. Refer to "$game_party" for the instance of this class.
#==============================================================================

class Game_Party
 attr_reader     :recent_items
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 alias af_cim_init_gp initialize
 def initialize
   af_cim_init_gp
   @recent_items = []
 end
 #--------------------------------------------------------------------------
 # * Gain Items (or lose)
 #     item_id : item ID
 #     n       : quantity
 #--------------------------------------------------------------------------
 def gain_item(item_id, n)
   # Update quantity data in the hash.
   if item_id > 0
     @items[item_id] = [[item_number(item_id) + n, 0].max, 99].min
     gain_recent_item(item_id) if n >= 0
   end
 end
 #--------------------------------------------------------------------------
 # * Gain Weapons (or lose)
 #     weapon_id : weapon ID
 #     n         : quantity
 #--------------------------------------------------------------------------
 def gain_weapon(weapon_id, n)
   # Update quantity data in the hash.
   if weapon_id > 0
     @weapons[weapon_id] = [[weapon_number(weapon_id) + n, 0].max, 99].min
     gain_recent_weapon(weapon_id) if n >= 0
   end
 end
 #--------------------------------------------------------------------------
 # * Gain Armor (or lose)
 #     armor_id : armor ID
 #     n        : quantity
 #--------------------------------------------------------------------------
 def gain_armor(armor_id, n)
   # Update quantity data in the hash.
   if armor_id > 0
     @armors[armor_id] = [[armor_number(armor_id) + n, 0].max, 99].min
     gain_recent_armor(armor_id) if n >= 0
   end
 end
 #--------------------------------------------------------------------------
 # * Lose Items
 #     item_id : item ID
 #     n       : quantity
 #--------------------------------------------------------------------------
 def lose_item(item_id, n)
   # Reverse the numerical value and call it gain_item
   gain_item(item_id, -n)
   for i in 0...@recent_items.size
     if $game_party.item_number(@recent_items[i].id) == 0 && @recent_items[i].is_a?(RPG::Item) && @recent_items[i].id == item_id
       @recent_items.delete_at(i)
     end
   end
 end
 #--------------------------------------------------------------------------
 # * Lose Weapons
 #     weapon_id : weapon ID
 #     n         : quantity
 #--------------------------------------------------------------------------
 def lose_weapon(weapon_id, n)
   # Reverse the numerical value and call it gain_weapon
   gain_weapon(weapon_id, -n)
   for i in 0...@recent_items.size
     if $game_party.item_number(@recent_items[i].id) == 0 && @recent_items[i].is_a?(RPG::Weapon) && @recent_items[i].id == weapon_id
       @recent_items.delete_at(i)
     end
   end
 end
 #--------------------------------------------------------------------------
 # * Lose Armor
 #     armor_id : armor ID
 #     n        : quantity
 #--------------------------------------------------------------------------
 def lose_armor(armor_id, n)
   # Reverse the numerical value and call it gain_armor
   gain_armor(armor_id, -n)
   if $game_party.item_number(armor_id) <= 0
   for i in 0...@recent_items.size
     if $game_party.item_number(@recent_items[i].id) == 0 && @recent_items[i].is_a?(RPG::Armor) && @recent_items[i].id == armor_id
       @recent_items.delete_at(i)
     end
   end
   end
 end
 #--------------------------------------------------------------------------
 # * Gain Recent Items
 #     item_id  : item ID
 #--------------------------------------------------------------------------
 def gain_recent_item(item_id)
   for i in 0...@recent_items.size
     if @recent_items[i].id == $data_items[item_id].id && @recent_items[i].is_a?(RPG::Item)
       @recent_items.delete_at(i)
     end
   end
   @recent_items.push($data_items[item_id])
   if @recent_items.size > 40
     @recent_items.delete_at(0)
   end
 end
 #--------------------------------------------------------------------------
 # * Gain Recent Weapons
 #     weapon_id : weapon ID
 #--------------------------------------------------------------------------
 def gain_recent_weapon(weapon_id)
   for i in 0...@recent_items.size
     if @recent_items[i].id == $data_weapons[weapon_id].id && @recent_items[i].is_a?(RPG::Weapon)
       @recent_items.delete_at(i)
     end
   end
   @recent_items.push($data_weapons[weapon_id])
   if @recent_items.size > 40
     @recent_items.delete_at(0)
   end
 end
 #--------------------------------------------------------------------------
 # * Gain Recent Armor
 #     armor_id  : armor ID
 #--------------------------------------------------------------------------
 def gain_recent_armor(armor_id)
   for i in 0...@recent_items.size
     if @recent_items[i].id == $data_armors[armor_id].id && @recent_items[i].is_a?(RPG::Armor)
       @recent_items.delete_at(i)
     end
   end
   @recent_items.push($data_armors[armor_id])
   if @recent_items.size > 40
     @recent_items.delete_at(0)
   end
 end
 #--------------------------------------------------------------------------
 # * Gain Items (or lose)
 #     item_id : item ID
 #     n       : quantity
 #--------------------------------------------------------------------------
 def equip_item(item_id, n)
   # Update quantity data in the hash.
   if item_id > 0
     @items[item_id] = [[item_number(item_id) + n, 0].max, 99].min
   end
 end
 #--------------------------------------------------------------------------
 # * Gain Weapons (or lose)
 #     weapon_id : weapon ID
 #     n         : quantity
 #--------------------------------------------------------------------------
 def equip_weapon(weapon_id, n)
   # Update quantity data in the hash.
   if weapon_id > 0
     @weapons[weapon_id] = [[weapon_number(weapon_id) + n, 0].max, 99].min
   end
 end
 #--------------------------------------------------------------------------
 # * Gain Armor (or lose)
 #     armor_id : armor ID
 #     n        : quantity
 #--------------------------------------------------------------------------
 def equip_armor(armor_id, n)
   # Update quantity data in the hash.
   if armor_id > 0
     @armors[armor_id] = [[armor_number(armor_id) + n, 0].max, 99].min
   end
 end
end

#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  This class handles the actor. It's used within the Game_Actors class
#  ($game_actors) and refers to the Game_Party class ($game_party).
#==============================================================================
class Game_Actor
 #--------------------------------------------------------------------------
 # * Change Equipment
 #     equip_type : type of equipment
 #     id    : weapon or armor ID (If 0, remove equipment)
 #--------------------------------------------------------------------------
 def equip(equip_type, id)
   case equip_type
   when 0  # Weapon
     if id == 0 or $game_party.weapon_number(id) > 0
       $game_party.equip_weapon(@weapon_id, 1)
       @weapon_id = id
       $game_party.lose_weapon(id, 1)
     end
   when 1  # Shield
     if id == 0 or $game_party.armor_number(id) > 0
       update_auto_state($data_armors[@armor1_id], $data_armors[id])
       $game_party.equip_armor(@armor1_id, 1)
       @armor1_id = id
       $game_party.lose_armor(id, 1)
     end
   when 2  # Head
     if id == 0 or $game_party.armor_number(id) > 0
       update_auto_state($data_armors[@armor2_id], $data_armors[id])
       $game_party.equip_armor(@armor2_id, 1)
       @armor2_id = id
       $game_party.lose_armor(id, 1)
     end
   when 3  # Body
     if id == 0 or $game_party.armor_number(id) > 0
       update_auto_state($data_armors[@armor3_id], $data_armors[id])
       $game_party.equip_armor(@armor3_id, 1)
       @armor3_id = id
       $game_party.lose_armor(id, 1)
     end
   when 4  # Accessory
     if id == 0 or $game_party.armor_number(id) > 0
       update_auto_state($data_armors[@armor4_id], $data_armors[id])
       $game_party.equip_armor(@armor4_id, 1)
       @armor4_id = id
       $game_party.lose_armor(id, 1)
     end
   end
 end
end


I've been thinking about what this edit might entail:

Scene Menu should be quite easy, and in fact I may be able to handle it myself. The only change will be to remove "End" and to insert the materia menu (don't worry, it's not an FF7 clone) after "Equip".

Scene Item will need to integrate the Albertfish menu, and then (I'll have to find graphics help for this) include a new background image so as to reflect accurately the position of the Albertfish windows.

Scene Skill can remain almost intact. The only change will be to incorporate the Extra Skill Info script that nathmatt and aqua made for me.

Upon closer reflection, I realize that Scene Equip could be a nightmare. It will be necessary to merge the Multi-Slot equip window with the "stat update" graphical interface of MH's system.

Scene Status and Scene Save can remain unchanged.

The only other thing would be to make a graphical interface for the new Materia scene. Would it be possible simply to copy the existing MH interfaces and adapt the position of the graphics to reflect the position of the information in the Materia system? That would save a lot of work.
10
I'd be willing to help out with this. It's the least I could do after pestering you guys for scripts.  :P
11
Are you referring to this?

#_______________________________________________________________________________
# MOG_Collapse System V1.3           
#_______________________________________________________________________________
# By Moghunter
# http://www.atelier-rgss.com
#_______________________________________________________________________________
# Modifica como o colapso é apresentado.
#_______________________________________________________________________________
module MOG
#------------------------------------------------------------------------------- 
#Defina abaixo o tipo de colapso do inimigo (Coloque a ID). 
#-------------------------------------------------------------------------------
# Zoom na vertical.
#-------------------------------------------------------------------------------
COLLAPSE_TYPE_1 = [
1,   #Ghost
7,   #Imp
13   #Goblin

#-------------------------------------------------------------------------------
# Zoom na horizontal.
#-------------------------------------------------------------------------------
COLLAPSE_TYPE_2 = [
2,    #Basilisk
8,    #Angel
14,   #Harpy
22,   #Wyvern
23    #Daemon

#-------------------------------------------------------------------------------
# Zoom na vertical e na horizontal.
#-------------------------------------------------------------------------------
COLLAPSE_TYPE_3 = [
3,   #Sahagin
9,   #Zombie
15   #Gargoyle

#-------------------------------------------------------------------------------
# Rotação.
#-------------------------------------------------------------------------------
COLLAPSE_TYPE_4 = [
4,   #Hellhound
10,  #Lamia
16   #Archangel

#-------------------------------------------------------------------------------
# Zoom OUT.
#-------------------------------------------------------------------------------
COLLAPSE_TYPE_5 = [
5,   #Cobold
11,  #Lizardman
17   #Skeleton

#-------------------------------------------------------------------------------
# Zoom IN.
#-------------------------------------------------------------------------------
COLLAPSE_TYPE_6 = [
6,   #Cockatrice
12,  #Kerberos
18,  #Hydra
20,  #Griffin
21   #Ogre

#_______________________________________________________________________________
# Abaixo defina o tipo de colapso dos heróis.
#_______________________________________________________________________________
#Tipos de Colapsos.
#
#0 = Zoom na vertical
#1 = Zoom na horizontal
#2 = Zoom na vertical e na horizontal
#3 = Rotação
#4 = Zoom OUT
#5 = Zoom IN
#6 = Normal
TYPE_COL = 2 
#_______________________________________________________________________________
end
$mogscript = {} if $mogscript == nil
$mogscript["Collapse_System"] = true
#################
# Module Sprite #
#################
module RPG
class Sprite < ::Sprite 
alias mog_colapse_update update 
def update
mog_colapse_update 
super
if @_collapse_duration > 0
if @battler.is_a?(Game_Enemy)
if MOG::COLLAPSE_TYPE_1.include?(@battler.id)
self.zoom_x -= 0.02
self.zoom_y += 0.5
elsif MOG::COLLAPSE_TYPE_2.include?(@battler.id)
self.zoom_x += 0.5
self.zoom_y -= 0.05
elsif MOG::COLLAPSE_TYPE_3.include?(@battler.id)
if @_collapse_duration > 20
self.zoom_y -= 0.03
self.zoom_x += 0.03
else
self.zoom_x -= 0.115
self.zoom_y += 0.4
end 
elsif MOG::COLLAPSE_TYPE_4.include?(@battler.id)
self.zoom_x -= 0.04
self.zoom_y += 0.04
self.angle += 10
elsif MOG::COLLAPSE_TYPE_5.include?(@battler.id)
self.zoom_x += 0.06
self.zoom_y += 0.06 
elsif MOG::COLLAPSE_TYPE_6.include?(@battler.id)
self.zoom_x -= 0.03
self.zoom_y -= 0.03 
else 
end
elsif @battler.is_a?(Game_Actor)
if MOG::TYPE_COL == 0
self.zoom_x -= 0.02
self.zoom_y += 0.5
elsif MOG::TYPE_COL == 1
self.zoom_x += 0.5
self.zoom_y -= 0.05
elsif MOG::TYPE_COL == 2
if @_collapse_duration > 20
self.zoom_y -= 0.03
self.zoom_x += 0.03
else
self.zoom_x -= 0.115
self.zoom_y += 0.4
end       
elsif MOG::TYPE_COL == 3
self.zoom_x -= 0.04
self.zoom_y += 0.04
self.angle += 10
elsif MOG::TYPE_COL == 4
self.zoom_x += 0.06
self.zoom_y += 0.06
elsif MOG::TYPE_COL == 5
self.zoom_x -= 0.03
self.zoom_y -= 0.03
else
end 
end 
end
end
end
end


http://www.atelier-rgss.com/RGSS/Battle/XP_BAT02.html
12
Hi everyone. I hope that the week has begun well for all of you.  :)


I'm quite new to the forum, and in case you haven't met me yet, I should explain that I am working on an RMXP project which I have plans to finish by the beginning of 2011 as a birthday present for two friends (and which I hope to make public also). Story and general design are my strong points; scripting is not. My knowledge is limited to minor editing of existing scripts using the little that I remember from my college C++ classes. I'm doing my best to read the excellent materials made available on this forum, but my job leaves with me so little free time that I must invest as much of it as possible in other aspects of my projects. Hence my need of expert help and my participation in this forum.  :^_^':

My problem is the following. My project uses a custom item menu (Categorized Items Menu by Albertfish), a custom equipment system (Guillaume's multi-slot), a modified version of the materia script, and a bestiary. I've fallen in love with the image-based menus by Moghunter (http://rmvxp.com/showthread.php?tid=559) and would like to use them in my project. As you've probably guessed, I've been unsuccessful in trying to merge the Moghunter interface with those other scripts. My wish, essentially, is to maintain only the graphical elements (transition, ability to place icons, backgrounds, etc.) of the MH script and to use the other custom systems instead of the MH versions.

Before I undertake this project and inevitably end up bothering all of you for help, would anyone be so kind as to tell me:

1) If such an integration is possible?
2) How much time and effort it would take?
3) A very, very distant 3) If anyone would actually be interested in giving me a hand?


Thank you very much in advance for any help that you are willing to offer!
13
General Discussion / Re: Why we are all here.
May 18, 2010, 10:23:47 am
Quote from: Blizzard on May 11, 2010, 03:34:44 pm
My opinion is that the story is the leading element, giving the game a purpose and the gameplay is the game's core, what the game actually is. The music adds to the gameplay and tunes it up while graphics are merely visual and only of secondary importance. Style is more important than graphics.


I completely agree. I've found that it's much easier for me to "forgive" mediocre graphics if the storyline is engaging, whereas the opposite is nearly impossible: no matter how impressive the graphics may be, it's difficult to continue playing when the storyline is a disaster or when the dialogue makes me cringe.

14
Looks like I'm the first one to be 25. I feel old.  :P
15
Simply amazing. Works like a charm. :D

Thanks again for the swift response, your excellent work, and for your patience with me!

16
Welcome! / Re: Hello
May 15, 2010, 06:13:56 pm
Thanks for the new welcomes, everyone! I'm really liking this place and plan on sticking around.  :)

Starrodkirby, I'm a native speaker of English who has studied Spanish for 14 years and who has lived in Argentina for 4 years. My wife is a native speaker of Spanish. If you'd like to trade RMXP work (I'm especially bad at scripts and sprites!!!) for help with Spanish, please let me know. This goes for anyone else, too!  ;)
17
Thanks again, nath! With that new code I've been able to add additional slots without any problems. I see also how I have the ability to change the other fields to images if I want. Very nice job!

The only issue I've found is that the help window doesn't appear once you've left the skill menu:

Spoiler: ShowHide


18
Ah! Of course. My fault for not specifying better in my request. After making the change that you suggested, Aqua, it works perfectly! And nathmatt, I am in your debt.  :)

Out of curiosity: did this take very long? Would it be complicated to make this apply to the battle menu?


QuoteShouldn't the status_inflicted also be an array?


Would that be possible? Could it hold up to 5 options?

19
Wow! Not even a day has passed and already someone has made a script? This place is excellent indeed.  :haha:

Many, many thanks for your efforts and for the explanation that even I was able to understand. I think that this is exactly what I was looking for.

The "back" button is fine for returning to the general list, thanks!

One question: when I enter the skill menu, it gives me this error:

Script "Item Info" line 183: NameError occurred.

uninitialized constant Input::Key
20
Hi everyone. This is my first script request here, and I'll do my best not to seem ignorant. Let me preface my request by saying that I've searched with no luck for something with a similar function. I don't know of any video game antecedents for what I'm proposing, as the idea came to me as a way of solving a problem related to my particular project. Also, I'm no scripter, so perhaps my request won't even be possible. Please let me know if this turns out to be the case.  :)

The request

Type of script

Add-on to the RMXP Default Skill Menu, involving the display of two new windows, one of which should contain information called up from a database of text and icons contained in the script. Although I would like this to apply eventually in battle as well, let's start only with a modification of the default skill menu system.

Custom scripts I am using

Nothing that should affect the Skill Windows as far as I know. However, just in case, here is a list of what I'm using to date:

tons by blizzard
threat system v1.0 by Fantasist
item categorization by albertfish
multi-slot equipment by guillaume 777
skill recovery time by Fomar0153
icons in battle commands by Juan
character biography by ItalianStal1ion
tax script by Falcon
animated save files by sandgolem
unequip all by sandgolem

This list will soon include a pared-down version of Sephiroth Spawn's Materia System and the UMS.

Anything else that I add later will be my fault should it prove incompatible.

I am NOT using the SDK and do not plan on using it.



How the script should work

The player opens the skill window as usual and moves the cursor to a skill. Everything is identical to the default system except for the addition of an instruction window at the bottom. This window tells the player that pressing 'Z' (or whatever I choose as the key) will bring up a new window. Please note that this is only a [bad] mock-up with paint and not the result of any scripting I've done.

Spoiler: ShowHide


If the player presses 'Z', a new window appears at the side of the screen. In my screenshot, it contains relevant information about the skill that is too long and cumbersome to display in the top skill description:

Spoiler: ShowHide
[


At this point, the help window at the bottom changes to instruct the player that pressing 'B' (or whatever) will return to the general list of skills.


How this might be done

The pop-up window does not need to be connected to any in-game system information about the skill. Its only purpose is to show 5 lines of text and icons, which I would have the ability to establish in the script database of descriptions. Of course, the descriptions should correspond correctly to the skills. My scripting knowledge is still practically zero, but in layman's terms it would be something like:

For skill number [34]

"Elemental Attack:     icon for fire    icon for water"
"Status Inflicted:       icon for sleep"
"Charge Time:           1 turn (or icon of 1 turn)"
"Recovery Time:        n/a (or icon)"
"Threat Rating:         6 (or icon"


This would be a very large database, covering approximately 150 skills in total.




Could something like this be done? Please let me know if I can provide additional information or clear up any doubts.

Thanks in advance for your time!  :)