08-10-2015, 05:59 PM 
	
	
	
		Here we go: (added as a attachment)
	
	
Code:
#==============================================================================
# ** MOG Scene Equip Asuka V1.5
#     By Moghunter  
#     http://www.atelier-rgss.com
#------------------------------------------------------------------------------
# ** Reinvisioned version
#    
#    This variant has retooled the MOG module by adding more configurables for
#    the user.  No longer are the graphics hardwired into the code but are now
#    able to be altered in the revised configuration serction.
#
#    Also, a number of redundant modules within the Windows and Scene classes
#    have been removed.  Some have been aliased to increase compatibility with
#    other systems.
#==============================================================================
module MOG
  
  # BASIC MENU CONFIGURATION
    # Equip Menu Graphics Used
      EQUIP_LAYOUT      = "Layout-Equip"    # Equip Menu Graphics
      EQUIP_BACKGROUND  = "Back-Other"      # Animated background graphic
      EQUIP_TYPE_1      = "ST_EQU"          # Equip Graphic (Equal)
      EQUIP_TYPE_2      = "ST_UP"           # Equip Graphic (Raises Stats)
      EQUIP_TYPE_3      = "ST_DOWN"         # Equip Graphic (Lowers Stats)
      PORTRAIT          = "_P"              # Suffix for portrait graphics
    # Menu 
      EQUIP_FX          = 0                 # Back FX (0=Moving/ 1=Still/ 2=Map)
      EQUIP_TRAN_TIME   = 20                # Transition Time.  
      EQUIP_TRAN_TYPE   = "004-Blind04"     # Transition Type (Name).
    # Stat Level Maximums
      EQUIP_STAT_MAX_1  = 999               # Set Maximum (STR,DEX,AGL,INT)
      EQUIP_STAT_MAX_2  = 999               # Set Maximum (ATK,PDEF,MDEF)
    # Font Used  
      EQUIP_FONT        = "Georgia"         # Font used in equip menu
      EQUIP_FONT_COLOR  = Color.new(0,0,0)  # Font color used open areas
      
  # MENU GAUGE GRAPHICS
    # Stat Window
      EQUIP_STAT_BACK   = "Status-Equip"    # Stat Window Graphics
    # Empty Bars      
      EQUIP_STAT_BAR_E  = "STAT_Bar_Bk"     # Empty bar for Stats    
    # Fill Bars
      EQUIP_STAT_BAR    = "STAT_Bar"        # Fill bar for Stats
  
