RPGVX.net

  RPG-Maker VX => VX Skripte [Fertiger Code] => Thema gestartet von: MelekTaus am Juni 22, 2009, 01:49:26

Titel: MelekTaus' MatrixInventory 1.15b
Beitrag von: MelekTaus am Juni 22, 2009, 01:49:26
Hier gibts eigentlich nicht viel zu sagen, hier mal die Screens..
(http://img200.imageshack.us/img200/1769/22462951.png)

(http://img520.imageshack.us/img520/7620/16676057.png)

(http://img200.imageshack.us/img200/954/56270802.png)

..eine kurze Anleitung..
Das Script einfach über Main reinkopieren und benennen wie man will.
Man kann auch bei Item-/Weapon-/Armor-Beschreibung einen Zeilenumbruch machen,
indem man das Zeichen "|" ohne Anführungszeichen setzt. (Es befindet sich normalerweise rechts neben der linken Shift-Taste)

UPDATE - Version 1.15a verfügbar!
Mehrere detailierte Einstellungen können nun vorgenommen werden, unter anderem auch: Breite des Tooltips.
Der Shop wird jetzt auch unterstützt mit einer neuen Einstellungsmöglichkeit (USE_QUICK_SHOP).

..das Script..

Version 1.15b:
#==============================================================================
# MelekTaus' MatrixInventory
# Version: 1.15b
#------------------------------------------------------------------------------
# Tipp: Verwende "|" für eine neue Zeile in der Item-Beschreibung
#==============================================================================
class Window_Item < Window_Selectable
  #--------------------------------------------------------------------------
  TOOLTIP = {}
  #--------------------------------------------------------------------------
  # Font.default_name = ["Calibri", "Comic Sans MS", "Arial"]
  # Font.default_size = 20
  #--------------------------------------------------------------------------
  TOOLTIP_BASE_WIDTH = 160
  TOOLTIP_BASE_BACKGROUND_COLOR = Color.new(0, 0, 0, 155)
  #--------------------------------------------------------------------------
  TOOLTIP_ITEM_NAME_FONT = Font.new(["Calibri", "Comic Sans MS"], 20)
  TOOLTIP_ITEM_NAME_BOLD = true
  TOOLTIP_ITEM_NAME_COLOR = Color.new(255, 255, 255)
  #--------------------------------------------------------------------------
  TOOLTIP_ITEM_TYPE_FONT = Font.new(["Calibri", "Comic Sans MS"], 16)
  TOOLTIP_ITEM_TYPE_BOLD = false
  TOOLTIP_ITEM_TYPE_COLOR = Color.new(255, 255, 255, 155)
  #--------------------------------------------------------------------------
  TOOLTIP_ITEM_PRICE_FONT = Font.new(["Calibri", "Comic Sans MS"], 14)
  TOOLTIP_ITEM_PRICE_BOLD = false
  TOOLTIP_ITEM_PRICE_COLOR = Color.new(255, 255, 0)
  #--------------------------------------------------------------------------
  TOOLTIP_ITEM_DESCRIPTION_FONT = Font.new(["Calibri", "Comic Sans MS"], 16)
  TOOLTIP_ITEM_DESCRIPTION_BOLD = false
  TOOLTIP_ITEM_DESCRIPTION_COLOR = Color.new(255, 255, 255)
  #--------------------------------------------------------------------------
  TOOLTIP_ITEM_ATTRIBUTE_FONT = Font.new(["Calibri", "Comic Sans MS"], 16)
  TOOLTIP_ITEM_ATTRIBUTE_BOLD = false
  TOOLTIP_HP_COLOR = Color.new(255, 155, 155)
  TOOLTIP_MP_COLOR = Color.new(155, 155, 255)
  TOOLTIP_ATK_COLOR = Color.new(255, 255, 255)
  TOOLTIP_DEF_COLOR = Color.new(255, 255, 255)
  TOOLTIP_SPI_COLOR = Color.new(255, 255, 255)
  TOOLTIP_AGI_COLOR = Color.new(255, 255, 255)
  #--------------------------------------------------------------------------
  ITEM_NUMBER_FONT = Font.new(["Calibri", "Comic Sans MS"], 12)
  ITEM_NUMBER_BOLD = false
  ITEM_NUMBER_COLOR = Color.new(255, 255, 255)
  #--------------------------------------------------------------------------
  VOCAB_TYPE_ITEM = "Item"
  VOCAB_PRICE = "Price"
  VOCAB_SHOP = "Shop"
  SHOW_SELLING_PRICE_IN_INVENTORY = true
    # true:  Verkaufspreis im Inventar anzeigen.
    # false: Einkaufspreis im Inventar anzeigen.
  USE_QUICK_SHOP = false
    # true:  Es wird nicht gefragt, wieviel man ein - bzw. verkaufen will,
    #        sondern es wird pro Tastendruck ein Stück eingekauft bzw.
    #        verkauft.
    # false: Standard-Shop
  TEXT_FOR_NULL_PRICE = ""
    # Text der beim Preis angezeigt wird, wenn der Gegenstand 0 wert ist.
  #--------------------------------------------------------------------------
  def initialize(x, y, width, height)
    super(x, y, width, height)
    @use_new_wlh = true
    @column_max = 10
    @spacing = 10
    @tooltip_right_space = 0
    @tooltip_bottom_space = 0
    self.index = 0
    create_tooltip
    refresh
  end
  #--------------------------------------------------------------------------
  def new_wlh
    return @use_new_wlh ? 50 : WLH
  end
  #--------------------------------------------------------------------------
  def create_tooltip
    @tooltip = Sprite.new
    @tooltip.z = 1000
    @tooltip.opacity = 0
    @tooltip_switch = false
  end
  #--------------------------------------------------------------------------
  def create_contents
    self.contents.dispose
    self.contents = Bitmap.new(width - 32, [height - 32, row_max * new_wlh].max)
  end
  #--------------------------------------------------------------------------
  def top_row
    return self.oy / new_wlh
  end
  #--------------------------------------------------------------------------
  def top_row=(row)
    row = 0 if row < 0
    row = row_max - 1 if row > row_max - 1
    self.oy = row * new_wlh
  end
  #--------------------------------------------------------------------------
  def page_row_max
    return (self.height - 32) / new_wlh
  end
  #--------------------------------------------------------------------------
  def cursor_down(wrap = false)
    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(wrap = false)
    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(wrap = false)
    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(wrap = false)
    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
    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
    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
    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 *= new_wlh
      rect.y -= self.oy
      rect.height = 40
      self.cursor_rect = rect
    end
    draw_item_tooltip if @use_new_wlh
  end
  #--------------------------------------------------------------------------
  def draw_item(index, show_number = true)
    rect = item_rect(index)
    rect.y /= WLH
    rect.y *= new_wlh
    rect.y += 8
    rect.width -= 4
    rect.height = 40
    self.contents.clear_rect(rect)
    item = @data[index]
    if item != nil
      number = 0
      number = $game_party.item_number(item) if show_number
      enabled = enable?(item)
      enabled = true if @shop != nil
      draw_icon(item.icon_index, rect.x + 7, rect.y, enabled)
      self.contents.font = ITEM_NUMBER_FONT
      self.contents.font.bold = ITEM_NUMBER_BOLD
      self.contents.font.color = ITEM_NUMBER_COLOR
      self.contents.font.color.alpha = enabled ? 255 : 128 if @shop == nil
      self.contents.draw_text(rect, sprintf("%2d   ", number), 2) if number > 1
    end
  end
  #--------------------------------------------------------------------------
  def draw_item_tooltip
    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 = TOOLTIP_ITEM_NAME_FONT
      @tooltip.bitmap.fill_rect(@tooltip.bitmap.rect, 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 + new_wlh - @tooltip.bitmap.width
      end
      @tooltip.x = new_x
      new_y = cursor_rect.y + self.y + new_wlh
      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 = 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 = 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 and @shop == nil
          @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 = TOOLTIP_ITEM_PRICE_COLOR
          if w == 0
            @tooltip.bitmap.draw_text(x, height, width, TOOLTIP_ITEM_TYPE_FONT.size, "#{TEXT_FOR_NULL_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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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
    case true
      when item.to_s.include?("Item");   return VOCAB_TYPE_ITEM
      when item.to_s.include?("Weapon"); return Vocab::weapon
      when item.to_s.include?("Armor")
        return Vocab::armor1 if item.kind == 0
        return Vocab::armor2 if item.kind == 1
        return Vocab::armor3 if item.kind == 2
        return Vocab::armor4 if item.kind == 3
      else; return "???"
    end
  end
  #--------------------------------------------------------------------------
  def dispose
    super
    @tooltip.dispose
  end
  #--------------------------------------------------------------------------
end
#==============================================================================
class Window_Help < Window_Base
  #--------------------------------------------------------------------------
  alias melektaus_matrix_inventory_window_help_set_text set_text
  def set_text(text = "", align = 0)
    self.contents.font.bold = true
    s = $scene.to_s
    case true
    when s.include?("Scene_Item")
      text = Vocab::item
      align = 1
    when s.include?("Scene_Equip")
      text = Vocab::equip
      align = 1
    when s.include?("Scene_Shop")
      text = Window_Item::VOCAB_SHOP
      align = 1
    end
    melektaus_matrix_inventory_window_help_set_text(text, align) if text != ""
  end
  #--------------------------------------------------------------------------
end
#==============================================================================
class Scene_Shop < Scene_Base
  #--------------------------------------------------------------------------
  alias melektaus_matrix_inventory_scene_shop_start start
  def start
    melektaus_matrix_inventory_scene_shop_start
    @help_window.set_text
  end
  #--------------------------------------------------------------------------
  alias melektaus_matrix_inventory_scene_shop_update update
  def update
    melektaus_matrix_inventory_scene_shop_update
    @help_window.set_text
  end
  #--------------------------------------------------------------------------
end
#==============================================================================
class Window_ShopBuy < Window_Item
  #--------------------------------------------------------------------------
  def initialize(x, y)
    @shop_goods = $game_temp.shop_goods
    super(x, y, 304, 304)
    @use_new_wlh = true
    @column_max = 6
    @spacing = 4
    @tooltip_right_space = 208
    @tooltip_bottom_space = WLH
    @shop = true
    self.index = 0
    create_tooltip
    refresh
  end
  #--------------------------------------------------------------------------
  def refresh
    @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 < Scene_Base
  #--------------------------------------------------------------------------
  def update_buy_selection
    @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
    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
#==============================================================================

..und eine Demo..
Download (http://www.mediafire.com/?zmmldyyefze)

INFO:
Es wird empfohlen die Schriftart Calibri (Download) (http://www.mediafire.com/download.php?o5dag0nmvwt) zu verwenden, um eine optimale Dartstellung zu erzielen.
Den Inhalt des Downloads entpacken nach: {Projekt-Ordner}\Fonts\

Ansonsten wünsche ich viel Spaß^^

Titel: Re: MelekTaus' MatrixInventory 0.8
Beitrag von: RaZZoR am Juni 22, 2009, 02:31:17
Hey MelekTaus,

das sieht ja schon sehr nett aus. Mal was neues und nicht so langweilig.
Leider hab ich ein paar Probleme, das Script in mein momentanes Projekt einzubauen.

(http://s3b.directupload.net/images/090622/temp/s83a6nm7.png) (http://s3b.directupload.net/file/d/1833/s83a6nm7_png.htm)

Hm... ich hab mir jetzt nochmal genau die Zeile angeschaut und dachte mir, dass es vielleicht daran liegt, dass es ein Item ist, das keine Statuswerte verändert, sondern nur für ein späteres Event da ist. (Es handelt sich bei meinem Item um einen Schlüssel.)
Kann es sein, dass das Script solche Items nicht ganz verarbeiten kann?

MfG RaZZoR

EDIT: Hm okay, daran liegts wohl doch nicht... denn normale Heiltränke verursachen allein auch schon den selben Fehler.
Titel: Re: MelekTaus' MatrixInventory 0.8a
Beitrag von: MelekTaus am Juni 22, 2009, 02:58:34
Sry, das war wirklich ein dämlicher fehler von mir^^
Habe es editiert und jetzt müsste es klappen.

MfG,
MelekTaus
Titel: Re: MelekTaus' MatrixInventory 0.8a
Beitrag von: RaZZoR am Juni 22, 2009, 03:33:54
Hm... jetzt kommt zumindest kein Error mehr, aber leider erscheint nur ein leeres schwarzes Fenster, sobald ich ein Item auswählen möchte.
Also nicht der Bildschirm ist schwarz, sondern die Itembeschreibung, die in dem kleinen Fenster erscheint. Dieses kleine schwarze Fenster ist bei jedem meiner Items leer.^^
Ich werd der Sache heute mittag weiter auf den Grund gehen. Jetzt heißt es erstmal eine Runde schlafen. xD

MfG RaZZoR
Titel: Re: MelekTaus' MatrixInventory 0.8a
Beitrag von: MelekTaus am Juni 22, 2009, 04:04:25
Das liegt wahrscheinlich daran, weil du nicht die Schriftart "Calibri" installiert hast.
Hab' das Font-File jetzt oben zum Download angeboten.

Trotzdem habe ich Script jetzt abgeändert und es funktioniert theoretisch ohne dieser Schriftart^^

MfG,
MelekTaus
Titel: Re: MelekTaus' MatrixInventory 0.8a
Beitrag von: Im Not Jesus am Juni 22, 2009, 06:26:59
Sieht schonmal sehr interessant aus.
Werde es heute Nachmittag testen und dann hier rein editieren wies ist!
danke für das Skript!

mfg
iNj



*edit*


ist echt super! ich werde es sogar in meinem Nebenprojekt benutzen! ^.^
super gemacht!
Titel: Re: MelekTaus' MatrixInventory 0.8a
Beitrag von: Kyoshiro am Juni 22, 2009, 08:24:40
Ich habe es mal groß getestet,
das Script gefällt mir verdammt gut, ist auf alle Fälle eine sehr nette Alternative. :)
Einzig die Sache, dass etwas längere Texte so stark gestaucht werden, stört mich. Selbst wenn mein Text noch innerhalb der normalen Begrenzungen im Editor ist, dann wird der so dermaßen gestaucht, dass man kaum mehr was lesen kann.

Könntest du da vll noch etwas machen? Etwa, dass sich die Größe anpasst? Oder es zwei Zeilen für Text sind?

Kyoshiro
Titel: Re: MelekTaus' MatrixInventory 0.8a
Beitrag von: MelekTaus am Juni 22, 2009, 09:50:10
@kyoshiro: Schön dass es dir gefällt, thx^^
Lade dir mal die Demo, da wirst du sehen, dass es möglich ist einen Zeilenumbruch zu machen ;)

Kurz gesagt: mach einfach "|" ohne Anführungszeichen (ist das Zeichen neben der linken Shift-Taste) in der Item/Weapon/Armor-Beschreibung und du hast einen Umbruch.
Da kannst du natürlich soviele machen wie du willst - das Kästchen passt sich dann an ;)

MfG,
MelekTaus
Titel: Re: MelekTaus' MatrixInventory 0.8b
Beitrag von: Kyoshiro am Juni 22, 2009, 12:48:44
Super, vielen Dank für den Tip.
Sieht echt klasse aus, also mir gefällt es richtig gut.
Ich habe aber doch noch eine kleine Sache...und zwar die Farben für MP und HP, also speziell für die Anzeige, wie viele MP man bekommt.
Das Blau ist so extrem dunkel, dass man es nicht lesen kann, vll könntest du oben in die config auch noch eine Auswahl der Farbe mit reinnehmen (zum Bsp. entsrechend der Nummern im Windowskin oder so).
Hauptsache man kann die Farbe ändern. :)

Kyoshiro
Titel: Re: MelekTaus' MatrixInventory 0.8b
Beitrag von: Jisatsu am Juni 22, 2009, 13:18:59
uuhhh :3
Sehr schönes Skript ^^ Gefällt mir seeehr gut XD
Werds bestimmt auch einbauen X]

Jisatsu
Titel: Re: MelekTaus' MatrixInventory 0.9
Beitrag von: RaZZoR am Juni 22, 2009, 13:50:20
Super!
Jetzt funktioniert alles perfekt. Auch der Zeilenumbruch ist eine klasse Sache.
Tolles Skript. Vielen Dank!

MfG RaZZoR
Titel: Re: MelekTaus' MatrixInventory 0.9
Beitrag von: MelekTaus am Juni 22, 2009, 13:52:21
Danke nochmal für die positive Kritik :)

Dachte mir schon dass das mit den Farben noch einen kleinen Störfaktor verursacht XD
Hab' jetzt konstante Variablen hinzugefügt, mit dem man die Attribut-Modifikationen individuell färben kann^^
Sprich: HP, MP, ATK, DEF, SPI und AGI

Die Demo wurde ebenfalls aktualisiert!

MfG,
MelekTaus
Titel: Re: MelekTaus' MatrixInventory 0.9
Beitrag von: xelawebdev am Juni 23, 2009, 18:24:17
Den Script find ich super, danke für den Post, aber eine kleinigkeit hätt ich zu Fragen :)
Und zwar:
-Komischerweise Halbiert sich der Preis :D Klingt komisch, aber habe eine Waffe die "290" Kostet, was tut das Script in der Anzeige ,ist eine "145" also 50% von 290 auszugeben.

-Dann wäre da noch die Englische bezeichnung für "Weapon" im Script, ich habs auf "Waffe" umgeändert(übersetzt) aber dann gibt er wegen else; return "? ? ?"  ganz einfach "? ? ?" aus.
Wirds nicht erkannt auf "Waffe"?, ich mein das ist doch nur ein String oder Textform die man ändern kann (Lila Farbe) oder nicht? Hab da nicht so mit Ruby, aber weiss genau das "Lila farbende" Scriptteile umgeändert/übersetzt werden konnen.(Zumindestens bei allen anderen)

Ansonsten TOP Script.
Weiter so^^
Titel: Re: MelekTaus' MatrixInventory 0.9
Beitrag von: MelekTaus am Juni 23, 2009, 19:34:43
@Mr.Capslock
Bei den Preisen hatte ich mir eigentlich gedacht: "Verkaufspreis" - dh. der Wert des Gegenstandes, wenn man den bei einem Händler verkauft. (Ist doch beim Händler nur halb so viel wert oder?^^)

Und zum Problem mit Englisch/Deutsch: Im Script brauchst du nichts ändern
einfach im Datenbank-Editor bei "Terms" das "Weapon" auf "Waffe" ändern und dann klappt es ;)
und bei diesen beiden Variablen am Anfang des Scripts kannst du dann noch zwei Übersetzungen vornehmen:
- VOCAB_TYPE_ITEM = "Item"
- VOCAB_PRICE = "Price"

