skip to main | skip to sidebar
MelekTaus
Posts mit dem Label RPGVX-Scripts werden angezeigt. Alle Posts anzeigen
Posts mit dem Label RPGVX-Scripts werden angezeigt. Alle Posts anzeigen

Montag, 1. Februar 2010

MatrixInventory

Dies ist ein reines Style-Script, das dem Item-Menü ein neues Feeling gibt.
Die Items sind dann nämlich nicht mehr zeilenweise angeordnet sondern rastermäßig. Es wird lediglich das Symbol mit einer kleinen Zahl, die die Item-Anzahl vermittelt, angezeigt.
Zusätzlich wird eine ToolTip geöffnet mit der Information des Items, über das sich der Cursor befindet.
#==============================================================================
# MelekTaus' MatrixInventory
#------------------------------------------------------------------------------
# Version: 1.1
#------------------------------------------------------------------------------
# Info:  Use "|" for a new line in an item-description.
#==============================================================================
module MelekTaus
module MatrixInventory
  #--------------------------------------------------------------------------
  ACTIVE = true
  #--------------------------------------------------------------------------
  MATRIX_COLUMNS = 8
  #--------------------------------------------------------------------------
  TOOLTIP_BASE_WIDTH = 160
  TOOLTIP_BASE_BACKGROUND_COLOR = [0, 0, 0, 155]
  #--------------------------------------------------------------------------
  TOOLTIP_ITEM_NAME_FONT_NAME = Font.default_name
  TOOLTIP_ITEM_NAME_FONT_SIZE = Font.default_size
  TOOLTIP_ITEM_NAME_BOLD = true
  TOOLTIP_ITEM_NAME_COLOR = [255, 255, 255]
  #--------------------------------------------------------------------------
  TOOLTIP_ITEM_TYPE_FONT_NAME = Font.default_name
  TOOLTIP_ITEM_TYPE_FONT_SIZE = Font.default_size - 4
  TOOLTIP_ITEM_TYPE_BOLD = false
  TOOLTIP_ITEM_TYPE_COLOR = [255, 255, 255, 155]
  #--------------------------------------------------------------------------
  TOOLTIP_ITEM_PRICE_FONT_NAME = Font.default_name
  TOOLTIP_ITEM_PRICE_FONT_SIZE = Font.default_size - 6
  TOOLTIP_ITEM_PRICE_BOLD = false
  TOOLTIP_ITEM_PRICE_COLOR = [255, 255, 0]
  #--------------------------------------------------------------------------
  TOOLTIP_ITEM_DESCRIPTION_FONT_NAME = Font.default_name
  TOOLTIP_ITEM_DESCRIPTION_FONT_SIZE = Font.default_size - 4
  TOOLTIP_ITEM_DESCRIPTION_BOLD = false
  TOOLTIP_ITEM_DESCRIPTION_COLOR = [255, 255, 255]
  #--------------------------------------------------------------------------
  TOOLTIP_ITEM_ATTRIBUTE_FONT_NAME = Font.default_name
  TOOLTIP_ITEM_ATTRIBUTE_FONT_SIZE = Font.default_size - 4
  TOOLTIP_ITEM_ATTRIBUTE_BOLD = false
  TOOLTIP_HP_COLOR = [255, 155, 155]
  TOOLTIP_MP_COLOR = [155, 155, 255]
  TOOLTIP_ATK_COLOR = [255, 255, 255]
  TOOLTIP_DEF_COLOR = [255, 255, 255]
  TOOLTIP_SPI_COLOR = [255, 255, 255]
  TOOLTIP_AGI_COLOR = [255, 255, 255]
  #--------------------------------------------------------------------------
  ITEM_NUMBER_FONT_NAME = Font.default_name
  ITEM_NUMBER_FONT_SIZE = Font.default_size - 6
  ITEM_NUMBER_BOLD = false
  ITEM_NUMBER_COLOR = [255, 255, 255]
  #--------------------------------------------------------------------------
  VOCAB_TYPE_WEAPON = "Waffe"  # Weapon
  VOCAB_TYPE_ARMOR1 = "Schild"  # Shield
  VOCAB_TYPE_ARMOR2 = "Kopf"  # Head
  VOCAB_TYPE_ARMOR3 = "Körper"  # Body
  VOCAB_TYPE_ARMOR4 = "Zubehör"  # Accessory
  VOCAB_TYPE_ITEM = "Gegenstand"  # Item
  VOCAB_PRICE = "Wert"  # Price
  VOCAB_HP = "HP"
  VOCAB_MP = "MP"
  VOCAB_ATK = "ATK"
  VOCAB_DEF = "DEF"
  VOCAB_SPI = "SPI"
  VOCAB_AGI = "AGI"
  #--------------------------------------------------------------------------
  SHOW_SELLING_PRICE_IN_INVENTORY = true
  SHOW_ITEMS_ONLY = true
  USE_QUICK_SHOP = true  # true => No "Item-Count-Request" in Shop
  TEXT_FOR_ZERO_PRICE = ""
  #--------------------------------------------------------------------------
end
end
#==============================================================================
if MelekTaus::MatrixInventory::ACTIVE
#==============================================================================
class Window_Base
  #--------------------------------------------------------------------------
  WLH_ITEM = 50
  #--------------------------------------------------------------------------
