[RMXP] Adapt a Battle Result Script for 5 heroes!

Started by PrinceEndymion88, August 13, 2013, 09:04:46 pm

Previous topic - Next topic

PrinceEndymion88

August 13, 2013, 09:04:46 pm Last Edit: August 14, 2013, 02:34:27 pm by PrinceEndymion88
Hi, I've found this script:
#=================================================================
# ? Battle Result by A3D Ver. 1.02
# Useful                       : show battle result in a different way
# Effect to default script : this code will replace methode "start_phase5" & "update_phase5"  in Scene_Battle
# How to install             : in script editor, insert all the code above main
# Note                          : this script is for non-commercial use only, give credit if use
# Contact                      : A3D (hyper_s@hotmail.com)
#=================================================================

module A3D
 WAIT_WINDOW_APPEAR = 60
 WAIT_RUNNING_NUMBER = 20
 STEP_EXP = 1
 STEP_GOLD = 1
 SE_LEVELUP = ["007-System07", 100, 100]
 SE_NEWSKILL = ["007-System07", 100, 100]
 FONT_NAME = "Tahoma"
 FONT_SIZE = 22
end

#==============================================================================
# ? Scene_Battle
#==============================================================================

class Scene_Battle

 #--------------------------------------------------------------------------
 # ? After battle phase start
 #--------------------------------------------------------------------------
 def start_phase5
   # It moves to phase 5
   @phase = 5
   # Performing battle end ME
   $game_system.me_play($game_system.battle_end_me)
   # You reset to BGM before the battle starting
   $game_system.bgm_play($game_temp.map_bgm)
   # Initializing EXP, the gold and the treasure
   exp = 0
   gold = 0
   treasures = []
   # Loop
   for enemy in $game_troop.enemies
     # When the enemy hides and it is not state
     unless enemy.hidden
       # Adding acquisition EXP and the gold
       exp += enemy.exp
       gold += enemy.gold
       # Treasure appearance decision
       if rand(100) < enemy.treasure_prob
         if enemy.item_id > 0
           treasures.push($data_items[enemy.item_id])
         end
         if enemy.weapon_id > 0
           treasures.push($data_weapons[enemy.weapon_id])
         end
         if enemy.armor_id > 0
           treasures.push($data_armors[enemy.armor_id])
         end
       end
     end
   end
   # Treasure acquisition
   for item in treasures
     case item
     when RPG::Item
       $game_party.gain_item(item.id, 1)
     when RPG::Weapon
       $game_party.gain_weapon(item.id, 1)
     when RPG::Armor
       $game_party.gain_armor(item.id, 1)
     end
   end
   # Create Variable & Window
   @phase5_step = 1
   @wait_window_appear = A3D::WAIT_WINDOW_APPEAR
   @wait_running_number = A3D::WAIT_RUNNING_NUMBER
   @resultreceive_window = Window_ResultReceive.new(exp, gold, treasures)
   @resultgold_window = Window_ResultGold.new
   @resultparty_window = Window_ResultParty.new
   @actor_level_before = []
   @resultlevel_window = []
   @resultskill_window = []
   for i in 0...$game_party.actors.size
     actor = $game_party.actors[i]
     @actor_level_before[i] = actor.level
     @resultlevel_window[i] = Window_ResultLevel.new(i)
     @resultskill_window[i] = Window_ResultSkill.new(i)
   end
 end
 #--------------------------------------------------------------------------
 # ? Update Phase 5
 #--------------------------------------------------------------------------
 def update_phase5
   case @phase5_step
   when 1  # EXP & Gold Phase
     update_phase5_step1
   when 2  # Skill Phase
     update_phase5_step2
   when 3  # Delete Window Phase
     update_phase5_step3
   end
 end
 #--------------------------------------------------------------------------
 # ? Update Phase 5 Step 1
 #--------------------------------------------------------------------------
 def update_phase5_step1
   # Wait Count Before Window Appear
   if @wait_window_appear > 0
     @wait_window_appear -= 1
     if @wait_window_appear == 0
       @resultreceive_window.visible = true
       @resultgold_window.visible = true
       @resultparty_window.visible = true
       $game_temp.battle_main_phase = false
     end
     return
   end
   # Wait Count Before Running Number
   if @wait_running_number > 0
     @wait_running_number -= 1
     return
   end
   # Change Item Page
   if Input.trigger?(Input::RIGHT)
     if @resultreceive_window.max_page != 1
       $game_system.se_play($data_system.cursor_se)
       @resultreceive_window.page = @resultreceive_window.page == 1 ? 2 : 1
       @resultreceive_window.refresh
     end
   end
   # EXP & Gold Rolling
   if (@resultreceive_window.exp != 0 || @resultreceive_window.gold != 0)
     # Input C to Shortcut Calculation
     if Input.trigger?(Input::C)
       for i in 0...$game_party.actors.size
         actor = $game_party.actors[i]
         level_before = actor.level
         actor.exp += @resultreceive_window.exp
         if actor.level > level_before
           @resultlevel_window[i].visible = true
           Audio.se_play("Audio/SE/" + A3D::SE_LEVELUP[0], A3D::SE_LEVELUP[1], A3D::SE_LEVELUP[2])
         end
       end
       $game_party.gain_gold(@resultreceive_window.gold)
       @resultreceive_window.exp = 0
       @resultreceive_window.gold = 0
       @resultreceive_window.refresh
       @resultgold_window.refresh
       @resultparty_window.refresh
     end
     # EXP
     if @resultreceive_window.exp != 0
       step_exp = @resultreceive_window.exp >= A3D::STEP_EXP.abs ? A3D::STEP_EXP.abs : @resultreceive_window.exp
       for i in 0...$game_party.actors.size
         actor = $game_party.actors[i]
         if actor.next_rest_exp <= step_exp && actor.next_rest_exp != 0
           @resultlevel_window[i].visible = true
           Audio.se_play("Audio/SE/" + A3D::SE_LEVELUP[0], A3D::SE_LEVELUP[1], A3D::SE_LEVELUP[2])
         end
         actor.exp += step_exp
       end
       @resultreceive_window.exp -= step_exp
       @resultreceive_window.refresh
       @resultparty_window.refresh
     end
     # Gold
     if @resultreceive_window.gold != 0
       step_gold = @resultreceive_window.gold >= A3D::STEP_GOLD.abs ? A3D::STEP_GOLD.abs : @resultreceive_window.gold
       $game_party.gain_gold(step_gold)
       @resultreceive_window.gold -= step_gold
       @resultreceive_window.refresh
       @resultgold_window.refresh
     end
     return
   end
   # Input C to Bypass Step
   if Input.trigger?(Input::C)
     @phase5_step = 2
     return
   end
 end
 #--------------------------------------------------------------------------
 # ? Update Phase 5 Step 2
 #--------------------------------------------------------------------------
 def update_phase5_step2
   # Change Item Page
   if Input.trigger?(Input::RIGHT)
     if @resultreceive_window.max_page != 1
       $game_system.se_play($data_system.cursor_se)
       @resultreceive_window.page = @resultreceive_window.page == 1 ? 2 : 1
       @resultreceive_window.refresh
     end
   end
   # Initialize Skill Phase
   if @initialized_skill_phase == nil
     for i in 0...$game_party.actors.size
       actor = $game_party.actors[i]
       for skill in $data_classes[actor.class_id].learnings
         if skill.level > @actor_level_before[i] && skill.level <= actor.level
           Audio.se_play("Audio/SE/" + A3D::SE_NEWSKILL[0], A3D::SE_NEWSKILL[1], A3D::SE_NEWSKILL[2])
           @resultskill_window[i].skill_id = skill.skill_id
           @resultskill_window[i].visible = true
           @resultskill_window[i].refresh
           @skill_phase_active = true
         end
       end
     end
     @initialized_skill_phase = true
   end
   # If Skill Phase Active, Show Window
   if @skill_phase_active != nil
     if @resultskill_window[0].x != 456
       for i in 0...$game_party.actors.size
         @resultskill_window[i].x -= 23
       end
       return
     end
   else
     @phase5_step = 3
     return
   end
   # Input C to Bypass Step
   if Input.trigger?(Input::C)
     @phase5_step = 3
     return
   end
 end
 #--------------------------------------------------------------------------
 # ? Update Phase 5 Step 3
 #--------------------------------------------------------------------------
 def update_phase5_step3
   # Delete All Result-Window
   @resultreceive_window.dispose
   @resultgold_window.dispose
   @resultparty_window.dispose
   for i in 0...$game_party.actors.size
     @resultlevel_window[i].dispose
     @resultskill_window[i].dispose
   end
   battle_end(0)
 end

end

#==============================================================================
# ? Game_Actor
#==============================================================================

class Game_Actor

 def next_rest_exp
   return @exp_list[@level+1] > 0 ? (@exp_list[@level+1] - @exp) : 0
 end

end

#==============================================================================
# ? Window_ResultReceive
#==============================================================================

class Window_ResultReceive < Window_Base
 #--------------------------------------------------------------------------
 # ? Attr
 #--------------------------------------------------------------------------
 attr_accessor         :exp
 attr_accessor         :gold
 attr_accessor         :page
 attr_reader            :max_page
 #--------------------------------------------------------------------------
 # ? Initialize
 #--------------------------------------------------------------------------
 def initialize(exp, gold, treasures)
   super(40, 28, 224, 212)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = A3D::FONT_NAME
   self.contents.font.size = A3D::FONT_SIZE
   self.back_opacity = 160
   self.visible = false
   @exp = exp
   @gold = gold
   @treasures = treasures
   @page = 1
   @max_page = treasures.size > 4 ? 2 : 1
   refresh
 end
 #--------------------------------------------------------------------------
 # ? Refresh
 #--------------------------------------------------------------------------
 def refresh
   self.contents.clear
   self.contents.font.color = system_color
   self.contents.draw_text(0, -8, self.width - 32, 32, "Exp")
   self.contents.draw_text(0, 16, self.width - 32, 32, $data_system.words.gold)
   self.contents.draw_text(0, 40, self.width - 32, 32, $data_system.words.item + " [" + @page.to_s + "/" + @max_page.to_s + "]" )
   self.contents.font.color = normal_color
   self.contents.draw_text(0, -8, self.width - 32, 32, @exp.to_s, 2)
   self.contents.draw_text(0, 16, self.width - 32, 32, @gold.to_s, 2)
   if @treasures.size == 0
     self.contents.draw_text(0, 68, self.width - 32, 32, "< Nothing. >")
   elsif @treasures.size > 4
     bitmap = RPG::Cache.windowskin($game_system.windowskin_name)
     self.contents.blt(184, 116, bitmap, Rect.new(168, 24, 16, 16), 255)
   end
   y = 68
   item_start_index = @page == 1 ? 0 : 4
   for i in item_start_index...@treasures.size
     item = @treasures[i]
     draw_item_name(item, 0, y)
     y += 28
   end
 end

end

#==============================================================================
# ? Window_ResultGold
#==============================================================================

class Window_ResultGold < Window_Base
 #--------------------------------------------------------------------------
 # ? Initialize
 #--------------------------------------------------------------------------
 def initialize
   super(40, 240, 224, 52)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = A3D::FONT_NAME
   self.contents.font.size = A3D::FONT_SIZE
   self.back_opacity = 160
   self.visible = false
   refresh
 end
 #--------------------------------------------------------------------------
 # ? Refresh
 #--------------------------------------------------------------------------
 def refresh
   self.contents.clear
   self.contents.font.color = system_color
   self.contents.draw_text(0, -8, self.width - 32, 32, "Total " + $data_system.words.gold)
   self.contents.font.color = normal_color
   self.contents.draw_text(0, -8, self.width - 32, 32, $game_party.gold.to_s, 2)
 end

end

#==============================================================================
# ? Window_ResultParty
#==============================================================================

class Window_ResultParty < Window_Base
 #--------------------------------------------------------------------------
 # ? Initialize
 #--------------------------------------------------------------------------
 def initialize
   super(264, 28, 336, 264)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = A3D::FONT_NAME
   self.contents.font.size = A3D::FONT_SIZE
   self.back_opacity = 160
   self.visible = false
   refresh
 end
 #--------------------------------------------------------------------------
 # ? Refresh
 #--------------------------------------------------------------------------
 def refresh
   self.contents.clear
   for i in 0...5$game_party.actors.size
     actor = $game_party.actors[i]
     y = 60 * i + 22
     draw_actor_graphic(actor, 24, y + 28 )
     draw_actor_name(actor, 64, y - 28)
     self.contents.font.color = system_color
     self.contents.draw_text(116, y, (self.width - 32), 32, "Lv.")
     self.contents.draw_text(188, y, (self.width - 32), 32, "Next")
     self.contents.font.color = normal_color
     self.contents.draw_text(-140, y, (self.width - 32), 32, actor.level.to_s ,2)
     self.contents.draw_text(0     , y, (self.width - 32), 32, actor.next_rest_exp_s ,2)
   end
 end

end

#==============================================================================
# ? Window_ResultLevel
#==============================================================================

class Window_ResultLevel < Window_Base
 #--------------------------------------------------------------------------
 # ? Initialize
 #--------------------------------------------------------------------------
 def initialize(id)
   super(332, 60 * id + 40, 124, 60)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = A3D::FONT_NAME
   self.contents.font.size = A3D::FONT_SIZE
   self.back_opacity = 160
   self.visible = false
   self.z = 200
   refresh
 end
 #--------------------------------------------------------------------------
 # ? Refresh
 #--------------------------------------------------------------------------
 def refresh
   self.contents.clear
   self.contents.draw_text(0, -2, self.width - 32, 32, "Level-Up !", 1)
 end

end

#==============================================================================
# ? Window_ResultSkill
#==============================================================================

class Window_ResultSkill < Window_Base
 #--------------------------------------------------------------------------
 # ? Attr
 #--------------------------------------------------------------------------
 attr_accessor         :skill_id
 #--------------------------------------------------------------------------
 # ? Initialize
 #--------------------------------------------------------------------------
 def initialize(id)
   super(640, 60 * id + 40, 200, 60)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = A3D::FONT_NAME
   self.contents.font.size = A3D::FONT_SIZE
   self.back_opacity = 160
   self.visible = false
   self.z = 200
   @skill_id = nil
 end
 #--------------------------------------------------------------------------
 # ? Refresh
 #--------------------------------------------------------------------------
 def refresh
   self.contents.clear
   if @skill_id == nil
     return
   end
   skill = $data_skills[@skill_id]
   bitmap = RPG::Cache.icon(skill.icon_name)
   self.contents.blt(0, 2, bitmap, Rect.new(0, 0, 24, 24), 255)
   self.contents.font.color = normal_color
   self.contents.draw_text(32, -2, self.width - 64, 32, skill.name)
 end

