Buscador avanzado
Navegación
 Portal
 Índice
 Miembros
 Perfil
 FAQ
 Buscar
¿Quién está en línea?
En total hay 1 usuario en línea: 0 Registrados, 0 Ocultos y 1 Invitado :: 1 Motor de búsqueda

Ninguno

[ Ver toda la lista ]


La mayor cantidad de usuarios en línea fue 30 el Lun Dic 21, 2015 12:37 am.
Últimos temas
» MundoDeluxe cierra - Muchas Gracias a todos
por ZAnimeMaker Miér Mar 02, 2016 3:45 pm

» Recomendaciones para subir aportes
por Xpe Mar Ene 05, 2016 5:00 pm

» dUDA Sobre mi Rpg maker XP en ES
por SketchDeluxe Sáb Ene 02, 2016 7:26 pm

» Arruina el anterior y pide un deseo
por asdseba123 Mar Dic 29, 2015 11:07 pm

» ¿Qué haremos en nuestros días libres?
por bathory123 Sáb Dic 26, 2015 4:02 pm

» Monster Strike (Anime)
por kyonides Sáb Dic 26, 2015 3:33 am

» Galeria de avatares
por bathory123 Vie Dic 25, 2015 6:57 pm

» Feliz Navidad 2015
por kyonides Vie Dic 25, 2015 2:18 am

» Battlers laterales(Ragnarok)
por Maghno Miér Dic 23, 2015 6:57 pm

» Buenas a todos!
por SketchDeluxe Mar Dic 22, 2015 4:36 pm

Publicidad
Afiliados


KItem XP - Bolsa Categorizada Personalizable

Ver el tema anterior Ver el tema siguiente Ir abajo

KItem XP - Bolsa Categorizada Personalizable

Mensaje por kyonides el Sáb Oct 24, 2015 12:45 pm

KItem XP
v1.0.0


por Kyonides Arkanthos
 
Este script es de esos que les organizan sus objetos, todos ellos o las armas, las armaduras, los accesorios, los objetos consumibles o no consumibles, los objetos clave, los ingredientes de productos extraños que nadie en su sano juicio aprobaría y hasta habilidades o skills que hayan comprado por ahí.

Lo mejor del asunto es que Uds. eligen qué incluyen y qué no.

Solo sigan las instrucciones en el script y ya lo verán.

Por cierto el demo comprimido tiene una versión especial de KItem, de hecho está combinado con KSkill Shop o mi script de compra de habilidades. Aun si no quisieran que los jugadores compraran habilidades, el script puede seguir funcionando con solo que no hagan nada que esté relacionado con el uso de habilidades de formas inusuales.

El siguiente enlace de descarga también incluye el demo de KyoScriptPack Item 3 para XP

DESCARGA LOS DEMOS

Script de la versión simple de KItem XP

Código:
# * KItem XP
#   Scripter : Kyonides-Arkanthos
#   v 1.0.0 - 2015-07-10

#   Instrucciones
#     Agreguen los Modos de Visualización que deseen en el array MODES, los
#     los demás modos simplemente serán ignorados por el script.

#   Lista de Modos Disponibles
#     :all         - Todo lo que haya en la Bolsa
#     :all_items   - Todos los Objetos o items
#     :consume     - Todos los Objetos Consumibles
#     :no_consume  - Todos los Objetos No Consumibles
#     :key_items   - Todos los Objetos Claves No Consumibles No Utilizables
#     :ingredients - Todos los Objetos No Consumibles con 1 Uso
#     :weapons     - Todas las Armas
#     :all_armors  - Todas las Piezas de Armaduras incluidos Accesorios
#     :armors      - Todas las Armaduras propiamente dichas
#     :helmets     - Todos los Cascos o Yelmos
#     :shields     - Todos los Escudos
#     :accessories - Todos los Accesorios
#     :skills      - Todas las Habilidades o Skills