end
# Mogscript global
$mogscript = {} if $mogscript == nil
$mogscript["menu_asuka"] = true
#==============================================================================
# ** Window_Base
#------------------------------------------------------------------------------
#  This class is for all in-game windows.
#==============================================================================
class Window_Base < Window
  #--------------------------------------------------------------------------
  # * Draw Empty Face #2
  #--------------------------------------------------------------------------  
  def nada2(actor)
    face = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
  end    
  #--------------------------------------------------------------------------
  # * Draw Large Portrait (or Battler if unavailable)
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #--------------------------------------------------------------------------  
  def draw_heroface2(actor,x,y)
    face = RPG::Cache.picture(actor.name + MOG::PORTRAIT) rescue nada2(actor)
    cw = face.width 
    ch = face.height 
    src_rect = Rect.new(0, 0, cw, ch)
    if face == RPG::Cache.battler(actor.battler_name, actor.battler_hue)
      self.contents.blt(x + 40 , y - ch - 240, face, src_rect)    
    else  
      self.contents.blt(x , y - ch, face, src_rect)    
    end
  end   
  #--------------------------------------------------------------------------
  # * Draw Equipment Gain/Loss
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #     type  : indicator type
  #--------------------------------------------------------------------------
  def drw_eqpup(x,y,type)
    case type
    when 0
      est = RPG::Cache.icon(MOG::EQUIP_TYPE_1)
    when 1
      est = RPG::Cache.icon(MOG::EQUIP_TYPE_2)
    when 2
      est = RPG::Cache.icon(MOG::EQUIP_TYPE_3)  
    end  
    cw = est.width 
    ch = est.height 
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x , y - ch, est, src_rect)    
  end   
  #--------------------------------------------------------------------------
  # * Draw Equipment Stat Graphic
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #--------------------------------------------------------------------------
  def drw_equist(x,y)
    equist = RPG::Cache.picture(MOG::EQUIP_STAT_BACK)
    cw = equist.width 
    ch = equist.height 
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x , y - ch, equist, src_rect)    
  end  
  #--------------------------------------------------------------------------
  # * Draw Parameter
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #     type  : parameter type (0-6)
  #--------------------------------------------------------------------------
  def draw_actor_parameter(actor, x, y, type)
    back = RPG::Cache.picture(MOG::EQUIP_STAT_BAR_E)    
    cw = back.width  
    ch = back.height 
    src_rect = Rect.new(0, 0, cw, ch)    
    self.contents.blt(x + 50 , y - ch + 20, back, src_rect)  
    meter = RPG::Cache.picture(MOG::EQUIP_STAT_BAR)    
    case type
    when 0
      parameter_value = actor.atk
      cw = meter.width  * actor.atk / MOG::EQUIP_STAT_MAX_2
    when 1
      parameter_value = actor.pdef
      cw = meter.width  * actor.pdef / MOG::EQUIP_STAT_MAX_2
    when 2
      parameter_value = actor.mdef
      cw = meter.width  * actor.mdef / MOG::EQUIP_STAT_MAX_2
    when 3
      parameter_value = actor.str
      cw = meter.width  * actor.str / MOG::EQUIP_STAT_MAX_1
    when 4
      parameter_value = actor.dex
      cw = meter.width  * actor.dex / MOG::EQUIP_STAT_MAX_1
    when 5
      parameter_value = actor.agi
      cw = meter.width  * actor.agi / MOG::EQUIP_STAT_MAX_1
    when 6
      parameter_value = actor.int
      cw = meter.width  * actor.int / MOG::EQUIP_STAT_MAX_1
    end
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 120, y - 2, 36, 32, parameter_value.to_s, 2)
    ch = meter.height 
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x + 50 , y - ch + 20, meter, src_rect) 
  end