end

and i want to use it in my game, but it only returns the result of the first 4 heroes in battle and I use 5 heroes in battle... can someone adapt this script for me?

WhiteRose

Though I'm not much of a scripter, I think that it would help the scripters here if you give a bit more detail regarding how you have five people in your battle system. Are you using a custom combat system, or is it an edit of the default one? I imagine this shouldn't be too hard, though of course I say that with all of these little scripting things that come up. Maybe one day, I'll learn to script and look back at how naive I was :P

KK20

Generally most scripts that handle 5+ party members just push them into $game_party.actors.
If that's the case, then you should see the fifth member:
Spoiler: ShowHide

#=================================================================
# ? Battle Result by A3D Ver. 1.02
# Useful                       : show battle result in a different way
# Effect to default script : this code will replace methode "start_phase5" & "update_phase5"  in Scene_Battle
# How to install             : in script editor, insert all the code above main
# Note                          : this script is for non-commercial use only, give credit if use
# Contact                      : A3D (hyper_s@hotmail.com)
#=================================================================

module A3D
  WAIT_WINDOW_APPEAR = 60
  WAIT_RUNNING_NUMBER = 20
  STEP_EXP = 1
  STEP_GOLD = 1
  SE_LEVELUP = ["007-System07", 100, 100]
  SE_NEWSKILL = ["007-System07", 100, 100]
  FONT_NAME = "Tahoma"
  FONT_SIZE = 22
end

#==============================================================================
# ? Scene_Battle
#==============================================================================

class Scene_Battle

  #--------------------------------------------------------------------------
  # ? After battle phase start
  #--------------------------------------------------------------------------
  def start_phase5
    # It moves to phase 5
    @phase = 5
    # Performing battle end ME
    $game_system.me_play($game_system.battle_end_me)
    # You reset to BGM before the battle starting
    $game_system.bgm_play($game_temp.map_bgm)
    # Initializing EXP, the gold and the treasure
    exp = 0
    gold = 0
    treasures = []
    # Loop
    for enemy in $game_troop.enemies
      # When the enemy hides and it is not state
      unless enemy.hidden
        # Adding acquisition EXP and the gold
        exp += enemy.exp
        gold += enemy.gold
        # Treasure appearance decision
        if rand(100) < enemy.treasure_prob
          if enemy.item_id > 0
            treasures.push($data_items[enemy.item_id])
          end
          if enemy.weapon_id > 0
            treasures.push($data_weapons[enemy.weapon_id])
          end
          if enemy.armor_id > 0
            treasures.push($data_armors[enemy.armor_id])
          end
        end
      end
    end
    # Treasure acquisition
    for item in treasures
      case item
      when RPG::Item
        $game_party.gain_item(item.id, 1)
      when RPG::Weapon
        $game_party.gain_weapon(item.id, 1)
      when RPG::Armor
        $game_party.gain_armor(item.id, 1)
      end
    end
    # Create Variable & Window
    @phase5_step = 1
    @wait_window_appear = A3D::WAIT_WINDOW_APPEAR
    @wait_running_number = A3D::WAIT_RUNNING_NUMBER
    @resultreceive_window = Window_ResultReceive.new(exp, gold, treasures)
    @resultgold_window = Window_ResultGold.new
    @resultparty_window = Window_ResultParty.new
    @actor_level_before = []
    @resultlevel_window = []
    @resultskill_window = []
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      @actor_level_before[i] = actor.level
      @resultlevel_window[i] = Window_ResultLevel.new(i)
      @resultskill_window[i] = Window_ResultSkill.new(i)
    end
  end
  #--------------------------------------------------------------------------
  # ? Update Phase 5
  #--------------------------------------------------------------------------
  def update_phase5
    case @phase5_step
    when 1  # EXP & Gold Phase
      update_phase5_step1
    when 2  # Skill Phase
      update_phase5_step2
    when 3  # Delete Window Phase
      update_phase5_step3
    end
  end
  #--------------------------------------------------------------------------
  # ? Update Phase 5 Step 1
  #--------------------------------------------------------------------------
  def update_phase5_step1
    # Wait Count Before Window Appear
    if @wait_window_appear > 0
      @wait_window_appear -= 1
      if @wait_window_appear == 0
        @resultreceive_window.visible = true
        @resultgold_window.visible = true
        @resultparty_window.visible = true
        $game_temp.battle_main_phase = false
      end
      return
    end
    # Wait Count Before Running Number
    if @wait_running_number > 0
      @wait_running_number -= 1
      return
    end
    # Change Item Page
    if Input.trigger?(Input::RIGHT)
      if @resultreceive_window.max_page != 1
        $game_system.se_play($data_system.cursor_se)
        @resultreceive_window.page = @resultreceive_window.page == 1 ? 2 : 1
        @resultreceive_window.refresh
      end
    end
    # EXP & Gold Rolling
    if (@resultreceive_window.exp != 0 || @resultreceive_window.gold != 0)
      # Input C to Shortcut Calculation
      if Input.trigger?(Input::C)
        for i in 0...$game_party.actors.size
          actor = $game_party.actors[i]
          level_before = actor.level
          actor.exp += @resultreceive_window.exp
          if actor.level > level_before
            @resultlevel_window[i].visible = true
            Audio.se_play("Audio/SE/" + A3D::SE_LEVELUP[0], A3D::SE_LEVELUP[1], A3D::SE_LEVELUP[2])
          end
        end
        $game_party.gain_gold(@resultreceive_window.gold)
        @resultreceive_window.exp = 0
        @resultreceive_window.gold = 0
        @resultreceive_window.refresh
        @resultgold_window.refresh
        @resultparty_window.refresh
      end
      # EXP
      if @resultreceive_window.exp != 0
        step_exp = @resultreceive_window.exp >= A3D::STEP_EXP.abs ? A3D::STEP_EXP.abs : @resultreceive_window.exp
        for i in 0...$game_party.actors.size
          actor = $game_party.actors[i]
          if actor.next_rest_exp <= step_exp && actor.next_rest_exp != 0
            @resultlevel_window[i].visible = true
            Audio.se_play("Audio/SE/" + A3D::SE_LEVELUP[0], A3D::SE_LEVELUP[1], A3D::SE_LEVELUP[2])
          end
          actor.exp += step_exp
        end
        @resultreceive_window.exp -= step_exp
        @resultreceive_window.refresh
        @resultparty_window.refresh
      end
      # Gold
      if @resultreceive_window.gold != 0
        step_gold = @resultreceive_window.gold >= A3D::STEP_GOLD.abs ? A3D::STEP_GOLD.abs : @resultreceive_window.gold
        $game_party.gain_gold(step_gold)
        @resultreceive_window.gold -= step_gold
        @resultreceive_window.refresh
        @resultgold_window.refresh
      end
      return
    end
    # Input C to Bypass Step
    if Input.trigger?(Input::C)
      @phase5_step = 2
      return
    end
  end
  #--------------------------------------------------------------------------
  # ? Update Phase 5 Step 2
  #--------------------------------------------------------------------------
  def update_phase5_step2
    # Change Item Page
    if Input.trigger?(Input::RIGHT)
      if @resultreceive_window.max_page != 1
        $game_system.se_play($data_system.cursor_se)
        @resultreceive_window.page = @resultreceive_window.page == 1 ? 2 : 1
        @resultreceive_window.refresh
      end
    end
    # Initialize Skill Phase
    if @initialized_skill_phase == nil
      for i in 0...$game_party.actors.size
        actor = $game_party.actors[i]
        for skill in $data_classes[actor.class_id].learnings
          if skill.level > @actor_level_before[i] && skill.level <= actor.level
            Audio.se_play("Audio/SE/" + A3D::SE_NEWSKILL[0], A3D::SE_NEWSKILL[1], A3D::SE_NEWSKILL[2])
            @resultskill_window[i].skill_id = skill.skill_id
            @resultskill_window[i].visible = true
            @resultskill_window[i].refresh
            @skill_phase_active = true
          end
        end
      end
      @initialized_skill_phase = true
    end
    # If Skill Phase Active, Show Window
    if @skill_phase_active != nil
      if @resultskill_window[0].x != 456
        for i in 0...$game_party.actors.size
          @resultskill_window[i].x -= 23
        end
        return
      end
    else
      @phase5_step = 3
      return
    end
    # Input C to Bypass Step
    if Input.trigger?(Input::C)
      @phase5_step = 3
      return
    end
  end
  #--------------------------------------------------------------------------
  # ? Update Phase 5 Step 3
  #--------------------------------------------------------------------------
  def update_phase5_step3
    # Delete All Result-Window
    @resultreceive_window.dispose
    @resultgold_window.dispose
    @resultparty_window.dispose
    for i in 0...$game_party.actors.size
      @resultlevel_window[i].dispose
      @resultskill_window[i].dispose
    end
    battle_end(0)
  end

end

#==============================================================================
# ? Game_Actor
#==============================================================================

class Game_Actor

  def next_rest_exp
    return @exp_list[@level+1] > 0 ? (@exp_list[@level+1] - @exp) : 0
  end

end

#==============================================================================
# ? Window_ResultReceive
#==============================================================================

class Window_ResultReceive < Window_Base
  #--------------------------------------------------------------------------
  # ? Attr
  #--------------------------------------------------------------------------
  attr_accessor         :exp
  attr_accessor         :gold
  attr_accessor         :page
  attr_reader            :max_page
  #--------------------------------------------------------------------------
  # ? Initialize
  #--------------------------------------------------------------------------
  def initialize(exp, gold, treasures)
    super(40, 28-20, 224, 212)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = A3D::FONT_NAME
    self.contents.font.size = A3D::FONT_SIZE
    self.back_opacity = 160
    self.visible = false
    @exp = exp
    @gold = gold
    @treasures = treasures
    @page = 1
    @max_page = treasures.size > 4 ? 2 : 1
    refresh
  end
  #--------------------------------------------------------------------------
  # ? Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(0, -8, self.width - 32, 32, "Exp")
    self.contents.draw_text(0, 16, self.width - 32, 32, $data_system.words.gold)
    self.contents.draw_text(0, 40, self.width - 32, 32, $data_system.words.item + " [" + @page.to_s + "/" + @max_page.to_s + "]" )
    self.contents.font.color = normal_color
    self.contents.draw_text(0, -8, self.width - 32, 32, @exp.to_s, 2)
    self.contents.draw_text(0, 16, self.width - 32, 32, @gold.to_s, 2)
    if @treasures.size == 0
      self.contents.draw_text(0, 68, self.width - 32, 32, "< Nothing. >")
    elsif @treasures.size > 4
      bitmap = RPG::Cache.windowskin($game_system.windowskin_name)
      self.contents.blt(184, 116, bitmap, Rect.new(168, 24, 16, 16), 255)
    end
    y = 68
    item_start_index = @page == 1 ? 0 : 4
    for i in item_start_index...@treasures.size
      item = @treasures[i]
      draw_item_name(item, 0, y)
      y += 28
    end
  end

end

#==============================================================================
# ? Window_ResultGold
#==============================================================================

class Window_ResultGold < Window_Base
  #--------------------------------------------------------------------------
  # ? Initialize
  #--------------------------------------------------------------------------
  def initialize
    super(40, 240-20, 224, 52)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = A3D::FONT_NAME
    self.contents.font.size = A3D::FONT_SIZE
    self.back_opacity = 160
    self.visible = false
    refresh
  end
  #--------------------------------------------------------------------------
  # ? Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(0, -8, self.width - 32, 32, "Total " + $data_system.words.gold)
    self.contents.font.color = normal_color
    self.contents.draw_text(0, -8, self.width - 32, 32, $game_party.gold.to_s, 2)
  end

end

#==============================================================================
# ? Window_ResultParty
#==============================================================================

class Window_ResultParty < Window_Base
  #--------------------------------------------------------------------------
  # ? Initialize
  #--------------------------------------------------------------------------
  def initialize
    super(264, 28-20, 336, 264+66)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = A3D::FONT_NAME
    self.contents.font.size = A3D::FONT_SIZE
    self.back_opacity = 160
    self.visible = false
    refresh
  end
  #--------------------------------------------------------------------------
  # ? Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      y = 60 * i + 22
      draw_actor_graphic(actor, 24, y + 28 )
      draw_actor_name(actor, 64, y - 28)
      self.contents.font.color = system_color
      self.contents.draw_text(116, y, (self.width - 32), 32, "Lv.")
      self.contents.draw_text(188, y, (self.width - 32), 32, "Next")
      self.contents.font.color = normal_color
      self.contents.draw_text(-140, y, (self.width - 32), 32, actor.level.to_s ,2)
      self.contents.draw_text(0     , y, (self.width - 32), 32, actor.next_rest_exp_s ,2)
    end
  end

end

#==============================================================================
# ? Window_ResultLevel
#==============================================================================

class Window_ResultLevel < Window_Base
  #--------------------------------------------------------------------------
  # ? Initialize
  #--------------------------------------------------------------------------
  def initialize(id)
    super(332, 60 * id + 40, 124, 60)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = A3D::FONT_NAME
    self.contents.font.size = A3D::FONT_SIZE
    self.back_opacity = 160
    self.visible = false
    self.z = 200
    refresh
  end
  #--------------------------------------------------------------------------
  # ? Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.draw_text(0, -2, self.width - 32, 32, "Level-Up !", 1)
  end

end

#==============================================================================
# ? Window_ResultSkill
#==============================================================================

class Window_ResultSkill < Window_Base
  #--------------------------------------------------------------------------
  # ? Attr
  #--------------------------------------------------------------------------
  attr_accessor         :skill_id
  #--------------------------------------------------------------------------
  # ? Initialize
  #--------------------------------------------------------------------------
  def initialize(id)
    super(640, 60 * id + 40, 200, 60)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = A3D::FONT_NAME
    self.contents.font.size = A3D::FONT_SIZE
    self.back_opacity = 160
    self.visible = false
    self.z = 200
    @skill_id = nil
  end
  #--------------------------------------------------------------------------
  # ? Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    if @skill_id == nil
      return
    end
    skill = $data_skills[@skill_id]
    bitmap = RPG::Cache.icon(skill.icon_name)
    self.contents.blt(0, 2, bitmap, Rect.new(0, 0, 24, 24), 255)
    self.contents.font.color = normal_color
    self.contents.draw_text(32, -2, self.width - 64, 32, skill.name)
  end

end

