Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
 Just move the Cursor of the Item_Scene to the right
#9
Thank you very very much that far. I've a last request if you accept it.
In addition to the MOG Item Menu, I'm also using the MOG Menu Status script and the equip script which I both added below.  
There is a addon  script called "Equipment Multi Slots" which basically allows one to  shape the equipment customized. For example it is possible to customize the equipment, so that one only can wear a Weapon, A armor and two accessories But the problem is, the  "Equipment Multi Slots" by ATOA, which is  basically a addon by the author of the script, that the equipment multi slots is not compatible with the MOG Status and Equip script I posted. When I arrange the Equipment other then the original (which is the goal of the script) I get a error on line 284 whenever I try to change my acessory in the equp menu. Is there any chance to make the both scripts  compatible  with the both MOG Scripts I posted?









Code:
#==============================================================================

# Equipment Multi Slots
# By Atoa
#==============================================================================
# This scripts add an multi equipment slot system, wich allows you to add
# an new variety of equipment.
#
# Add this script above all actor related scripts.
#
# IMPORTANT:
# - If you using the multi slot equip system, the event command for changing 
#   equips will be screwed.
#   So if you need to force any equip change with events, make an Script Call
#   and add this command:
#    $game_actors[Actor ID].equip(Slot Index, Equip ID)
#      Slot Index = remember that indexes starts from 0, so the 1st slot will
#        be index 0, the 2nd will be index 1...
# - This script change a lot of funcitons and may cause incompatiblities
#   with other systems, if that happens you will have to choose wich system use.
#==============================================================================


module Atoa
  # Do not remove or change these lines
  Equip_Lock = {}
  Armor_Lock = {}
  # Do not remove or change these lines
  
  # Equipment Kinds
  # The order of the values here define the order that the equipment will be
  # shown in the menu
  # If you repeat an value, means that the actor can equip more than one
  # equip of that type,
  Equip_Kinds = [0,1,2,3,5,4,4]
  # 0 = Weapons (if you add more than one value equal zero, all these equips
  #     will be considered 'right hand', so they won't remove the shield)
  # 1 = Shields (any equip set as 'Shield' will be exchanged by an weapon if
  #     the actor have the dual wielding)
  # 2 = Helmets
  # 3 = Armors
  # 4 = Accessories
  # Values above 5 are the extra slots, use to creat equipments like Boots, Capes...
  # You must set the IDs of the extra slots equips in 'Extra_Equips_ID'
  #
  # It's recomended that you leave only one 'Weapon' and one 'Shield', once
  # it interfere in the Dual Wielding and 2 Haded Weapons
  
  # You can change this value individually for each actor making an script call
  # and adding this command:
  # $game_actors[actor_id].equip_kind = [x,y,z]
  #   actor_id = actor ID
  #   [x,y,z] = new equip kind configuration
  
  # IDs of the equipments
  # Extra_Equips_ID = {kind => [equips_ids]}
  #  kind = equipment type, set on Equip_Kinds
  #  equips_ids = id of the armors of this equip type
  Extra_Equips_ID = {5 => [38,39]}
  
  # Name of the equips shown in the equip and status window
  Equip_Names = ['Right Hand', 'Left Hand', 'Helmet', 'Armor', 'Boots', 
                 'Accessory', 'Accessory']
  # The order here is the order that the names are shown in the menu, set
  # them according to the values set in 'Equip_Kinds'.
  # if you change the value of the kinds with script calls, remember to change
  # the names.
  
  # You can change this value individually for each actor making an script call
  # and adding this command:
  # $game_actors[actor_id].equip_names = [x,y,z]
  #   actor_id = actor ID
  #   [x,y,z] = new equip names configuration
  
  # Equipment Lock, these lines allows you to 'lock' an determined type of 
  # equipment, don't allow the actor to stay without equipment of this type
  # You can change equips freely, but can't remove.
  # E.g.: You have an Bow user character, and don't want him to stay without bows.

  #  Equip_Lock[equip_kind] = {actor_id =>[equip_type_id]}
  #    equip_kind = kind of the equipment
  #      'Weapon' for weapons, 'Armor' for armors
  #    actor_id = actor id
  #    equip_type_id = id of the equipment
  #      0 = right hand weapon
  #      1 = left hand weapon or shield
  #      2,3,4... = armors
  Equip_Lock['Weapon']= {1 => [0], 2 => [0], 3 => [0], 4 => [0], 
                         5 => [0], 6 => [0], 7 => [0], 8 => [0]}
  
  Equip_Lock['Armor']= {1 => [1], 2 => [1]}
  #=============================================================================
end

#==============================================================================
# ** Atoa Module
#==============================================================================
$atoa_script = {} if $atoa_script.nil?
$atoa_script['Atoa Multi Slot'] = true

#==============================================================================
# ** RPG::Armor
#------------------------------------------------------------------------------
# Class that manage armors
#==============================================================================

class RPG::Armor
  #--------------------------------------------------------------------------
  # * Type ID setting
  #--------------------------------------------------------------------------
  def type_id
    if Extra_Equips_ID != nil
      for kind in Extra_Equips_ID.dup
        return kind[0] if kind[1].include?(@id)
      end
    end
    return @kind + 1
  end
end