module KItem
  MODES = [:all, :all_items, :consume, :key_items, :ingredients, :weapons,
           :armors, :helmets, :shields, :accessories, :skills]
  LABELS = {}
  LABELS[:all]         = 'General'
  LABELS[:all_items]   = 'Objetos'
  LABELS[:consume]     = 'Consumibles'
  LABELS[:no_consume]  = 'No Consumibles'
  LABELS[:key_items]         = 'Objetos Claves'
  LABELS[:ingredients] = 'Ingredientes'
  LABELS[:weapons]     = 'Armas'
  LABELS[:all_armors]  = 'Piezas de Armaduras'
  LABELS[:armors]      = 'Armaduras'
  LABELS[:helmets]     = 'Cascos'
  LABELS[:shields]     = 'Escudos'
  LABELS[:accessories] = 'Accesorios'
  LABELS[:skills]      = 'Habilidades'
  ICONS = {}
  ICONS[:all]         = '034-Item03'
  ICONS[:all_items]   = '032-Item01'
  ICONS[:consume]     = '021-Potion01'
  ICONS[:no_consume]  = 'Alquimia'
  ICONS[:key_items]         = '029-Key01'
  ICONS[:ingredients] = 'Alquimia'
  ICONS[:weapons]     = 'Armas'
  ICONS[:all_armors]  = '013-Body01'
  ICONS[:armors]      = 'Armaduras'
  ICONS[:helmets]     = 'Cascos'
  ICONS[:shields]     = 'Escudos'
  ICONS[:accessories] = 'Accesorios'
  ICONS[:skills]      = '044-Skill01'
end

class Game_Party
  attr_reader :items, :weapons, :armors, :skills
end

class Window_Label < Window_Base
  def initialize(set_width=640)
    super(0, 0, set_width, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.visible = true
  end

  def set_text(text, align = 0)
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 0, self.width - 40, 32, text, align)
    @text = text
    @align = align
  end
end

class Sprite_Blink < Sprite
  def update
    super
    if @_blink
      @_blink_count = (@_blink_count + 1) % 32
      if @_blink_count < 16
        alpha = (16 - @_blink_count) * 6
      else
        alpha = (@_blink_count - 16) * 6
      end
      self.color.set(255, 255, 255, alpha)
    end
    @@_animations.clear rescue nil
  end

  def blink_on
    return if @_blink
    @_blink = true
    @_blink_count = 0
  end

  def blink_off
    return unless @_blink
    @_blink = false
    self.color.set(0, 0, 0, 0)
  end
end

class Window_Item
  attr_writer :label_window, :category_window
  def initialize
    super(0, 64, 640, 352)
    @mode_index = 0
    @mode = KItem::MODES[@mode_index]
    @column_max = 2
    refresh
    self.index = 0
    # If in battle, move window to center of screen and make it semi-transparent
    return unless $game_temp.in_battle
    self.y = 64
    self.height = 256
    self.back_opacity = 160
  end

  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    party = $game_party
    @data = []
    # Add item
    if @mode == :all or @mode == :all_items
      party.items.keys.sort.each {|n| next unless party.item_number(n) > 0
        @data << $data_items[n] }
    end
    if @mode == :consume
      party.items.keys.sort.each {|n| consumable = $data_items[n].consumable
        @data << $data_items[n] if party.item_number(n) > 0 and consumable }
    end
    if @mode == :no_consume
      party.items.keys.sort.each {|n| consumable = $data_items[n].consumable
        @data << $data_items[n] if party.item_number(n) > 0 and !consumable }
    end
    if @mode == :key_items
      party.items.keys.sort.each {|n| item = $data_items[n]
        next unless party.item_number(n) > 0
        @data << item if !item.consumable and item.occasion == 3 }
    end
    if @mode == :ingredients
      party.items.keys.sort.each {|n| item = $data_items[n]
        next unless party.item_number(n) > 0
        @data << item if !item.consumable and item.occasion < 3 }
    end
    unless $game_temp.in_battle
      if @mode == :all or @mode == :weapons
        party.weapons.keys.sort.each {|n| next unless party.weapon_number(n) > 0
          @data << $data_weapons[n] }
      end
      if @mode == :all or @mode == :all_armors
        party.armors.keys.sort.each {|n| next unless party.armor_number(n) > 0
          @data << $data_armors[n] }
      end
      if @mode == :armors
        party.armors.keys.sort.each {|n| next unless party.armor_number(n) > 0
          kind = $data_armors[n].kind
          @data << $data_armors[n] if kind == 2 }
      end
      if @mode == :helmets
        party.armors.keys.sort.each {|n| next unless party.armor_number(n) > 0
          kind = $data_armors[n].kind
          @data << $data_armors[n] if kind == 1 }
      end
      if @mode == :shields
        party.armors.keys.sort.each {|n| next unless party.armor_number(n) > 0
          kind = $data_armors[n].kind
          @data << $data_armors[n] if kind == 0 }
      end
      if @mode == :accessories
        party.armors.keys.sort.each {|n| next unless party.armor_number(n) > 0
          kind = $data_armors[n].kind
          @data << $data_armors[n] if kind == 3 }
      end
      if @mode == :skills and party.skills
        party.skills.keys.sort.each {|n| next unless party.skills[n]
          @data << $data_skills[n] }
      end
    end
    # If item count is not 0, make a bit map and draw all items
    @item_max = @data.size
    return if @item_max == 0
    self.contents = Bitmap.new(width - 32, row_max * 32)
    @item_max.times {|n| draw_item(n) }
  end

  def draw_item(index)
    item = @data[index]
    number = case item
    when RPG::Item : $game_party.item_number(item.id)
    when RPG::Weapon : $game_party.weapon_number(item.id)
    when RPG::Armor : $game_party.armor_number(item.id)
    when RPG::Skill : $game_party.skills[item.id]
    end
    can_use = item.is_a?(RPG::Item) and $game_party.item_can_use?(item.id)
    self.contents.font.color = can_use ? normal_color : disabled_color
    x = 4 + index % 2 * (288 + 32)
    y = index / 2 * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.icon(item.icon_name)
    opacity = self.contents.font.color == normal_color ? 255 : 128
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
    self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
    self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
  end

  def update
    @category_window.sprites.each {|sprite| sprite.update }
    if Input.trigger?(Input::L)
      $game_system.se_play($data_system.cursor_se)
      @mode_index = (@mode_index + KItem::MODES.size - 1) % KItem::MODES.size
      update_screen
      return
    elsif Input.trigger?(Input::R)
      $game_system.se_play($data_system.cursor_se)
      @mode_index = (@mode_index + 1) % KItem::MODES.size
      update_screen
      return
    end
    super
  end

  def update_screen
    @mode = KItem::MODES[@mode_index]
    sprites = @category_window.sprites
    sprites.each {|sprite| index = sprites.index(sprite)
      index == @mode_index ? sprite.blink_on : sprite.blink_off }
    @label_window.set_text(KItem::LABELS[@mode])
    self.index = 0
    refresh
  end

  def update_label() @label_window.set_text(KItem::LABELS[@mode]) end