It was mainly a matter of moving the windows up and increasing the right window's height. Problem is that it clips over the default battle system's party window at the bottom of the screen. If you need anymore minor changes, feel free to ask them.

Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

PrinceEndymion88

August 15, 2013, 12:03:13 pm #3 Last Edit: August 15, 2013, 03:26:41 pm by KK20
thanks :D it's perfect!!! I want to tell you if you can do the same with Mog Scene Item, Mog Scene Skill and Mog Scene Shop!
Mog Scene Item:
Spoiler: ShowHide
http://www.atelier-rgss.com/RGSS/Menu/XP_Menu02.html
#_______________________________________________________________________________
# MOG_Scene_Item V1.5            
#_______________________________________________________________________________
# By Moghunter  
# http://www.atelier-rgss.com
#_______________________________________________________________________________
module MOG
 #Transition Time.
 MNIT = 10
 #Transition Type(Name).
 MNITT = "004-Blind04"  
end

#===============================================================================
# Window_Base
#===============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# Nada
#--------------------------------------------------------------------------
def nada
 face = RPG::Cache.picture("")
end  
#--------------------------------------------------------------------------
# Drw Face
#--------------------------------------------------------------------------
def drw_face(actor,x,y)
 face = RPG::Cache.picture(actor.name + "_fc") rescue nada
 cw = face.width
 ch = face.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x , y - ch, face, src_rect)    
end  
#--------------------------------------------------------------------------
# Draw_Maphp3
#--------------------------------------------------------------------------
def draw_maphp3(actor, x, y)
 back = RPG::Cache.picture("BAR0")    
 cw = back.width  
 ch = back.height
 src_rect = Rect.new(0, 0, cw, ch)    
 self.contents.blt(x + 65, y - ch + 30, back, src_rect)
 meter = RPG::Cache.picture("HP_Bar")    
 cw = meter.width  * actor.hp / actor.maxhp
 ch = meter.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
 text = RPG::Cache.picture("HP_Tx")    
 cw = text.width  
 ch = text.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x + 35, y - ch + 30, text, src_rect)
 self.contents.font.color = Color.new(0,0,0,255)
 self.contents.draw_text(x + 81, y - 1, 48, 32, actor.hp.to_s, 2)
 self.contents.font.color = Color.new(255,255,255,255)
 self.contents.draw_text(x + 80, y - 2, 48, 32, actor.hp.to_s, 2)    
end  
#--------------------------------------------------------------------------
# Draw_Mapsp3
#--------------------------------------------------------------------------
def draw_mapsp3(actor, x, y)
 back = RPG::Cache.picture("BAR0")    
 cw = back.width  
 ch = back.height
 src_rect = Rect.new(0, 0, cw, ch)    
 self.contents.blt(x + 65, y - ch + 30, back, src_rect)
 meter = RPG::Cache.picture("SP_Bar")    
 cw = meter.width  * actor.sp / actor.maxsp
 ch = meter.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
 text = RPG::Cache.picture("SP_Tx")    
 cw = text.width  
 ch = text.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x + 35, y - ch + 30, text, src_rect)
 self.contents.font.color = Color.new(0,0,0,255)
 self.contents.draw_text(x + 81, y - 1, 48, 32, actor.sp.to_s, 2)
 self.contents.font.color = Color.new(255,255,255,255)
 self.contents.draw_text(x + 80, y - 2, 48, 32, actor.sp.to_s, 2)    
end  
#--------------------------------------------------------------------------
# Draw_Mexp_it
#--------------------------------------------------------------------------
def draw_mexp_it(actor, x, y)
 lv_tx = RPG::Cache.picture("LV_tx")
 cw = lv_tx.width
 ch = lv_tx.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x + 60 , y - ch + 32, lv_tx, src_rect)
 self.contents.font.color = Color.new(0,0,0,255)
 self.contents.draw_text(x + 101, y + 5, 24, 32, actor.level.to_s, 1)
 self.contents.font.color = Color.new(255,255,255,255)
 self.contents.draw_text(x + 100, y + 4, 24, 32, actor.level.to_s, 1)
end
#--------------------------------------------------------------------------
# Draw_Actor_State_it
#--------------------------------------------------------------------------
def draw_actor_state_it(actor, x, y, width = 80)
 text = make_battler_state_text(actor, width, true)
 self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
 self.contents.draw_text(x, y, width, 32, text,1)
end
end

#===============================================================================
# Window_Target_Item
#===============================================================================
class Window_Target_Item < Window_Selectable
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------  
 def initialize
   super(0, 130, 280, 300)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Georgia"
   self.z += 10
   @item_max = $game_party.actors.size
   refresh
 end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------  
 def refresh
   self.contents.clear
   for i in 0...$game_party.actors.size
     x = 4
     y = i * 65
     actor = $game_party.actors[i]
     drw_face(actor,x,y + 55)
     if $mog_rgss_TP_System != nil
       draw_actor_tp(actor, x + 168, y + 27 ,4)
     else  
       draw_mexp_it(actor, x + 110, y + 25 )
     end
     draw_actor_state_it(actor, x + 165, y )
     draw_maphp3(actor, x + 20, y + 0)
     draw_mapsp3(actor, x + 20, y + 32)
   end
 end
#--------------------------------------------------------------------------
# Update_Currsor_Rect
#--------------------------------------------------------------------------  
 def update_cursor_rect
   if @index <= -2
     self.cursor_rect.set(0, (@index + 10) * 65, self.width - 32, 60)
   elsif @index == -1
     self.cursor_rect.set(0, 0, self.width - 32, @item_max * 64 )
   else
     self.cursor_rect.set(0, @index * 65, self.width - 32, 60)
   end
 end
end

#===============================================================================
# Type_Sel
#===============================================================================
class Type_Sel < Window_Base
 attr_reader   :index                    
 attr_reader   :help_window      
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------  
 def initialize(x, y, width, height)
   super(x, y, width, height)
   @item_max = 1
   @column_max = 1
   @index = -1
 end
#--------------------------------------------------------------------------
# Index
#--------------------------------------------------------------------------    
 def index=(index)
   @index = index
 end
#--------------------------------------------------------------------------
# Row_Max
#--------------------------------------------------------------------------  
 def row_max
   return (@item_max + @column_max - 1) / @column_max
 end
#--------------------------------------------------------------------------
# Top Row
#--------------------------------------------------------------------------  
 def top_row
   return self.oy / 32
 end
#--------------------------------------------------------------------------
# Top_row=(row)
#--------------------------------------------------------------------------  
 def top_row=(row)
   if row < 0
     row = 0
   end
   if row > row_max - 1
     row = row_max - 1
   end
   self.oy = row * 32
 end
#--------------------------------------------------------------------------
# Page_Row
#--------------------------------------------------------------------------  
 def page_row_max
   return (self.height - 32) / 32
 end
#--------------------------------------------------------------------------
# Page_Item_Max
#--------------------------------------------------------------------------  
 def page_item_max
   return page_row_max * @column_max
 end
#--------------------------------------------------------------------------
# Update
#--------------------------------------------------------------------------  
 def update
   super
   if self.active and @item_max > 0 and @index >= 0
     if Input.repeat?(Input::RIGHT)
       if (@column_max == 1 and Input.trigger?(Input::RIGHT)) or
          @index < @item_max - @column_max
         $game_system.se_play($data_system.cursor_se)
         @index = (@index + @column_max) % @item_max
       end
     end
     if Input.repeat?(Input::LEFT)
       if (@column_max == 1 and Input.trigger?(Input::LEFT)) or
          @index >= @column_max
         $game_system.se_play($data_system.cursor_se)
         @index = (@index - @column_max + @item_max) % @item_max
       end
     end
   end
 end
end
#===============================================================================
# Type_Sel
#===============================================================================
class Window_Type < Type_Sel
 def initialize
   super(0, 0, 0, 0)
   @item_max = 3
   self.index = 0
 end
end
#===============================================================================
# Window_Item_Ex
#===============================================================================
class Window_Item_Ex < Window_Selectable
#--------------------------------------------------------------------------
# Initialzie
#--------------------------------------------------------------------------    
 def initialize
   super(250, 50, 295, 350)
   @column_max = 1
   refresh
   self.index = 0
   if $game_temp.in_battle
     self.y = 64
     self.height = 256
     self.back_opacity = 160
   end
 end
#--------------------------------------------------------------------------
# Item
#--------------------------------------------------------------------------    
 def item
   return @data[self.index]
 end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------      
 def refresh
   if self.contents != nil
     self.contents.dispose
     self.contents = nil
   end
   @data = []
   for i in 1...$data_items.size
     if $game_party.item_number(i) > 0
       @data.push($data_items[i])
     end
   end
   @item_max = @data.size
   if @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
#--------------------------------------------------------------------------      
 def draw_item(index)
   item = @data[index]
   case item
   when RPG::Item
     number = $game_party.item_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 % 1 * (288 + 32)
   y = index / 1 * 32
   rect = Rect.new(x, y, self.width / @column_max - 32, 32)
   self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
   self.contents.font.name = "Georgia"    
   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, 190, 32, item.name, 0)
   self.contents.draw_text(x + 215, y, 16, 32, ":", 1)
   self.contents.draw_text(x + 230, y, 24, 32, number.to_s, 2)
 end
#--------------------------------------------------------------------------
# Update Help
#--------------------------------------------------------------------------      
 def update_help
   @help_window.set_text(self.item == nil ? "" : self.item.description)
 end
end

#===============================================================================
# Window_Weapon
#===============================================================================
class Window_Weapon < Window_Selectable
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------        
 def initialize
   super(250, 50, 295, 350)
   @column_max = 1
   refresh
   self.index = 0
    if $game_temp.in_battle
     self.y = 64
     self.height = 256
     self.back_opacity = 160
   end
 end
#--------------------------------------------------------------------------
# Item
#--------------------------------------------------------------------------        
 def item
   return @data[self.index]
 end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------        
 def refresh
   if self.contents != nil
     self.contents.dispose
     self.contents = nil
   end
   @data = []
     for i in 1...$data_weapons.size
       if $game_party.weapon_number(i) > 0
         @data.push($data_weapons[i])
       end
     end
   @item_max = @data.size
   if @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
#--------------------------------------------------------------------------        
 def draw_item(index)
   item = @data[index]
   case item
   when RPG::Weapon
     number = $game_party.weapon_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 % 1 * (288 + 32)
   y = index / 1 * 32
   rect = Rect.new(x, y, self.width / @column_max - 32, 32)
   self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
   self.contents.font.name = "Georgia"    
   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, 190, 32, item.name, 0)
   self.contents.draw_text(x + 215, y, 16, 32, ":", 1)
   self.contents.draw_text(x + 230, y, 24, 32, number.to_s, 2)
 end
#--------------------------------------------------------------------------
# Update Help
#--------------------------------------------------------------------------        
 def update_help
   @help_window.set_text(self.item == nil ? "" : self.item.description)
 end
end

#===============================================================================
# Window_Armor
#===============================================================================
class Window_Armor < Window_Selectable
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------        
 def initialize
   super(250, 50, 295, 350)
   @column_max = 1
   refresh
   self.index = 0
   if $game_temp.in_battle
     self.y = 64
     self.height = 256
     self.back_opacity = 160
   end
 end
#--------------------------------------------------------------------------
# Item
#--------------------------------------------------------------------------          
 def item
   return @data[self.index]
 end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------          
 def refresh
   if self.contents != nil
     self.contents.dispose
     self.contents = nil
   end
   @data = []
     for i in 1...$data_armors.size
       if $game_party.armor_number(i) > 0
         @data.push($data_armors[i])
       end
     end
   @item_max = @data.size
   if @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
#--------------------------------------------------------------------------          
 def draw_item(index)
   item = @data[index]
   case item
   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 % 1 * (288 + 32)
   y = index / 1 * 32
   rect = Rect.new(x, y, self.width / @column_max - 32, 32)
   self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
   self.contents.font.name = "Georgia"    
   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, 190, 32, item.name, 0)
   self.contents.draw_text(x + 215, y, 16, 32, ":", 1)
   self.contents.draw_text(x + 230, y, 24, 32, number.to_s, 2)
 end
#--------------------------------------------------------------------------
# Update Help
#--------------------------------------------------------------------------          
 def update_help
   @help_window.set_text(self.item == nil ? "" : self.item.description)
 end
end

#===============================================================================
# Scene_Item
#===============================================================================
class Scene_Item
#--------------------------------------------------------------------------
# Main
#--------------------------------------------------------------------------            
 def main
   @back = Plane.new
   @back.bitmap = RPG::Cache.picture("MN_BK")
   @back.z = 100
   @item_lay = Sprite.new
   @item_lay.bitmap = RPG::Cache.picture("Item_lay")
   @item_lay.z = 100
   @item_com = Sprite.new
   @item_com.bitmap = RPG::Cache.picture("Item_com01")
   @item_com.z = 100
   @type = Window_Type.new
   @type.opacity = 0
   @type.visible = false    
   @help_window = Window_Help.new
   @help_window.y = 405
   @item_window = Window_Item_Ex.new
   @item_window.help_window = @help_window
   @item_window.visible = true
   @item_window.active = true
   @weapon_window = Window_Weapon.new
   @weapon_window.help_window = @help_window
   @weapon_window.visible = false
   @weapon_window.active = true
   @armor_window = Window_Armor.new
   @armor_window.help_window = @help_window
   @armor_window.visible = false
   @armor_window.active = true    
   @target_window = Window_Target_Item.new
   @target_window.x = -300
   @target_window.active = false
   @help_window.opacity = 0
   @help_window.x = -200
   @help_window.contents_opacity = 0    
   @item_window.opacity = 0
   @weapon_window.opacity = 0
   @armor_window.opacity = 0
   @target_window.opacity = 0    
   @weapon_window.x = 640
   @armor_window.x = 640
   @item_window.x = 640  
   @weapon_window.contents_opacity = 0
   @armor_window.contents_opacity = 0
   @item_window.contents_opacity = 0      
   Graphics.transition(MOG::MNIT, "Graphics/Transitions/" + MOG::MNITT)
   loop do
     Graphics.update
     Input.update
     update
     if $scene != self
       break
     end
   end
   for i in 0..10
     @weapon_window.x += 25
     @armor_window.x += 25
     @item_window.x += 25  
     @weapon_window.contents_opacity -= 25
     @armor_window.contents_opacity -= 25
     @item_window.contents_opacity -= 25    
     @item_lay.zoom_x += 0.2
     @item_lay.opacity -= 25
     @item_com.zoom_y += 0.2
     @item_com.opacity -= 25
     @target_window.x -= 25
     @help_window.contents_opacity -= 25
     @back.ox += 2
     Graphics.update  
   end  
   Graphics.freeze
   @help_window.dispose
   @item_window.dispose
   @weapon_window.dispose
   @armor_window.dispose
   @target_window.dispose
   @item_lay.dispose
   @back.dispose
   @item_com.dispose
   @type.dispose
 end