end
#==============================================================================
# ** Window_EquipLeft
#------------------------------------------------------------------------------
#  This window displays actor parameter changes on the equipment screen.
#==============================================================================
class Window_EquipLeft < Window_Base
  alias mog_init initialize
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     actor : actor
  #--------------------------------------------------------------------------
  def initialize(actor)
    mog_init(actor)
    self.opacity = 0
    self.height = 446
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = MOG::EQUIP_FONT
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------  
  def refresh
    self.contents.clear
    draw_heroface2(@actor, 20, 460)      
    drw_equist(0,390)    
    draw_actor_name(@actor, 4, 0)
    draw_actor_level(@actor, 4, 32)
    draw_actor_parameter(@actor, 10, 164 , 0)
    draw_actor_parameter(@actor, 10, 196 , 1)
    draw_actor_parameter(@actor, 10, 228 , 2)
    draw_actor_parameter(@actor, 10, 260 , 3)
    draw_actor_parameter(@actor, 10, 292 , 4)
    draw_actor_parameter(@actor, 10, 324 , 5)
    draw_actor_parameter(@actor, 10, 356 , 6)        
    if @new_atk != nil
      self.contents.font.color = system_color
      if @new_atk < @actor.atk
      drw_eqpup(170,190,2)  
      self.contents.font.color = Color.new(255,50,50,255)      
      elsif @new_atk > @actor.atk
      drw_eqpup(170,190,1)  
      self.contents.font.color = Color.new(50,250,150,255)
      else
      drw_eqpup(170,190,0)        
      self.contents.font.color = Color.new(255,255,255,255)      
      end      
      self.contents.draw_text(190, 162, 36, 32, @new_atk.to_s, 2)
    end
    if @new_pdef != nil
      if @new_pdef < @actor.pdef
      drw_eqpup(170,226,2)  
      self.contents.font.color = Color.new(255,50,50,255)      
      elsif @new_pdef > @actor.pdef
      drw_eqpup(170,226,1)  
      self.contents.font.color = Color.new(50,250,150,255)
      else
      drw_eqpup(170,226,0)        
      self.contents.font.color = Color.new(255,255,255,255)      
      end  
      self.contents.draw_text(190, 194, 36, 32, @new_pdef.to_s, 2)
    end
    if @new_mdef != nil
      if @new_mdef < @actor.mdef
      drw_eqpup(170,258,2)  
      self.contents.font.color = Color.new(255,50,50,255)      
      elsif @new_mdef > @actor.mdef
      drw_eqpup(170,258,1)  
      self.contents.font.color = Color.new(50,250,150,255)
      else
      drw_eqpup(170,258,0)        
      self.contents.font.color = Color.new(255,255,255,255)      
      end
      self.contents.draw_text(190, 226, 36, 32, @new_mdef.to_s, 2)
    end
    if @new_str  != nil
      if @new_str < @actor.str
      drw_eqpup(170,290,2)  
      self.contents.font.color = Color.new(255,50,50,255)      
      elsif @new_str > @actor.str
      drw_eqpup(170,290,1)  
      self.contents.font.color = Color.new(50,250,150,255)
      else
      drw_eqpup(170,290,0)        
      self.contents.font.color = Color.new(255,255,255,255)      
      end
      self.contents.draw_text(190, 258, 36, 32, @new_str.to_s, 2)
    end
    if @new_dex  != nil
      if @new_dex < @actor.dex
      drw_eqpup(170,322,2)  
      self.contents.font.color = Color.new(255,50,50,255)      
      elsif @new_dex > @actor.dex
      drw_eqpup(170,322,1)  
      self.contents.font.color = Color.new(50,250,150,255)
      else
      drw_eqpup(170,322,0)        
      self.contents.font.color = Color.new(255,255,255,255)      
      end
      self.contents.draw_text(190, 290, 36, 32, @new_dex.to_s, 2)
    end
    if @new_agi  != nil
      if @new_agi < @actor.agi
      drw_eqpup(170,354,2)  
      self.contents.font.color = Color.new(255,50,50,255)      
      elsif @new_agi > @actor.agi
      drw_eqpup(170,354,1)  
      self.contents.font.color = Color.new(50,250,150,255)
      else
      drw_eqpup(170,354,0)        
      self.contents.font.color = Color.new(255,255,255,255)      
      end
      self.contents.draw_text(190, 322, 36, 32, @new_agi.to_s, 2)
    end
    if @new_int  != nil
      if @new_int < @actor.int
      drw_eqpup(170,386,2)  
      self.contents.font.color = Color.new(255,50,50,255)      
      elsif @new_int > @actor.int
      drw_eqpup(170,386,1)  
      self.contents.font.color = Color.new(50,250,150,255)
      else
      drw_eqpup(170,386,0)        
      self.contents.font.color = Color.new(255,255,255,255)      
      end
      self.contents.draw_text(190, 354, 36, 32, @new_int.to_s, 2)
    end
  end
  #--------------------------------------------------------------------------
  # * Set parameters after changing equipment
  #     new_atk  : attack power after changing equipment
  #     new_pdef : physical defense after changing equipment
  #     new_mdef : magic defense after changing equipment
  #     new_str  : strength after changing equipment
  #     new_dex  : dexterity after changing equipment
  #     new_agi  : agility after changing equipment
  #     new_int  : intelligence after changing equipment
  #--------------------------------------------------------------------------  
  def set_new_parameters(new_atk, new_pdef, new_mdef, new_str, new_dex,
    new_agi, new_int)
    if @new_atk != new_atk or @new_pdef != new_pdef or @new_mdef != new_mdef or
      @new_str != new_str or @new_dex != new_dex or @new_agl != new_agi or
      @new_int != new_int      
      @new_atk = new_atk
      @new_pdef = new_pdef
      @new_mdef = new_mdef
      @new_str = new_str
      @new_dex = new_dex
      @new_agi = new_agi
      @new_int = new_int
      refresh
    end
  end