Ja und das mit dem Preis bzw. "Verkaufspreis" habe ich geändert, sodass man selbst entscheiden kann was man angezeigt haben will.

MfG
MelekTaus
Titel: Re: MelekTaus' MatrixInventory 0.9
Beitrag von: xelawebdev am Juni 23, 2009, 22:32:31
XD
-Stimmt hab ich verpeilt mit Halber Preis xDD Wie blöd von mir, tut mir Leid.

-Achso funktioniert das mit den Terms, danke,hab immer gesucht soein Script der ausführliche Informationen über Werte der Items anzeigt, ohne dabei das Feld mit Text zu besetzen :D
Thx & MfG Weiter so.


Titel: MelekTaus' MatrixInventory 0.9
Beitrag von: ~Koya~ am Juni 25, 2009, 20:04:03
Sehr schönes Script, wirklich!
Ich habe es getestet und bin sehr angetan. ^o^
Hoffe das noch ein paar schöne Features dazu kommen. :]


~Koya~
Titel: Re: MelekTaus' MatrixInventory 0.9
Beitrag von: Geoflare am Juni 25, 2009, 20:07:50
Wow geht sogar mit dem schrift änder skript (keine ahnung wie das heißt)

ich benutz es auf jaden Fall
Titel: Re: MelekTaus' MatrixInventory 1.0 Beta
Beitrag von: Kyoshiro am Juni 27, 2009, 15:07:23
Ein kleines Kompatibilitätsproblem gibt es doch mit deinem Script,
nämlich mit dem Shop, dort werden die "|" angezeigt, was nicht sehr schön aussieht.