end
#==============================================================================
class Window_Item < Window_Selectable
  #--------------------------------------------------------------------------
  include MelekTaus::MatrixInventory
  #--------------------------------------------------------------------------
  def initialize(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return if parameters.nil?
    return if parameters.size < 4
    super(parameters[0], parameters[1], parameters[2], parameters[3])
    @column_max = MATRIX_COLUMNS
    @spacing = 10
    @tooltip_right_space = 0
    @tooltip_bottom_space = 0
    self.index = 0
    create_tooltip
    refresh
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def create_tooltip(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    @tooltip = Sprite.new
    @tooltip.z = 1000
    @tooltip.opacity = 0
    @tooltip_switch = false
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def create_contents(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    self.contents.dispose
    self.contents = Bitmap.new(width - 32, [height - 32, row_max * WLH_ITEM].max)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def refresh
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    @data = []
    for item in $game_party.items
      next unless include?(item)
      push_item = true
      if SHOW_ITEMS_ONLY
        push_item = false if !item.is_a?(RPG::Item) if $scene.is_a?(Scene_Item)
      end
      @data.push(item) if push_item
      if item.is_a?(RPG::Item) and item.id == $game_party.last_item_id
        self.index = @data.size - 1
      end
    end
    @data.push(nil) if include?(nil)
    @item_max = @data.size
    create_contents
    for i in 0...@item_max
      draw_item(i)
    end
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def top_row(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return self.oy / WLH_ITEM
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def top_row=(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return if parameters.nil?
    return if parameters.size < 1
    parameters[0] = 0 if parameters[0] < 0
    parameters[0] = row_max - 1 if parameters[0] > row_max - 1
    self.oy = parameters[0] * WLH_ITEM
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def page_row_max(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return (self.height - 32) / WLH_ITEM
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def cursor_down(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    parameters = [] if parameters.nil?
    parameters[0] = false if parameters[0].nil?
    wrap = parameters[0]
    if (@index < @item_max - @column_max) or (wrap and @column_max == 1)
      @index = (@index + @column_max) % @item_max
      @tooltip_switch = true
    end
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def cursor_up(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    parameters = [] if parameters.nil?
    parameters[0] = false if parameters[0].nil?
    wrap = parameters[0]
    if (@index >= @column_max) or (wrap and @column_max == 1)
      @index = (@index - @column_max + @item_max) % @item_max
      @tooltip_switch = true
    end
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def cursor_right(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    parameters = [] if parameters.nil?
    parameters[0] = false if parameters[0].nil?
    wrap = parameters[0]
    if (@column_max >= 2) and
       (@index < @item_max - 1 or (wrap and page_row_max == 1))
      @index = (@index + 1) % @item_max
      @tooltip_switch = true
    end
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def cursor_left(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    parameters = [] if parameters.nil?
    parameters[0] = false if parameters[0].nil?
    wrap = parameters[0]
    if (@column_max >= 2) and
       (@index > 0 or (wrap and page_row_max == 1))
      @index = (@index - 1 + @item_max) % @item_max
      @tooltip_switch = true
    end
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def cursor_pagedown(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    if top_row + page_row_max < row_max
      @index = [@index + page_item_max, @item_max - 1].min
      self.top_row += page_row_max
      @tooltip_switch = true
    end
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def cursor_pageup(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    if top_row > 0
      @index = [@index - page_item_max, 0].max
      self.top_row -= page_row_max
      @tooltip_switch = true
    end
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def update_cursor(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    if @index < 0
      self.cursor_rect.empty
    else
      row = @index / @column_max
      if row < top_row
        self.top_row = row
      end
      if row > bottom_row
        self.bottom_row = row
      end
      rect = item_rect(@index)
      rect.y /= WLH
      rect.y *= WLH_ITEM
      rect.y -= self.oy
      rect.height = 40
      self.cursor_rect = rect
    end
    draw_item_tooltip
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def draw_item(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return if parameters.nil?
    return if parameters.size < 1
    parameters[1] = true if parameters[1].nil?
    rect = item_rect(parameters[0])
    rect.y /= WLH
    rect.y *= WLH_ITEM
    rect.y += 8
    rect.width -= 4
    rect.height = 40
    self.contents.clear_rect(rect)
    item = @data[parameters[0]]
    unless item.nil?
      number = 0
      number = $game_party.item_number(item) if parameters[1]
      enabled = enable?(item)
      enabled = true if $scene.is_a?(Scene_Shop)
      draw_icon(item.icon_index, rect.x + 7, rect.y, enabled)
      self.contents.font.name = ITEM_NUMBER_FONT_NAME
      self.contents.font.size = ITEM_NUMBER_FONT_SIZE
      self.contents.font.bold = ITEM_NUMBER_BOLD
      self.contents.font.color.set(*ITEM_NUMBER_COLOR)
      self.contents.font.color.alpha = enabled ? 255 : 128 unless $scene.is_a?(Scene_Shop)
      self.contents.draw_text(rect, sprintf("%2d ", number), 2) if number > 1
    end
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def draw_item_tooltip(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    if not self.active or @tooltip_switch
      @tooltip.opacity -= 15 if @tooltip.opacity > 0
      @tooltip.opacity = 0 if @tooltip.opacity < 0
      @tooltip_switch = false if @tooltip.opacity == 0
    elsif @data != nil and item != nil
      info = item.description
      @tooltip.opacity += 15 if @tooltip.opacity < 255
      @tooltip.opacity = 255 if @tooltip.opacity > 255
      x = 6
      width = TOOLTIP_BASE_WIDTH
      text = []     
      text.push([2, [item.name, TOOLTIP_ITEM_NAME_FONT_SIZE, 0], [item_type, TOOLTIP_ITEM_TYPE_FONT_SIZE, 0], 4])
      text.push([4, [item.description, TOOLTIP_ITEM_DESCRIPTION_FONT_SIZE, 0], 4])
      if item_type == VOCAB_TYPE_ITEM
        t = [item.hp_recovery_rate, item.hp_recovery, item.mp_recovery_rate]
        t.push(item.mp_recovery)
      else
        t = [item.atk, item.def, item.spi, item.agi]
      end
      text.push([4, t, 4])
      height = 0
      if text[0][1][0] != "" or text[0][2][0] != ""
        height += text[0][0]
        if text[0][1][0] != ""
          height += text[0][1][1]
          height += text[0][1][2]
        end
        if text[0][2][0] != ""
          height += text[0][2][1]
          height += text[0][2][2]
        end
        height += text[0][3]
      end
      if text[1][1][0] != ""
        height += text[1][0]
        if text[1][1][0] != ""
          for i in 0...text[1][1][0].split("|").size
            height += text[1][1][1]
          end
          height += text[1][1][2]
        end
        height += text[1][2]
      end
      if text[2][1][0] != 0 or text[2][1][1] != 0 or text[2][1][2] != 0 or text[2][1][3] != 0
        height += text[2][0]
        height += TOOLTIP_ITEM_ATTRIBUTE_FONT_SIZE if text[2][1][0] != 0
        height += TOOLTIP_ITEM_ATTRIBUTE_FONT_SIZE if text[2][1][1] != 0
        height += TOOLTIP_ITEM_ATTRIBUTE_FONT_SIZE if text[2][1][2] != 0
        height += TOOLTIP_ITEM_ATTRIBUTE_FONT_SIZE if text[2][1][3] != 0
        height += text[2][2]
      end
      @tooltip.bitmap = Bitmap.new(width + 2 * x, height)
      @tooltip.bitmap.font.name = TOOLTIP_ITEM_NAME_FONT_NAME
      @tooltip.bitmap.font.size = TOOLTIP_ITEM_NAME_FONT_SIZE
      @tooltip.bitmap.fill_rect(@tooltip.bitmap.rect, Color.new(*TOOLTIP_BASE_BACKGROUND_COLOR))
      new_x = cursor_rect.x + 24
      if new_x > 520 - @tooltip.bitmap.width - @tooltip_right_space
        new_x = cursor_rect.x + WLH_ITEM - @tooltip.bitmap.width
      end
      @tooltip.x = new_x
      new_y = cursor_rect.y + self.y + WLH_ITEM
      if new_y > 366 - @tooltip.bitmap.height - @tooltip_bottom_space
        new_y = cursor_rect.y + self.y - @tooltip.bitmap.height + 22
      end
      @tooltip.y = new_y
      height = 0
      if text[0][1][0] != "" or text[0][2][0] != ""
        height += text[0][0]
        if text[0][1][0] != ""
          @tooltip.bitmap.font.name = TOOLTIP_ITEM_NAME_FONT_NAME
          @tooltip.bitmap.font.size = text[0][1][1]
          @tooltip.bitmap.font.bold = TOOLTIP_ITEM_NAME_BOLD
          @tooltip.bitmap.font.color.set(*TOOLTIP_ITEM_NAME_COLOR)
          @tooltip.bitmap.draw_text(x, height, width, text[0][1][1], text[0][1][0])
          height += text[0][1][1]
          height += text[0][1][2]
        end
        if text[0][2][0] != ""
          @tooltip.bitmap.font.name = TOOLTIP_ITEM_TYPE_FONT_NAME
          @tooltip.bitmap.font.size = text[0][2][1]
          @tooltip.bitmap.font.bold = TOOLTIP_ITEM_TYPE_BOLD
          @tooltip.bitmap.font.color.set(*TOOLTIP_ITEM_TYPE_COLOR)
          @tooltip.bitmap.draw_text(x, height, width, text[0][2][1], text[0][2][0])
          w = item.price
          w /= 2 if SHOW_SELLING_PRICE_IN_INVENTORY unless $scene.is_a?(Scene_Shop)
          @tooltip.bitmap.font.name = TOOLTIP_ITEM_PRICE_FONT_NAME
          @tooltip.bitmap.font.size = TOOLTIP_ITEM_PRICE_FONT_SIZE
          @tooltip.bitmap.font.bold = TOOLTIP_ITEM_PRICE_BOLD
          @tooltip.bitmap.font.color.set(*TOOLTIP_ITEM_PRICE_COLOR)
          if w == 0
            @tooltip.bitmap.draw_text(x, height, width, TOOLTIP_ITEM_TYPE_FONT_SIZE, "#{TEXT_FOR_ZERO_PRICE}", 2) 
          else
            @tooltip.bitmap.draw_text(x, height, width, TOOLTIP_ITEM_TYPE_FONT_SIZE, "#{VOCAB_PRICE}: #{w}", 2) 
          end
          height += text[0][2][1]
          height += text[0][2][2]
        end
        height += text[0][3]
      end
      if text[1][1][0] != ""
        height += text[1][0]
        if text[1][1][0] != ""
          for i in 0...text[1][1][0].split("|").size
            @tooltip.bitmap.font.name = TOOLTIP_ITEM_DESCRIPTION_FONT_NAME
            @tooltip.bitmap.font.size = text[1][1][1]
            @tooltip.bitmap.font.bold = TOOLTIP_ITEM_DESCRIPTION_BOLD
            @tooltip.bitmap.font.color.set(*TOOLTIP_ITEM_DESCRIPTION_COLOR)
            @tooltip.bitmap.draw_text(x, height, width, text[1][1][1], text[1][1][0].split("|")[i])
            height += text[1][1][1]
          end
          height += text[1][1][2]
        end
        height += text[1][2]
      end
      if text[2][1][0] != 0 or text[2][1][1] != 0 or text[2][1][2] != 0 or text[2][1][3] != 0
        height += text[2][0]
        if text[2][1][0] != 0
          @tooltip.bitmap.font.name = TOOLTIP_ITEM_ATTRIBUTE_FONT_NAME
          @tooltip.bitmap.font.size = TOOLTIP_ITEM_ATTRIBUTE_FONT_SIZE
          @tooltip.bitmap.font.bold = TOOLTIP_ITEM_ATTRIBUTE_BOLD
          if item_type == VOCAB_TYPE_ITEM
            @tooltip.bitmap.font.color.set(*TOOLTIP_HP_COLOR)
            if text[2][1][0] > 0
              new_text = "+ #{text[2][1][0]}% #{VOCAB_HP}"
            else
              new_text = "- #{text[2][1][0]}% #{VOCAB_HP}"
            end
          else
            @tooltip.bitmap.font.color.set(*TOOLTIP_ATK_COLOR)
            if text[2][1][0] > 0
              new_text = "+ #{text[2][1][0]} #{VOCAB_ATK}"
            else
              new_text = "- #{text[2][1][0]} #{VOCAB_ATK}"
            end
          end
          @tooltip.bitmap.draw_text(x, height, width, 16, new_text)
          height += 16
        end
        if text[2][1][1] != 0
          @tooltip.bitmap.font.name = TOOLTIP_ITEM_ATTRIBUTE_FONT_NAME
          @tooltip.bitmap.font.size = TOOLTIP_ITEM_ATTRIBUTE_FONT_SIZE
          @tooltip.bitmap.font.bold = TOOLTIP_ITEM_ATTRIBUTE_BOLD
          if item_type == VOCAB_TYPE_ITEM
            @tooltip.bitmap.font.color.set(*TOOLTIP_HP_COLOR)
            if text[2][1][1] > 0
              new_text = "+ #{text[2][1][1]} #{VOCAB_HP}"
            else
              new_text = "- #{text[2][1][1]} #{VOCAB_HP}"
            end
          else
            @tooltip.bitmap.font.color.set(*TOOLTIP_DEF_COLOR)
            if text[2][1][1] > 0
              new_text = "+ #{text[2][1][1]} #{VOCAB_DEF}"
            else
              new_text = "- #{text[2][1][1]} #{VOCAB_DEF}"
            end
          end
          @tooltip.bitmap.draw_text(x, height, width, 16, new_text)
          height += 16
        end
        if text[2][1][2] != 0
          @tooltip.bitmap.font.name = TOOLTIP_ITEM_ATTRIBUTE_FONT_NAME
          @tooltip.bitmap.font.size = TOOLTIP_ITEM_ATTRIBUTE_FONT_SIZE
          @tooltip.bitmap.font.bold = TOOLTIP_ITEM_ATTRIBUTE_BOLD
          if item_type == VOCAB_TYPE_ITEM
            @tooltip.bitmap.font.color.set(*TOOLTIP_MP_COLOR)
            if text[2][1][2] > 0
              new_text = "+ #{text[2][1][2]}% #{VOCAB_MP}"
            else
              new_text = "- #{text[2][1][2]}% #{VOCAB_MP}"
            end
          else
            @tooltip.bitmap.font.color.set(*TOOLTIP_SPI_COLOR)
            if text[2][1][2] > 0
              new_text = "+ #{text[2][1][2]} #{VOCAB_SPI}"
            else
              new_text = "- #{text[2][1][2]} #{VOCAB_SPI}"
            end
          end
          @tooltip.bitmap.draw_text(x, height, width, 16, new_text)
          height += 16
        end
        if text[2][1][3] != 0
          @tooltip.bitmap.font.name = TOOLTIP_ITEM_ATTRIBUTE_FONT_NAME
          @tooltip.bitmap.font.size = TOOLTIP_ITEM_ATTRIBUTE_FONT_SIZE
          @tooltip.bitmap.font.bold = TOOLTIP_ITEM_ATTRIBUTE_BOLD
          if item_type == VOCAB_TYPE_ITEM
            @tooltip.bitmap.font.color.set(*TOOLTIP_MP_COLOR)
            if text[2][1][3] > 0
              new_text = "+ #{text[2][1][3]} #{VOCAB_MP}"
            else
              new_text = "- #{text[2][1][3]} #{VOCAB_MP}"
            end
          else
            @tooltip.bitmap.font.color.set(*TOOLTIP_AGI_COLOR)
            if text[2][1][3] > 0
              new_text = "+ #{text[2][1][3]} #{VOCAB_AGI}"
            else
              new_text = "- #{text[2][1][3]} #{VOCAB_AGI}"
            end
          end
          @tooltip.bitmap.draw_text(x, height, width, 16, new_text)
          height += 16
        end
        height += text[2][2]
      end
    end
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def item_type(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    case true
      when item.is_a?(RPG::Item);    return VOCAB_TYPE_ITEM
      when item.is_a?(RPG::Weapon);  return VOCAB_TYPE_WEAPON
      when item.is_a?(RPG::Armor)
        return VOCAB_TYPE_ARMOR1 if item.kind == 0
        return VOCAB_TYPE_ARMOR2 if item.kind == 1
        return VOCAB_TYPE_ARMOR3 if item.kind == 2
        return VOCAB_TYPE_ARMOR4 if item.kind == 3
      else; return "???"
    end
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def dispose(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    super(*parameters)
    @tooltip.dispose
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def update_help(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    # do nothing
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------  
end
#==============================================================================
class Window_ShopBuy < Window_Item
  #--------------------------------------------------------------------------
  def initialize(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return if parameters.nil?
    return if parameters.size < 2
    @shop_goods = $game_temp.shop_goods
    super(parameters[0], parameters[1], 304, 304)
    @column_max = 6
    @spacing = 4
    @tooltip_right_space = 208
    @tooltip_bottom_space = WLH
    self.index = 0
    create_tooltip
    refresh
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def refresh(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    @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
    create_contents
    for i in 0...@item_max
      draw_item(i, false)
    end
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
end
#==============================================================================
class Scene_Shop
  #--------------------------------------------------------------------------
  def update_buy_selection(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    @status_window.item = @buy_window.item
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @command_window.active = true
      @dummy_window.visible = true
      @buy_window.active = false
      @buy_window.visible = false
      @status_window.visible = false
      @status_window.item = nil
      @help_window.set_text("")
      return
    end
    if Input.repeat?(Input::C)
      @item = @buy_window.item
      number = $game_party.item_number(@item)
      if @item == nil or @item.price > $game_party.gold or number == 99
        Sound.play_buzzer
      else
        if Window_Item::USE_QUICK_SHOP
          Sound.play_shop
          $game_party.lose_gold(@item.price)
          $game_party.gain_item(@item, 1)
          @gold_window.refresh
          @buy_window.refresh
          @status_window.refresh
        else
          Sound.play_decision
          max = @item.price == 0 ? 99 : $game_party.gold / @item.price
          max = [max, 99 - number].min
          @buy_window.active = false
          @buy_window.visible = false
          @number_window.set(@item, max, @item.price)
          @number_window.active = true
          @number_window.visible = true
        end
      end
    end
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def update_sell_selection(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @command_window.active = true
      @dummy_window.visible = true
      @sell_window.active = false
      @sell_window.visible = false
      @status_window.item = nil
      @help_window.set_text("")
    elsif Input.repeat?(Input::C)
      @item = @sell_window.item
      @status_window.item = @item
      if @item == nil or @item.price == 0
        Sound.play_buzzer
      else
        if Window_Item::USE_QUICK_SHOP
          Sound.play_shop
          $game_party.gain_gold(@item.price / 2)
          $game_party.lose_item(@item, 1)
          @gold_window.refresh
          @sell_window.refresh
          @status_window.refresh
        else
          Sound.play_decision
          max = $game_party.item_number(@item)
          @sell_window.active = false
          @sell_window.visible = false
          @number_window.set(@item, max, @item.price / 2)
          @number_window.active = true
          @number_window.visible = true
          @status_window.visible = true
        end
      end
    end
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
end
#==============================================================================
end
#==============================================================================
Erstellt von MelekTaus in der Kategorie RPGVX-Scripts
0 Kommentar(e)

RealEquip

Wer schon immer habe wollte, dass bestimmte Ausrüstungsteile im Spiel direkt am Spieler angezeigt werden sollen, dann ist dieses Script genau das Richtige.
Füge es einfach oberhalb des Main-Scripts ein. Weitere Informationen befinden sich im Kopf des Scripts. Viel Vergnügen!
#==============================================================================
# MelekTaus' RealEquip (Standard-RTP)
#------------------------------------------------------------------------------
# Das Script ist den Icons des Standard-RTPs angepasst, jedoch kann man selbst
# auch etwas an der Ausrichtung des RealEuips mit Hilfe der Tags umändern.
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Wenn sich der Tag <real_equip> im Note befindet, wird das RealEquip
# angezeigt, ansonsten nicht.
# Der Tag kann dann wieder mit </real_equip> geschlossen werden.
# Die Tags dazwischen sind OPTIONAL!
#------------------------------------------------------------------------------
# Waffe/Rüstung-Note:
# - - - - - - - - - - - VALUE mit einem entsprechenden Wert ersetzen  - - - - -
# <real_equip>      |                                                     |
#   <type VALUE>    |   back, back_top, side*  - Standard: back           |
#   <x VALUE>       |   Ganze Zahl (+/-)       - Standard: 0              |
#   <y VALUE>       |   Ganze Zahl (+/-)       - Standard: 0              |
#   <mirror VALUE>  |   true/false**           - Standard: false          |
#   <zoom_x VALUE>  |   Ganze Zahl (+/-)       - Standard: 100            |
#   <zoom_Y VALUE>  |   Ganze Zahl (+/-)       - Standard: 100            |
#   <angle VALUE>   |   Ganze Zahl (+/-)       - Standard: 0              |
# </real_equip>     |                                                     |
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# *  back      --> Waffe/Rüstung am Rücken des Spielers
#    back_top  --> Waffe/Rüstung am Rücken des Spielers (2. Schicht)
#    side      --> Waffe/Rüstung seitlich des Spielers
#    front     --> Waffe/Rüstung an der Vorderseite des Spielers
#    hidden    --> Waffe/Rüstung verstecken (nur gezogen angezeigt)
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# ** Achtung! Die Spiegelung orientiert sich nach der Rotation!
#------------------------------------------------------------------------------
# Special Thanks To Kiige
#==============================================================================
module MelekTaus
module RealEquip
  #--------------------------------------------------------------------------
  ACTIVE = true
  #--------------------------------------------------------------------------
  Y_MINUS = 0
  #--------------------------------------------------------------------------
  TYPE_BACK = "back"          # Am Rücken
  TYPE_BACK_TOP = "back_top"  # Am Rücken (über TYPE_BACK, senkrecht)
  TYPE_SIDE = "side"          # Auf der Hüfte
  TYPE_FRONT = "front"        # Vorne
  TYPE_HIDDEN = "hidden"      # Versteckt (nur gezogen sichtbar)
  #--------------------------------------------------------------------------
  PULL_WEAPON = true   # Erste Waffe
  PULL_WEAPON_KEY = "1"
  PULL_ARMOR1 = true   # Schild/Zweite Waffe
  PULL_ARMOR1_KEY = "2"
  PULL_ARMOR2 = false  # Kopf
  PULL_ARMOR2_KEY = ""
  PULL_ARMOR3 = false  # Körper
  PULL_ARMOR3_KEY = ""
  PULL_ARMOR4 = true   # Zubehör (bspw. Werkzeug)
  PULL_ARMOR4_KEY = "3"
  #--------------------------------------------------------------------------
  REAL_ATK = true
  REAL_ATK_SOUND = ["Wind7", 50, 110]
  REAL_PULL_SOUND = ["Sword3", 50, 90]
  #--------------------------------------------------------------------------
end
end
#==============================================================================
if MelekTaus::RealEquip::ACTIVE
#==============================================================================
if MelekTaus::RealEquip::REAL_ATK
#==============================================================================
class Game_Actor
  #--------------------------------------------------------------------------
  def atk(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    v = super
    e = [@weapon_id, @armor1_id, @armor2_id, @armor3_id, @armor4_id]
    for i in 0..4
      if i == 0 or (i == 1 and two_swords_style)
        v -= $data_weapons[e[i]].atk if e[i] > 0
      else
        v -= $data_armors[e[i]].atk if e[i] > 0
      end
    end
    if $melektaus_real_equip_weapon_pulled > 0
      v += $data_weapons[$melektaus_real_equip_weapon_pulled].atk
    elsif $melektaus_real_equip_armor1_pulled > 0
      if two_swords_style
        v += $data_weapons[$melektaus_real_equip_armor1_pulled].atk
      else
        v += $data_armors[$melektaus_real_equip_armor1_pulled].atk
      end
    elsif $melektaus_real_equip_armor2_pulled > 0
      v += $data_armors[$melektaus_real_equip_armor2_pulled].atk
    elsif $melektaus_real_equip_armor3_pulled > 0
      v += $data_armors[$melektaus_real_equip_armor3_pulled].atk
    elsif $melektaus_real_equip_armor4_pulled > 0
      v += $data_armors[$melektaus_real_equip_armor4_pulled].atk
    end
    return v
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
end
#==============================================================================
end
#==============================================================================
class Game_Player
  #--------------------------------------------------------------------------
  def update_nonmoving(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return if $game_map.interpreter.running?
    trigger_c = Input.trigger?(Input::C) 
    if trigger_c and !$game_message.visible
      w = $melektaus_real_equip_weapon_pulled
      a1 = $melektaus_real_equip_armor1_pulled
      a2 = $melektaus_real_equip_armor2_pulled
      a3 = $melektaus_real_equip_armor3_pulled
      a4 = $melektaus_real_equip_armor4_pulled
      if w.nil? and a1.nil? and a2.nil? and a3.nil? and a4.nil?
        @action = 10
      elsif w == 0 and a1 == 0 and a2 == 0 and a3 == 0 and a4 == 0
        @action = 10
      end
      if $melektaus_real_equip_weapon_pulled > 0
        unless $melektaus_real_equip_weapon_attacking > 0
          sound = MelekTaus::RealEquip::REAL_ATK_SOUND
          Audio.se_play("Audio/SE/" + sound[0], sound[1], sound[2]) rescue nil
          $melektaus_real_equip_weapon_attacking = 1
        end
      elsif $melektaus_real_equip_armor1_pulled > 0
        unless $melektaus_real_equip_armor1_attacking > 0
          sound = MelekTaus::RealEquip::REAL_ATK_SOUND
          Audio.se_play("Audio/SE/" + sound[0], sound[1], sound[2]) rescue nil
          $melektaus_real_equip_armor1_attacking = 1
        end
      elsif $melektaus_real_equip_armor2_pulled > 0
        unless $melektaus_real_equip_armor2_attacking > 0
          sound = MelekTaus::RealEquip::REAL_ATK_SOUND
          Audio.se_play("Audio/SE/" + sound[0], sound[1], sound[2]) rescue nil
          $melektaus_real_equip_armor2_attacking = 1
        end
      elsif $melektaus_real_equip_armor3_pulled > 0
        unless $melektaus_real_equip_armor3_attacking > 0
          sound = MelekTaus::RealEquip::REAL_ATK_SOUND
          Audio.se_play("Audio/SE/" + sound[0], sound[1], sound[2]) rescue nil
          $melektaus_real_equip_armor3_attacking = 1
        end
      elsif $melektaus_real_equip_armor4_pulled > 0
        unless $melektaus_real_equip_armor4_attacking > 0
          sound = MelekTaus::RealEquip::REAL_ATK_SOUND
          Audio.se_play("Audio/SE/" + sound[0], sound[1], sound[2]) rescue nil
          $melektaus_real_equip_armor4_attacking = 1
        end
      end
    end
    return if check_touch_event
    if trigger_c and !$game_message.visible
      return if get_on_off_vehicle
      return if check_action_event
    end
    return if parameters.nil?
    return if parameters[0].nil?
    update_encounter if parameters[0]
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  alias melektaus_real_equip_game_player_update update
  def update(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    attacking = [
      $melektaus_real_equip_weapon_attacking > 0,
      $melektaus_real_equip_armor1_attacking > 0,
      $melektaus_real_equip_armor2_attacking > 0,
      $melektaus_real_equip_armor3_attacking > 0,
      $melektaus_real_equip_armor4_attacking > 0
    ]
    if attacking.include?(true)
      if defined?(MelekTaus::PixelMoving)
        if MelekTaus::PixelMoving::ACTIVE
          @new_real_x = @real_x
          @new_real_y = @real_y
        end
      end
    else
      melektaus_real_equip_game_player_update(*parameters)
    end
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
end
#==============================================================================
class Sprite_Character
  #--------------------------------------------------------------------------
  alias melektaus_real_equip_sprite_character_initialize initialize
  def initialize(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    melektaus_real_equip_sprite_character_initialize(*parameters)
    @direction = 0
    create_weapon
    create_armor1
    create_armor2
    create_armor3
    create_armor4
    update
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def create_weapon(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return unless @character.is_a?(Game_Player)
    @weapon = nil
    @weapon_sprite = Sprite.new(viewport)
    @weapon_sprite.ox = 12
    @weapon_sprite.oy = 12
    @weapon_tags = {}
  end
  #--------------------------------------------------------------------------
  def create_armor1(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return unless @character.is_a?(Game_Player)
    @armor1 = nil
    @armor1_sprite = Sprite.new(viewport)
    @armor1_sprite.ox = 12
    @armor1_sprite.oy = 12
    @armor1_tags = {}
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def create_armor2(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return unless @character.is_a?(Game_Player)
    @armor2 = nil
    @armor2_sprite = Sprite.new(viewport)
    @armor2_sprite.ox = 12
    @armor2_sprite.oy = 12
    @armor2_tags = {}
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def create_armor3(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return unless @character.is_a?(Game_Player)
    @armor3 = nil
    @armor3_sprite = Sprite.new(viewport)
    @armor3_sprite.ox = 12
    @armor3_sprite.oy = 12
    @armor3_tags = {}
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def create_armor4(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return unless @character.is_a?(Game_Player)
    @armor4 = nil
    @armor4_sprite = Sprite.new(viewport)
    @armor4_sprite.ox = 12
    @armor4_sprite.oy = 12
    @armor4_tags = {}
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  alias melektaus_real_equip_sprite_character_dispose dispose
  def dispose(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    melektaus_real_equip_sprite_character_dispose(*parameters)
    dispose_weapon
    dispose_armor1
    dispose_armor2
    dispose_armor3
    dispose_armor4
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def dispose_weapon(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return unless @character.is_a?(Game_Player)
    @weapon_sprite.dispose
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def dispose_armor1(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return unless @character.is_a?(Game_Player)
    @armor1_sprite.dispose
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def dispose_armor2(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return unless @character.is_a?(Game_Player)
    @armor2_sprite.dispose
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def dispose_armor3(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return unless @character.is_a?(Game_Player)
    @armor3_sprite.dispose
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def dispose_armor4(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return unless @character.is_a?(Game_Player)
    @armor4_sprite.dispose
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  alias melektaus_real_equip_sprite_character_update update
  def update(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    melektaus_real_equip_sprite_character_update(*parameters)
    update_weapon
    update_armor1
    update_armor2
    update_armor3
    update_armor4
    @direction = @character.direction
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def update_weapon(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return unless @character.is_a?(Game_Player)
    return if @weapon_sprite.nil?
    weapon_id = $game_party.members[0].weapon_id
    load_weapon(weapon_id)
    pulled = $melektaus_real_equip_weapon_pulled
    @weapon_sprite.visible = !@character.transparent
    @weapon_sprite.x = load_real_equip_x(@weapon_tags, pulled)
    @weapon_sprite.y = load_real_equip_y(@weapon_tags, pulled)
    @weapon_sprite.z = load_real_equip_z(@weapon_tags, pulled)
    refresh = false
    unless @direction == @character.direction
      refresh = true
    end
    unless @weapon_pulled == $melektaus_real_equip_weapon_pulled
      @weapon_pulled = $melektaus_real_equip_weapon_pulled
      refresh = true
    end
    unless @weapon_id == weapon_id
      @weapon_id = weapon_id
      refresh = true
    end
    refresh_weapon_transformation(pulled) if refresh
    refresh_attack_animation if $melektaus_real_equip_weapon_attacking > 0
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def refresh_weapon_transformation(pulled = false)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return if @weapon_tags.nil?
    @weapon_sprite.mirror = load_real_equip_mirror(@weapon_tags, pulled)
    @weapon_sprite.zoom_x = load_real_equip_zoom_x(@weapon_tags, pulled)
    @weapon_sprite.zoom_y = load_real_equip_zoom_y(@weapon_tags, pulled)
    @weapon_sprite.angle = load_real_equip_angle(@weapon_tags, pulled)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def update_armor1(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return unless @character.is_a?(Game_Player)
    return if @armor1_sprite.nil?
    armor1_id = $game_party.members[0].armor1_id
    load_armor1(armor1_id)
    pulled = $melektaus_real_equip_armor1_pulled
    @armor1_sprite.visible = !@character.transparent
    @armor1_sprite.x = load_real_equip_x(@armor1_tags, pulled)
    @armor1_sprite.y = load_real_equip_y(@armor1_tags, pulled)
    @armor1_sprite.z = load_real_equip_z(@armor1_tags, pulled)
    refresh = false
    unless @direction == @character.direction
      refresh = true
    end
    unless @armor1_pulled == $melektaus_real_equip_armor1_pulled
      @armor1_pulled = $melektaus_real_equip_armor1_pulled
      refresh = true
    end
    unless @armor1_id == armor1_id
      @armor1_id = armor1_id
      refresh = true
    end
    refresh_armor1_transformation(pulled) if refresh
    refresh_attack_animation(1) if $melektaus_real_equip_armor1_attacking > 0
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def refresh_armor1_transformation(pulled = false)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return if @armor1_tags.nil?
    @armor1_sprite.mirror = load_real_equip_mirror(@armor1_tags, pulled)
    @armor1_sprite.zoom_x = load_real_equip_zoom_x(@armor1_tags, pulled)
    @armor1_sprite.zoom_y = load_real_equip_zoom_y(@armor1_tags, pulled)
    @armor1_sprite.angle = load_real_equip_angle(@armor1_tags, pulled)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def update_armor2(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return unless @character.is_a?(Game_Player)
    return if @armor2_sprite.nil?
    armor2_id = $game_party.members[0].armor2_id
    load_armor2(armor2_id)
    pulled = $melektaus_real_equip_armor2_pulled
    @armor2_sprite.visible = !@character.transparent
    @armor2_sprite.x = load_real_equip_x(@armor2_tags, pulled)
    @armor2_sprite.y = load_real_equip_y(@armor2_tags, pulled)
    @armor2_sprite.z = load_real_equip_z(@armor2_tags, pulled)
    refresh = false
    unless @direction == @character.direction
      refresh = true
    end
    unless @armor2_pulled == $melektaus_real_equip_armor2_pulled
      @armor2_pulled = $melektaus_real_equip_armor2_pulled
      refresh = true
    end
    unless @armor2_id == armor2_id
      @armor2_id = armor2_id
      refresh = true
    end
    refresh_armor2_transformation(pulled) if refresh
    refresh_attack_animation(2) if $melektaus_real_equip_armor2_attacking > 0
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def refresh_armor2_transformation(pulled = false)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return if @armor2_tags.nil?
    @armor2_sprite.mirror = load_real_equip_mirror(@armor2_tags, pulled)
    @armor2_sprite.zoom_x = load_real_equip_zoom_x(@armor2_tags, pulled)
    @armor2_sprite.zoom_y = load_real_equip_zoom_y(@armor2_tags, pulled)
    @armor2_sprite.angle = load_real_equip_angle(@armor2_tags, pulled)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def update_armor3(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return unless @character.is_a?(Game_Player)
    return if @armor3_sprite.nil?
    armor3_id = $game_party.members[0].armor3_id
    load_armor3(armor3_id)
    pulled = $melektaus_real_equip_armor3_pulled
    @armor3_sprite.visible = !@character.transparent
    @armor3_sprite.x = load_real_equip_x(@armor3_tags, pulled)
    @armor3_sprite.y = load_real_equip_y(@armor3_tags, pulled)
    @armor3_sprite.z = load_real_equip_z(@armor3_tags, pulled)
    refresh = false
    unless @direction == @character.direction
      refresh = true
    end
    unless @armor3_pulled == $melektaus_real_equip_armor3_pulled
      @armor3_pulled = $melektaus_real_equip_armor3_pulled
      refresh = true
    end
    unless @armor3_id == armor3_id
      @armor3_id = armor3_id
      refresh = true
    end
    refresh_armor3_transformation(pulled) if refresh
    refresh_attack_animation(3) if $melektaus_real_equip_armor3_attacking > 0
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def refresh_armor3_transformation(pulled = false)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return if @armor3_tags.nil?
    @armor3_sprite.mirror = load_real_equip_mirror(@armor3_tags, pulled)
    @armor3_sprite.zoom_x = load_real_equip_zoom_x(@armor3_tags, pulled)
    @armor3_sprite.zoom_y = load_real_equip_zoom_y(@armor3_tags, pulled)
    @armor3_sprite.angle = load_real_equip_angle(@armor3_tags, pulled)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def update_armor4(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return unless @character.is_a?(Game_Player)
    return if @armor4_sprite.nil?
    armor4_id = $game_party.members[0].armor4_id
    load_armor4(armor4_id)
    pulled = $melektaus_real_equip_armor4_pulled
    @armor4_sprite.visible = !@character.transparent
    @armor4_sprite.x = load_real_equip_x(@armor4_tags, pulled)
    @armor4_sprite.y = load_real_equip_y(@armor4_tags, pulled)
    @armor4_sprite.z = load_real_equip_z(@armor4_tags, pulled)
    refresh = false
    unless @direction == @character.direction
      refresh = true
    end
    unless @armor4_pulled == $melektaus_real_equip_armor4_pulled
      @armor4_pulled = $melektaus_real_equip_armor4_pulled
      refresh = true
    end
    unless @armor4_id == armor4_id
      @armor4_id = armor4_id
      refresh = true
    end
    refresh_armor4_transformation(pulled) if refresh
    refresh_attack_animation(4) if $melektaus_real_equip_armor4_attacking > 0
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def refresh_armor4_transformation(pulled = false)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return if @armor4_tags.nil?
    @armor4_sprite.mirror = load_real_equip_mirror(@armor4_tags, pulled)
    @armor4_sprite.zoom_x = load_real_equip_zoom_x(@armor4_tags, pulled)
    @armor4_sprite.zoom_y = load_real_equip_zoom_y(@armor4_tags, pulled)
    @armor4_sprite.angle = load_real_equip_angle(@armor4_tags, pulled)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def refresh_attack_animation(armor = 0)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    if armor == 4
      attacking = $melektaus_real_equip_armor4_attacking
      sprite = @armor4_sprite
    elsif armor == 3
      attacking = $melektaus_real_equip_armor3_attacking
      sprite = @armor3_sprite
    elsif armor == 2
      attacking = $melektaus_real_equip_armor2_attacking
      sprite = @armor2_sprite
    elsif armor == 1
      attacking = $melektaus_real_equip_armor1_attacking
      sprite = @armor1_sprite
    else
      attacking = $melektaus_real_equip_weapon_attacking
      sprite = @weapon_sprite
    end
    areas = [1..2, 3..5, 6..10, 11..14]
    case @character.direction
    when 2
      case attacking
      when areas[0]
        sprite.angle = 80
        sprite.x += 2
        sprite.y += 2
      when areas[1]
        sprite.angle = 110
        sprite.x += 6
        sprite.y += 6
      when areas[2]
        sprite.angle = 140
        sprite.x += 12
        sprite.y += 10
      when areas[3]
        sprite.angle = 160
        sprite.x += 16
        sprite.y += 12
      when areas[3].max + 1
        if armor == 4
          refresh_armor4_transformation($melektaus_real_equip_armor4_pulled)
        elsif armor == 3
          refresh_armor3_transformation($melektaus_real_equip_armor3_pulled)
        elsif armor == 2
          refresh_armor2_transformation($melektaus_real_equip_armor2_pulled)
        elsif armor == 1
          refresh_armor1_transformation($melektaus_real_equip_armor1_pulled)
        else
          refresh_weapon_transformation($melektaus_real_equip_weapon_pulled)
        end
      end
    when 4
      case attacking
      when areas[0]
        sprite.angle = -30
        sprite.x += -5
        sprite.y += -10
      when areas[1]
        sprite.angle = 0
        sprite.x += -5
        sprite.y += -5
      when areas[2]
        sprite.angle = 40
        sprite.x += -5
        sprite.y += 0
      when areas[3]
        sprite.angle = 60
        sprite.x += -5
        sprite.y += 5
      when areas[3].max + 1
        if armor == 4
          refresh_armor4_transformation($melektaus_real_equip_armor4_pulled)
        elsif armor == 3
          refresh_armor3_transformation($melektaus_real_equip_armor3_pulled)
        elsif armor == 2
          refresh_armor2_transformation($melektaus_real_equip_armor2_pulled)
        elsif armor == 1
          refresh_armor1_transformation($melektaus_real_equip_armor1_pulled)
        else
          refresh_weapon_transformation($melektaus_real_equip_weapon_pulled)
        end
      end
    when 6
      case attacking
      when areas[0]
        sprite.angle = 30
        sprite.x += 5
        sprite.y += -8
      when areas[1]
        sprite.angle = 0
        sprite.x += 5
        sprite.y += -3
      when areas[2]
        sprite.angle = -40
        sprite.x += 5
        sprite.y += 2
      when areas[3]
        sprite.angle = -60
        sprite.x += 5
        sprite.y += 7
      when areas[3].max + 1
        if armor == 4
          refresh_armor4_transformation($melektaus_real_equip_armor4_pulled)
        elsif armor == 3
          refresh_armor3_transformation($melektaus_real_equip_armor3_pulled)
        elsif armor == 2
          refresh_armor2_transformation($melektaus_real_equip_armor2_pulled)
        elsif armor == 1
          refresh_armor1_transformation($melektaus_real_equip_armor1_pulled)
        else
          refresh_weapon_transformation($melektaus_real_equip_weapon_pulled)
        end
      end
    when 8
      case attacking
      when areas[0]
        sprite.angle = -90
        sprite.x += -8
        sprite.y += -20
      when areas[1]
        sprite.angle = -75
        sprite.x += -11
        sprite.y += -20
      when areas[2]
        sprite.angle = -55
        sprite.x += -16
        sprite.y += -20
      when areas[3]
        sprite.angle = -25
        sprite.x += -20
        sprite.y += -15
      when areas[3].max + 1
        if armor == 4
          refresh_armor4_transformation($melektaus_real_equip_armor4_pulled)
        elsif armor == 3
          refresh_armor3_transformation($melektaus_real_equip_armor3_pulled)
        elsif armor == 2
          refresh_armor2_transformation($melektaus_real_equip_armor2_pulled)
        elsif armor == 1
          refresh_armor1_transformation($melektaus_real_equip_armor1_pulled)
        else
          refresh_weapon_transformation($melektaus_real_equip_weapon_pulled)
        end
      end
    end
    if armor == 4
      $melektaus_real_equip_armor4_attacking += 1
      if $melektaus_real_equip_armor4_attacking == areas[3].max + 2
        $melektaus_real_equip_armor4_attacking = 0
      end
    elsif armor == 3
      $melektaus_real_equip_armor3_attacking += 1
      if $melektaus_real_equip_armor3_attacking == areas[3].max + 2
        $melektaus_real_equip_armor3_attacking = 0
      end
    elsif armor == 2
      $melektaus_real_equip_armor2_attacking += 1
      if $melektaus_real_equip_armor2_attacking == areas[3].max + 2
        $melektaus_real_equip_armor2_attacking = 0
      end
    elsif armor == 1
      $melektaus_real_equip_armor1_attacking += 1
      if $melektaus_real_equip_armor1_attacking == areas[3].max + 2
        $melektaus_real_equip_armor1_attacking = 0
      end
    else
      $melektaus_real_equip_weapon_attacking += 1
      if $melektaus_real_equip_weapon_attacking == areas[3].max + 2
        $melektaus_real_equip_weapon_attacking = 0
      end
    end
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def load_weapon(weapon_id)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return if @weapon.id == weapon_id unless @weapon.nil?
    if $melektaus_real_equip_weapon_pulled > 0
      $melektaus_real_equip_weapon_pulled = weapon_id
    end
    @weapon = $data_weapons[weapon_id]
    @weapon_tags = load_real_equip_tags(@weapon)
    @weapon_sprite.bitmap = load_real_equip_bitmap(@weapon, @weapon_tags)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def load_armor1(armor1_id)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return if @armor1.id == armor1_id unless @armor1.nil?
    if $game_party.members[0].two_swords_style
      @armor1 = $data_weapons[armor1_id]
    else
      @armor1 = $data_armors[armor1_id]
    end
    @armor1_tags = load_real_equip_tags(@armor1, true)
    @armor1_sprite.bitmap = load_real_equip_bitmap(@armor1, @armor1_tags)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def load_armor2(armor2_id)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return if @armor2.id == armor2_id unless @armor2.nil?
    if $melektaus_real_equip_armor2_pulled > 0
      $melektaus_real_equip_armor2_pulled = armor2_id
    end
    @armor2 = $data_armors[armor2_id]
    @armor2_tags = load_real_equip_tags(@armor2, true)
    @armor2_sprite.bitmap = load_real_equip_bitmap(@armor2, @armor2_tags)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def load_armor3(armor3_id)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return if @armor3.id == armor3_id unless @armor3.nil?
    if $melektaus_real_equip_armor3_pulled > 0
      $melektaus_real_equip_armor3_pulled = armor3_id
    end
    @armor3 = $data_armors[armor3_id]
    @armor3_tags = load_real_equip_tags(@armor3, true)
    @armor3_sprite.bitmap = load_real_equip_bitmap(@armor3, @armor3_tags)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def load_armor4(armor4_id)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return if @armor4.id == armor4_id unless @armor4.nil?
    if $melektaus_real_equip_armor4_pulled > 0
      $melektaus_real_equip_armor4_pulled = armor4_id
    end
    @armor4 = $data_armors[armor4_id]
    @armor4_tags = load_real_equip_tags(@armor4, true)
    @armor4_sprite.bitmap = load_real_equip_bitmap(@armor4, @armor4_tags)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def load_real_equip_bitmap(item, tags)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    new_bitmap = Bitmap.new(24, 24)
    if tags.size > 0
      x = item.icon_index % 16 * 24
      y = item.icon_index / 16 * 24
      new_bitmap.blt(0, 0, Cache.system("Iconset"), Rect.new(x, y, 24, 24))
    end
    return new_bitmap
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def load_real_equip_tags(item, second_hand = false)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    new_tags = {}
    unless item.nil?
      tag_text = item.note.split("<real_equip>")[1]
      unless tag_text.nil?
        tag_text = tag_text.split("</real_equip>")[0]
        tag_text = "" if tag_text.nil?
        value = tag_text.split("<type ")[1]
        value = "back" if value.nil?
        new_tags["type"] = value.split(">")[0]
        if new_tags["type"] == MelekTaus::RealEquip::TYPE_BACK
          new_tags["type"] += "2" if second_hand
        end
        for tag in ["x", "y", "mirror", "zoom_x", "zoom_y", "angle"]
          value = tag_text.split("<#{tag} ")[1]
          value = "" if value.nil?
          new_tags[tag] = value.split(">")[0]
        end
      end
    end
    return new_tags
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def load_real_equip_x(tags, pulled = 0)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    new_x = self.x + tags["x"].to_i
    a = [0, -8, 10, 10]
    unless pulled > 0
      case tags["type"]
        when MelekTaus::RealEquip::TYPE_BACK;        a = [-4, 8, -10, 0]
        when MelekTaus::RealEquip::TYPE_BACK + "2";  a = [4, 8, -10, 0]
        when MelekTaus::RealEquip::TYPE_BACK_TOP;    a = [0, 10, -8, 1]
        when MelekTaus::RealEquip::TYPE_SIDE;        a = [10, 2, -2, -8]
        when MelekTaus::RealEquip::TYPE_FRONT;       a = [-6, -4, 0, 8]
      end
    end
    new_x += direction_plus(*a)
    return new_x
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def load_real_equip_y(tags, pulled = 0)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    new_y = self.y + tags["y"].to_i - MelekTaus::RealEquip::Y_MINUS
    a = [-2, -8, -10, -16]
    unless pulled > 0
      case tags["type"]
        when MelekTaus::RealEquip::TYPE_BACK;        a = [-16, -14, -14, -14]
        when MelekTaus::RealEquip::TYPE_BACK + "2";  a = [-16, -14, -14, -14]
        when MelekTaus::RealEquip::TYPE_BACK_TOP;    a = [-12, -14, -14, -14]
        when MelekTaus::RealEquip::TYPE_SIDE;        a = [-14, -6, -10, -4]
        when MelekTaus::RealEquip::TYPE_FRONT;       a = [-8, -8, -6, -12]
      end
    end
    new_y += direction_plus(*a)
    return new_y
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def load_real_equip_z(tags, pulled = 0)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    new_z = self.z
    a = [3, 3, -3, -3]
    unless pulled > 0
      case tags["type"]
        when MelekTaus::RealEquip::TYPE_BACK;        a = [-1, 1, 1, 1]
        when MelekTaus::RealEquip::TYPE_BACK + "2";  a = [-1, 1, 1, 1]
        when MelekTaus::RealEquip::TYPE_BACK_TOP;    a = [-2, 2, 2, 2]
        when MelekTaus::RealEquip::TYPE_SIDE;        a = [-1, 1, -1, -1]
        when MelekTaus::RealEquip::TYPE_FRONT;       a = [2, -2, 2, -2]
        when MelekTaus::RealEquip::TYPE_HIDDEN;  a = [-1000,-1000,-1000,-1000]
      end
    end
    new_z += direction_plus(*a)
    return new_z
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def load_real_equip_mirror(tags, pulled = 0)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    new_mirror = false
    a = [false, false, true, false]
    unless pulled > 0
      case tags["type"]
        when MelekTaus::RealEquip::TYPE_BACK;        a = [true, false, false, false]
        when MelekTaus::RealEquip::TYPE_BACK + "2";  a = [false, true, true, true]
        when MelekTaus::RealEquip::TYPE_BACK_TOP;    a = [true, true, false, false]
        when MelekTaus::RealEquip::TYPE_SIDE;        a = [false, false, false, false]
        when MelekTaus::RealEquip::TYPE_FRONT;       a = [false, false, true, true]
      end
    end
    new_mirror = direction_plus(*a)
    new_mirror = !new_mirror if tags["mirror"] == "true"
    return new_mirror
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def load_real_equip_zoom_x(tags, pulled = 0)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    zoom_x = tags["zoom_x"].to_f
    if zoom_x == 0.0
      new_zoom_x = 1.0
    else
      new_zoom_x = zoom_x / 100.0
    end
    a = [-0.1, 0.0, 0.0, 0.0]
    unless pulled > 0
      case tags["type"]
        when MelekTaus::RealEquip::TYPE_BACK;        a = [0.0, -0.4, -0.4, 0.0]
        when MelekTaus::RealEquip::TYPE_BACK + "2";  a = [0.0, -0.4, -0.4, 0.0]
        when MelekTaus::RealEquip::TYPE_BACK_TOP;    a = [0.3, -0.3, -0.3, 0.2]
        when MelekTaus::RealEquip::TYPE_SIDE;        a = [-0.3, 0.0, 0.0, -0.3]
        when MelekTaus::RealEquip::TYPE_FRONT;       a = [-0.05, -0.15, -0.15, -0.05]
      end   
    end
    new_zoom_x += direction_plus(*a)
    return new_zoom_x
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def load_real_equip_zoom_y(tags, pulled = 0)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    zoom_y = tags["zoom_y"].to_f
    if zoom_y == 0.0
      new_zoom_y = 1.0
    else
      new_zoom_y = zoom_y / 100.0
    end
    a = [-0.1, 0.0, 0.0, 0.0]
    unless pulled > 0
      case tags["type"]
        when MelekTaus::RealEquip::TYPE_BACK;        a = [0.0, 0.0, 0.0, 0.0]
        when MelekTaus::RealEquip::TYPE_BACK + "2";  a = [0.0, 0.0, 0.0, 0.0]
        when MelekTaus::RealEquip::TYPE_BACK_TOP;    a = [-0.1, 0.0, 0.0, 0.0]
        when MelekTaus::RealEquip::TYPE_SIDE;        a = [0.0, 0.0, 0.0, 0.0]
        when MelekTaus::RealEquip::TYPE_FRONT;       a = [-0.25, -0.25, -0.25, -0.25]
      end   
    end
    new_zoom_y += direction_plus(*a)
    return new_zoom_y
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def load_real_equip_angle(tags, pulled = 0)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    new_angle = tags["angle"].to_i
    a = [70, 40, -40, -105]
    unless pulled > 0
      case tags["type"]
        when MelekTaus::RealEquip::TYPE_BACK;        a = [-100, 155, 155, 100]
        when MelekTaus::RealEquip::TYPE_BACK + "2";  a = [100, -170, -170, -100]
        when MelekTaus::RealEquip::TYPE_BACK_TOP;    a = [-11, 0, 0, 7]
        when MelekTaus::RealEquip::TYPE_SIDE;        a = [-35, -155, 55, 150]
        when MelekTaus::RealEquip::TYPE_FRONT;       a = [0, 60, -60, 7]
      end   
    end
    new_angle += direction_plus(*a)
    return new_angle
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def direction_plus(down, left, right, up)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    case @character.direction
      when 2;  return down
      when 4;  return left
      when 6;  return right
      when 8;  return up
    end
    return down
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
end
#==============================================================================
class Scene_Title
  #--------------------------------------------------------------------------
  alias melektaus_real_equip_scene_title_command_new_game command_new_game
  def command_new_game(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    melektaus_real_equip_scene_title_command_new_game(*parameters)
    $melektaus_real_equip_weapon_pulled = 0
    $melektaus_real_equip_armor1_pulled = 0
    $melektaus_real_equip_armor2_pulled = 0
    $melektaus_real_equip_armor3_pulled = 0
    $melektaus_real_equip_armor4_pulled = 0
    $melektaus_real_equip_weapon_attacking = 0
    $melektaus_real_equip_armor1_attacking = 0
    $melektaus_real_equip_armor2_attacking = 0
    $melektaus_real_equip_armor3_attacking = 0
    $melektaus_real_equip_armor4_attacking = 0
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
end
#==============================================================================
class Scene_Map
  #--------------------------------------------------------------------------
  alias melektaus_real_equip_scene_map_update update
  def update(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    melektaus_real_equip_scene_map_update(*parameters)
    update_pull_real_equip unless $game_message.visible
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def update_pull_real_equip(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    return if $melektaus_console_active
    if MelekTaus::RealEquip::PULL_WEAPON and !MelekTaus::RealEquip::PULL_WEAPON_KEY.nil?
      unless $melektaus_real_equip_weapon_attacking > 0
        if Input.trigger?(MelekTaus::RealEquip::PULL_WEAPON_KEY)
          if $game_party.members[0].weapon_id > 0
            if $melektaus_real_equip_weapon_pulled > 0
              sound = MelekTaus::RealEquip::REAL_PULL_SOUND
              Audio.se_play("Audio/SE/" + sound[0], sound[1], sound[2]) rescue nil
              $melektaus_real_equip_weapon_pulled = 0
              $melektaus_real_equip_armor1_pulled = 0
              $melektaus_real_equip_armor2_pulled = 0
              $melektaus_real_equip_armor3_pulled = 0
              $melektaus_real_equip_armor4_pulled = 0
            else
              sound = MelekTaus::RealEquip::REAL_PULL_SOUND
              Audio.se_play("Audio/SE/" + sound[0], sound[1], sound[2] + 40) rescue nil
              $melektaus_real_equip_weapon_pulled = $game_party.members[0].weapon_id
              $melektaus_real_equip_armor1_pulled = 0
              $melektaus_real_equip_armor2_pulled = 0
              $melektaus_real_equip_armor3_pulled = 0
              $melektaus_real_equip_armor4_pulled = 0
            end
          end
        end
      end
    end
    if MelekTaus::RealEquip::PULL_ARMOR1 and !MelekTaus::RealEquip::PULL_ARMOR1_KEY.nil?
      unless $melektaus_real_equip_armor1_attacking > 0
        if Input.trigger?(MelekTaus::RealEquip::PULL_ARMOR1_KEY)
          if $game_party.members[0].armor1_id > 0
            if $melektaus_real_equip_armor1_pulled > 0
              sound = MelekTaus::RealEquip::REAL_PULL_SOUND
              Audio.se_play("Audio/SE/" + sound[0], sound[1], sound[2]) rescue nil
              $melektaus_real_equip_weapon_pulled = 0
              $melektaus_real_equip_armor1_pulled = 0
              $melektaus_real_equip_armor2_pulled = 0
              $melektaus_real_equip_armor3_pulled = 0
              $melektaus_real_equip_armor4_pulled = 0
            else
              sound = MelekTaus::RealEquip::REAL_PULL_SOUND
              Audio.se_play("Audio/SE/" + sound[0], sound[1], sound[2] + 40) rescue nil
              $melektaus_real_equip_weapon_pulled = 0
              $melektaus_real_equip_armor1_pulled = $game_party.members[0].armor1_id
              $melektaus_real_equip_armor2_pulled = 0
              $melektaus_real_equip_armor3_pulled = 0
              $melektaus_real_equip_armor4_pulled = 0
            end
          end
        end
      end
    end
    if MelekTaus::RealEquip::PULL_ARMOR2 and !MelekTaus::RealEquip::PULL_ARMOR2_KEY.nil?
      unless $melektaus_real_equip_armor2_attacking > 0
        if Input.trigger?(MelekTaus::RealEquip::PULL_ARMOR2_KEY)
          if $game_party.members[0].armor2_id > 0
            if $melektaus_real_equip_armor2_pulled > 0
              sound = MelekTaus::RealEquip::REAL_PULL_SOUND
              Audio.se_play("Audio/SE/" + sound[0], sound[1], sound[2]) rescue nil
              $melektaus_real_equip_weapon_pulled = 0
              $melektaus_real_equip_armor1_pulled = 0
              $melektaus_real_equip_armor2_pulled = 0
              $melektaus_real_equip_armor3_pulled = 0
              $melektaus_real_equip_armor4_pulled = 0
            else
              sound = MelekTaus::RealEquip::REAL_PULL_SOUND
              Audio.se_play("Audio/SE/" + sound[0], sound[1], sound[2] + 40) rescue nil
              $melektaus_real_equip_weapon_pulled = 0
              $melektaus_real_equip_armor1_pulled = 0
              $melektaus_real_equip_armor2_pulled = $game_party.members[0].armor2_id
              $melektaus_real_equip_armor3_pulled = 0
              $melektaus_real_equip_armor4_pulled = 0
            end
          end
        end
      end
    end
    if MelekTaus::RealEquip::PULL_ARMOR3 and !MelekTaus::RealEquip::PULL_ARMOR3_KEY.nil?
      unless $melektaus_real_equip_armor3_attacking > 0
        if Input.trigger?(MelekTaus::RealEquip::PULL_ARMOR3_KEY)
          if $game_party.members[0].armor3_id > 0
            if $melektaus_real_equip_armor3_pulled > 0
              sound = MelekTaus::RealEquip::REAL_PULL_SOUND
              Audio.se_play("Audio/SE/" + sound[0], sound[1], sound[2]) rescue nil
              $melektaus_real_equip_weapon_pulled = 0
              $melektaus_real_equip_armor1_pulled = 0
              $melektaus_real_equip_armor2_pulled = 0
              $melektaus_real_equip_armor3_pulled = 0
              $melektaus_real_equip_armor4_pulled = 0
            else
              sound = MelekTaus::RealEquip::REAL_PULL_SOUND
              Audio.se_play("Audio/SE/" + sound[0], sound[1], sound[2] + 40) rescue nil
              $melektaus_real_equip_weapon_pulled = 0
              $melektaus_real_equip_armor1_pulled = 0
              $melektaus_real_equip_armor2_pulled = 0
              $melektaus_real_equip_armor3_pulled = $game_party.members[0].armor3_id
              $melektaus_real_equip_armor4_pulled = 0
            end
          end
        end
      end
    end
    if MelekTaus::RealEquip::PULL_ARMOR4 and !MelekTaus::RealEquip::PULL_ARMOR4_KEY.nil?
      unless $melektaus_real_equip_armor4_attacking > 0
        if Input.trigger?(MelekTaus::RealEquip::PULL_ARMOR4_KEY)
          if $game_party.members[0].armor4_id > 0
            if $melektaus_real_equip_armor4_pulled > 0
              sound = MelekTaus::RealEquip::REAL_PULL_SOUND
              Audio.se_play("Audio/SE/" + sound[0], sound[1], sound[2]) rescue nil
              $melektaus_real_equip_weapon_pulled = 0
              $melektaus_real_equip_armor1_pulled = 0
              $melektaus_real_equip_armor2_pulled = 0
              $melektaus_real_equip_armor3_pulled = 0
              $melektaus_real_equip_armor4_pulled = 0
            else
              sound = MelekTaus::RealEquip::REAL_PULL_SOUND
              Audio.se_play("Audio/SE/" + sound[0], sound[1], sound[2] + 40) rescue nil
              $melektaus_real_equip_weapon_pulled = 0
              $melektaus_real_equip_armor1_pulled = 0
              $melektaus_real_equip_armor2_pulled = 0
              $melektaus_real_equip_armor3_pulled = 0
              $melektaus_real_equip_armor4_pulled = $game_party.members[0].armor4_id
            end
          end
        end
      end
    end
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
end
#==============================================================================
class Scene_File
  #--------------------------------------------------------------------------
  alias melektaus_real_equip_scene_file_write_save_data write_save_data
  def write_save_data(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    melektaus_real_equip_scene_file_write_save_data(*parameters)
    return if parameters.nil?
    return if parameters.size < 1
    Marshal.dump($melektaus_real_equip_weapon_pulled, parameters[0])
    Marshal.dump($melektaus_real_equip_armor1_pulled, parameters[0])
    Marshal.dump($melektaus_real_equip_armor2_pulled, parameters[0])
    Marshal.dump($melektaus_real_equip_armor3_pulled, parameters[0])
    Marshal.dump($melektaus_real_equip_armor4_pulled, parameters[0])
    Marshal.dump($melektaus_real_equip_weapon_attacking, parameters[0])
    Marshal.dump($melektaus_real_equip_armor1_attacking, parameters[0])
    Marshal.dump($melektaus_real_equip_armor2_attacking, parameters[0])
    Marshal.dump($melektaus_real_equip_armor3_attacking, parameters[0])
    Marshal.dump($melektaus_real_equip_armor4_attacking, parameters[0])
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  alias melektaus_real_equip_scene_file_read_save_data read_save_data
  def read_save_data(*parameters)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    melektaus_real_equip_scene_file_read_save_data(*parameters)
    return if parameters.nil?
    return if parameters.size < 1
    $melektaus_real_equip_weapon_pulled = Marshal.load(parameters[0])
    $melektaus_real_equip_armor1_pulled = Marshal.load(parameters[0])
    $melektaus_real_equip_armor2_pulled = Marshal.load(parameters[0])
    $melektaus_real_equip_armor3_pulled = Marshal.load(parameters[0])
    $melektaus_real_equip_armor4_pulled = Marshal.load(parameters[0])
    $melektaus_real_equip_weapon_attacking = Marshal.load(parameters[0])
    $melektaus_real_equip_armor1_attacking = Marshal.load(parameters[0])
    $melektaus_real_equip_armor2_attacking = Marshal.load(parameters[0])
    $melektaus_real_equip_armor3_attacking = Marshal.load(parameters[0])
    $melektaus_real_equip_armor4_attacking = Marshal.load(parameters[0])
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
end
#==============================================================================
end
#==============================================================================
Erstellt von MelekTaus in der Kategorie RPGVX-Scripts
0 Kommentar(e)
Ältere Posts Startseite
Abonnieren Posts (Atom)

Seiten

  • Willkommen
  • Neueste Posts
  • Alle Filme und Serien

Veröffentlichung

Kategorien

  • Allgemeines (9)
  • Filme (71)
  • Gedichte (5)
  • Liebling und Ich (10)
  • Met (7)
  • Musik (10)
  • Origami (5)
  • Projekte (4)
  • RPGVX-Scripts (2)
  • Software (4)
  • Spiele (6)
  • Tabs (3)
  • Träume (6)
  • VB.NET-Codes (1)
  • Werbung (1)
  • YouTube-Videos (8)
  • Zeichnungen (3)

WM 2010

Wird geladen...

Freunde

Kommentare

Shoutbox