#--------------------------------------------------------------------------
# Update
#--------------------------------------------------------------------------            
 def update
   if @target_window.active == true
      @target_window.visible = true
     if @target_window.x < 0
        @target_window.x += 30
     elsif @target_window.x >= 0
        @target_window.x = 0      
     end  
     else
     if @target_window.x > -300
        @target_window.x -= 30
     elsif @target_window.x >= -300
        @target_window.x = -300
        @target_window.visible = false
     end
   end    
   if @help_window.x < 0
     @help_window.x += 15
     @help_window.contents_opacity += 20    
   elsif @help_window.x >= 0
     @help_window.x = 0
     @help_window.contents_opacity = 255    
   end
   if @item_window.x > 250
     @weapon_window.x -= 30
     @armor_window.x -= 30
     @item_window.x -= 30  
     @weapon_window.contents_opacity += 20
     @armor_window.contents_opacity += 20
     @item_window.contents_opacity += 20    
   elsif  @item_window.x <= 250
     @weapon_window.x = 250
     @armor_window.x = 250
     @item_window.x = 250  
     @weapon_window.contents_opacity = 250
     @armor_window.contents_opacity = 250
     @item_window.contents_opacity = 250      
   end
   if @target_window.active == false
     if Input.trigger?(Input::RIGHT) or Input.trigger?(Input::LEFT) or
        Input.press?(Input::RIGHT) or  Input.press?(Input::LEFT)
       @weapon_window.x = 640
       @armor_window.x = 640
       @item_window.x = 640      
       @weapon_window.contents_opacity = 0
       @armor_window.contents_opacity = 0
       @item_window.contents_opacity = 0      
     end
     if Input.trigger?(Input.dir4) or Input.trigger?(Input.dir4) or
        Input.trigger?(Input::L) or Input.trigger?(Input::R)      
        @help_window.x = -200
        @help_window.contents_opacity = 0
     end  
   end
   @back.ox += 1
   @help_window.update
   @item_window.update
   @weapon_window.update
   @armor_window.update
   @target_window.update
   @type.update
   case @type.index
   when 0
   @item_com.bitmap = RPG::Cache.picture("Item_com01")
   if @target_window.active == true
     update_target
     @item_window.active = false  
     @type.active = false
     return
   else  
     @item_window.active = true
     @type.active = true
   end    
     @weapon_window.active = false
     @armor_window.active = false
     @item_window.visible = true
     @weapon_window.visible = false
     @armor_window.visible = false    
   when 1
     @item_com.bitmap = RPG::Cache.picture("Item_com02")
     @item_window.active = false
     @weapon_window.active = true
     @armor_window.active = false
     @item_window.visible = false
     @weapon_window.visible = true
     @armor_window.visible = false    
   when 2
     @item_com.bitmap = RPG::Cache.picture("Item_com03")  
     @item_window.active = false
     @weapon_window.active = false
     @armor_window.active = true
     @item_window.visible = false
     @weapon_window.visible = false
     @armor_window.visible = true
   end
   if @item_window.active
     update_item
     return
   end
   if @weapon_window.active
     update_weapon
     return
   end
   if @armor_window.active
     update_armor
     return
   end
 end
#--------------------------------------------------------------------------
# Update Weapon
#--------------------------------------------------------------------------          
 def update_weapon
   if Input.trigger?(Input::B)
     $game_system.se_play($data_system.cancel_se)
     $scene = Scene_Menu.new(0)
     return
   end
 end
#--------------------------------------------------------------------------
# Update Armor
#--------------------------------------------------------------------------            
 def update_armor
   if Input.trigger?(Input::B)
     $game_system.se_play($data_system.cancel_se)
     $scene = Scene_Menu.new(0)
     return
   end
 end
#--------------------------------------------------------------------------
# Update Item
#--------------------------------------------------------------------------            
 def update_item
   if Input.trigger?(Input::B)
     $game_system.se_play($data_system.cancel_se)
     $scene = Scene_Menu.new(0)
     return
   end
   if Input.trigger?(Input::C)
     @item = @item_window.item
     unless @item.is_a?(RPG::Item)
       $game_system.se_play($data_system.buzzer_se)
       return
     end
     unless $game_party.item_can_use?(@item.id)
       $game_system.se_play($data_system.buzzer_se)
       return
     end
     $game_system.se_play($data_system.decision_se)
     if @item.scope >= 3
       @item_window.active = false
       @target_window.x = (@item_window.index + 1) % 1 * 304
       @target_window.active = true
       @target_window.x = -350              
       if @item.scope == 4 || @item.scope == 6
         @target_window.index = -1
       else
         @target_window.index = 0
       end
     else
       if @item.common_event_id > 0
         $game_temp.common_event_id = @item.common_event_id
         $game_system.se_play(@item.menu_se)
         if @item.consumable
           $game_party.lose_item(@item.id, 1)
           @item_window.draw_item(@item_window.index)
         end
         $scene = Scene_Map.new
         return
       end
     end
     return
   end
 end
#--------------------------------------------------------------------------
# Update Target
#--------------------------------------------------------------------------            
 def update_target
   if Input.trigger?(Input::B)
     $game_system.se_play($data_system.cancel_se)
     unless $game_party.item_can_use?(@item.id)
       @item_window.refresh
     end
     @item_window.active = true
     @target_window.active = false
     return
   end
   if Input.trigger?(Input::C)
     if $game_party.item_number(@item.id) == 0
       $game_system.se_play($data_system.buzzer_se)
       return
     end
     if @target_window.index == -1
       used = false
       for i in $game_party.actors
         used |= i.item_effect(@item)
       end
     end
     if @target_window.index >= 0
       target = $game_party.actors[@target_window.index]
       used = target.item_effect(@item)
     end
     if used
       $game_system.se_play(@item.menu_se)
       if @item.consumable
         $game_party.lose_item(@item.id, 1)
         @item_window.draw_item(@item_window.index)
       end
       @target_window.refresh
       if $game_party.all_dead?
         $scene = Scene_Gameover.new
         return
       end
       if @item.common_event_id > 0
         $game_temp.common_event_id = @item.common_event_id
         $scene = Scene_Map.new
         return
       end
     end
     unless used
       $game_system.se_play($data_system.buzzer_se)
     end
     return
   end
 end
end

$mog_rgss_Scene_Item = true


Character limit reached. Could not fully display rest of code.

KK20

The problem with MOG's scripts is that they're meant to be left alone and hardly edited. They are built with the default party size of 4 in mind, and making any changes to display 5 party members will destroy the "beauty" of the script. Scene_Skill is perfectly fine though--I don't see why you asked that to be edited.

Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

WhiteRose

Quote from: KK20 on August 14, 2013, 10:45:37 pm
Generally most scripts that handle 5+ party members just push them into $game_party.actors.

It was mainly a matter of moving the windows up and increasing the right window's height. Problem is that it clips over the default battle system's party window at the bottom of the screen. If you need anymore minor changes, feel free to ask them.


Outdone yet again by your superior scripting knowledge. At least someone is here to keep me humble. :P Well done as always.

PrinceEndymion88

In Mog Scene Skill if I select an Heal Skill, I can see only 4 hero to heal! It's not important if the beauty of the script will destroyed 'cause, as you can see in my Equip Item, i want to change the layout! =)

WhiteRose

August 19, 2013, 12:14:55 pm #7 Last Edit: August 19, 2013, 12:54:43 pm by WhiteRose
This is probably something that I can do for you - it might not look the best, but it should at least work. :)

Here is the edited MOG Scene Item:
Spoiler: ShowHide

#_______________________________________________________________________________
# MOG_Scene_Item V1.5            
#_______________________________________________________________________________
# By Moghunter  
# http://www.atelier-rgss.com
#_______________________________________________________________________________
module MOG
 #Transition Time.
 MNIT = 10
 #Transition Type(Name).
 MNITT = "004-Blind04"  
end

#===============================================================================
# Window_Base
#===============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# Nada
#--------------------------------------------------------------------------
def nada
 face = RPG::Cache.picture("")
end  
#--------------------------------------------------------------------------
# Drw Face
#--------------------------------------------------------------------------
def drw_face(actor,x,y)
 face = RPG::Cache.picture(actor.name + "_fc") rescue nada
 cw = face.width
 ch = face.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x , y - ch, face, src_rect)    
end  
#--------------------------------------------------------------------------
# Draw_Maphp3
#--------------------------------------------------------------------------
def draw_maphp3(actor, x, y)
 back = RPG::Cache.picture("BAR0")    
 cw = back.width  
 ch = back.height
 src_rect = Rect.new(0, 0, cw, ch)    
 self.contents.blt(x + 65, y - ch + 30, back, src_rect)
 meter = RPG::Cache.picture("HP_Bar")    
 cw = meter.width  * actor.hp / actor.maxhp
 ch = meter.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
 text = RPG::Cache.picture("HP_Tx")    
 cw = text.width  
 ch = text.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x + 35, y - ch + 30, text, src_rect)
 self.contents.font.color = Color.new(0,0,0,255)
 self.contents.draw_text(x + 81, y - 1, 48, 32, actor.hp.to_s, 2)
 self.contents.font.color = Color.new(255,255,255,255)
 self.contents.draw_text(x + 80, y - 2, 48, 32, actor.hp.to_s, 2)    
end  
#--------------------------------------------------------------------------
# Draw_Mapsp3
#--------------------------------------------------------------------------
def draw_mapsp3(actor, x, y)
 back = RPG::Cache.picture("BAR0")    
 cw = back.width  
 ch = back.height
 src_rect = Rect.new(0, 0, cw, ch)    
 self.contents.blt(x + 65, y - ch + 30, back, src_rect)
 meter = RPG::Cache.picture("SP_Bar")    
 cw = meter.width  * actor.sp / actor.maxsp
 ch = meter.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
 text = RPG::Cache.picture("SP_Tx")    
 cw = text.width  
 ch = text.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x + 35, y - ch + 30, text, src_rect)
 self.contents.font.color = Color.new(0,0,0,255)
 self.contents.draw_text(x + 81, y - 1, 48, 32, actor.sp.to_s, 2)
 self.contents.font.color = Color.new(255,255,255,255)
 self.contents.draw_text(x + 80, y - 2, 48, 32, actor.sp.to_s, 2)    
end  
#--------------------------------------------------------------------------
# Draw_Mexp_it
#--------------------------------------------------------------------------
def draw_mexp_it(actor, x, y)
 lv_tx = RPG::Cache.picture("LV_tx")
 cw = lv_tx.width
 ch = lv_tx.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x + 60 , y - ch + 32, lv_tx, src_rect)
 self.contents.font.color = Color.new(0,0,0,255)
 self.contents.draw_text(x + 101, y + 5, 24, 32, actor.level.to_s, 1)
 self.contents.font.color = Color.new(255,255,255,255)
 self.contents.draw_text(x + 100, y + 4, 24, 32, actor.level.to_s, 1)
end
#--------------------------------------------------------------------------
# Draw_Actor_State_it
#--------------------------------------------------------------------------
def draw_actor_state_it(actor, x, y, width = 80)
 text = make_battler_state_text(actor, width, true)
 self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
 self.contents.draw_text(x, y, width, 32, text,1)
end
end

#===============================================================================
# Window_Target_Item
#===============================================================================
class Window_Target_Item < Window_Selectable
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------  
 def initialize
   super(0, 65, 280, 365)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Georgia"
   self.z += 10
   @item_max = $game_party.actors.size
   refresh
 end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------  
 def refresh
   self.contents.clear
   for i in 0...$game_party.actors.size
     x = 4
     y = i * 65
     actor = $game_party.actors[i]
     drw_face(actor,x,y + 55)
     if $mog_rgss_TP_System != nil
       draw_actor_tp(actor, x + 168, y + 27 ,4)
     else  
       draw_mexp_it(actor, x + 110, y + 25 )
     end
     draw_actor_state_it(actor, x + 165, y )
     draw_maphp3(actor, x + 20, y + 0)
     draw_mapsp3(actor, x + 20, y + 32)
   end
 end
#--------------------------------------------------------------------------
# Update_Currsor_Rect
#--------------------------------------------------------------------------  
 def update_cursor_rect
   if @index <= -2
     self.cursor_rect.set(0, (@index + 10) * 65, self.width - 32, 60)
   elsif @index == -1
     self.cursor_rect.set(0, 0, self.width - 32, @item_max * 64 )
   else
     self.cursor_rect.set(0, @index * 65, self.width - 32, 60)
   end
 end
end

#===============================================================================
# Type_Sel
#===============================================================================
class Type_Sel < Window_Base
 attr_reader   :index                    
 attr_reader   :help_window      
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------  
 def initialize(x, y, width, height)
   super(x, y, width, height)
   @item_max = 1
   @column_max = 1
   @index = -1
 end
#--------------------------------------------------------------------------
# Index
#--------------------------------------------------------------------------    
 def index=(index)
   @index = index
 end
#--------------------------------------------------------------------------
# Row_Max
#--------------------------------------------------------------------------  
 def row_max
   return (@item_max + @column_max - 1) / @column_max
 end
#--------------------------------------------------------------------------
# Top Row
#--------------------------------------------------------------------------  
 def top_row
   return self.oy / 32
 end
#--------------------------------------------------------------------------
# Top_row=(row)
#--------------------------------------------------------------------------  
 def top_row=(row)
   if row < 0
     row = 0
   end
   if row > row_max - 1
     row = row_max - 1
   end
   self.oy = row * 32
 end
#--------------------------------------------------------------------------
# Page_Row
#--------------------------------------------------------------------------  
 def page_row_max
   return (self.height - 32) / 32
 end
#--------------------------------------------------------------------------
# Page_Item_Max
#--------------------------------------------------------------------------  
 def page_item_max
   return page_row_max * @column_max
 end
#--------------------------------------------------------------------------
# Update
#--------------------------------------------------------------------------  
 def update
   super
   if self.active and @item_max > 0 and @index >= 0
     if Input.repeat?(Input::RIGHT)
       if (@column_max == 1 and Input.trigger?(Input::RIGHT)) or
          @index < @item_max - @column_max
         $game_system.se_play($data_system.cursor_se)
         @index = (@index + @column_max) % @item_max
       end
     end
     if Input.repeat?(Input::LEFT)
       if (@column_max == 1 and Input.trigger?(Input::LEFT)) or
          @index >= @column_max
         $game_system.se_play($data_system.cursor_se)
         @index = (@index - @column_max + @item_max) % @item_max
       end
     end
   end
 end
