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

Score System 1.0

Iniciado por miguel8884, 06/07/2014 às 16:10


Compatibilidade: Alta
Lag gerado: Baixo
Configuração: Muito Simples
Autor: miguel8884

[box class=titlebg]
O que é?[/box]

O script permite que apareça uma imagem escrita score e na frente o valor de uma variável, apenas quando uma switch estiver ligada.

[box class=titlebg]
Como usar[/box]

Istruções no script.

[box class=titlebg]
Log[/box]

Log

  • 06/07/2014 - Tópico criado script lançado
[close]

[box class=titlebg]
Imagens[/box]

A imagem mostra o texto vermelho, mas pode-se mudar a cor e outras coisas também

Spoiler
[close]

[box class=titlebg]
Adicionais[/box]

O script atualiza no mesmo momento que a variável for modificada!

[box class=titlebg]
Script[/box]

#===============================================================================
# ** Score System
# Autor: miguel8884
#-------------------------------------------------------------------------------
# Data de lançamento: 06/07/2014
# Versão: 1.0
#-------------------------------------------------------------------------------
# Descrição:
#
# O script permite que apareça uma imagem escrita score e na frente o valor
# de uma variável, apenas quando uma switch estiver ligada.
#-------------------------------------------------------------------------------
# Características:
# * Bem personalizável!
# * Lag bem baixo!
# * Utiliza variável do jogo em tempo real!
#-------------------------------------------------------------------------------
# Log:
# v1.0
#   06/07/2014 - Script lançado!
#===============================================================================
module Score_Config
  #=============================================================================
  # Configurações
  #=============================================================================
  #=============================================================================
  # Vocabulário para o texto antes do score em número
  #=============================================================================
  Vocab_Score = "Score:"
  #=============================================================================
  # Id da variável que está armazenado o score
  #=============================================================================
  Variable_ID = 1
  #=============================================================================
  # Posição XY do texto
  #=============================================================================
  Score_XY = [0,0]
  #=============================================================================
  # Switch que deve estar ativada para o score aparecer
  #=============================================================================
  Switch = 1
  #=============================================================================
  # Configurações da fonte
  #=============================================================================
  Font_Color = Color.new(255,0,0) # Cor da fonte #
  Font_Size = 24 # Tamanho da fonte #
  Font_Type = "Arial" # Nome da fonte #
  Font_Shadow = true # Sombra na fonte? #
  #=============================================================================
  # Fim das configurações
  #=============================================================================
end
#===============================================================================
# Classe Scene_Map modificada para aparecer o score
#===============================================================================
class Scene_Map < Scene_Base
  include Score_Config
  #=============================================================================
  # Todos os alias para modificar os metodos sem apagar o que já está pronto
  #=============================================================================
  alias gst_start_score start
  alias gst_update_score update
  alias gst_terminate_score terminate
  #=============================================================================
  # Inicia a variável que é igualada a variável de fora e executa o metodo
  #=============================================================================
  def start
    gst_start_score
    @variable = $game_variables[Variable_ID]
    create_score if $game_switches[Switch] == true
  end
  #=============================================================================
  # Atualiza o score e verifica se a switch está ativada para ele aparecer
  #=============================================================================
  def update
    gst_update_score
    if $game_switches[Switch] == true
      if update_var?
        @variable = $game_variables[Variable_ID]
        clear_score if @score != nil
        create_score
      end
    end
    if $game_switches[Switch] == false && @score != nil
      dispose_score
    end
  end
  #=============================================================================
  # Metodo que apaga o score apenas se ele não for nulo
  #=============================================================================
  def terminate
    gst_terminate_score
    dispose_score if @score != nil
  end
  #=============================================================================
  # Criação da imagem do score
  #=============================================================================
  def create_score
    @score = Sprite.new
    @score.bitmap = Bitmap.new(100,55)
    @score.bitmap.font.size = Font_Size
    @score.bitmap.font.name = Font_Type
    @score.bitmap.font.color = Font_Color
    @score.bitmap.font.shadow = Font_Shadow
    @score.bitmap.draw_text(Score_XY[0],Score_XY[1],100,55,"#{Vocab_Score} #{@variable}",1)
  end
  #=============================================================================
  # Metodo criado para apenas apagar o conteúdo da variável
  #=============================================================================
  def clear_score
    @score.bitmap.clear
    @score.bitmap = nil
  end
  #=============================================================================
  # Metodo de excluir a variável da imagem
  #=============================================================================
  def dispose_score
    @score.bitmap.dispose
    @score.dispose
  end
  #=============================================================================
  # Quando chamado, retorna true se a variável do script não for igual a de fora
  #=============================================================================
  def update_var?
    return true unless @variable == $game_variables[Variable_ID]
  end
end
#===============================================================================
# Fim do script
#===============================================================================