#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  This class handles the actor. It's used within the Game_Actors class
#  ($game_actors) and refers to the Game_Party class ($game_party).
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :weapon_fix
  attr_accessor :armor_fix
  attr_accessor :equip_kind
  attr_accessor :equip_names
  attr_accessor :equip_id
  #--------------------------------------------------------------------------
  # * Setup
  #     actor_id : actor ID
  #--------------------------------------------------------------------------
  alias setup_multislot setup
  def setup(actor_id)
    setup_multislot(actor_id)
    @equip_id = []
    @equip_kind = equip_kind
    @equip_names = equip_names
    for i in 0...@equip_kind.size
      id = @equip_kind[i]
      if id == 0 and i == 0
        @equip_id[i] = @weapon_id
      elsif id != 0 and (1..4).include?(id)
        @equip_id[i] = eval("@armor#{id}_id")
      else
        @equip_id[i] = 0
      end
    end
    @weapon_fix = [@weapon_fix]
    @weapon_fix[1] = @armor1_fix if $atoa_script['Atoa Two Hands'] and  two_swords_style
    @armor_fix = [false]
    for i in 0...@equip_kind.size
      id = @equip_kind[i]
      if (1..4).include?(id) and not ($atoa_script['Atoa Two Hands'] and id == 1 and
         two_swords_style)
        @armor_fix[i] = eval("@armor#{id}_fix")
      elsif id > 0 and not ($atoa_script['Atoa Two Hands'] and id == 1 and two_swords_style)
        @armor_fix[i] = false
      end
    end 
    @armor_fix[1] = @armor1_fix unless $atoa_script['Atoa Two Hands'] and two_swords_style
    @equip_id[1] = 0 if $atoa_script['Atoa Two Hands'] and
      (Two_Hands_Weapons.include?(@weapon_id) or two_swords_style)
    for equip in armors do update_auto_state(nil, equip) end
  end
  #--------------------------------------------------------------------------
  # * Get equip slots name
  #--------------------------------------------------------------------------
  def equip_names
    return @equip_names.nil? ? Equip_Names : @equip_names
  end
  #--------------------------------------------------------------------------
  # * Set new slot names
  #     n : new names
  #--------------------------------------------------------------------------
  def equip_names=(n)
    @equip_names = n
  end
  #--------------------------------------------------------------------------
  # * Get equips kind
  #--------------------------------------------------------------------------
  def equip_kind
    return @equip_kind.nil? ? Equip_Kinds : @equip_kind
  end
  #--------------------------------------------------------------------------
  # * Set new equips kind
  #     n : new kinds
  #--------------------------------------------------------------------------
  def equip_kind=(n)
    for i in 0...@equip_kind.size
      equip(i, 0) if @equip_kind[i] != n[i]
    end
    @equip_kind = n
    set_equip_id
  end
  #--------------------------------------------------------------------------
  # * Set equips ID
  #--------------------------------------------------------------------------
  def set_equip_id
    for i in 0...@equip_kind.size
      @equip_id[i] = 0 if @equip_id[i] == nil
    end
  end
  #--------------------------------------------------------------------------
  # * Get weapons
  #--------------------------------------------------------------------------
  def weapons
    result = []
    for i in 0...@equip_kind.size
      id = @equip_kind[i]
      if id == 0 or ($atoa_script['Atoa Two Hands'] and id == 1 and two_swords_style)
        @weapon_id = @equip_id[i].nil? ? 0 : @equip_id[i] if id == 0
        result << $data_weapons[@equip_id[i]]
      end
    end
    result.delete_if {|x| x == nil }
    return result
  end
  #--------------------------------------------------------------------------
  # * Get armors
  #--------------------------------------------------------------------------
  def armors
    result = []
    for i in 0...@equip_kind.size
      id = @equip_kind[i]
      if id > 0 and not ($atoa_script['Atoa Two Hands'] and id == 1 and two_swords_style)
        eval("@armor#{id}_id = @equip_id[i].nil? ? 0 : @equip_id[i]") if id < 5
        result << $data_armors[@equip_id[i]]
      end
    end
    result.delete_if {|x| x == nil }
    return result
  end
  #--------------------------------------------------------------------------
  # * Equipment lock
  #    type : equip type
  #--------------------------------------------------------------------------
  def lock_equip(type)
    equip = (type == 0 or ($atoa_script['Atoa Two Hands'] and type == 1 and
      two_swords_style)) ? 'Weapon' : 'Armor'
    id = @equip_kind[type]
    if Equip_Lock[equip] != nil
      eqp = Equip_Lock[equip].dup
    else
      return false
    end
    return (eqp.include?(@actor_id) and eqp[@actor_id].include?(id))
  end
  #--------------------------------------------------------------------------
  # * Change Equipment
  #     equip_type : type of equipment
  #     id         : weapon or armor ID (If 0, remove equipment)
  #--------------------------------------------------------------------------
  def equip(equip_type, id)
    type = @equip_kind[equip_type]
    if type == 0  
      if id == 0 or $game_party.weapon_number(id) > 0
        $game_party.gain_weapon(@equip_id[equip_type], 1)
        @equip_id[equip_type] = id
        $game_party.lose_weapon(id, 1)
      end
    elsif type == 1
      if $atoa_script['Atoa Two Hands'] and two_swords_style
        if id == 0 or $game_party.weapon_number(id) > 0
          $game_party.gain_weapon(@equip_id[equip_type], 1)
          @equip_id[equip_type] = id
          $game_party.lose_weapon(id, 1)
        end
      else
        if id == 0 or $game_party.armor_number(id) > 0
          update_auto_state($data_armors[@equip_id[equip_type]], $data_armors[id])
          $game_party.gain_armor(@equip_id[equip_type], 1)
          @equip_id[equip_type] = id
          $game_party.lose_armor(id, 1)
        end
      end
    elsif type > 1
      if id == 0 or $game_party.armor_number(id) > 0
        update_auto_state($data_armors[@equip_id[equip_type]], $data_armors[id])
        $game_party.gain_armor(@equip_id[equip_type], 1)
        @equip_id[equip_type] = id
        $game_party.lose_armor(id, 1)
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Remove secondary equip
  #--------------------------------------------------------------------------
  def remove_left_equip_actor
    for i in 0...@equip_kind.size
      equip(i, 0) if @equip_kind[i] == 1
    end
  end
  #--------------------------------------------------------------------------
  # * Remove secondary equip by class
  #     class_id : class ID
  #--------------------------------------------------------------------------
  def remove_left_equip_class(class_id)
    if class_id == @class_id
      for i in 0...@equip_kind.size
        equip(i, 0) if @equip_kind[i] == 1
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Change Class ID
  #     class_id : new class ID
  #--------------------------------------------------------------------------
  def class_id=(class_id)
    remove_equip_class_change(class_id, @class_id)
    if $data_classes[class_id] != nil
      @class_id = class_id
      for i in 0...@equip_kind.size
        if @equip_kind[i] == 0 or ($atoa_script['Atoa Two Hands'] and
           @equip_kind[i] == 1 and two_swords_style)
          equip(i, 0) unless equippable?($data_weapons[@equip_id[i]])
        else
          equip(i, 0) unless equippable?($data_armors[@equip_id[i]])
        end
      end
    end
  end