end
#===============================================================================
# Type_Sel
#===============================================================================
class Window_Type < Type_Sel
 def initialize
   super(0, 0, 0, 0)
   @item_max = 3
   self.index = 0
 end
end
#===============================================================================
# Window_Item_Ex
#===============================================================================
class Window_Item_Ex < Window_Selectable
#--------------------------------------------------------------------------
# Initialzie
#--------------------------------------------------------------------------    
 def initialize
   super(250, 50, 295, 350)
   @column_max = 1
   refresh
   self.index = 0
   if $game_temp.in_battle
     self.y = 64
     self.height = 256
     self.back_opacity = 160
   end
 end
#--------------------------------------------------------------------------
# Item
#--------------------------------------------------------------------------    
 def item
   return @data[self.index]
 end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------      
 def refresh
   if self.contents != nil
     self.contents.dispose
     self.contents = nil
   end
   @data = []
   for i in 1...$data_items.size
     if $game_party.item_number(i) > 0
       @data.push($data_items[i])
     end
   end
   @item_max = @data.size
   if @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
#--------------------------------------------------------------------------      
 def draw_item(index)
   item = @data[index]
   case item
   when RPG::Item
     number = $game_party.item_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 % 1 * (288 + 32)
   y = index / 1 * 32
   rect = Rect.new(x, y, self.width / @column_max - 32, 32)
   self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
   self.contents.font.name = "Georgia"    
   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, 190, 32, item.name, 0)
   self.contents.draw_text(x + 215, y, 16, 32, ":", 1)
   self.contents.draw_text(x + 230, y, 24, 32, number.to_s, 2)
 end
#--------------------------------------------------------------------------
# Update Help
#--------------------------------------------------------------------------      
 def update_help
   @help_window.set_text(self.item == nil ? "" : self.item.description)
 end
end

#===============================================================================
# Window_Weapon
#===============================================================================
class Window_Weapon < Window_Selectable
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------        
 def initialize
   super(250, 50, 295, 350)
   @column_max = 1
   refresh
   self.index = 0
    if $game_temp.in_battle
     self.y = 64
     self.height = 256
     self.back_opacity = 160
   end
 end
#--------------------------------------------------------------------------
# Item
#--------------------------------------------------------------------------        
 def item
   return @data[self.index]
 end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------        
 def refresh
   if self.contents != nil
     self.contents.dispose
     self.contents = nil
   end
   @data = []
     for i in 1...$data_weapons.size
       if $game_party.weapon_number(i) > 0
         @data.push($data_weapons[i])
       end
     end
   @item_max = @data.size
   if @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
#--------------------------------------------------------------------------        
 def draw_item(index)
   item = @data[index]
   case item
   when RPG::Weapon
     number = $game_party.weapon_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 % 1 * (288 + 32)
   y = index / 1 * 32
   rect = Rect.new(x, y, self.width / @column_max - 32, 32)
   self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
   self.contents.font.name = "Georgia"    
   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, 190, 32, item.name, 0)
   self.contents.draw_text(x + 215, y, 16, 32, ":", 1)
   self.contents.draw_text(x + 230, y, 24, 32, number.to_s, 2)
 end
#--------------------------------------------------------------------------
# Update Help
#--------------------------------------------------------------------------        
 def update_help
   @help_window.set_text(self.item == nil ? "" : self.item.description)
 end
end

#===============================================================================
# Window_Armor
#===============================================================================
class Window_Armor < Window_Selectable
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------        
 def initialize
   super(250, 50, 295, 350)
   @column_max = 1
   refresh
   self.index = 0
   if $game_temp.in_battle
     self.y = 64
     self.height = 256
     self.back_opacity = 160
   end
 end
#--------------------------------------------------------------------------
# Item
#--------------------------------------------------------------------------          
 def item
   return @data[self.index]
 end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------          
 def refresh
   if self.contents != nil
     self.contents.dispose
     self.contents = nil
   end
   @data = []
     for i in 1...$data_armors.size
       if $game_party.armor_number(i) > 0
         @data.push($data_armors[i])
       end
     end
   @item_max = @data.size
   if @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
#--------------------------------------------------------------------------          
 def draw_item(index)
   item = @data[index]
   case item
   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 % 1 * (288 + 32)
   y = index / 1 * 32
   rect = Rect.new(x, y, self.width / @column_max - 32, 32)
   self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
   self.contents.font.name = "Georgia"    
   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, 190, 32, item.name, 0)
   self.contents.draw_text(x + 215, y, 16, 32, ":", 1)
   self.contents.draw_text(x + 230, y, 24, 32, number.to_s, 2)
 end
#--------------------------------------------------------------------------
# Update Help
#--------------------------------------------------------------------------          
 def update_help
   @help_window.set_text(self.item == nil ? "" : self.item.description)
 end
end

#===============================================================================
# Scene_Item
#===============================================================================
class Scene_Item
#--------------------------------------------------------------------------
# Main
#--------------------------------------------------------------------------            
 def main
   @back = Plane.new
   @back.bitmap = RPG::Cache.picture("MN_BK")
   @back.z = 100
   @item_lay = Sprite.new
   @item_lay.bitmap = RPG::Cache.picture("Item_lay")
   @item_lay.z = 100
   @item_com = Sprite.new
   @item_com.bitmap = RPG::Cache.picture("Item_com01")
   @item_com.z = 100
   @type = Window_Type.new
   @type.opacity = 0
   @type.visible = false    
   @help_window = Window_Help.new
   @help_window.y = 405
   @item_window = Window_Item_Ex.new
   @item_window.help_window = @help_window
   @item_window.visible = true
   @item_window.active = true
   @weapon_window = Window_Weapon.new
   @weapon_window.help_window = @help_window
   @weapon_window.visible = false
   @weapon_window.active = true
   @armor_window = Window_Armor.new
   @armor_window.help_window = @help_window
   @armor_window.visible = false
   @armor_window.active = true    
   @target_window = Window_Target_Item.new
   @target_window.x = -300
   @target_window.active = false
   @help_window.opacity = 0
   @help_window.x = -200
   @help_window.contents_opacity = 0    
   @item_window.opacity = 0
   @weapon_window.opacity = 0
   @armor_window.opacity = 0
   @target_window.opacity = 0    
   @weapon_window.x = 640
   @armor_window.x = 640
   @item_window.x = 640  
   @weapon_window.contents_opacity = 0
   @armor_window.contents_opacity = 0
   @item_window.contents_opacity = 0      
   Graphics.transition(MOG::MNIT, "Graphics/Transitions/" + MOG::MNITT)
   loop do
     Graphics.update
     Input.update
     update
     if $scene != self
       break
     end
   end
   for i in 0..10
     @weapon_window.x += 25
     @armor_window.x += 25
     @item_window.x += 25  
     @weapon_window.contents_opacity -= 25
     @armor_window.contents_opacity -= 25
     @item_window.contents_opacity -= 25    
     @item_lay.zoom_x += 0.2
     @item_lay.opacity -= 25
     @item_com.zoom_y += 0.2
     @item_com.opacity -= 25
     @target_window.x -= 25
     @help_window.contents_opacity -= 25
     @back.ox += 2
     Graphics.update  
   end  
   Graphics.freeze
   @help_window.dispose
   @item_window.dispose
   @weapon_window.dispose
   @armor_window.dispose
   @target_window.dispose
   @item_lay.dispose
   @back.dispose
   @item_com.dispose
   @type.dispose
 end
#--------------------------------------------------------------------------
# Update
#--------------------------------------------------------------------------            
 def update
   if @target_window.active == true
      @target_window.visible = true
     if @target_window.x < 0
        @target_window.x += 30
     elsif @target_window.x >= 0
        @target_window.x = 0      
     end  
     else
     if @target_window.x > -300
        @target_window.x -= 30
     elsif @target_window.x >= -300
        @target_window.x = -300
        @target_window.visible = false
     end
   end    
   if @help_window.x < 0
     @help_window.x += 15
     @help_window.contents_opacity += 20    
   elsif @help_window.x >= 0
     @help_window.x = 0
     @help_window.contents_opacity = 255    
   end
   if @item_window.x > 250
     @weapon_window.x -= 30
     @armor_window.x -= 30
     @item_window.x -= 30  
     @weapon_window.contents_opacity += 20
     @armor_window.contents_opacity += 20
     @item_window.contents_opacity += 20    
   elsif  @item_window.x <= 250
     @weapon_window.x = 250
     @armor_window.x = 250
     @item_window.x = 250  
     @weapon_window.contents_opacity = 250
     @armor_window.contents_opacity = 250
     @item_window.contents_opacity = 250      
   end
   if @target_window.active == false
     if Input.trigger?(Input::RIGHT) or Input.trigger?(Input::LEFT) or
        Input.press?(Input::RIGHT) or  Input.press?(Input::LEFT)
       @weapon_window.x = 640
       @armor_window.x = 640
       @item_window.x = 640      
       @weapon_window.contents_opacity = 0
       @armor_window.contents_opacity = 0
       @item_window.contents_opacity = 0      
     end
     if Input.trigger?(Input.dir4) or Input.trigger?(Input.dir4) or
        Input.trigger?(Input::L) or Input.trigger?(Input::R)      
        @help_window.x = -200
        @help_window.contents_opacity = 0
     end  
   end
   @back.ox += 1
   @help_window.update
   @item_window.update
   @weapon_window.update
   @armor_window.update
   @target_window.update
   @type.update
   case @type.index
   when 0
   @item_com.bitmap = RPG::Cache.picture("Item_com01")
   if @target_window.active == true
     update_target
     @item_window.active = false  
     @type.active = false
     return
   else  
     @item_window.active = true
     @type.active = true
   end    
     @weapon_window.active = false
     @armor_window.active = false
     @item_window.visible = true
     @weapon_window.visible = false
     @armor_window.visible = false    
   when 1
     @item_com.bitmap = RPG::Cache.picture("Item_com02")
     @item_window.active = false
     @weapon_window.active = true
     @armor_window.active = false
     @item_window.visible = false
     @weapon_window.visible = true
     @armor_window.visible = false    
   when 2
     @item_com.bitmap = RPG::Cache.picture("Item_com03")  
     @item_window.active = false
     @weapon_window.active = false
     @armor_window.active = true
     @item_window.visible = false
     @weapon_window.visible = false
     @armor_window.visible = true
   end
   if @item_window.active
     update_item
     return
   end
   if @weapon_window.active
     update_weapon
     return
   end
   if @armor_window.active
     update_armor
     return
   end
 end
#--------------------------------------------------------------------------
# Update Weapon
#--------------------------------------------------------------------------          
 def update_weapon
   if Input.trigger?(Input::B)
     $game_system.se_play($data_system.cancel_se)
     $scene = Scene_Menu.new(0)
     return
   end
 end
#--------------------------------------------------------------------------
# Update Armor
#--------------------------------------------------------------------------            
 def update_armor
   if Input.trigger?(Input::B)
     $game_system.se_play($data_system.cancel_se)
     $scene = Scene_Menu.new(0)
     return
   end
 end
#--------------------------------------------------------------------------
# Update Item
#--------------------------------------------------------------------------            
 def update_item
   if Input.trigger?(Input::B)
     $game_system.se_play($data_system.cancel_se)
     $scene = Scene_Menu.new(0)
     return
   end
   if Input.trigger?(Input::C)
     @item = @item_window.item
     unless @item.is_a?(RPG::Item)
       $game_system.se_play($data_system.buzzer_se)
       return
     end
     unless $game_party.item_can_use?(@item.id)
       $game_system.se_play($data_system.buzzer_se)
       return
     end
     $game_system.se_play($data_system.decision_se)
     if @item.scope >= 3
       @item_window.active = false
       @target_window.x = (@item_window.index + 1) % 1 * 304
       @target_window.active = true
       @target_window.x = -350              
       if @item.scope == 4 || @item.scope == 6
         @target_window.index = -1
       else
         @target_window.index = 0
       end
     else
       if @item.common_event_id > 0
         $game_temp.common_event_id = @item.common_event_id
         $game_system.se_play(@item.menu_se)
         if @item.consumable
           $game_party.lose_item(@item.id, 1)
           @item_window.draw_item(@item_window.index)
         end
         $scene = Scene_Map.new
         return
       end
     end
     return
   end
 end
#--------------------------------------------------------------------------
# Update Target
#--------------------------------------------------------------------------            
 def update_target
   if Input.trigger?(Input::B)
     $game_system.se_play($data_system.cancel_se)
     unless $game_party.item_can_use?(@item.id)
       @item_window.refresh
     end
     @item_window.active = true
     @target_window.active = false
     return
   end
   if Input.trigger?(Input::C)
     if $game_party.item_number(@item.id) == 0
       $game_system.se_play($data_system.buzzer_se)
       return
     end
     if @target_window.index == -1
       used = false
       for i in $game_party.actors
         used |= i.item_effect(@item)
       end
     end
     if @target_window.index >= 0
       target = $game_party.actors[@target_window.index]
       used = target.item_effect(@item)
     end
     if used
       $game_system.se_play(@item.menu_se)
       if @item.consumable
         $game_party.lose_item(@item.id, 1)
         @item_window.draw_item(@item_window.index)
       end
       @target_window.refresh
       if $game_party.all_dead?
         $scene = Scene_Gameover.new
         return
       end
       if @item.common_event_id > 0
         $game_temp.common_event_id = @item.common_event_id
         $scene = Scene_Map.new
         return
       end
     end
     unless used
       $game_system.se_play($data_system.buzzer_se)
     end
     return
   end
 end
end

$mog_rgss_Scene_Item = true


Edited MOG Scene Skill:
Spoiler: ShowHide

#_______________________________________________________________________________
# MOG_Scene_Skill V2.3          
#_______________________________________________________________________________
# By Moghunter    
# http://www.atelier-rgss.com
#_______________________________________________________________________________
module MOG
 #Transition Time.
 MSK_TT = 10
 #Transition Type(Name).
 MSK_TTT = "004-Blind04"  
end

#===============================================================================
# Game_Actor
#===============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# Now_Exp
#--------------------------------------------------------------------------  
def now_exp
 return @exp - @exp_list[@level]
end
#--------------------------------------------------------------------------
# Next Exp
#--------------------------------------------------------------------------  
def next_exp
 return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
end
end

#===============================================================================
# Window_Base
#===============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# Nada
#--------------------------------------------------------------------------  
def nada
 face = RPG::Cache.picture("")