Könntest du vll eine Erweiterung machen und ein weiteres Script schreiben,
welches den Shop so verändert wie du es mit den Items gemacht hast?^^

Damit wäre sicherlich nicht nur mir geholfen. :)

Kyoshiro
Titel: Re: MelekTaus' MatrixInventory 1.0 Beta
Beitrag von: Cyrak am Juni 29, 2009, 19:39:27
Genau, dasselbe Problem macht bei mir auch der Atmosphäre einen Strich (einen | xD) durch die Rechnung. Mir ist auch aufgefallen, dass das Problem im Kaufen-Fenster, nicht aber im Verkaufen-Fenster auftritt.

MelekTaus, hilf uns! T_T
Titel: Re: MelekTaus' MatrixInventory 1.0 Beta
Beitrag von: MelekTaus am Juni 29, 2009, 19:54:52
Das liegt daran, dass beim Verkaufen die selbe Klasse verwendet wird wie beim Inventar, beim Kaufen eben nicht.
dh: ich muss das systematisch in die Kaufen-Klasse rüber bekommen.

Ich werde versuchen, das Script heute noch up-zu-daten (auch wenns spät wird XD)

MfG, MelekTaus

EDIT: Erledigt^^
Titel: Re: MelekTaus' MatrixInventory 1.1
Beitrag von: Cyrak am Juni 30, 2009, 10:38:52
*wie ein Kleinkind auf Script zurenn, Verpackung abreiß und MelekTaus mit Hundeblick anschau*
Danke, dass du es so schnell und überhaupt hinbekommen hast! :D Hoffentlich wirst du weiterhin solche solide Scriptarbeit leisten, das bereichert uns ungemein.
Titel: Re: MelekTaus' MatrixInventory 1.1
Beitrag von: Emelie Rose am Juni 30, 2009, 13:37:03
Hey suuuper.
Genau nach sonem script hab ich vir wochen mal gefragt^^
du bekommst auf jedenfall eine Gastrolle in meinem Spiel.
Du bist mein Held*schleim*^^
Titel: Re: MelekTaus' MatrixInventory 1.1
Beitrag von: Cyrak am Juni 30, 2009, 16:00:19
Zwei Dinge sind mir noch eingefallen:
1. Bei mir erscheint keine Einkaufsbestätigung und keine Frage, wie viel Stück ich kaufen/verkaufen will.
2. Es kommt nicht der vorgesehene Verkaufs-SE.

Ansonsten toll! :)
Titel: Re: MelekTaus' MatrixInventory 1.1
Beitrag von: MelekTaus am Juni 30, 2009, 16:22:30
Also^^

Zitat
1. Bei mir erscheint keine Einkaufsbestätigung und keine Frage, wie viel Stück ich kaufen/verkaufen will.
Das habe ich deswegen so gemacht, weil es optisch so schlecht dazu passte, aber ich werde es so machen, dass man selbst entscheiden kann wie man es haben möchte.

Zitat
2. Es kommt nicht der vorgesehene Verkaufs-SE
Sry, darauf habe ich nicht geachtet. Das werde ich natürlich beheben.

MfG, MelekTaus

EDIT:: Schon erledigt^^
Titel: Re: MelekTaus' MatrixInventory 1.15
Beitrag von: Cyrak am Juli 01, 2009, 11:00:59
Mensch, das ging aber schnell. xD
Dankeschön! :)
Titel: Re: MelekTaus' MatrixInventory 1.15
Beitrag von: Herendil am Juli 01, 2009, 18:46:27
Ähm ich hätte da noch ne Anregung: Könntest du es so machen, dass wenn der Preis 0 ist, dann [desc=EDIT]NICHT[/desc] nichts sondern unverkäuflich steht? Das wäre ne recht gute Sinnbereicherung.
Titel: Re: MelekTaus' MatrixInventory 1.15
Beitrag von: Emelie Rose am Juli 01, 2009, 19:07:14
kann mann irgendwie das fenster grösser machen? oder gar [desc=soll heissen der kasten passt sich dem inhalt an]flexibel [/desc]

den bei nem item kann  man die schrift nicht lessen das sie zusammengedrückt wird.
Titel: Re: MelekTaus' MatrixInventory 1.15
Beitrag von: Herendil am Juli 01, 2009, 19:22:56
Dann solltest du eine neue Zeile mit | machen.
Titel: Re: MelekTaus' MatrixInventory 1.15a
Beitrag von: MelekTaus am Juli 01, 2009, 20:18:21
UPDATE: Neue Konstante: [desc=Text der beim Preis angezeigt wird,
wenn der Gegenstand 0 wert ist.]TEXT_FOR_NULL_PRICE[/desc]

@Mosima: Naja, die allgemeine Tooltip-Breite kannst du über TOOLTIP_BASE_WIDTH einstellen. Flexibel/Dynamisch werde ich es wahrscheinlich nicht machen, weil das ziemlich aufwendig ist (für mich jedenfalls^^)
Vielleicht irgendwann einmal^^

MfG, MelekTaus
Titel: Re: MelekTaus' MatrixInventory 1.15a
Beitrag von: Emelie Rose am Juli 01, 2009, 20:45:40
Dann solltest du eine neue Zeile mit | machen.

sry das wusst ich nicht das dass geht. dann hat sich ja das flexible erledigt^^
Titel: Re: MelekTaus' MatrixInventory 1.15a
Beitrag von: AngeL am Juli 15, 2009, 00:29:25
So, jetzt mal meine Meinung:

Richtig geiles Script :] Das pimpt mein menue gut auf.
Sehr schön! :]

So jetzt der miese teil ;o :

Hab ne fehlermeldung, die "manchmal" auftaucht wenn ich ein gegenstand verwendet hab. Undzwar:

(http://img3.imagebanana.com/img/x0mbmig/thumb/screeeeen.jpg)

Ansonsten, wie gesagt: Gutes Script :]
Titel: Re: MelekTaus' MatrixInventory 1.15a
Beitrag von: Claine am Juli 25, 2009, 21:18:56
Ich bekomme die selbe Fehlermeldung auch manchmal zu Gesicht, vll so in 3 von 10 Fällen ^^". Kann man irgendwas dagegen unternehmen?

MFG
Claine-kun
Titel: Re: MelekTaus' MatrixInventory 1.15a
Beitrag von: MelekTaus am Juli 26, 2009, 02:54:13
Hmm, kann ich mir nicht erklären, weil bei mir tauchte dieser Fehler noch nie auf O.O

Ich werde es demnächst umscripten (also rein intern mehr Logik einbringen). Mal sehen, ob dieser Fehler dann immer noch auf taucht^^"

EDIT: Fixed! (Hoffe ich zumindest... :D)

MfG, MelekTaus
Titel: Re: MelekTaus' MatrixInventory 1.15b
Beitrag von: Master Chain am Januar 11, 2010, 20:10:37
Super Script habs in mein Spiel integriert melde mich fals es Probleme gibt. 
Titel: Re: MelekTaus' MatrixInventory 1.15b
Beitrag von: Kvote am März 07, 2010, 11:51:07
Jo, ähm hi Melek :D
Also zuallerst mal ein dickes Lob an das Script^^ Ich finds klasse und nutze es auch selber ausgiebig (wenn man das so sagen kann xD) aber ein kleines Prob habe ich:

Ich war wohl scheinbar etwas (sehr) spät drann, denn ich wollte mich auch an deinen Rat halten den empfohlenen Font von dir zu benutzen (Calibri) aber der Downloadlink scheint nicht mehr Aktiv zu sein. Könntest du eventuell mir einen Link schicken oder ihn neu Posten?
Wäre dir dankbar :D

ps: ggf. wäre auch ein vergleichbar gut sichtbarer Font ok ^^


lg Kvote
Titel: Re: MelekTaus' MatrixInventory 1.15b
Beitrag von: Cyberxeroxx am März 07, 2010, 13:29:42
@ Kvote20

Mach es so wie ich lad dir die Demo und nimm den Ordner Fonts und kopier es in dein Projekt.
Titel: Re: MelekTaus' MatrixInventory 1.15b
Beitrag von: Kvote am März 16, 2010, 12:29:17
@Cyberxeroxx: Danke! Hab den Link überflogen und gedacht es steht nur demo (aber sie sei schon entfernt oder so xD) da. Naja jetz hab ichs und es funtzt einwandfrei!

lg Kvote
Titel: Re: MelekTaus' MatrixInventory 1.15b
Beitrag von: Agito Ace am April 22, 2011, 16:07:47
Hallo! :)

Toller Skript erstmal, verbessert das Inventar um einiges.