end


#==============================================================================
# ** Window_Selectable
#------------------------------------------------------------------------------
#  This window class contains cursor movement and scroll functions.
#==============================================================================

class Window_Selectable < Window_Base
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  alias update_windowselectable_multislot update
  def update
    if self.is_a?(Window_EquipRight)
      super
      if self.active and @item_max > 0 and @index >= 0
        if Input.repeat?(Input::DOWN)
          if (@column_max == 1 and Input.trigger?(Input::DOWN)) 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::UP)
          if (@column_max == 1 and Input.trigger?(Input::UP)) or
             @index >= @column_max
            $game_system.se_play($data_system.cursor_se)
            @index = (@index - @column_max + @item_max) % @item_max
          end
        end
        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
        if Input.repeat?(Input::R)
          @index == @item_max if @index < @item_max
        end
        if Input.repeat?(Input::L)
          @index == @item_max if @index < @item_max
        end
      end
      if self.active and @help_window != nil
        update_help
      end
      update_cursor_rect
    else
      update_windowselectable_multislot
    end
  end
end

#==============================================================================
# ** Window_Status
#------------------------------------------------------------------------------
#  This window displays full status specs on the status screen.
#==============================================================================

class Window_Status < Window_Base
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    draw_actor_graphic(@actor, 40, 112)
    draw_actor_name(@actor, 4, 0)
    draw_actor_class(@actor, 4 + 144, 0)
    draw_actor_level(@actor, 96, 32)
    draw_actor_state(@actor, 96, 64)
    draw_actor_hp(@actor, 96, 112, 172)
    draw_actor_sp(@actor, 96, 144, 172)
    status_size = Object.const_defined?(:Extra_Status) ? Extra_Status.size : 0
    for i in 0..2
      draw_actor_parameter(@actor, 96, 164 + [(236/(status_size + 6)), 20].max * i, i)
    end
    for i in 3..6
      draw_actor_parameter(@actor, 96, 168 + [(236/(status_size + 6)), 20].max * i, i)
    end
    for i in 7..(status_size + 6)
      draw_actor_parameter(@actor, 96, 172 + [(236/(status_size + 6)), 20].max * i,
        Extra_Status[i - 7]) if Extra_Status[i - 7] != nil
    end
    self.contents.font.color = system_color
    self.contents.draw_text(320, 48, 80, 32, 'EXP')
    self.contents.draw_text(320, 80, 80, 32, 'Próximo')
    self.contents.draw_text(400, 128, 128, 32, 'Equipamentos')
    self.contents.font.color = normal_color
    self.contents.draw_text(400, 48, 84, 32, @actor.exp_s, 2)
    self.contents.draw_text(400, 80, 84, 32, @actor.next_rest_exp_s, 2)
    self.contents.font.color = system_color    
    data = []
    for i in 0...@actor.equip_kind.size
      id = @actor.equip_kind[i]
      if id == 0
        data.push($data_weapons[@actor.equip_id[i]])
      elsif id == 1 and ($atoa_script['Atoa Two Hands'] and @actor.two_swords_style)
        data.push($data_weapons[@actor.equip_id[i]])
      elsif id != 0 or ($atoa_script['Atoa Two Hands'] and id == 1 and not @actor.two_swords_style)
        data.push($data_armors[@actor.equip_id[i]])
      end
    end
    self.contents.font.color = system_color
    return if data.size == 0
    for i in 0...@actor.equip_names.size
      name = @actor.equip_names[i]
      self.contents.draw_text(320, 160 + [(280/data.size), 24].max * i, 92, 32, name)
    end
    for i in 0...data.size
      draw_item_name(data[i], 412, 160 + [(280/data.size), 24].max * i)
    end
  end
