collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: MelekTaus' MatrixInventory 1.15b  (Gelesen 9894 mal)

MelekTaus

  • Gast
MelekTaus' MatrixInventory 1.15b
« am: Juni 22, 2009, 01:49:26 »
Hier gibts eigentlich nicht viel zu sagen, hier mal die Screens..
Spoiler for Hiden:





..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:
Spoiler for Hiden:
#==============================================================================
# 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

INFO:
Es wird empfohlen die Schriftart Calibri (Download) zu verwenden, um eine optimale Dartstellung zu erzielen.
Den Inhalt des Downloads entpacken nach: {Projekt-Ordner}\Fonts\


Ansonsten wünsche ich viel Spaß^^

« Letzte Änderung: September 02, 2009, 19:00:15 von MelekTaus »

Re: MelekTaus' MatrixInventory 0.8

Offline RaZZoR

  • Contest-Rocker
  • Database-Verunstalter
  • **
  • Beiträge: 183
Re: MelekTaus' MatrixInventory 0.8
« Antwort #1 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.



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.
« Letzte Änderung: Juni 22, 2009, 02:34:54 von RaZZoR »


Re: MelekTaus' MatrixInventory 0.8a

MelekTaus

  • Gast
Re: MelekTaus' MatrixInventory 0.8a
« Antwort #2 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

Re: MelekTaus' MatrixInventory 0.8a

Offline RaZZoR

  • Contest-Rocker
  • Database-Verunstalter
  • **
  • Beiträge: 183
Re: MelekTaus' MatrixInventory 0.8a
« Antwort #3 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


Re: MelekTaus' MatrixInventory 0.8a

MelekTaus

  • Gast
Re: MelekTaus' MatrixInventory 0.8a
« Antwort #4 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

Re: MelekTaus' MatrixInventory 0.8a

Offline Im Not Jesus

  • Eventmeister
  • ***
  • Beiträge: 384
  • Still not Jesus.
Re: MelekTaus' MatrixInventory 0.8a
« Antwort #5 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!
« Letzte Änderung: Juni 22, 2009, 14:26:55 von Im Not Jesus »

Re: MelekTaus' MatrixInventory 0.8a

Offline Kyoshiro

  • Global Mod
  • RPGVX-Forengott
  • ****
  • Beiträge: 1623
  • Stand up and fight!
    • Mein Blog
Re: MelekTaus' MatrixInventory 0.8a
« Antwort #6 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

Re: MelekTaus' MatrixInventory 0.8a

MelekTaus

  • Gast
Re: MelekTaus' MatrixInventory 0.8a
« Antwort #7 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

Re: MelekTaus' MatrixInventory 0.8b

Offline Kyoshiro

  • Global Mod
  • RPGVX-Forengott
  • ****
  • Beiträge: 1623
  • Stand up and fight!
    • Mein Blog
Re: MelekTaus' MatrixInventory 0.8b
« Antwort #8 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

Re: MelekTaus' MatrixInventory 0.8b

Offline Jisatsu

  • VX-Kenner
  • ****
  • Beiträge: 457
Re: MelekTaus' MatrixInventory 0.8b
« Antwort #9 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

Re: MelekTaus' MatrixInventory 0.9

Offline RaZZoR

  • Contest-Rocker
  • Database-Verunstalter
  • **
  • Beiträge: 183
Re: MelekTaus' MatrixInventory 0.9
« Antwort #10 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


Re: MelekTaus' MatrixInventory 0.9

MelekTaus

  • Gast
Re: MelekTaus' MatrixInventory 0.9
« Antwort #11 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

Re: MelekTaus' MatrixInventory 0.9

Offline xelawebdev

  • Eventmeister
  • ***
  • Beiträge: 306
  • Webdeveloper, Designer
    • [Nicht fertig - Testseite]
Re: MelekTaus' MatrixInventory 0.9
« Antwort #12 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^^

Re: MelekTaus' MatrixInventory 0.9

MelekTaus

  • Gast
Re: MelekTaus' MatrixInventory 0.9
« Antwort #13 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

Re: MelekTaus' MatrixInventory 0.9

Offline xelawebdev

  • Eventmeister
  • ***
  • Beiträge: 306
  • Webdeveloper, Designer
    • [Nicht fertig - Testseite]
Re: MelekTaus' MatrixInventory 0.9
« Antwort #14 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.


« Letzte Änderung: Juni 24, 2009, 17:57:49 von Mr.Capslock »

 


 Bild des Monats

rooftop party

Views: 3579
By: papilion

 Umfrage

  • Wer soll das BdM gewinnen?
  • Dot Kandidat 1
  • 3 (25%)
  • Dot Kandidat 2
  • 1 (8%)
  • Dot Kandidat 3
  • 2 (16%)
  • Dot Kandidat 4
  • 0 (0%)
  • Dot Kandidat 5
  • 6 (50%)
  • Stimmen insgesamt: 12
  • View Topic

 Schnellsuche





SimplePortal 2.3.3 © 2008-2010, SimplePortal