Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Image Menu help.

Hello.
I am in desperate need of some assistance with the image menu script.
It works perfect but when I go into the equip window, the game's window skin appears and totally throws off the look of the menu.
Is there any way I can have the equip window work WITHOUT using window skins behind the options?

http://img.photobucket.com/albums/v312/ ... nuhelp.png[/IMG]


I hope someone can help me with this.
Below is the image menu script I am using.

Thanks and I hope to hear from someone soon.

---Ishbuu
Code:
module NARAMURA_RGSS2
  #-----------------------------------------------------------------------------
  # Scene_Menu
  #-----------------------------------------------------------------------------
  # Created by Naramura ( http://naramura.kdn.ne.jp )
  # Translated by Kurisu (http://www.rmxpcentral.co.nr)
  #-----------------------------------------------------------------------------
  # Features;
  # This script enable you to use 640x480pxl image for menu background
  # Check the Window Skin folder in the demo for the images
  # Image Background Template is found on this Script's topic.
  #-----------------------------------------------------------------------------
  # Remember to credit Naramura,
  # I don't want credit, as I DID NOT create the script
  # I only translated it from Japanese to English
  #-----------------------------------------------------------------------------
  # How to use:
  # It is quite simple. Plug in and play.
  # All you have to do is;
  # 1. Put the Image Background in the Windowskin Folder
  # (Look in Windowskin folder in Demo)
  #
  # 2. Edit the file name = "MENU_BACKEX = "menu_system01" to your image
  # filename. Simple
  #
  # 3. "WIN_BACKPATTERN = false"  This let you either choose Tiling (Squares)
  # background, or stretch it to fit the whole window
  # false = Tiling
  # true  = Stretch
  #
  # "WIN_BOPACITY"  This let you change the opacity of the menu.
  # from 1 being tranparent to 255 being Non-Transparent
  #  
  # You can edit the colors of the texts
  # Check below for references
  # TEXT_NORMAL, TEXT_NOUSE, TEXT_SYSTEM, TEXT_PINCH, TEXT_DEATH
  #
  # TEXT_NORMAL = Normal Text
  # TEXT_NOUSE  = Disabled Text
  # TEXT_SYSTEM = System Text
  # TEXT_PINCH  = Critical Text
  # TEXT_DEATH  = Knocked-Out Text
  #
  # Each class, there will be comment saying "Edit Opacity settings"
  # That where you can edit Opacity settings for invidual windows
  #
  # That's about it
  # Post in the RGSS Requests if you want something merged or something
  #
  #-----------------------------------------------------------------------------
  
  # Start Editing Below
  MENU_BACKEX = "menu_system01"
  WIN_BACKPATTERN = false
  WIN_BOPACITY = 255
  TEXT_NORMAL = Color.new(255, 255, 255, 255)
  TEXT_NOUSE = Color.new(255, 255, 255, 128)
  TEXT_SYSTEM = Color.new(192, 224, 255, 255)
  TEXT_PINCH = Color.new(255, 255, 64, 255)
  TEXT_DEATH = Color.new(255, 64, 0, 255)
  # Stop Editing  (Don't edit below)
end

# â–  Tiling of background, modification of the letter color setting of Window_Base
class Window_Base < Window
  #--------------------------------------------------------------------------
  # ● Object Initialization
  #--------------------------------------------------------------------------
  alias initialize_naramura_rgss2 initialize
  def initialize(x, y, width, height)
    initialize_naramura_rgss2(x, y, width, height)
    self.stretch = NARAMURA_RGSS2::WIN_BACKPATTERN
  end
  #--------------------------------------------------------------------------
  # ● Letter color = "Normal"
  #--------------------------------------------------------------------------
  def normal_color
    return NARAMURA_RGSS2::TEXT_NORMAL
  end
  #--------------------------------------------------------------------------
  # ● Letter color = "Disabled"
  #--------------------------------------------------------------------------
  def disabled_color
    return NARAMURA_RGSS2::TEXT_NOUSE
  end
  #--------------------------------------------------------------------------
  # ● Letter color = "System"
  #--------------------------------------------------------------------------
  def system_color
    return NARAMURA_RGSS2::TEXT_SYSTEM
  end
  #--------------------------------------------------------------------------
  # ● Letter color = "Critical"
  #--------------------------------------------------------------------------
  def crisis_color
    return NARAMURA_RGSS2::TEXT_PINCH
  end
  #--------------------------------------------------------------------------
  # ● Letter color = "Knocked-Out"
  #--------------------------------------------------------------------------
  def knockout_color
    return NARAMURA_RGSS2::TEXT_DEATH
  end
end

# â–  Correction of the window where letter color setting is not reflected
class Window_ShopCommand < Window_Selectable
  alias naramura_rgss2_ref refresh
  def refresh
    self.contents.font.color = normal_color
    naramura_rgss2_ref
  end
end

class Window_NameEdit < Window_Base
  alias naramura_rgss2_ref refresh
  def refresh
    self.contents.font.color = normal_color
    naramura_rgss2_ref
  end
end

class Window_NameInput < Window_Base
  alias naramura_rgss2_ref refresh
  def refresh
    self.contents.font.color = normal_color
    naramura_rgss2_ref
  end
end

#==============================================================================
# â–  Window_Menu
#------------------------------------------------------------------------------
# Background window indication of menu
#==============================================================================

class Window_MenuBase < Window_Base
  #--------------------------------------------------------------------------
  # ● Object Initialization
  #--------------------------------------------------------------------------
  def initialize(type)
    super(-16,-16,672,512)
    self.contents = Bitmap.new(width - 32, height - 32)
    bitmap = Bitmap.new("Graphics/Windowskins/"+NARAMURA_RGSS2::MENU_BACKEX)
    y = 0
    case type
    when 0 # Main menu
      rect = Rect.new(0,64,640,480)
    when 1 # Status menu
      rect = Rect.new(160,64,640,480)
    when 2 # Item menu
      rect = Rect.new(160,0,640,480)
    when 3 # Skill menu
      rect = Rect.new(160,0,640,416)
      y = 64
      self.contents.blt(0,0,bitmap,Rect.new(160,0,640,64))
    end
    self.opacity = 0
    self.z = 0
    self.contents.blt(0,y,bitmap,rect)
  end
end

# This class performs menu screen processing. 
class Scene_Menu
  #--------------------------------------------------------------------------
  # ● Main processing
  #--------------------------------------------------------------------------
  def main
    # Make the Command Window
    s1 = $data_system.words.item
    s2 = $data_system.words.skill
    s3 = $data_system.words.equip
    s4 = "Status"
    s5 = "Save"
    s6 = "End Game"
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
    @command_window.index = @menu_index
    # If number of party members is 0
    if $game_party.actors.size == 0
      # Disable items, skills, equipment, and status
      @command_window.disable_item(0)
      @command_window.disable_item(1)
      @command_window.disable_item(2)
      @command_window.disable_item(3)
    end
    # If save is forbidden
    if $game_system.save_disabled
      # Disable save
      @command_window.disable_item(4)
    end
    # Make play time window
    @playtime_window = Window_PlayTime.new
    @playtime_window.x = 0
    @playtime_window.y = 224
    # Make steps window
    @steps_window = Window_Steps.new
    @steps_window.x = 0
    @steps_window.y = 320
    # Make gold window
    @gold_window = Window_Gold.new
    @gold_window.x = 0
    @gold_window.y = 416
    # Make status window
    @status_window = Window_MenuStatus.new
    @status_window.x = 160
    @status_window.y = 0
    
    # You can edit Opacity Properties here
    @menubase_window = Window_MenuBase.new(0)
    @command_window.opacity = 0
    @playtime_window.opacity = 0
    @steps_window.opacity = 0
    @gold_window.opacity = 0
    @status_window.opacity = 0
    # Don't edit below
    
    # 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
    @command_window.dispose
    @playtime_window.dispose
    @steps_window.dispose
    @gold_window.dispose
    @status_window.dispose
    @menubase_window.dispose
  end
end

class Scene_Item
  #--------------------------------------------------------------------------
  # ● Main Processing
  #--------------------------------------------------------------------------
  def main
    # Make help window, item window
    @help_window = Window_Help.new
    @item_window = Window_Item.new
    # Associate help window
    @item_window.help_window = @help_window
    # Make target window (set to invisible / inactive)
    @target_window = Window_Target.new
    @target_window.visible = false
    @target_window.active = false
    
    # You can edit the Opacity setting here
    @menubase_window = Window_MenuBase.new(2)
    @help_window.opacity = 0
    @item_window.opacity = 0
    @target_window.back_opacity = NARAMURA_RGSS2::WIN_BOPACITY
    # Don't edit below
    
    # 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
    @menubase_window.dispose
  end
end

class Scene_Skill
  #--------------------------------------------------------------------------
  # ● Main Processing
  #--------------------------------------------------------------------------
  def main
    # Get actor
    @actor = $game_party.actors[@actor_index]
    # Make help window, status window, and skill window
    @help_window = Window_Help.new
    @status_window = Window_SkillStatus.new(@actor)
    @skill_window = Window_Skill.new(@actor)
    # Associate help window
    @skill_window.help_window = @help_window
    # Make target window (set to invisible / inactive)
    @target_window = Window_Target.new
    @target_window.visible = false
    @target_window.active = false
    
    # Edit the Opacity settings here
    @menubase_window = Window_MenuBase.new(3)
    @help_window.opacity = 0
    @status_window.opacity = 0
    @skill_window.opacity = 0
    @target_window.back_opacity = NARAMURA_RGSS2::WIN_BOPACITY
    # Don't edit below
    
    # 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
    @status_window.dispose
    @skill_window.dispose
    @target_window.dispose
    @menubase_window.dispose
  end
end

class Scene_Equip
  #--------------------------------------------------------------------------
  # ● Main Processing
  #--------------------------------------------------------------------------
  def main
    # Get actor
    @actor = $game_party.actors[@actor_index]
    # Make windows
    @help_window = Window_Help.new
    @left_window = Window_EquipLeft.new(@actor)
    @right_window = Window_EquipRight.new(@actor)
    @item_window1 = Window_EquipItem.new(@actor, 0)
    @item_window2 = Window_EquipItem.new(@actor, 1)
    @item_window3 = Window_EquipItem.new(@actor, 2)
    @item_window4 = Window_EquipItem.new(@actor, 3)
    @item_window5 = Window_EquipItem.new(@actor, 4)
    # Associate help window
    @right_window.help_window = @help_window
    @item_window1.help_window = @help_window
    @item_window2.help_window = @help_window
    @item_window3.help_window = @help_window
    @item_window4.help_window = @help_window
    @item_window5.help_window = @help_window
    # Set cursor position
    @right_window.index = @equip_index
    refresh
    
    # Edit Opacity settings here
    @menubase_window = Window_MenuBase.new(2)
    @help_window.opacity = 0
    @item_window1.opacity = 0
    @item_window2.opacity = 0
    @item_window3.opacity = 0
    @item_window4.opacity = 0
    @item_window5.opacity = 0
    @left_window.back_opacity = NARAMURA_RGSS2::WIN_BOPACITY
    @right_window.back_opacity = NARAMURA_RGSS2::WIN_BOPACITY
    # Don't edit below
    
    # 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
    @left_window.dispose
    @right_window.dispose
    @item_window1.dispose
    @item_window2.dispose
    @item_window3.dispose
    @item_window4.dispose
    @item_window5.dispose
    @menubase_window.dispose
  end
end