end

#==============================================================================
# ** Window_EquipRight
#------------------------------------------------------------------------------
#  This window displays items the actor is currently equipped with on the
#  equipment screen.
#==============================================================================

class Window_EquipRight < Window_Selectable
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :data
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     actor : actor
  #--------------------------------------------------------------------------
  def initialize(actor)
    super(272, 64, 368, 192)
    self.contents = Bitmap.new(width - 32, actor.equip_kind.size * 32)
    @actor = actor
    refresh
    self.index = 0
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @data = []
    for i in 0...@actor.equip_kind.size
      id = @actor.equip_kind[i]
      if id == 0
        @data.push($data_weapons[@actor.equip_id[i]])
      elsif id == 1 and ($atoa_script['Atoa Two Hands'] and @actor.two_swords_style)
        @data.push($data_weapons[@actor.equip_id[i]])
      elsif id != 0 or ($atoa_script['Atoa Two Hands'] and id == 1 and not @actor.two_swords_style)
        @data.push($data_armors[@actor.equip_id[i]])
      end
    end
    @item_max = @data.size
    self.contents.font.color = system_color
    for i in 0...@actor.equip_names.size
      name = @actor.equip_names[i]
      self.contents.draw_text(4, 32 * i, 92, 32, name)
    end
    for i in 0...@data.size
      draw_item_name(@data[i], 92, 32 * i)
    end
  end
  #--------------------------------------------------------------------------
  # * Help Text Update
  #--------------------------------------------------------------------------
  def update_help
    @help_window.set_text(self.item == nil ? '' : self.item.description)
  end
end

#==============================================================================
# ** Window_EquipItem
#------------------------------------------------------------------------------
#  This window displays choices when opting to change equipment on the
#  equipment screen.
#==============================================================================

class Window_EquipItem < Window_Selectable
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :data
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    if @equip_type == 0 or ($atoa_script['Atoa Two Hands'] and 
       @equip_type == 1 and @actor.two_swords_style)
      weapon_set = $data_classes[@actor.class_id].weapon_set
      for i in 1...$data_weapons.size
        next if $atoa_script['Atoa Two Hands'] and Two_Hands_Weapons.include?(i) and @equip_type == 1
        next if $atoa_script['Atoa Two Hands'] and Right_Hand_Weapons.include?(i) and @equip_type == 1
        next if $atoa_script['Atoa Two Hands'] and Left_Hand_Weapons.include?(i) and @equip_type == 0
        if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)
          @data.push($data_weapons[i])
        end
      end
    end
    if @equip_type > 0 and not ($atoa_script['Atoa Two Hands'] and @equip_type == 1 and @actor.two_swords_style)
      armor_set = $data_classes[@actor.class_id].armor_set
      for i in 1...$data_armors.size
        if $game_party.armor_number(i) > 0 and armor_set.include?(i)
          if $data_armors[i].type_id == @equip_type
            @data.push($data_armors[i])
          end
        end
      end
    end
    @data.push(nil) unless @actor.lock_equip(@equip_type)
    @item_max = @data.size
    self.contents = Bitmap.new(width - 32, [row_max, 1].max * 32)
    self.opacity = Equip_Window_Opacity if $atoa_script['Atoa New Status']
    for i in 0...(@actor.lock_equip(@equip_type) ? @item_max : @item_max - 1)
      draw_item(i)
    end
  end
  #--------------------------------------------------------------------------
  # * Draw Item
  #     index : item number
  #--------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    if $atoa_script['Atoa New Status']
      case Equip_Menu_Syle
      when 0,1,2
        x = 4 + index % 2 * (288 + 32)
        y = index / 2 * 32
      when 3,4
        x = 4
        y = index * 32
      end
    else
      x = 4 + index % 2 * (288 + 32)
      y = index / 2 * 32
    end
    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 = normal_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

#==============================================================================
# ** Window_ShopStatus
#------------------------------------------------------------------------------
#  This window displays number of items in possession and the actor's equipment
#  on the shop screen.
#==============================================================================

class Window_ShopStatus < Window_Base
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    return if @item.nil?
    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(4, 0, 200, 32, 'Você tem')
    self.contents.font.color = normal_color
    self.contents.draw_text(204, 0, 32, 32, number.to_s, 2)
    return if @item.is_a?(RPG::Item)
    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(4, 64 + 64 * i, 120, 32, actor.name)
      for n in 0...actor.equip_kind.size
        id = actor.equip_kind[n]
        if @item.is_a?(RPG::Weapon) 
          item1 = $data_weapons[actor.equip_id[n]] if id == 0
        else
          if $data_armors[actor.equip_id[n]].type == @item.type_id and not
             (@item.type_id == 1 and actor.two_swords_style)
            item1 = $data_armors[actor.equip_id[n]]
          end
        end
      end
      if actor.equippable?(@item)
        change = 0
        if @item.is_a?(RPG::Weapon)
          atk1 = item1 != nil ? item1.atk : 0
          atk2 = @item != nil ? @item.atk : 0
          change = atk2 - atk1
        elsif @item.is_a?(RPG::Armor) and @item.kind <= 2
          pdef1 = item1 != nil ? item1.pdef : 0
          mdef1 = item1 != nil ? item1.mdef : 0
          pdef2 = @item != nil ? @item.pdef : 0
          mdef2 = @item != nil ? @item.mdef : 0
          change = pdef2 - pdef1 + mdef2 - mdef1
        elsif @item.is_a?(RPG::Armor) and  @item.kind > 2
          change = 0
          item1 = nil
        end
        if change > 0 and actor.equippable?(@item)
          self.contents.font.color = text_color(3)
        elsif change < 0 and actor.equippable?(@item)
          self.contents.font.color = text_color(2)
        end
        self.contents.draw_text(64, 64 + 64 * i, 128, 32,sprintf('%+d', change), 2)
        self.contents.font.color = normal_color
      end
      if item1 != nil
        x = 4
        y = 64 + 64 * i + 32
        bitmap = RPG::Cache.icon(item1.icon_name)
        opacity = self.contents.font.color == normal_color ? 255 : 128
        self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
        self.contents.draw_text(x + 28, y, 212, 32, item1.name)
      end
    end
  end