Und nun zum Problem (weiß nicht ob es genannt wurde):
Im Shop werden die Tooltips der Items einfach bis aus dem Bildschirm heraus angezeigt, d.h. sie bleiben nicht im sichtbaren Feld sondern sind abgeschnitten. Dies ist problematisch bei den ersten 3 Items von links nach rechts im Shop, man erkennt kaum etwas vom Tooltip. ^^

Bild: Siehe Anhang.

Lg
Titel: Re: MelekTaus' MatrixInventory 1.15b
Beitrag von: Emelie Rose am Mai 02, 2011, 16:28:36
hmm bei mir ist das net so.

haste noch ein anderes script? vill funkt da was dazwischen
Titel: Re: MelekTaus' MatrixInventory 1.15b
Beitrag von: RPG-Freak667 am April 22, 2012, 11:38:05
Fast 3 Jahre kein Beitrag mehr? Na das kann ich ändern :D
Ganz gut gelungen,ich kann das gut für mein Projekt brauchen^^
Titel: Re: MelekTaus' MatrixInventory 1.15b
Beitrag von: Emelie Rose am April 22, 2012, 17:23:16
in welchem jahr lebst den du  :grimace:

also ich rechne ein jahr ohne beitrag :D
Titel: Re: MelekTaus' MatrixInventory 1.15b
Beitrag von: RPG-Freak667 am April 27, 2012, 16:34:01
Jaja sry xD hab nich dran gedacht dass diese Thema mehr Seiten hat :D
Titel: Re: MelekTaus' MatrixInventory 1.15b
Beitrag von: Emelie Rose am April 27, 2012, 17:09:16
 :haha: kann ja mal passieren :D

aber ich glaube das projekt ist wircklich tod  :sad: :cry:
SimplePortal 2.3.3 © 2008-2010, SimplePortal