class Scene_Status
  #--------------------------------------------------------------------------
  # ● Main Processing
  #--------------------------------------------------------------------------
  def main
    # Get actor
    @actor = $game_party.actors[@actor_index]
    # Make status window
    @status_window = Window_Status.new(@actor)
    
    # Edit Opacity settings below
    @menubase_window = Window_MenuBase.new(1)
    @status_window.opacity = 0
    # Don't edit below
    
    # 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
    @status_window.dispose
    @menubase_window.dispose
  end
end

class Scene_File
  #--------------------------------------------------------------------------
  # ● Main Processing
  #--------------------------------------------------------------------------
  def main
    # Make help window
    @help_window = Window_Help.new
    @help_window.set_text(@help_text)
    # Make save file window
    @savefile_windows = []
    for i in 0..3
      @savefile_windows.push(Window_SaveFile.new(i, make_filename(i)))
    end
    # Select last file to be operated
    @file_index = $game_temp.last_file_index
    @savefile_windows[@file_index].selected = true
    
    # Edit Opacity settings here
    @menubase_window = Window_MenuBase.new(2)
    @help_window.opacity = 0
    for i in 0..3
      @savefile_windows[i].opacity = 0
    end
    # Don't edit below
    
    # 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
    @menubase_window.dispose
    for i in @savefile_windows
      i.dispose
    end
  end
end

class Scene_Shop
  #--------------------------------------------------------------------------
  # ● Main Processing
  #--------------------------------------------------------------------------
  def main
    # Make help window
    @help_window = Window_Help.new
    # Make command window
    @command_window = Window_ShopCommand.new
    # Make gold window
    @gold_window = Window_Gold.new
    @gold_window.x = 480
    @gold_window.y = 64
    # Make dummy window
    @dummy_window = Window_Base.new(0, 128, 640, 352)
    # Make buy window
    @buy_window = Window_ShopBuy.new($game_temp.shop_goods)
    @buy_window.active = false
    @buy_window.visible = false
    @buy_window.help_window = @help_window
    # Make sell window
    @sell_window = Window_ShopSell.new
    @sell_window.active = false
    @sell_window.visible = false
    @sell_window.help_window = @help_window
    # Make quantity input window
    @number_window = Window_ShopNumber.new
    @number_window.active = false
    @number_window.visible = false
    # Make status window
    @status_window = Window_ShopStatus.new
    @status_window.visible = false
    
    # Edit Opacity settings below
    @menubase_window = Window_MenuBase.new(3)
    @help_window.opacity = 0
    @command_window.opacity = 0
    @gold_window.opacity = 0
    @dummy_window.opacity = 0
    @buy_window.opacity = 0
    @sell_window.opacity = 0
    @number_window.opacity = 0
    @status_window.back_opacity = NARAMURA_RGSS2::WIN_BOPACITY
    # Don't edit below
    
    # 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
    @command_window.dispose
    @gold_window.dispose
    @dummy_window.dispose
    @buy_window.dispose
    @sell_window.dispose
    @number_window.dispose
    @status_window.dispose
    @menubase_window.dispose
  end
end

class Scene_Name
  #--------------------------------------------------------------------------
  # ● Main Processing
  #--------------------------------------------------------------------------
  def main
    # Get actor
    @actor = $game_actors[$game_temp.name_actor_id]
    # Make windows
    @edit_window = Window_NameEdit.new(@actor, $game_temp.name_max_char)
    @input_window = Window_NameInput.new
    
    # Edit Opacity settings here
    @menubase_window = Window_MenuBase.new(1)
    @edit_window.opacity = 0
    @input_window.opacity = 0
    # Don't edit below
    
    # 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
    @edit_window.dispose
    @input_window.dispose
    @menubase_window.dispose
  end
end
 
This will remove the windowskin
Code:
class Window_EquipLeft
  alias ishbuu_nowindowskin_init initialize
  def initialize(actor)
    ishbuu_nowindowskin_init(actor)
    self.opacity = 0
  end
end

class Window_EquipRight
  alias ishbuu_nowindowskin_init initialize
  def initialize(actor)
    ishbuu_nowindowskin_init(actor)
    self.opacity = 0
  end
end
Add it before Main and after your script
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top