end

#==============================================================================
# ** Scene_Equip
#------------------------------------------------------------------------------
#  This class performs equipment screen processing.
#==============================================================================

class Scene_Equip
  #--------------------------------------------------------------------------
  # * Include Settings Module
  #--------------------------------------------------------------------------
  include Atoa
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  def main
    @actor = $game_party.actors[@actor_index]
    @help_window = Window_Help.new
    @left_window = Window_EquipLeft.new(@actor)
    @right_window = Window_EquipRight.new(@actor)
    @right_window.index = @equip_index
    item_window_update
    @right_window.help_window = @help_window
    for i in 0...@actor.equip_kind.size
      eval("@item_window#{i + 1}.help_window = @help_window")
    end
    refresh
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      break if $scene != self
    end
    Graphics.freeze
    @help_window.dispose
    @left_window.dispose
    @right_window.dispose
    item_window_dispose  
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    @help_window.opacity = Equip_Window_Opacity if $atoa_script['Atoa New Status']
    if @right_window.index > @right_window.data.size - 1
      @right_window.index = @right_window.data.size - 1
    end
    for i in 0...@actor.equip_kind.size
      eval("@item_window#{i + 1}.visible = (@right_window.index == #{i})")
    end
    item1 = @right_window.item
    eval("@item_window = @item_window#{@right_window.index + 1}")
    @left_window.set_new_parameters(nil, nil, nil) if @right_window.active
    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)
      re_equip = []
      if $atoa_script['Atoa Two Hands'] and @item2 != nil and @item2.type_id == 0 and Two_Hands_Weapons.include?(@item2.id)
        for i in 0...@actor.equip_kind.size
          id = @actor.equip_kind[i]
          if id == 1
            re_equip << [i, @actor.equip_id[i]]
            @actor.equip(i, 0)
          end
        end
      elsif @item2 != nil and (@item2.type_id == 1 or ($atoa_script['Atoa Two Hands'] and
         @item2.type_id == 0 and @actor.two_swords_style))
        for i in 0...@actor.equip_kind.size
          id = @actor.equip_kind[i]
          if $atoa_script['Atoa Two Hands'] and @right_window.index != i and id == 0 and 
             Two_Hands_Weapons.include?(@actor.equip_id[id])
            re_equip << [i, @actor.equip_id[i]]
            @actor.equip(i, 0)
          end
        end
      end
      new_atk = @actor.atk
      new_pdef = @actor.pdef
      new_mdef = @actor.mdef
      if $atoa_script['Atoa New Status']
        new_str = @actor.str
        new_dex = @actor.dex
        new_agi = @actor.agi
        new_int = @actor.int
        new_eva = @actor.eva
        new_hit = @actor.hit
        new_crt = @actor.crt 
        new_dmg = @actor.dmg
        new_rcrt = @actor.rcrt
        new_rdmg = @actor.rdmg
      end
      @actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)
      for equip in re_equip
        @actor.equip(equip[0], equip[1])
      end
      @actor.hp = last_hp
      @actor.sp = last_sp
      if $atoa_script['Atoa New Status']
        @left_window.set_new_parameters(new_atk, new_pdef, new_mdef, new_str, new_dex, 
          new_agi, new_int, new_eva, new_hit, new_crt, new_dmg, new_rcrt, new_rdmg)
      else
        @left_window.set_new_parameters(new_atk, new_pdef, new_mdef)
      end
    end
  end
  #-------------------------------------------------------------------------- 
  # * Update item window
  #-------------------------------------------------------------------------- 
  def item_window_update
    for i in 0...@actor.equip_kind.size
      type = @actor.equip_kind[i]
      eval("@item_window#{i+1} = Window_EquipItem.new(@actor, type)")
    end
    for i in 0...@actor.equip_kind.size
      eval("@item_window#{i + 1}.help_window = @help_window")
    end
    refresh
  end
  #-------------------------------------------------------------------------- 
  # * Dispose item window
  #-------------------------------------------------------------------------- 
  def item_window_dispose
    for i in 0...@actor.equip_kind.size
      eval("@item_window#{i+1}.dispose if @item_window#{i+1} != nil")
    end
  end
  #--------------------------------------------------------------------------
  # * Frame Update (when item window is active)
  #--------------------------------------------------------------------------
  alias update_item_multislot update_item
  def update_item
    if Input.trigger?(Input::C)
      item = @item_window.item
      @actor.equip(@right_window.index, item == nil ? 0 : item.id)
      update_hands(item) if $atoa_script['Atoa Two Hands']
      @right_window.active = true
      @item_window.active = false
      @item_window.index = -1
      @right_window.refresh
      @item_window.refresh
      $game_system.se_play($data_system.equip_se)
      return
    end
    update_item_multislot
  end
  #--------------------------------------------------------------------------
  # * Frame Update (when right window is active)
  #--------------------------------------------------------------------------
  def update_right
    if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN)
      @item_window.index = -1
      @item_window.refresh
    end
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new(2)
      return
    end
    if Input.trigger?(Input::C)
      if @actor.equip_fix?(@right_window.index) or (@item_window.data.size == 0 and 
          @actor.lock_equip(@right_window.index))
        return $game_system.se_play($data_system.buzzer_se)
      end
      $game_system.se_play($data_system.decision_se)
      @right_window.active = false
      @item_window.active = true
      @item_window.index = 0
      return
    end
    if Input.trigger?(Input::R)
      $game_system.se_play($data_system.cursor_se)
      @actor_index += $game_party.actors.size + 1
      @actor_index %= $game_party.actors.size
      $scene = Scene_Equip.new(@actor_index, @right_window.index)
      return
    end
    if Input.trigger?(Input::L)
      $game_system.se_play($data_system.cursor_se)
      @actor_index += $game_party.actors.size - 1
      @actor_index %= $game_party.actors.size
      $scene = Scene_Equip.new(@actor_index, @right_window.index)
      return
    end
  end