end    
#--------------------------------------------------------------------------
# Drw_Face
#--------------------------------------------------------------------------  
def drw_face(actor,x,y)
 face = RPG::Cache.picture(actor.name + "_fc") rescue nada
 cw = face.width
 ch = face.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x , y - ch, face, src_rect)    
end    
#--------------------------------------------------------------------------
# Drw_Lay
#--------------------------------------------------------------------------  
def draw_lay(x,y)
 lay = RPG::Cache.picture("MSK_Status")
 cw = lay.width
 ch = lay.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x , y - ch, lay, src_rect)    
end  
#--------------------------------------------------------------------------
# Nada
#--------------------------------------------------------------------------  
def nada
 face = RPG::Cache.picture("")
end  
#--------------------------------------------------------------------------
# Draw Heroface3
#--------------------------------------------------------------------------  
def draw_heroface3(actor,x,y)
 face = RPG::Cache.picture(actor.name + "_fc3") rescue nada
 cw = face.width
 ch = face.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x , y - ch, face, src_rect)    
end
#--------------------------------------------------------------------------
# Draw_Maphp3
#--------------------------------------------------------------------------  
def draw_maphp3(actor, x, y)
 back = RPG::Cache.picture("BAR0")    
 cw = back.width  
 ch = back.height
 src_rect = Rect.new(0, 0, cw, ch)    
 self.contents.blt(x + 65, y - ch + 30, back, src_rect)
 meter = RPG::Cache.picture("HP_Bar")    
 cw = meter.width  * actor.hp / actor.maxhp
 ch = meter.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
 text = RPG::Cache.picture("HP_Tx")    
 cw = text.width  
 ch = text.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x + 35, y - ch + 30, text, src_rect)
 self.contents.font.color = Color.new(0,0,0,255)
 self.contents.draw_text(x + 81, y - 1, 48, 32, actor.hp.to_s, 2)
 self.contents.font.color = Color.new(255,255,255,255)
 self.contents.draw_text(x + 80, y - 2, 48, 32, actor.hp.to_s, 2)    
end  
#--------------------------------------------------------------------------
# Draw_Mapsp3
#--------------------------------------------------------------------------  
def draw_mapsp3(actor, x, y)
 back = RPG::Cache.picture("BAR0")    
 cw = back.width  
 ch = back.height
 src_rect = Rect.new(0, 0, cw, ch)    
 self.contents.blt(x + 65, y - ch + 30, back, src_rect)
 meter = RPG::Cache.picture("SP_Bar")    
 cw = meter.width  * actor.sp / actor.maxsp
 ch = meter.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
 text = RPG::Cache.picture("SP_Tx")    
 cw = text.width  
 ch = text.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x + 35, y - ch + 30, text, src_rect)
 self.contents.font.color = Color.new(0,0,0,255)
 self.contents.draw_text(x + 81, y - 1, 48, 32, actor.sp.to_s, 2)
 self.contents.font.color = Color.new(255,255,255,255)
 self.contents.draw_text(x + 80, y - 2, 48, 32, actor.sp.to_s, 2)    
end  
#--------------------------------------------------------------------------
# Draw_Maphp4
#--------------------------------------------------------------------------  
def draw_maphp4(actor, x, y)
 back = RPG::Cache.picture("BAR")    
 cw = back.width  
 ch = back.height
 src_rect = Rect.new(0, 0, cw, ch)    
 self.contents.blt(x + 65, y - ch + 30, back, src_rect)
 meter = RPG::Cache.picture("HP_Bar2")    
 cw = meter.width  * actor.hp / actor.maxhp
 ch = meter.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
 self.contents.font.color = Color.new(0,0,0,255)
 self.contents.draw_text(x + 66, y - 1, 100, 32, actor.hp.to_s + "/" + actor.maxhp.to_s, 1)  
 self.contents.font.color = Color.new(250,255,255,255)
 self.contents.draw_text(x + 65, y - 2, 100, 32, actor.hp.to_s + "/" + actor.maxhp.to_s, 1)  
end  
#--------------------------------------------------------------------------
# Draw_Mapsp4
#--------------------------------------------------------------------------  
def draw_mapsp4(actor, x, y)
 back = RPG::Cache.picture("BAR")    
 cw = back.width  
 ch = back.height
 src_rect = Rect.new(0, 0, cw, ch)    
 self.contents.blt(x + 65 , y - ch + 30, back, src_rect)
 meter = RPG::Cache.picture("SP_Bar2")    
 cw = meter.width  * actor.sp / actor.maxsp
 ch = meter.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x + 65 , y - ch + 30, meter, src_rect)
 self.contents.font.color = Color.new(0,0,0,255)
 self.contents.draw_text(x + 66, y - 1, 100, 32, actor.sp.to_s + "/" + actor.maxsp.to_s, 1)  
 self.contents.font.color = Color.new(250,255,255,255)
 self.contents.draw_text(x + 65, y - 2, 100, 32, actor.sp.to_s + "/" + actor.maxsp.to_s, 1)  
end
#--------------------------------------------------------------------------
# Draw_Mexp4
#--------------------------------------------------------------------------  
def draw_mexp4(actor, x, y)
 actor = $game_party.actors[0]
 bitmap2 = RPG::Cache.picture("Exp_Back")
 cw = bitmap2.width
 ch = bitmap2.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x + 60 , y - ch + 30, bitmap2, src_rect)
 if actor.next_exp != 0
   rate = actor.now_exp.to_f / actor.next_exp
 else
   rate = 1
 end
 bitmap = RPG::Cache.picture("Exp_Meter")
 if actor.level < 99
   cw = bitmap.width * rate
 else
   cw = bitmap.width
 end  
 ch = bitmap.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x + 60 , y - ch + 30, bitmap, src_rect)
 self.contents.font.color = Color.new(0,0,0,255)
 self.contents.draw_text(x + 55, y + 1, 84, 32, "Exp",0)
 self.contents.font.color = Color.new(255,255,255,255)
 self.contents.draw_text(x + 54, y, 84, 32, "Exp",0)
 self.contents.font.color = Color.new(0,0,0,255)
 self.contents.draw_text(x + 190, y - 125, 60, 32,"LV " +  actor.level.to_s, 1)
 self.contents.font.color = Color.new(255,255,255,255)    
 self.contents.draw_text(x + 191, y - 124, 60, 32,"LV " + actor.level.to_s, 1)    
end
#--------------------------------------------------------------------------
# Draw_Mexp_it
#--------------------------------------------------------------------------
def draw_mexp_it(actor, x, y)
 lv_tx = RPG::Cache.picture("LV_tx")
 cw = lv_tx.width
 ch = lv_tx.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x + 60 , y - ch + 32, lv_tx, src_rect)
 self.contents.font.color = Color.new(0,0,0,255)
 self.contents.draw_text(x + 101, y + 5, 24, 32, actor.level.to_s, 1)
 self.contents.font.color = Color.new(255,255,255,255)
 self.contents.draw_text(x + 100, y + 4, 24, 32, actor.level.to_s, 1)
end
#--------------------------------------------------------------------------
# Draw_draw_actor_state_it
#--------------------------------------------------------------------------
def draw_actor_state_it(actor, x, y, width = 80)
 text = make_battler_state_text(actor, width, true)
 self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
 self.contents.draw_text(x, y, width, 32, text,1)
 end
end

#===============================================================================
# Window_Target_face
#===============================================================================
class Window_Target_face < Window_Selectable
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------  
def initialize
 super(0, 65, 280, 365)
 self.contents = Bitmap.new(width - 32, height - 32)
 self.contents.font.name = "Georgia"
 self.z += 10
 @item_max = $game_party.actors.size
 refresh
end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------
def refresh
 self.contents.clear
 for i in 0...$game_party.actors.size
   x = 4
   y = i * 65
   actor = $game_party.actors[i]
   drw_face(actor,x,y + 55)
   if $mog_rgss_TP_System != nil
     draw_actor_tp(actor, x + 168, y + 27 ,4)
   else
     draw_mexp_it(actor, x + 110, y + 25 )
   end
   draw_actor_state_it(actor, x + 165, y )
   draw_maphp3(actor, x + 20, y + 0)
   draw_mapsp3(actor, x + 20, y + 32)
 end
end
#--------------------------------------------------------------------------
# Update_cursor_rect
#--------------------------------------------------------------------------
def update_cursor_rect
 if @index <= -2
   self.cursor_rect.set(0, (@index + 10) * 65, self.width - 32, 60)
 elsif @index == -1
   self.cursor_rect.set(0, 0, self.width - 32, @item_max * 64 )
 else
   self.cursor_rect.set(0, @index * 65, self.width - 32, 60)
 end
end
end

#===============================================================================
# Window_SkillStatus2
#===============================================================================
class Window_SkillStatus2 < Window_Base
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------
def initialize(actor)
 super(350, 75, 290, 340)
 self.contents = Bitmap.new(width - 32, height - 32)
 @actor = actor
 self.opacity = 0
 self.contents.font.name = "Georgia"
 refresh
end
#--------------------------------------------------------------------------
# refresh
#--------------------------------------------------------------------------
def refresh
 self.contents.clear
 draw_lay(0,300)
 draw_heroface3(@actor,50,140)
 draw_actor_name(@actor, 15, 10)
 draw_actor_state(@actor, 120, 140)
 draw_mexp4(@actor, -30, 135)
 draw_maphp4(@actor, 5, 195)
 draw_mapsp4(@actor, 5, 240)
 if $mog_rgss_TP_System != nil
   draw_actor_tp(@actor, 40, 265,1)
 end
end
end

#===============================================================================
#  Window_Skill2
#===============================================================================
class Window_Skill2 < Window_Selectable
#--------------------------------------------------------------------------
# initialize
#--------------------------------------------------------------------------
def initialize(actor)
 super(0, 95, 335, 290)
 @actor = actor
 @column_max = 1
 refresh
 self.index = 0
end
#--------------------------------------------------------------------------
# skill
#--------------------------------------------------------------------------
def skill
 return @data[self.index]
end
#--------------------------------------------------------------------------
# refresh
#--------------------------------------------------------------------------
def refresh
 if self.contents != nil
   self.contents.dispose
   self.contents = nil
 end
 @data = []
 for i in 0...@actor.skills.size
   skill = $data_skills[@actor.skills[i]]
   if skill != nil
     @data.push(skill)
   end
 end
 @item_max = @data.size
 if @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
#--------------------------------------------------------------------------
def draw_item(index)
 skill = @data[index]
 if @actor.skill_can_use?(skill.id)
   self.contents.font.color = normal_color
 else
   self.contents.font.color = disabled_color
 end
 self.contents.font.name = "Georgia"
 x = index % 1 * (288)
 y = index / 1 * 32
 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(skill.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, 204, 32, skill.name, 0)
 self.contents.draw_text(x + 232, y, 48, 32, skill.sp_cost.to_s, 2)
 if $mog_rgss_TP_System != nil
     tp_cost = MOG::TP_COST[skill.id]
     if tp_cost != nil  
       self.contents.font.color = Color.new(50,250,150,255)
       self.contents.draw_text(x + 170, y, 48, 32, MOG::TP_NAME, 2)    
     else
       self.contents.font.color = Color.new(200,200,0,255)
       self.contents.draw_text(x + 170, y, 48, 32, $data_system.words.sp, 2)      
     end
 else
     self.contents.font.color = Color.new(200,200,0,255)
     self.contents.draw_text(x + 170, y, 48, 32, $data_system.words.sp, 2)    
 end
end
#--------------------------------------------------------------------------
# Update_Help
#--------------------------------------------------------------------------
def update_help
 @help_window.set_text(self.skill == nil ? "" : self.skill.description)
end
end

#===============================================================================
#  Scene Skill
#===============================================================================
class Scene_Skill
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------  
def initialize(actor_index = 0, equip_index = 0)
 @actor_index = actor_index
end
#--------------------------------------------------------------------------
# Main
#--------------------------------------------------------------------------
def main
 @actor = $game_party.actors[@actor_index]
 @msk_lay = Sprite.new
 @msk_lay.bitmap = RPG::Cache.picture("MSK_Lay")
 @msk_lay.z = 100
 @msk_back1 = Plane.new
 @msk_back1.bitmap = RPG::Cache.picture("MN_BK")
 @msk_back1.z = 10
 @help_window = Window_Help.new
 @help_window.y = 500
 @status_window = Window_SkillStatus2.new(@actor)
 @status_window.z = 110
 @status_window.x = 640
 @skill_window = Window_Skill2.new(@actor)
 @skill_window.help_window = @help_window
 @skill_window.help_window.y = 500
 @target_window = Window_Target_face.new
 @target_window.x = 640
 @target_window.y = 100
 @target_window.opacity = 0
 @target_window.visible = false
 @target_window.active = false
 @skill_window.opacity = 0
 @help_window.opacity = 0
 @slide = true
 Graphics.transition(MOG::MSK_TT, "Graphics/Transitions/" + MOG::MSK_TTT)
 loop do
 Graphics.update
 Input.update
 update
 if $scene != self
   break
 end
 end
 for i in 0..10
   @status_window.x += 25
   @status_window.x += 25
   @target_window.x += 25
   @target_window.contents_opacity -= 25
   @skill_window.x -= 30
   @skill_window.contents_opacity -= 25
   @msk_lay.zoom_x += 0.1
   @msk_lay.opacity -= 25
   @help_window.y += 15
   Graphics.update  
 end  
 Graphics.freeze
 @help_window.dispose
 @status_window.dispose
 @skill_window.dispose
 @target_window.dispose
 @msk_lay.dispose
 @msk_back1.dispose
end
#--------------------------------------------------------------------------
# Update
#--------------------------------------------------------------------------
def update
 if @target_window.active == true
   @target_window.visible = true
   if @target_window.x > 340
     @target_window.x -= 20
   elsif @target_window.x <= 340
     @target_window.x = 340
   end
 else    
   if @target_window.x < 640
     @target_window.x += 20
   elsif @target_window.x >= 640
     @target_window.x = 640
     @target_window.visible = false
   end
 end  
 if @slide == true
   @status_window.visible = true
   if @status_window.x > 350
     @status_window.x -= 20
   elsif @status_window.x <= 350
     @status_window.x = 350
   end      
 else
   if @status_window.x < 640
     @status_window.x += 20
   elsif @status_window.x >= 640
     @status_window.x = 640
     @status_window.visible = false
   end  
 end
 @help_window.update
 @status_window.update
 @skill_window.update
 @target_window.update
 @msk_back1.ox += 1
 @msk_back1.oy += 1
 if @skill_window.help_window.y > 425
   @skill_window.help_window.y -= 10
 elsif @skill_window.help_window.y <= 425  
   @skill_window.help_window.y = 425
 end  
 if @skill_window.active
   update_skill
   return
 end
 if @target_window.active  
   update_target
   return
 end