end
#==============================================================================
# ** Window_EquipRight
#------------------------------------------------------------------------------
#  This window displays items the actor is currently equipped with on the
#  equipment screen.
#==============================================================================
class Window_EquipRight < Window_Selectable
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     actor : actor
  #--------------------------------------------------------------------------
  alias mog_init initialize
  def initialize(actor)
    mog_init(actor)
    self.opacity = 0
    self.contents.font.name = MOG::EQUIP_FONT
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------  
  def refresh
    self.contents.clear
    @data = []
    @data.push($data_weapons[@actor.weapon_id])
    @data.push($data_armors[@actor.armor1_id])
    @data.push($data_armors[@actor.armor2_id])
    @data.push($data_armors[@actor.armor3_id])
    @data.push($data_armors[@actor.armor4_id])
    @item_max = @data.size
    self.contents.font.color = system_color
    draw_item_name(@data[0], 92, 32 * 0)
    draw_item_name(@data[1], 92, 32 * 1)
    draw_item_name(@data[2], 92, 32 * 2)
    draw_item_name(@data[3], 92, 32 * 3)
    draw_item_name(@data[4], 92, 32 * 4)
  end
end
#==============================================================================
# ** Window_EquipItem
#------------------------------------------------------------------------------
#  This window displays choices when opting to change equipment on the
#  equipment screen.
#==============================================================================
class Window_EquipItem < Window_Selectable
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     actor      : actor
  #     equip_type : equip region (0-3)
  #--------------------------------------------------------------------------
  alias mog_init initialize
  def initialize(actor, equip_type)
    mog_init(actor, equip_type)
    self.width    = 368
    self.x        = 272
    self.opacity  = 0
    @column_max   = 1
    refresh
  end
  #--------------------------------------------------------------------------
  # * Draw Item
  #     index : item number
  #--------------------------------------------------------------------------  
  def draw_item(index)
    self.contents.font.name = MOG::EQUIP_FONT
    item = @data[index]
    x = 4 + index % 1 * (288 + 32)
    y = index / 1 * 32
    case item
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
    when RPG::Armor
      number = $game_party.armor_number(item.id)
    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 = MOG::EQUIP_FONT_COLOR
    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
    self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
    self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
  end