end
[/quote]








Code:
#_______________________________________________________________________________
# MOG Scene Equip Asuka V1.5          
#_______________________________________________________________________________
# By Moghunter    
# http://www.atelier-rgss.com
#_______________________________________________________________________________
module MOG
#Transition Time.  
MSEQPT= 20
#Transition Type.
MSEQPTT= "007-Line01"
# Set Maximum (STR,DEX,AGL,INT)
MST_ST = 999
# Set Maximum (ATK,PDEF,MDEF)
MST_STE = 999
end
$mogscript = {} if $mogscript == nil
$mogscript["menu_asuka"] = true
###############
# Window_Base #
###############
class Window_Base < Window
def nada2(actor)
face = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
end    
def draw_heroface2(actor,x,y)
face = RPG::Cache.picture(actor.name + "_fc2") 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    
def drw_eqpup(x,y,type)
case type
when 0
est = RPG::Cache.icon("ST_EQU")
when 1
est = RPG::Cache.icon("ST_UP")
when 2
est = RPG::Cache.icon("ST_DOWN")  
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  
def drw_equist(x,y)
equist = RPG::Cache.picture("Equip_St")
cw = equist.width
ch = equist.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y - ch, equist, src_rect)    
end  
def draw_actor_parameter2(actor, x, y, type)
back = RPG::Cache.picture("STBAR_Back")    
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("STBAR.png")    
case type
when 0
parameter_value = actor.atk
cw = meter.width  * actor.atk / MOG::MST_STE
when 1
parameter_value = actor.pdef
cw = meter.width  * actor.pdef / MOG::MST_STE
when 2
parameter_value = actor.mdef
cw = meter.width  * actor.mdef / MOG::MST_STE
when 3
parameter_value = actor.str
cw = meter.width  * actor.str / MOG::MST_ST
when 4
parameter_value = actor.dex
cw = meter.width  * actor.dex / MOG::MST_ST
when 5
parameter_value = actor.agi
cw = meter.width  * actor.agi / MOG::MST_ST
when 6
parameter_value = actor.int
cw = meter.width  * actor.int / MOG::MST_ST
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
def nada
face = RPG::Cache.picture("")
end  
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  
end
####################
# Window_EquipLeft #
####################
class Window_EquipLeft < Window_Base
 def initialize(actor)
   super(0, 64, 272, 446)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.opacity = 0
   self.contents.font.name = "Tahoma"  
   self.contents.font.size = 12
   @actor = actor
   refresh
 end
 def refresh
   self.contents.clear
   draw_heroface2(@actor, 20, 400)      
   drw_equist(0,390)    
   draw_actor_name(@actor, 130, -10)
   draw_actor_level(@actor, 4, 32)
   draw_actor_parameter2(@actor, 10, 164 , 0)
   draw_actor_parameter2(@actor, 10, 196 , 1)
   draw_actor_parameter2(@actor, 10, 228 , 2)
   draw_actor_parameter2(@actor, 10, 260 , 3)
   draw_actor_parameter2(@actor, 10, 292 , 4)
   draw_actor_parameter2(@actor, 10, 324 , 5)
   draw_actor_parameter2(@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
 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 #
#####################
class Window_EquipRight < Window_Selectable
 def initialize(actor)
   super(272, 64, 368, 192)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.opacity = 0
   self.contents.font.name = "Tahoma"  
   self.contents.font.size = 14
   @actor = actor
   refresh
   self.index = 0
 end
 def item
   return @data[self.index]
 end
 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
 def update_help
   @help_window.set_text(self.item == nil ? "" : self.item.description)
 end
end
####################
# Window_EquipItem #
####################
class Window_EquipItem < Window_Selectable
 def initialize(actor, equip_type)
   super(272, 256, 368, 224)
   self.opacity = 0
   @actor = actor
   @equip_type = equip_type
   @column_max = 1
   refresh
   self.active = false
   self.index = -1
 end
 def item
   return @data[self.index]
 end
 def refresh
   if self.contents != nil
     self.contents.dispose
     self.contents = nil
   end
   @data = []
   if @equip_type == 0
     weapon_set = $data_classes[@actor.class_id].weapon_set
     for i in 1...$data_weapons.size
       if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)
         @data.push($data_weapons[i])
       end
     end
   end
   if @equip_type != 0
     armor_set = $data_classes[@actor.class_id].armor_set
     for i in 1...$data_armors.size
       if $game_party.armor_number(i) > 0 and armor_set.include?(i)
         if $data_armors[i].kind == @equip_type-1
           @data.push($data_armors[i])
         end
       end
     end
   end
   @data.push(nil)
   @item_max = @data.size
   self.contents = Bitmap.new(width - 32, row_max * 32)
   for i in 0...@item_max-1
     draw_item(i)
   end
 end
 def draw_item(index)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 14
   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 = normal_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
 def update_help
   @help_window.set_text(self.item == nil ? "" : self.item.description)
 end
