O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Show Actor Equipaments

Iniciado por miguel8884, 06/08/2014 às 14:55

06/08/2014 às 14:55 Última edição: 06/08/2014 às 15:07 por miguel8884
Show Actor Equipaments

Compativel com: RMVXA
Compatibilidade: boa
Facilidade de uso: fácil
Dependências: Bitmap Additional Methods
Lag gerado: baixo > desprezível

[box class=titlebg]
Condições de Uso
[/box]
Livre para uso comercial e não comercial, apenas dê s créditos.

[box class=titlebg]
Para que serve o script
[/box]
O script cria uma hud que pode ser chamada por tecla que mostra todos os itens que o herói está equipado, ela aparece, fica o tempo definido em frames e sai novamente.

[box class=titlebg]
Imagens
[/box]

[box class=titlebg]
Script
[/box]
#===============================================================================
# ** Show Actor Equipaments
# Autor: miguel8884
#-------------------------------------------------------------------------------
# Data de lançamento: 06/08/2014
# Versão: 1.0
#-------------------------------------------------------------------------------
# Dependências:
# * Ghost Core 1.0
#-------------------------------------------------------------------------------
# Descrição:
#
# O script permite que ao apertar uma tecla uma hud apareça mostrando os
# equipamentos que o herói está usando
#-------------------------------------------------------------------------------
# Características:
# * Bastante personalizável!
# * Lag baixo!
# * Nomes e ícones dos equipamentos!
# * Cores definíveis!
#-------------------------------------------------------------------------------
# Log:
# v1.0
#   06/08/2014 - Script lançado!
#===============================================================================
module Inventory_Config
  #=============================================================================
  # Configurações
  #=============================================================================
  Call_Key = :X # Tecla que chama a hud #
  Background_Color = Color.new(0,0,0,80) # Cor do fundo #
  Font_Color = Color.new(255,255,255) # Cor das fontes #
  Slide_Speed = 2.5 # Velocidade em que a hud sobe e desce #
  Timer = 180 # Tempo que a hud fica na tela #
  #=============================================================================
  # Fim das configurações
  #=============================================================================
end
#===============================================================================
# Aqui começa o script - Não mexa
#===============================================================================
#===============================================================================
# Classe Scene_Map modificada para fazer a hud
#===============================================================================
class Scene_Map < Scene_Base
  include Inventory_Config
  alias gst_si_start start
  alias gst_si_update update
  alias gst_si_terminate terminate
  #=============================================================================
  # Método que inicia a scene
  #=============================================================================
  def start
    gst_si_start
    @inven = []
    @text = []
    @timer = 0
    create_inventory
  end
  #=============================================================================
  # Método que atualiza a scene
  #=============================================================================
  def update
    gst_si_update
    update_inventory
  end
  #=============================================================================
  # Método que finaliza a scene
  #=============================================================================
  def terminate
    gst_si_terminate
    dispose_inventory
  end
  #=============================================================================
  # Método que cria a hud
  #=============================================================================
  def create_inventory
    @back = Sprite.new
    @back.bitmap = Bitmap.new($game_party.members[0].equips.size*93,28)
    @back.bitmap.fill_rect(0,0,$game_party.members[0].equips.size*93,28,Background_Color)
    @back.x = 30
    @back.y = 476
    for i in 0..$game_party.members[0].equips.size
      @inven.push(Sprite.new)
      @inven[i].bitmap = Bitmap.new(24,24)
      @inven[i].bitmap.create_icon($game_party.members[0].equips[i].icon_index,0,0) unless $game_party.members[0].equips[i] == nil
      @inven[i].x = 32+i*108
      @inven[i].y = 476
    end
    for t in 0..$game_party.members[0].equips.size
      @text.push(Sprite.new)
      @text[t].bitmap = Bitmap.new(105,30)
      @text[t].bitmap.font.size = 20
      @text[t].bitmap.draw_text(0,0,105,30,$game_party.members[0].equips[t].name,1) unless $game_party.members[0].equips[t] == nil
      @text[t].x = 0+t*105
      @text[t].y = 486
      @text[t].z = 999
    end
  end
  #=============================================================================
  # Método que apaga a hud
  #=============================================================================
  def dispose_inventory
    @back.bitmap.dispose
    @back.dispose
    @inven.each{|i|
      i.bitmap.dispose
      i.dispose
    }
    @text.each{|t|
      t.bitmap.dispose
      t.dispose
    }
  end
  #=============================================================================
  # Método que atualiza a hud para subir e descer
  #=============================================================================
  def update_inventory
    if Input.trigger?(Call_Key)
      @called = true
      @timer = Timer
    elsif @timer > 0 and @called = true
      @timer -= 1
    elsif @back.y <= 366 and @timer == 0
      @called = false
    end
    if @called == true and @back.y > 366
      @back.y -= Slide_Speed
      @inven.each{|i|
        i.y -= Slide_Speed
      }
      @text.each{|t|
        t.y -= Slide_Speed
      }
    elsif @back.y <= 496 and @called == false
      @back.y += Slide_Speed
      @inven.each{|i|
        i.y += Slide_Speed
      }
      @text.each{|t|
        t.y += Slide_Speed
      }
    end
  end
end
#===============================================================================
# Fim do script
#===============================================================================

[box class=titlebg]
Créditos
[/box]
Criador: Miguel8884

Qualquer erro ou dica é só dizer!

É um script bem simples mas bem legal. É bom para quem quiser fazer um jogo com um personagem só.
Meus parabéns, quem sabe eu não use? :blink: