Últimos temas
» [MV] ¿Cómo mover un sprite?
por Frägarach Hoy a las 2:19 am

» Como cambio esto?...
por Shy_Cream Hoy a las 2:09 am

» El Dia Z - Demo
por EdwarPlay Ayer a las 8:08 pm

» Pokemon Destiny
por Greninja555 Ayer a las 5:46 pm

» Animación Habilidad de Enemigos RPGMAKER VX ACE
por Metatron Ayer a las 3:16 am

» [VX] Cambio de Resolución
por luistop12 Vie Sep 13, 2019 6:51 am

» ¿Como Mover al jugador mientras hay una conversación?
por Zachy Vie Sep 13, 2019 2:05 am

» ¿Como hacer un menú/Galería de imágenes? (RPG VxAce)
por ZororoWhite Jue Sep 12, 2019 7:57 pm

» Inherited Sins [Juego Completo] [Definitive Edition]
por Nina Jue Sep 12, 2019 7:47 pm

» Zaza no konpasu (La Brújula de Zaza) [VXACE]
por Pocari Sáb Sep 07, 2019 12:28 pm

» Ayuda con el ABS
por DarkarPro0102 Sáb Sep 07, 2019 8:32 am

» Pop! Horror City Complementos
por EdwarPlay Jue Sep 05, 2019 10:59 pm


[VX] Libro de ítems

Ir abajo

[VX] Libro de ítems Empty [VX] Libro de ítems

Mensaje por Alojzy el Jue Mar 06, 2014 4:31 pm

Hola!

Aquí traigo un interesante script que hace como libro de ítems, donde el jugador puede ver los ítems que ha obtenido y/o conoce.

Screenshot:

[VX] Libro de ítems B9P8xiL

Script:

Código:
###########################################################
          #################### LIBRO DE ÍTEMS #######################
          #### V 1.0.2 ##############################################
          ################################### Por: LB ###############
          ################Traducción: Alojzy###########################
          #########################################################
 
BACK_LITENS = ""
 
class Scene_LItens < Scene_Base
  def start
    super
    create_menu_background
    @window_items = Window_LItens.new(228,416)
    @window_infos = Window_Base.new(228,0,316,416)
    if BACK_LITENS != ""
      @window_items.opacity = 0
      @window_infos.opacity = 0
      @window_items.z = 1
      @window_infos.z = 1
      @back = Sprite.new
      @back.bitmap = Bitmap.new(BACK_LITENS)
    end
    b = 0
    for i in 0...$data_items2.size
      if $data_items2[i + 1] == true
        b += 1
      end
    end
    if b == 0
      @t = false
      @window_items.index = -1
      @window_info = Window_Base.new(261,180,250,128)
      @window_info.contents.draw_text(0, 0, 218, 24, "No conoces", 1)
      @window_info.contents.draw_text(0, 24, 218, 24, "ningún item", 1)
      @window_info.contents.draw_text(0, 72, 218, 24, "Presione ESC para salir", 1)
    else
      @t = true
      update_info
      @window_info = Window_Base.new(261,180,250,128)
      @window_info.visible = false
    end
  end
  def update
    super
    update_menu_background
    @window_items.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.repeat?(Input::DOWN) and @t
      update_info
    elsif Input.repeat?(Input::UP) and @t
      update_info
    end
  end
  def terminate
    super
    dispose_menu_background
    @window_info.dispose
    @window_items.dispose
    @window_infos.dispose
    if BACK_LITENS != ""
      @back.dispose
    end
  end
  def update_info
    @a = []
    b = 0
    for i in 0...$data_items2.size
      if $data_items2[i + 1] == true
        @a[b] = i + 1
        b += 1
      end
    end
    @window_infos.contents.clear
    item = $data_items[@a[@window_items.index]]
    @window_infos.contents.font.color = @window_infos.normal_color
    @window_infos.contents.draw_text(0, 24 * 0, 284, 24, "Nombre: " + item.name.to_s)
    @window_infos.contents.draw_text(0, 24 * 1, 284, 24, item.description.to_s)
    @window_infos.contents.draw_text(0, 24 * 2, 284, 24, "Valor: " + item.price.to_s)
    cx = @window_infos.contents.text_size("Valor: " + item.price.to_s).width
    @window_infos.contents.draw_text(cx, 24 * 2, 284, 24, " " + Vocab::gold)
    hp = "Recuperación de HP: " + item.hp_recovery.to_s + " + " + item.hp_recovery_rate.to_s + "%"
    mp = "Recuperación de MP: " + item.mp_recovery.to_s + " + " + item.mp_recovery_rate.to_s + "%"
    @window_infos.contents.draw_text(0, 24 * 4, 284, 24, hp)
    @window_infos.contents.draw_text(0, 24 * 5, 284, 24, mp)
    if item.parameter_type > 0
      parameter = ["","el HP Max.","el MP Max.","el Ataque","la Defensa","la Agilidad","la Inteligencia"]
      text = "Aumenta " + parameter[item.parameter_type] + " en " + item.parameter_points.to_s + " puntos"
    else
      text = "No modifica atributos"
    end
    @window_infos.contents.draw_text(0, 24 * 7, 284, 24, text)
    scopes = ["Nadie","Un enemigo","Grupo de enemigos","Próximo enemigo","Un enemigo aleatorio","Dos enemigos aleatorios","Tres enemigos aleatorios","Un aliado","Grupo de personajes","Un aliado muerto","Todos los personajes muertos","Heroe"]
    text = "Afecta a: " + scopes[item.scope]
    @window_infos.contents.draw_text(0, 24 * 9, 284, 24, text)
    occasions = ["Batalla y menú","Sólo batalla","Sólo menú","Sin uso"]
    text = "Usar en: " + occasions[item.occasion]
    @window_infos.contents.draw_text(0, 24 * 10, 284, 24, text)
    sn = item.consumable ? " Sí" : " No"
    @window_infos.contents.draw_text(0, 24 * 12, 284, 24, "Consumible:" + sn)
    @window_infos.contents.draw_text(0, 24 * 15, 284, 24, "Presione ESC para salir")
  end
end
class Scene_Title < Scene_Base
  alias litens command_new_game
  def command_new_game
    litens
    $data_items2 = [nil]
    for i in 1...$data_items.size - 1
      $data_items2[i] = false
    end
  end
end
class Window_LItens < Window_Selectable
  def initialize(width, height)
    super(0, 0, width, height)
    @commands = $data_items2
    @item_max = @commands.size
    @column_max = 1
    self.contents = Bitmap.new(width-32,@commands.size*24)
    refresh
    self.index = 0
  end
  def refresh
    self.contents.clear
    @a = 0
    for i in 0...@item_max
      if $data_items2[i + 1] == true
        draw_item(i)
        @a += 1
      end
    end
    @item_max = @a
  end
  def draw_item(index, enabled = true)
    rect = item_rect(@a)
    self.contents.clear_rect(rect)
    self.contents.font.color = normal_color
    self.contents.font.color.alpha = enabled ? 255 : 128
    draw_item_name($data_items[index + 1], rect.x, rect.y)
  end
end
class Game_Party < Game_Unit
  def gain_item(item, n, include_equip = false)
    number = item_number(item)
    case item
    when RPG::Item
      @items[item.id] = [[number + n, 0].max, 99].min
      $data_items2[item.id] = true
    when RPG::Weapon
      @weapons[item.id] = [[number + n, 0].max, 99].min
    when RPG::Armor
      @armors[item.id] = [[number + n, 0].max, 99].min
    end
    n += number
    if include_equip and n < 0
      for actor in members
        while n < 0 and actor.equips.include?(item)
          actor.discard_equip(item)
          n += 1
        end
      end
    end
  end
end

Instrucciones:
- Pegarlo encima de Main
- Para que salga el libro, llamar el script con el siguiente código:
Código:
$scene = Scene_LItens.new

Créditos:
- LB (Creador)
- Alojzy (Traductor)

Dudas, preguntad!

Eso es todo y un saludo!

_________________
Staff tú tienes que comprender, mi firma se pasa en excesooo:

==========================================================================
[VX] Libro de ítems Farachel 

Nadie sabe que le pasó a esta mujer...
Las leyendas de Magvel dicen que tuvo una explosión cerebral causada por el torso desnudo de Ephraim, otros dicen que El Rey Demonio la tiene poseída, ¿quién sabe?... 
==========================================================================
Alojzy
Alojzy
Moderador
Moderador

Masculino
Chile
RPG Maker : Xp
Mensajes : 297
Monedas : 223
Reputación : 59
Edad : 28
Localización : Ginnungagap.

Volver arriba Ir abajo

Volver arriba

- Temas similares

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