end
###############
# Scene_Equip #
###############
class Scene_Equip
 def initialize(actor_index = 0, equip_index = 0)
   @actor_index = actor_index
   @equip_index = equip_index
 end
 def main
   @mnback = Plane.new
   @mnback.bitmap = RPG::Cache.picture("MN_BK")
   @mnback.z = 1
   @mnlay = Sprite.new
   @mnlay.bitmap = RPG::Cache.picture("Equip_Lay")
   @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
   Graphics.transition(MOG::MSEQPT, "Graphics/Transitions/" + MOG::MSEQPTT)
   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
   @mnlay.dispose
 end
 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
 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    
   @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
 def update_right
   if Input.trigger?(Input::B)
     $game_system.se_play($data_system.cancel_se)
     $scene = Scene_Menu.new(2)
     return
   end
   if Input.trigger?(Input::C)
     if @actor.equip_fix?(@right_window.index)
       $game_system.se_play($data_system.buzzer_se)
       return
     end
     $game_system.se_play($data_system.decision_se)
     @right_window.active = false
     @item_window.active = true
     @item_window.index = 0
     refresh      
     return
   end
   if Input.trigger?(Input::R)
     $game_system.se_play($data_system.cursor_se)
     @actor_index += 1
     @actor_index %= $game_party.actors.size
     $scene = Scene_Equip.new(@actor_index, @right_window.index)
     return
   end
   if Input.trigger?(Input::L)
     $game_system.se_play($data_system.cursor_se)
     @actor_index += $game_party.actors.size - 1
     @actor_index %= $game_party.actors.size
     $scene = Scene_Equip.new(@actor_index, @right_window.index)
     return
   end
 end
 def update_item
   if Input.trigger?(Input::B)
     $game_system.se_play($data_system.cancel_se)
     @right_window.active = true
     @item_window.active = false
     @item_window.index = -1
     refresh
     return
   end
   if Input.trigger?(Input::C)
     $game_system.se_play($data_system.equip_se)
     item = @item_window.item
     @actor.equip(@right_window.index, item == nil ? 0 : item.id)
     @right_window.active = true
     @item_window.active = false
     @item_window.index = -1
     @right_window.refresh
     @item_window.refresh
     refresh      
     return
   end
 end