end

class Window_ItemIcons < Window_Base
  attr_reader :sprites
  def initialize(x, y)
    max = (KItem::MODES.size + 1)
    super(x, y, max * 32, 64)
    @column_max = max - 1
    @sprites = []
    self.contents = Bitmap.new(width - 32, height - 32)
    @column_max.times {|n| @sprites << Sprite_Blink.new
      @sprites[n].x = self.x + 18 + n * 32
      @sprites[n].y = 18
      @sprites[n].z = 100 }
    refresh
  end

  def refresh() KItem::MODES.size.times {|n| draw_item(n) } end

  def draw_item(index)
    sprite = @sprites[index]
    sprite.clear rescue nil
    sprite.bitmap = RPG::Cache.icon(KItem::ICONS[KItem::MODES[index]])
    sprite.visible = true
  end

  def dispose
    @sprites.each {|sprite| sprite.dispose }
    super
  end
end

class Scene_Item
  alias kyon_kitem_scn_item_up update
  alias kyon_kitem_scn_item_up_item update_item
  def main
    @help_window = Window_Help.new
    @help_window.y = 416
    @label_window = Window_Label.new(640 - ((KItem::MODES.size + 1) * 32))
    @category_window = Window_ItemIcons.new(@label_window.width, 0)
    @item_window = Window_Item.new
    @item_window.help_window = @help_window
    @item_window.label_window = @label_window
    @item_window.category_window = @category_window
    @category_window.sprites[0].blink_on
    @item_window.update_label
    @target_window = Window_Target.new
    @target_window.visible = false
    @target_window.active = false
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      break if $scene != self
    end
    Graphics.freeze
    @category_window.dispose
    @label_window.dispose
    @help_window.dispose
    @item_window.dispose
    @target_window.dispose
  end

  def update
    @category_window.update
    @label_window.update
    kyon_kitem_scn_item_up
  end
end
avatar
kyonides
Usuario VIP
Usuario VIP

Mensajes : 66
Fecha de inscripción : 09/03/2009

Ver perfil de usuario

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.