end
#==============================================================================
# ** Scene_Equip
#------------------------------------------------------------------------------
#  This class performs equipment screen processing.
#==============================================================================
class Scene_Equip
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------  
  def main
    unless MOG::EQUIP_FX == 2
      @mnback = Plane.new
      @mnback.bitmap = RPG::Cache.picture(MOG::EQUIP_BACKGROUND)
      @mnback.z = 1
    else
      @spriteset = Spriteset_Map.new
    end
    @mnlay = Sprite.new
    @mnlay.bitmap = RPG::Cache.picture(MOG::EQUIP_LAYOUT)
    @mnlay.z = 2
    @actor = $game_party.actors[@actor_index]
    @help_window = Window_Help.new
    @help_window.opacity = 0
    @help_window.x = -300
    @help_window.contents_opacity = 0
    @left_window = Window_EquipLeft.new(@actor)
    @left_window.x = -300
    @left_window.contents_opacity = 0
    @right_window = Window_EquipRight.new(@actor)
    @item_window1 = Window_EquipItem.new(@actor, 0)
    @item_window2 = Window_EquipItem.new(@actor, 1)
    @item_window3 = Window_EquipItem.new(@actor, 2)
    @item_window4 = Window_EquipItem.new(@actor, 3)
    @item_window5 = Window_EquipItem.new(@actor, 4)
    @item_window1.x = 640
    @item_window2.x = 640
    @item_window3.x = 640
    @item_window4.x = 640
    @item_window5.x = 640    
    @right_window.help_window = @help_window
    @item_window1.help_window = @help_window
    @item_window2.help_window = @help_window
    @item_window3.help_window = @help_window
    @item_window4.help_window = @help_window
    @item_window5.help_window = @help_window
    @right_window.index = @equip_index
    @right_window.x = 640
    refresh
    unless MOG::EQUIP_FX == 2
    Graphics.transition(MOG::EQUIP_TRAN_TIME, "Graphics/Transitions/" + 
      MOG::EQUIP_TRAN_TYPE)
    else
      Graphics.transition
    end
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    for i in 0..20
    @left_window.x -= 15
    @left_window.contents_opacity -= 10
    @item_window.x += 20
    @item_window.contents_opacity -= 15
    @right_window.x += 20
    @right_window.contents_opacity -= 15
    Graphics.update  
    end  
    Graphics.freeze
    @help_window.dispose
    @left_window.dispose
    @right_window.dispose
    @item_window1.dispose
    @item_window2.dispose
    @item_window3.dispose
    @item_window4.dispose
    @item_window5.dispose
    @mnback.dispose unless MOG::EQUIP_FX == 2
    @spriteset.dispose if MOG::EQUIP_FX == 2
    @mnlay.dispose
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------  
  def refresh 
    @item_window1.visible = (@right_window.index == 0)
    @item_window2.visible = (@right_window.index == 1)
    @item_window3.visible = (@right_window.index == 2)
    @item_window4.visible = (@right_window.index == 3)
    @item_window5.visible = (@right_window.index == 4)
    item1 = @right_window.item
    case @right_window.index
    when 0
      @item_window = @item_window1
    when 1
      @item_window = @item_window2
    when 2
      @item_window = @item_window3
    when 3
      @item_window = @item_window4
    when 4
      @item_window = @item_window5
    end
    if @right_window.active
      @left_window.set_new_parameters(nil, nil, nil,nil, nil, nil, nil)
    end
    if @item_window.active
      item2 = @item_window.item
      last_hp = @actor.hp
      last_sp = @actor.sp
      @actor.equip(@right_window.index, item2 == nil ? 0 : item2.id)
      new_atk = @actor.atk
      new_pdef = @actor.pdef
      new_mdef = @actor.mdef
      new_str = @actor.str
      new_dex = @actor.dex
      new_agi = @actor.agi
      new_int = @actor.int     
      @actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)
      @actor.hp = last_hp
      @actor.sp = last_sp
      @left_window.set_new_parameters(new_atk, new_pdef, new_mdef, new_str,
      new_dex,new_agi,new_int)      
    end
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------  
  def update
    if @right_window.x > 272
       @right_window.x -= 25
    elsif @right_window.x <= 272
       @right_window.x = 272
    end  
    if @item_window.x > 272
       @item_window.x -= 25 
    elsif @item_window.x <= 272
        @item_window.x = 272
    end
    if @item_window.active == false  
      if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN)
        @item_window.x = 640  
      end  
    end
    if @left_window.x < 0
      @left_window.x += 15
      @left_window.contents_opacity += 10
    elsif @left_window.x >= 0
      @left_window.x = 0
      @left_window.contents_opacity = 255
    end
    if @help_window.x < 0 
      @help_window.x  += 20
      @help_window.contents_opacity += 10
    elsif @help_window.x >= 0
      @help_window.x = 0
      @help_window.contents_opacity = 255
    end    
    @mnback.ox += 1 if MOG::EQUIP_FX == 0
    @left_window.update
    @right_window.update
    @item_window.update
    if Input.trigger?(Input::B) or Input.trigger?(Input::C) or
      Input.trigger?(Input.dir4) or Input.trigger?(Input::L) or
      Input.trigger?(Input::R) or Input.press?(Input.dir4)
      @help_window.x = -300
      @help_window.contents_opacity = 0
      refresh
    end    
    if @right_window.active
      update_right
      return
    end
    if @item_window.active
      update_item
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Frame Update (when item window is active)
  #--------------------------------------------------------------------------
  alias mog_update update_item
  def update_item
    mog_update
    refresh
  end
end
 
 
 Just move the Cursor of the Item_Scene to the right
 Just move the Cursor of the Item_Scene to the right
 

 