end
#--------------------------------------------------------------------------
# Update Skill
#--------------------------------------------------------------------------
def update_skill
 if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN)
   @help_window.y = 500  
 end  
 if Input.trigger?(Input::B)
   $game_system.se_play($data_system.cancel_se)
   $scene = Scene_Menu.new(1)
   return
 end
 if Input.trigger?(Input::C)
     @skill = @skill_window.skill
     if @skill == nil or not @actor.skill_can_use?(@skill.id)
       $game_system.se_play($data_system.buzzer_se)
       return
     end
     $game_system.se_play($data_system.decision_se)
     if @skill.scope >= 3
       @skill_window.active = false
       @target_window.active = true
       @slide = false
       if @skill.scope == 4 || @skill.scope == 6
         @target_window.index = -1
       elsif @skill.scope == 7
         @target_window.index = @actor_index - 10
       else
         @target_window.index = 0
       end
     else
       if @skill.common_event_id > 0
       $game_temp.common_event_id = @skill.common_event_id
       $game_system.se_play(@skill.menu_se)
       @actor.sp -= @skill.sp_cost
       @status_window.refresh
       @skill_window.refresh
       @target_window.refresh
       $scene = Scene_Map.new
       return
       end
     end
   return
 end
 if Input.trigger?(Input::R) or Input.trigger?(Input::RIGHT)
   $game_system.se_play($data_system.cursor_se)
   @actor_index += 1
   @actor_index %= $game_party.actors.size
   $scene = Scene_Skill.new(@actor_index)
   return
 end
 if Input.trigger?(Input::L) or Input.trigger?(Input::LEFT)
   $game_system.se_play($data_system.cursor_se)
   @actor_index += $game_party.actors.size - 1
   @actor_index %= $game_party.actors.size
   $scene = Scene_Skill.new(@actor_index)
   return
 end
end
#--------------------------------------------------------------------------
# Update_Target
#--------------------------------------------------------------------------
def update_target
 if Input.trigger?(Input::B)
   $game_system.se_play($data_system.cancel_se)
   @skill_window.active = true
   @target_window.active = false
   @slide = true
   return
 end
if Input.trigger?(Input::C)
 unless @actor.skill_can_use?(@skill.id)
   $game_system.se_play($data_system.buzzer_se)
   return
 end
 if @target_window.index == -1
   used = false
   for i in $game_party.actors
     used |= i.skill_effect(@actor, @skill)
   end
 end
 if @target_window.index <= -2
   target = $game_party.actors[@target_window.index + 10]
   used = target.skill_effect(@actor, @skill)
 end
 if @target_window.index >= 0
   target = $game_party.actors[@target_window.index]
   used = target.skill_effect(@actor, @skill)
 end
 if used
   $game_system.se_play(@skill.menu_se)
   @actor.sp -= @skill.sp_cost
   @status_window.refresh
   @skill_window.refresh
   @target_window.refresh
   if $game_party.all_dead?
     $scene = Scene_Gameover.new
     return
   end
   if @skill.common_event_id > 0
     $game_temp.common_event_id = @skill.common_event_id
     $scene = Scene_Map.new
     return
   end
 end
 unless used
   $game_system.se_play($data_system.buzzer_se)
 end
 return
 end
end
end

$mog_rgss_MOG_Scene_Skill = true


Edited MOG Scene Shop:
Spoiler: ShowHide

#_______________________________________________________________________________
# MOG_Scene_Shop  V1.7           
#_______________________________________________________________________________
# By Moghunter   
# http://www.atelier-rgss.com
#_______________________________________________________________________________
module MOG
  #Transition Time.
  MNSHPT= 30
  #Transition Type (Name)
  MNSHPTT= "006-Stripe02"
end

#===============================================================================
# Window_Base
#===============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# Draw_item_Name_Ex
#-------------------------------------------------------------------------- 
  def draw_item_name_ex(item, x, y)
    if item == nil
      return
    end
    bitmap = RPG::Cache.icon(item.icon_name)
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 28, y, 150, 32, item.name)
  end
#--------------------------------------------------------------------------
# Nada
#--------------------------------------------------------------------------
  def nada
    face = RPG::Cache.picture("")
  end
#--------------------------------------------------------------------------
# Drw_face
#--------------------------------------------------------------------------
  def drw_face(actor,x,y)
    face = RPG::Cache.picture(actor.name + "_fc") rescue nada
    cw = face.width
    ch = face.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x , y - ch, face, src_rect)   
  end     
end

#===============================================================================
# Game_Actor
#===============================================================================
class Win_Shop_Sel < Window_Base
  attr_reader   :index                   
#--------------------------------------------------------------------------
# Initialize
#-------------------------------------------------------------------------- 
  def initialize(x, y, width, height)
    super(x, y, width, height)
    @item_max = 1
    @column_max = 1
    @index = -1
  end
#--------------------------------------------------------------------------
# Index
#-------------------------------------------------------------------------- 
  def index=(index)
    @index = index
    update_cursor_rect
  end
#--------------------------------------------------------------------------
# row_max
#-------------------------------------------------------------------------- 
  def row_max
    return (@item_max + @column_max - 1) / @column_max
  end
#--------------------------------------------------------------------------
# Top_Row
#-------------------------------------------------------------------------- 
  def top_row
    return self.oy / 32
  end
#--------------------------------------------------------------------------
# Top_Row(Row)
#-------------------------------------------------------------------------- 
  def top_row=(row)
    if row < 0
      row = 0
    end
    if row > row_max - 1
      row = row_max - 1
    end
    self.oy = row * 32
  end
#--------------------------------------------------------------------------
# Page_Row_Max
#-------------------------------------------------------------------------- 
  def page_row_max
    return (self.height - 32) / 32
  end
#--------------------------------------------------------------------------
# Page_Item_Max
#-------------------------------------------------------------------------- 
  def page_item_max
    return page_row_max * @column_max
  end
#--------------------------------------------------------------------------
# Update_Cursor_Rect
#-------------------------------------------------------------------------- 
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
      return
    end
    row = @index / @column_max
    if row < self.top_row
      self.top_row = row
    end
    if row > self.top_row + (self.page_row_max - 1)
      self.top_row = row - (self.page_row_max - 1)
    end
    cursor_width = self.width / @column_max - 32
    x = @index % @column_max * 80
    y = @index / @column_max * 32 - self.oy
    self.cursor_rect.set(x, y, 32, 32)
  end
#--------------------------------------------------------------------------
# Update
#-------------------------------------------------------------------------- 
  def update
    super
    if self.active and @item_max > 0 and @index >= 0
      if Input.repeat?(Input::RIGHT)
        if @column_max >= 2 and @index < @item_max - 1
          $game_system.se_play($data_system.cursor_se)
          @index += 1
        end
      end
      if Input.repeat?(Input::LEFT)
        if @column_max >= 2 and @index > 0
          $game_system.se_play($data_system.cursor_se)
          @index -= 1
        end
      end     
    end
    update_cursor_rect
  end
end

#===============================================================================
# Window_ShopCommand
#===============================================================================
class Window_ShopCommand < Win_Shop_Sel
#--------------------------------------------------------------------------
# Initialize
#-------------------------------------------------------------------------- 
  def initialize
    super(58, 68, 230, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    @item_max = 3
    @column_max = 3
    @commands = ["", "", ""]
    self.index = 0
  end
end

#===============================================================================
# Window_ShopBuy
#===============================================================================
class Window_ShopBuy < Window_Selectable
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------   
  def initialize(shop_goods)
    super(-10, 180, 310, 225)
    @shop_goods = shop_goods
    refresh
    self.index = 0
  end
#--------------------------------------------------------------------------
# Ite
#--------------------------------------------------------------------------   
  def item
    return @data[self.index]
  end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------   
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    for goods_item in @shop_goods
      case goods_item[0]
      when 0
        item = $data_items[goods_item[1]]
      when 1
        item = $data_weapons[goods_item[1]]
      when 2
        item = $data_armors[goods_item[1]]
      end
      if item != nil
        @data.push(item)
      end
    end
    @item_max = @data.size
    if @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
#--------------------------------------------------------------------------   
  def draw_item(index)
    self.contents.font.name = "Georgia"   
    self.contents.font.bold = false   
    item = @data[index]
    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
    x = 4
    y = index * 32   
    if item.price <= $game_party.gold and number < 99
      self.contents.font.color = normal_color
    else
      self.contents.font.color = disabled_color
    end   
    rect = Rect.new(x, y, self.width - 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, 150, 32, item.name, 0)
    self.contents.font.color = Color.new(50,250,150,255)
    self.contents.draw_text(x + 150, y, 88, 32, "G", 1)       
    if item.price <= $game_party.gold
    if number < 99
    self.contents.font.color = Color.new(200,200,50,255)
    else
    self.contents.font.color = disabled_color
    end 
    else
    self.contents.font.color = Color.new(250,100,50,255)
    end       
    self.contents.draw_text(x + 180, y, 88, 32, item.price.to_s, 2)
  end
#--------------------------------------------------------------------------
# Update_Help
#--------------------------------------------------------------------------   
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.description)
  end
end

#===============================================================================
# Window_ShopSell
#===============================================================================
class Window_ShopSell < Window_Selectable
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------     
  def initialize
    super(-10, 180, 305, 225)
    @column_max = 1
    refresh
    self.index = 0
  end
#--------------------------------------------------------------------------
# Item
#--------------------------------------------------------------------------     
  def item
    return @data[self.index]
  end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------     
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    for i in 1...$data_items.size
      if $game_party.item_number(i) > 0
        @data.push($data_items[i])
      end
    end
    for i in 1...$data_weapons.size
      if $game_party.weapon_number(i) > 0
        @data.push($data_weapons[i])
      end
    end
    for i in 1...$data_armors.size
      if $game_party.armor_number(i) > 0
        @data.push($data_armors[i])
      end
    end
    @item_max = @data.size
    if @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
#--------------------------------------------------------------------------     
  def draw_item(index)
    item = @data[index]
    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.price > 0
      self.contents.font.color = normal_color
    else
      self.contents.font.color = disabled_color
    end
    self.contents.font.name = "Georgia"
    x = 4 + index % 1 * (288 + 32)
    y = index / 1 * 32
    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, 150, 32, item.name, 0)
   
    self.contents.draw_text(x + 230, y, 16, 32, ":", 1)
    self.contents.draw_text(x + 240, y, 24, 32, number.to_s, 2)
  end
#--------------------------------------------------------------------------
# Update_Help
#--------------------------------------------------------------------------     
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.description)
  end
end

#===============================================================================
# Window_ShopNumber
#===============================================================================
class Window_ShopNumber < Window_Base
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------       
  def initialize
    super(-10, 180, 310, 225)
    self.contents = Bitmap.new(width - 32, height - 32)
    @item = nil
    @max = 1
    @price = 0
    @number = 1
  end
#--------------------------------------------------------------------------
# Set
#--------------------------------------------------------------------------       
  def set(item, max, price)
    @item = item
    @max = max
    @price = price
    @number = 1
    refresh
  end
#--------------------------------------------------------------------------
# Number
#--------------------------------------------------------------------------       
  def number
    return @number
  end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------       
  def refresh
    self.contents.clear
    self.contents.font.name = "Georgia"
    self.contents.font.bold = true   
    draw_item_name_ex(@item, 4, 66)
    self.contents.font.color = Color.new(50,150,250,255)   
    self.contents.draw_text(185, 66, 32, 32, "x")
    self.contents.font.color = normal_color   
    self.contents.draw_text(208, 66, 24, 32, @number.to_s, 2)
    self.cursor_rect.set(304, 66, 32, 32)
    total_price = @price * @number
    cx = contents.text_size("G").width   
    self.contents.font.color = Color.new(200,200,50,255)
    self.contents.draw_text(4, 160, 228-2, 32, total_price.to_s, 2)
    self.contents.font.color = Color.new(50,250,150,255)
    self.contents.draw_text(90, 160, 88, 32, "G", 1)       
  end
#--------------------------------------------------------------------------
# Update
#--------------------------------------------------------------------------       
  def update
    super
    if self.active
      if Input.repeat?(Input::RIGHT) and @number < @max
        $game_system.se_play($data_system.cursor_se)
        @number += 1
        refresh
      end
      if Input.repeat?(Input::LEFT) and @number > 1
        $game_system.se_play($data_system.cursor_se)
        @number -= 1
        refresh
      end
      if Input.repeat?(Input::UP) and @number < @max
        $game_system.se_play($data_system.cursor_se)
        @number = [@number + 10, @max].min
        refresh
      end
      if Input.repeat?(Input::DOWN) and @number > 1
        $game_system.se_play($data_system.cursor_se)
        @number = [@number - 10, 1].max
        refresh
      end
    end
  end
end

#===============================================================================
# Window_ShopStatus
#===============================================================================
class Window_ShopStatus < Window_Base
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------         
  def initialize
    super(300, 64, 350, 400)
    self.contents = Bitmap.new(width - 32, height - 32)
    @item = nil
    refresh
  end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------         
  def refresh
    self.contents.clear
    self.contents.font.name = "Georgia"
    if @item == nil
      return
    end
    if $mog_rgss_Item_Limit != nil
      case @item
        when RPG::Item
          number = $game_party.item_number(@item.id)
          item_max = MOG::ITEM_LIMIT[@item.id]
        when RPG::Weapon
          number = $game_party.weapon_number(@item.id)
          item_max = MOG::WEAPON_LIMIT[@item.id] 
        when RPG::Armor
          number = $game_party.armor_number(@item.id)
          item_max = MOG::ARMOR_LIMIT[@item.id]
    end
    self.contents.font.color = system_color
    self.contents.draw_text(190, 0, 200, 32, "Stock")
    self.contents.font.color = normal_color
    if item_max != nil
      self.contents.draw_text(230, 0, 80, 32, number.to_s + " / " + item_max.to_s, 2)
    else
      max_limit = MOG::DEFAULT_LIMIT
      self.contents.draw_text(230, 0, 80, 32, number.to_s + " / " + max_limit.to_s, 2)
    end     
    else
    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
    self.contents.font.color = system_color
    self.contents.draw_text(210, 0, 200, 32, "Stock")
    self.contents.font.color = normal_color
    self.contents.draw_text(245, 0, 32, 32, number.to_s, 2)
    end
    if @item.is_a?(RPG::Item)
      return
    end
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      if actor.equippable?(@item)
        self.contents.font.color = normal_color
      else
        self.contents.font.color = disabled_color
      end
      self.contents.draw_text(65, 0, 100, 32, "Equipped", 2)         
      drw_face(actor,0 ,80 + 64 * i)
      if @item.is_a?(RPG::Weapon)
        item1 = $data_weapons[actor.weapon_id]
      elsif @item.kind == 0
        item1 = $data_armors[actor.armor1_id]
      elsif @item.kind == 1
        item1 = $data_armors[actor.armor2_id]
      elsif @item.kind == 2
        item1 = $data_armors[actor.armor3_id]
      else
        item1 = $data_armors[actor.armor4_id]
      end
      if actor.equippable?(@item)
        if @item.is_a?(RPG::Weapon)
          atk1 = item1 != nil ? item1.atk : 0
          atk2 = @item != nil ? @item.atk : 0
          pdef1 = item1 != nil ? item1.pdef : 0
          mdef1 = item1 != nil ? item1.mdef : 0
          pdef2 = @item != nil ? @item.pdef : 0
          mdef2 = @item != nil ? @item.mdef : 0         
        self.contents.draw_text(-20, 50 + 64 * i, 112, 32,"Atk", 2)   
        self.contents.draw_text(70, 50 + 64 * i, 112, 32,"Pdef", 2)   
        self.contents.draw_text(160, 50 + 64 * i, 112, 32,"Mdef", 2)           
        change = atk2 - atk1
        change2 = pdef2 - pdef1
        change3 = mdef2 - mdef1
      if atk2 > atk1
        self.contents.font.color = Color.new(50,250,150,255) 
      elsif atk2 == atk1
        self.contents.font.color = disabled_color
      else
        self.contents.font.color = Color.new(250,100,50,255)   
      end       
      self.contents.draw_text(20, 50 + 64 * i, 112, 32,sprintf("%d", change), 2)   
      if pdef2 > pdef1
        self.contents.font.color = Color.new(50,250,150,255) 
      elsif pdef2 == pdef1
        self.contents.font.color = disabled_color
      else
        self.contents.font.color = Color.new(250,100,50,255)   
      end           
      self.contents.draw_text(110, 50 + 64 * i, 112, 32,sprintf("%d", change2), 2)   
      if mdef2 > mdef1
        self.contents.font.color = Color.new(50,250,150,255) 
      elsif mdef2 == mdef1
        self.contents.font.color = disabled_color
      else
        self.contents.font.color = Color.new(250,100,50,255)   
      end           
      self.contents.draw_text(200, 50 + 64 * i, 112, 32,sprintf("%d", change3), 2)   
      end
      if @item.is_a?(RPG::Armor)
          pdef1 = item1 != nil ? item1.pdef : 0
          mdef1 = item1 != nil ? item1.mdef : 0
          eva1 = item1 != nil ? item1.eva : 0         
          pdef2 = @item != nil ? @item.pdef : 0
          mdef2 = @item != nil ? @item.mdef : 0
          eva2 = @item != nil ? @item.eva : 0         
          change = pdef2 - pdef1
          change2 = mdef2 - mdef1
          change3 = eva2 - eva1         
        self.contents.draw_text(-20, 50 + 64 * i, 112, 32,"Pdef", 2)   
        self.contents.draw_text(70, 50 + 64 * i, 112, 32,"Mdef", 2)   
        self.contents.draw_text(160, 50 + 64 * i, 112, 32,"Eva", 2) 
      if pdef2 > pdef1
        self.contents.font.color = Color.new(50,250,150,255) 
      elsif pdef2 == pdef1
        self.contents.font.color = disabled_color
      else
        self.contents.font.color = Color.new(250,100,50,255)   
      end     
      self.contents.draw_text(20, 50 + 64 * i, 112, 32,sprintf("%d", change), 2)   
      if mdef2 > mdef1
        self.contents.font.color = Color.new(50,250,150,255) 
      elsif mdef2 == mdef1
        self.contents.font.color = disabled_color
      else
        self.contents.font.color = Color.new(250,100,50,255)   
      end           
        self.contents.draw_text(110, 50 + 64 * i, 112, 32,sprintf("%d", change2), 2)         
      if eva2 > eva1
        self.contents.font.color = Color.new(50,250,150,255) 
      elsif eva2 == eva1
        self.contents.font.color = disabled_color
      else
        self.contents.font.color = Color.new(250,100,50,255)   
      end           
        self.contents.draw_text(200, 50 + 64 * i, 112, 32,sprintf("%d", change3), 2)   
      end
      end
      if item1 != nil
      if actor.equippable?(@item)
        self.contents.font.color = normal_color
      else
        self.contents.font.color = disabled_color
      end
        x = 4
        y = 64 + 64 * i
        bitmap = RPG::Cache.icon(item1.icon_name)
        opacity = self.contents.font.color == normal_color ? 255 : 128
        self.contents.blt(x + 50, y - 35, bitmap, Rect.new(0, 0, 24, 24), opacity)
        self.contents.draw_text(x + 75, y - 40, 212, 32, item1.name)
      end
    end
  end
  def item=(item)
    if @item != item
      @item = item
      refresh
    end
  end
end

#===============================================================================
# Scene_Shop
#===============================================================================
class Scene_Shop
#--------------------------------------------------------------------------
# Main
#--------------------------------------------------------------------------       
  def main
    @mshop_back = Plane.new
    @mshop_back.bitmap = RPG::Cache.picture("MN_BK2")
    @mshop_back.z = 10
    @mshop_lay = Sprite.new
    @mshop_lay.bitmap = RPG::Cache.picture("Shop_Lay")
    @mshop_lay.z = 15
    @mshop_com = Sprite.new
    @mshop_com.bitmap = RPG::Cache.picture("Shop_Com01")
    @mshop_com.z = 20
    @help_window = Window_Help.new
    @help_window.contents.font.name = "Georgia"
    @help_window.y = 413
    @command_window = Window_ShopCommand.new
    @command_window.visible = false
    @gold_window = Window_Gold.new
    @gold_window.x = 460
    @gold_window.y = -5
    @dummy_window = Window_Base.new(0, 128, 640, 352)
    @buy_window = Window_ShopBuy.new($game_temp.shop_goods)
    @buy_window.active = false
    @buy_window.visible = false
    @buy_window.help_window = @help_window
    @sell_window = Window_ShopSell.new
    @sell_window.active = false
    @sell_window.visible = false
    @sell_window.help_window = @help_window
    @number_window = Window_ShopNumber.new
    @number_window.active = false
    @number_window.visible = false
    @status_window = Window_ShopStatus.new
    @status_window.visible = false
    @help_window.opacity = 0
    @status_window.opacity = 0
    @sell_window.opacity = 0
    @buy_window.opacity = 0
    @gold_window.opacity = 0
    @command_window.opacity = 0
    @number_window.opacity = 0
    @dummy_window.opacity = 0
    Graphics.transition(MOG::MNSHPT, "Graphics/Transitions/" + MOG::MNSHPTT)
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    for i in 0..30
      @mshop_back.ox += 1
      @help_window.x -= 15     
      @gold_window.x += 15
      @mshop_lay.zoom_x += 0.1
      @mshop_lay.opacity -= 10
      @command_window.x -= 15
      @mshop_com.x -= 15
      @buy_window.x -= 20
      @sell_window.x -= 20
      Graphics.update 
    end 
    Graphics.freeze
    @help_window.dispose
    @command_window.dispose
    @gold_window.dispose
    @dummy_window.dispose
    @buy_window.dispose
    @sell_window.dispose
    @number_window.dispose
    @status_window.dispose
    @mshop_back.dispose   
    @mshop_lay.dispose
    @mshop_com.dispose
  end
#--------------------------------------------------------------------------
# Update
#--------------------------------------------------------------------------         
  def update
    @mshop_back.ox += 1
    if @help_window.x < 0
       @help_window.x += 10
       @help_window.contents_opacity += 10
    elsif @help_window.x >= 0 
      @help_window.x = 0
      @help_window.contents_opacity = 255     
    end 
    if @sell_window.active == true
       @sell_window.visible = true
    if @sell_window.x < -10
       @sell_window.x += 15
       @sell_window.contents_opacity += 10
    elsif @sell_window.x >= -10 
       @sell_window.x = -10
       @sell_window.contents_opacity = 255     
    end 
    else
    if @sell_window.x > -300
       @sell_window.x -= 15
       @sell_window.contents_opacity -= 10
    elsif @sell_window.x <= -300 
       @sell_window.x = -300
       @sell_window.contents_opacity = 0
       @sell_window.visible = false
    end     
    end 
    if @buy_window.active == true
       @buy_window.visible = true
    if @buy_window.x < -10
       @buy_window.x += 15
       @buy_window.contents_opacity += 10
    elsif @buy_window.x >= -10 
       @buy_window.x = -10
       @buy_window.contents_opacity = 255     
    end 
    else
    if @buy_window.x > -300
       @buy_window.x -= 15
       @buy_window.contents_opacity -= 10
    elsif @buy_window.x <= -300 
       @buy_window.x = -300
       @buy_window.contents_opacity = 0
       @buy_window.visible = false
    end     
    end 
    if @number_window.active == true
       @number_window.visible = true
    if @number_window.x < -10
       @number_window.x += 15
       @number_window.contents_opacity += 10
    elsif @number_window.x >= -10 
       @number_window.x = -10
       @number_window.contents_opacity = 255     
    end 
    else
    if @number_window.x > -300
       @number_window.x -= 15
       @number_window.contents_opacity -= 10
    elsif @number_window.x <= -300 
       @number_window.x = -300
       @number_window.contents_opacity = 0
       @number_window.visible = false
    end     
    end 
    if @number_window.active == false
      if Input.trigger?(Input.dir4) or Input.trigger?(Input::C) or
         Input.trigger?(Input::L) or Input.trigger?(Input::R)     
        @help_window.x = -200
        @help_window.contents_opacity = 0
      end
    end
    @help_window.update
    @command_window.update
    @gold_window.update
    @dummy_window.update
    @buy_window.update
    @sell_window.update
    @number_window.update
    @status_window.update
    case @command_window.index
    when 0
      @mshop_com.bitmap = RPG::Cache.picture("Shop_Com01")
    when 1
      @mshop_com.bitmap = RPG::Cache.picture("Shop_Com02")
    when 2
      @mshop_com.bitmap = RPG::Cache.picture("Shop_Com03")
    end
    if @command_window.active
      update_command
      return
    end
    if @buy_window.active
      update_buy
      return
    end
    if @sell_window.active
      update_sell
      return
    end
    if @number_window.active
      update_number
      return
    end
  end
#--------------------------------------------------------------------------
# Update_Command
#--------------------------------------------------------------------------         
  def update_command
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
      return
    end
    if Input.trigger?(Input::C)
      case @command_window.index
      when 0 
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @dummy_window.visible = false
        @buy_window.active = true
        @buy_window.refresh
        @status_window.visible = true
      when 1
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @dummy_window.visible = false
        @sell_window.active = true
        @sell_window.refresh
      when 2 
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Map.new
      end
      return
    end
  end
#--------------------------------------------------------------------------
# Update Buy
#--------------------------------------------------------------------------         
  def update_buy
    @status_window.item = @buy_window.item
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @dummy_window.visible = true
      @buy_window.active = false
      @status_window.visible = false
      @status_window.item = nil
      @help_window.set_text("")
      return
    end
    if Input.trigger?(Input::C)
      @item = @buy_window.item
      if @item == nil or @item.price > $game_party.gold
        $game_system.se_play($data_system.buzzer_se)
        return
      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 number == 99
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      $game_system.se_play($data_system.decision_se)
      max = @item.price == 0 ? 99 : $game_party.gold / @item.price
      max = [max, 99 - number].min
      @buy_window.active = false
      @number_window.set(@item, max, @item.price)
      @number_window.active = true
    end
  end
#--------------------------------------------------------------------------
# Update Sell
#--------------------------------------------------------------------------         
  def update_sell
    @status_window.item = @sell_window.item
     @status_window.visible = true
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @dummy_window.visible = true
      @sell_window.active = false
      @status_window.item = nil
      @help_window.set_text("")
      return
    end
    if Input.trigger?(Input::C)
      @item = @sell_window.item
      @status_window.item = @item
      if @item == nil or @item.price == 0
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      $game_system.se_play($data_system.decision_se)
      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
      max = number
      @sell_window.active = false
      @number_window.set(@item, max, @item.price / 2)
      @number_window.active = true
      @status_window.visible = true
    end
  end
#--------------------------------------------------------------------------
# Update Number
#--------------------------------------------------------------------------         
  def update_number
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @number_window.active = false
      case @command_window.index
      when 0 
        @buy_window.active = true
      when 1
        @sell_window.active = true
        @status_window.visible = false
      end
      return
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.shop_se)
      @number_window.active = false
      case @command_window.index
      when 0
        $game_party.lose_gold(@number_window.number * @item.price)
        case @item
        when RPG::Item
          $game_party.gain_item(@item.id, @number_window.number)
        when RPG::Weapon
          $game_party.gain_weapon(@item.id, @number_window.number)
        when RPG::Armor
          $game_party.gain_armor(@item.id, @number_window.number)
        end
        @gold_window.refresh
        @buy_window.refresh
        @status_window.refresh
        @buy_window.active = true
      when 1
        $game_party.gain_gold(@number_window.number * (@item.price / 2))
        case @item
        when RPG::Item
          $game_party.lose_item(@item.id, @number_window.number)
        when RPG::Weapon
          $game_party.lose_weapon(@item.id, @number_window.number)
        when RPG::Armor
          $game_party.lose_armor(@item.id, @number_window.number)
        end
        @gold_window.refresh
        @sell_window.refresh
        @status_window.refresh
        @sell_window.active = true
        @status_window.visible = false
      end
      return
    end
  end
end

$mog_rgss_Scene_Shop = true


I had to edit the background for the shop to make it fit five actors without running into the window frames, so you'll need to replace the Shop_Lay.png in your Pictures folder with this one:

Spoiler: ShowHide

KK20

++ for doing something I forgot about
It was really just a matter of repositioning and increasing the sizes of windows, right?

Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

WhiteRose

Quote from: KK20 on August 19, 2013, 07:06:30 pm
++ for doing something I forgot about
It was really just a matter of repositioning and increasing the sizes of windows, right?


Yeah, I only had to change a line or two to change where it draws the window and to make it a little bigger. The hardest part was changing the background on the shop to make it fit - darn transparencies :P

PrinceEndymion88