end
Code:
#_______________________________________________________________________________
# MOG Scene Status Eva V1.2            
#_______________________________________________________________________________
# By Moghunter  
# http://www.atelier-rgss.com
#_______________________________________________________________________________
module MOG
#Transition Time.  
MST_TT = 10
#Transition Type(Name).  
MST_TTT = "007-Line01"
# Set Maximum (STR,DEX,AGL,INT)
MST_ST = 999
# Set Maximum (ATK,PDEF,MDEF)
MST_STE = 999
end
$mogscript = {} if $mogscript == nil
$mogscript["menu_eva"] = true
##############
# Game_Actor #
##############
class Game_Actor < Game_Battler
def now_exp
return @exp - @exp_list[@level]
end
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  
def nada2(actor)
face = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
end    
def draw_heroface4(actor,x,y)
face = RPG::Cache.picture(actor.name + "_fc2") 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 + 45 , y - ch - 150, face, src_rect)    
else  
self.contents.blt(x , y - ch, face, src_rect)    
end
end  
def draw_actor_parameter2(actor, x, y, type)
back = RPG::Cache.picture("STBAR_Back")    
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("STBAR.png")    
case type
when 0
parameter_value = actor.atk
cw = meter.width  * actor.atk / MOG::MST_STE
when 1
parameter_value = actor.pdef
cw = meter.width  * actor.pdef / MOG::MST_STE
when 2
parameter_value = actor.mdef
cw = meter.width  * actor.mdef / MOG::MST_STE
when 3
parameter_value = actor.str
cw = meter.width  * actor.str / MOG::MST_ST
when 4
parameter_value = actor.dex
cw = meter.width  * actor.dex / MOG::MST_ST
when 5
parameter_value = actor.agi
cw = meter.width  * actor.agi / MOG::MST_ST
when 6
parameter_value = actor.int
cw = meter.width  * actor.int / MOG::MST_ST
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
def draw_maphp5(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  
def draw_mapsp5(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
def draw_mexp5(actor, x, y)
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 + 51, y , 84, 32, actor.next_rest_exp_s.to_s, 1)    
self.contents.font.color = Color.new(55,255,55,255)
self.contents.draw_text(x + 52, y + 1, 84, 32, actor.next_rest_exp_s.to_s, 1)    
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 45, y + 7, 84, 32, "N",0)
self.contents.font.color = Color.new(55,255,155,255)    
self.contents.draw_text(x + 44, y + 8, 84, 32, "N",0)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 10, y + 5, 30, 32, actor.level.to_s, 1)
self.contents.font.color = Color.new(255,255,255,255)    
self.contents.draw_text(x + 11, y + 6, 30, 32, actor.level.to_s, 1)    
end
end
##################
# Window_Status2 #
##################
class Window_Status < Window_Base
def initialize(actor)
super(0, 0, 660, 480)
self.contents = Bitmap.new(width - 32, height - 32)
@actor = actor
self.opacity = 0
refresh
end
def refresh
self.contents.clear
self.contents.font.name = "Tahoma"
self.contents.font.size = 14
draw_actor_name(@actor,100, 55)
draw_actor_class(@actor, 510, -5 )
draw_mexp5(@actor,310,130)
draw_actor_state(@actor, 130, 55)
draw_maphp5(@actor, 275, 165)
draw_mapsp5(@actor, 430, 165)
draw_actor_parameter2(@actor, 280, 108, 0)
draw_actor_parameter2(@actor, 460, 137, 1)
draw_actor_parameter2(@actor, 460, 108, 2)
draw_actor_parameter2(@actor, 280, 53, 3)
draw_actor_parameter2(@actor, 460, 53, 4)
draw_actor_parameter2(@actor, 280, 80, 5)
draw_actor_parameter2(@actor, 460, 80, 6)
self.contents.font.color = system_color
draw_item_name($data_weapons[@actor.weapon_id], 320 + 16, 228)
draw_item_name($data_armors[@actor.armor1_id], 320 + 16, 258)
draw_item_name($data_armors[@actor.armor2_id], 320 + 16, 288)
draw_item_name($data_armors[@actor.armor3_id], 320 + 16, 318)
draw_item_name($data_armors[@actor.armor4_id], 320 + 16, 348)
end
def dummy
self.contents.font.color = system_color
self.contents.draw_text(320, 112, 96, 32, $data_system.words.weapon)
self.contents.draw_text(320, 176, 96, 32, $data_system.words.armor1)
self.contents.draw_text(320, 240, 96, 32, $data_system.words.armor2)
self.contents.draw_text(320, 304, 96, 32, $data_system.words.armor3)
self.contents.draw_text(320, 368, 96, 32, $data_system.words.armor4)
draw_item_name($data_weapons[@actor.weapon_id], 320 + 24, 144)
draw_item_name($data_armors[@actor.armor1_id], 320 + 24, 208)
draw_item_name($data_armors[@actor.armor2_id], 320 + 24, 272)
draw_item_name($data_armors[@actor.armor3_id], 320 + 24, 336)
draw_item_name($data_armors[@actor.armor4_id], 320 + 24, 400)
end
end
###############
# Window_Face #
###############
class Window_Face < Window_Base
def initialize(actor)
super(0, -20, 300, 520)
self.contents = Bitmap.new(width - 32, height - 32)
@actor = actor
self.opacity = 0
refresh
end
def refresh
self.contents.clear
draw_heroface4(@actor,10,485)        
end
end
################
# Scene_Status #
################
class Scene_Status
def initialize(actor_index = 0, equip_index = 0)
@actor_index = actor_index
end
def main
@actor = $game_party.actors[@actor_index]
@status_window = Window_Status.new(@actor)
@status_face = Window_Face.new(@actor)
@status_face.z = 100    # edit: Eigentlic war 20
@status_face.x = -300
@status_face.contents_opacity = 0
@mst_lay = Sprite.new
@mst_lay.bitmap = RPG::Cache.picture("MST_Lay")
@mst_lay.z = 100
@mst_back1 = Plane.new
@mst_back1.bitmap = RPG::Cache.picture("MN_BK")
@mst_back1.z = 10
Graphics.transition(MOG::MST_TT, "Graphics/Transitions/" + MOG::MST_TTT)
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
for i in 0..30
@status_face.x -= 20  
@status_face.contents_opacity -= 15
Graphics.update
end  
Graphics.freeze
@mst_lay.dispose
@mst_back1.dispose
@status_face.dispose
@status_window.dispose
end
def update
@mst_back1.ox += 1
@mst_back1.oy += 1
if @status_face.x < 0
@status_face.x += 20
@status_face.contents_opacity += 15
elsif @status_face.x >= 0  
@status_face.x = 0  
@status_face.contents_opacity = 255
end  
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Menu.new(3)
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_Status.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_Status.new(@actor_index)
return
end
end
end
Reply }


Messages In This Thread
RE: Just move the Cursor of the Item_Scene to the right - by Djigit - 08-08-2015, 05:24 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
   Permanently modifying move speed Keeroh 5 8,590 05-24-2017, 05:47 AM
Last Post: DerVVulfman
   little Edit of the cursor world map system Djigit 3 5,851 08-24-2014, 02:31 AM
Last Post: Djigit
   Atoa ACBS Target move wrong after move to center Djigit 4 5,793 08-04-2014, 05:16 AM
Last Post: Djigit
   Possible to move battle actors when escaping? NewHope 8 12,362 07-27-2012, 06:14 AM
Last Post: NewHope
   Cursor, Selection, and Scrolling tnsi 7 9,710 01-10-2012, 04:16 AM
Last Post: DerVVulfman



Users browsing this thread: