Lua RPG Maker
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

[RGSS2][Dispondo]Sistema de troféus + ADD-On

+4
Zhak
LunarInvasor
RayquazaBR
kako92
8 participantes

Ir para baixo

[RGSS2][Dispondo]Sistema de troféus + ADD-On Empty [RGSS2][Dispondo]Sistema de troféus + ADD-On

Mensagem por kako92 Ter Ago 17, 2010 7:47 pm

-----------------------------------------------------------------------------------------------------------------
Script exclusivo da Lua Rpg Maker e Mundo RPG Maker.
Não autorizo a distribuição em outros foruns.

-----------------------------------------------------------------------------------------------------------------


Sistema de Troféus
Criado por kako92
17/08/2010

-----------------------------------------------------------------------------------------------------------------

Introdução:
Este script lhe permite criar uma lista de troféus para que você possa,de certo modo, arquivar as conquistas no seu jogo.

-----------------------------------------------------------------------------------------------------------------
Instruções:


-Crie um novo troféu na array T_LIST com um novo id. EX: T_LIST[26];
-Crie os detalhes do novo troféu seguindo o modelo acima da array T_DET;
-Configure as outras opções a vontade, porem não altere onde há o aviso;
-Crie um novo evento;
-Use o comando "Chamar Script" abaixo do passo anterior com as seguintes infos:
-$trophy = Trophy_Display.new(<id>) o id se refere ao número do troféu.
-Utilize o comando "Esperar" e determine alguns frames para o proximo passo;
-Após determinar os frames, use chamar script novamente com $trophy.close;
-E pronto! O troféu será ativado.
-Para visualisar a porcentagem e a quantidade de troféus adquiridos, pressione a tecla Enter no menu de troféus

-----------------------------------------------------------------------------------------------------------------

Screenshots:

Spoiler:
Spoiler:

-----------------------------------------------------------------------------------------------------------------

Script 1.3:
Esta nova versão contem novidades, e aconselho a todos utilizarem ela junto do ADD-On
Código:

#===============================================================================
#                    Scene_Trophy 1.3, feito por kako92 em 17/08/2010
#===============================================================================
#                                  INTRODUÇÃO:
# Este script lhe permite criar uma lista de troféus para que você possa,
# de certo modo, arquivar as conquistas no seu jogo.
#===============================================================================
#                              INCOMPATIBILIDADE:
#                  A maioria dos scripts de Scene_Map customizado.
#===============================================================================
#                                  INTRUÇÕES:
#===============================================================================
# -Crie uma pasta com o nome de Trophy dentro da sua pasta Graphics;
# -Crie um novo troféu na array T_LIST com um novo id. EX: T_LIST[26];
# -Crie os detalhes do novo troféu seguindo o modelo acima da array T_DET;
# -Configure as outras opções a vontade, porem não altere onde há o aviso;
# -Crie um novo evento;
# -Use o comando "Chamar Script" abaixo do passo anterior com as seguintes infos:
# -Trophy_Display.new(<id>) o id se refere ao número do troféu.
# -E pronto! O troféu será ativado.
#===============================================================================

#===============================================================================
# Observações:
#
# Na versão 1.0 o script necessitava de uma variável do sistema e de vários
# switchs, também do sistema, para ativar os troféus, ja na versão 1.1 o
# script atualiza os troféus com switchs e variáveis internos, poupando assim
# o desperdicio de ferramentas de jogo.
# Pretendo, na versão 1.2, criar a opção de escolher uma imagem para cada
# troféu, e classificar os rankings de C à S automaticamente com icones dos
# respectivos tipos de troféus.
# Previsão da versão 1.2: 18/08/2010
#-------------------------------------------------------------------------------
# Versão 1.2 pronta, para a 1.3 pretendo implementar o sistema de imagens
# diferentes para cada troféu.
# Previsão da versão 1.3: 19/08/2010
#-------------------------------------------------------------------------------
# Versão 1.3 concluida, agora o sistema usa uma pasta própria para o
# armazenamento das imagens do script e cada troféu tem a possibilidade de
# ter uma imagem particular.
#===============================================================================

################################################################################
#
#                    INICIO DO MODULO DE CONFIGURAÇÃO
#
#===============================================================================
# Sumário:
# -De 1.1 à 1.4, configurações dos troféus;
# -Em 2.1, opção de ativação;
# -De 3.1 à 3.2, opções de textos;
# -De 4.1 à 4.3, opções de gráficos;
# -Em 5.1, transparência das janelas;
# -De 6.1 à 6.2, customizações adcionais.
################################################################################
module Trophy

#===============================================================================
# 1.1 Lista de troféus, lembre-se de criar os detalhes mais abaixo.
#===============================================================================

  T_LIST = [] # < Não modificar
  # Abaixo está a lista de troféus, para criar mais, apenas adcione um T_LIST[]
  # com o proximo ID em colchetes.
  # EX: T_LIST[<id>] = "<nome>" ou T_LIST[20] = "oi"
 
  T_LIST[0] = "Inicio"
  T_LIST[1] = "Vontade"
  T_LIST[2] = "Cobiça"
  T_LIST[3] = "Rotina"
  T_LIST[4] = "Monotonia"
  T_LIST[5] = "Descrença"
  T_LIST[6] = "Tédio"
  T_LIST[7] = "Meio"
  T_LIST[8] = "Esperança"
  T_LIST[9] = "Ihaaa!!!"
  T_LIST[10] = "Nunca desista!"
  T_LIST[11] = "Quase lá..."
  T_LIST[12] = "Desejo."
  T_LIST[13] = "Véspera"
  T_LIST[14] = "Fim."
 
#===============================================================================
# 1.2 Graficos dos troféus
#===============================================================================

  T_GRAPH = [] # < Não modificar
  # Aqui você pode escolher os graficos dos troféus e suas miniaturas.
  # Elas devem estar na sua pasta Graphics/System.
  # Dimensões recomendadas. GRAPH grande: 75x75 GRAPH mini: 25x25
  T_GRAPH[0] = ["bronze","minibronze"]
  T_GRAPH[1] = ["silver","minisilver"]
  T_GRAPH[2] = ["gold","minigold"]
  T_GRAPH[3] = ["platinum","miniplat"]
 
#===============================================================================
# 1.3 Imagens dos troféus
#===============================================================================
 
  T_IMG = [] # < Não modificar
  # Aqui você pode escolher as imagens de troféus.
  # Elas devem estar na sua pasta Graphics/Trophy/.
  # Dimensões recomendadas: 75x75
 
  T_IMG[0] = "trophy0"
  T_IMG[1] = "trophy1"
  T_IMG[2] = "trophy"
  T_IMG[3] = "trophy0"
  T_IMG[4] = "trophy1"
  T_IMG[5] = "trophy"
  T_IMG[6] = "trophy0"
  T_IMG[7] = "trophy1"
  T_IMG[8] = "trophy"
  T_IMG[9] = "trophy0"
  T_IMG[10] = "trophy1"
  T_IMG[11] = "trophy"
  T_IMG[12] = "trophy0"
  T_IMG[13] = "trophy1"
  T_IMG[14] = "trophy"

#===============================================================================
# 1.4 Detalhes dos troféus
#===============================================================================
  T_DET = [] # < Não modificar
 
  # Modelo
  # T_DET[<id>] = [<Rank C,B,A ou S>, <descrição>]
  # <id> é o ID do troféu;
  # <Rank> é a categoria ou dificuldade do troféu. veja abaixo como utilizar;
  # T_GRAPH[0] = Rank C;
  # T_GRAPH[1] = Rank B;
  # T_GRAPH[2] = Rank A;
  # T_GRAPH[3] = Rank S;
  # <descrição> é obviamente a descrição do troféu;
 
  T_DET[0] = [T_GRAPH[0],"Troféu 1."]
  T_DET[1] = [T_GRAPH[0],"Troféu 2"]
  T_DET[2] = [T_GRAPH[0],"Troféu 3."]
  T_DET[3] = [T_GRAPH[0],"Troféu 4."]
  T_DET[4] = [T_GRAPH[0],"Troféu 5."]
  T_DET[5] = [T_GRAPH[1],"Troféu 6."]
  T_DET[6] = [T_GRAPH[1],"Troféu 7."]
  T_DET[7] = [T_GRAPH[2],"Troféu 8."]
  T_DET[8] = [T_GRAPH[1],"Troféu 9."]
  T_DET[9] = [T_GRAPH[1],"Troféu 11."]
  T_DET[10] = [T_GRAPH[2],"Troféu 11."]
  T_DET[11] = [T_GRAPH[2],"Troféu 12."]
  T_DET[12] = [T_GRAPH[2],"Troféu 13."]
  T_DET[13] = [T_GRAPH[2],"Troféu 14."]
  T_DET[14] = [T_GRAPH[3],"Derrote Vampiro Mestre"] 
 
  # Aqui serão definidos os nomes e os icones para os ranks
  RANK_3 = ["S",138] # Muito dificil
  RANK_2 = ["A",139] # Dificil
  RANK_1 = ["B",140] # Médio
  RANK_0 = ["C",141] # Fácil
  HIDDEN = ["?",142] # Desconhecido
 
#===============================================================================
# 2.1 Defina como o Scene_Trophy será utilizado.
#    Pelo Scene_Menu ou através do Scene_Map
#===============================================================================

  CALL_ON_MAP = true # Defina true para chamar pelo Scene_Map e false para não.
  TRIGGER = Input::R # Defina a tecla a ser utilizada.
   
#===============================================================================
# 3.1 Cores dos textos em RGB
#===============================================================================
  NAME_COLOR = Color.new(255, 255, 255) # Cor do nome
  RANK_COLOR = Color.new(218, 165, 32 ) # Cor do Ranking
  DATA_COLOR = Color.new(255, 255, 255) # Cor da porcentagem
  DESC_COLOR = Color.new(255, 255, 255) # Cor da descrição
 
#===============================================================================
# 3.2 Sombras no texto. true = usar e false = não usar
#===============================================================================
  TEXT_SHADOW = true
 
#===============================================================================
# 4.1 Imagem de fundo da scene, defina como nil para não utilizar.
#===============================================================================
  T_BACK = "Trback"
 
#===============================================================================
# 4.2 Imagem de fundo da janela de troféus
#===============================================================================
  T_DISPLAY_BACK = "trophyback"
 
#===============================================================================
# 4.3 Imagem de fundo dos comandos
#===============================================================================
  T_COMMAND_BACK = "ProfileItem"
 
#===============================================================================
# 5.1 Transparência das windows. 0 = invisivel 200 =  visivel
#    Alterar apenas os números.
#===============================================================================
 if T_BACK != nil
  OPACITY = 0
 else
  OPACITY = Horegan::OPACITY
 end
 
#===============================================================================
# 6.1 Defina se quer usar colunas na lista de troféus e a quantidade.
#===============================================================================
  USE_COLUMN = false
  COLUMN_NUMBER = 2
 
#===============================================================================
# 6.2 Limite de troféus. True para usar, e false para não usar.
#===============================================================================
 T_LIMIT_USE = true
 T_LIMIT = 26 # Defina aqui o maximo de troféus possiveis.
#===============================================================================
end


################################################################################
#
#                    FIM DO MODULO DE CONFIGURAÇÃO
#
################################################################################


#-------------------------------------------------------------------------------
# Não altere os dados abaixo:
#-------------------------------------------------------------------------------
$imported = {} if $imported == nil
$imported["Scene_Trophy"] = true
$trophy_switches = []
#-------------------------------------------------------------------------------

module Cache
  def self.trophy(filename)
    load_bitmap("Graphics/Trophy/", filename)
  end
end

################################################################################
# Inicio da Scene_Trophy
################################################################################

class Scene_Trophy < Scene_Base
#===============================================================================
# Metodo Inicial
#===============================================================================
  def initialize(index = 0)
      @index = index
  end
#===============================================================================
# Metodo Start
#===============================================================================
  def start
    @window_info = Window_Base.new(0,363,544,53)
    @window_info.visible = false
    @window_info.opacity = Trophy::OPACITY
#-------------------------------------------------------------------------------
    @window_pre_info = Window_Base.new(0,363,544,53)
    @window_pre_info.visible = true
    @window_pre_info.opacity = Trophy::OPACITY
#-------------------------------------------------------------------------------
    @window_image = Window_Base.new(161,43,100,100)
    @window_image.opacity = Trophy::OPACITY
#-------------------------------------------------------------------------------
    @window = Window_Base.new(@window_image.x + 100,@window_image.y,283,100)
    @window.opacity = Trophy::OPACITY
#-------------------------------------------------------------------------------
    @window2 = Window_Base.new(@window_image.x,@window_image.y + 100,383,110)
    @window2.opacity = Trophy::OPACITY
#-------------------------------------------------------------------------------
    @window3 = Window_Base.new(@window_image.x,@window_image.y + 210,383,110)
    @window3.opacity = Trophy::OPACITY
#-------------------------------------------------------------------------------
    @preview = Sprite.new
    @preview.x = @window_image.x + 13
    @preview.y = @window_image.y + 13
    @preview.z = 100
    @preview.visible = true
#-------------------------------------------------------------------------------
    @preview2 = Sprite.new
    @preview2.x = @window_image.x + 13
    @preview2.y = @window_image.y + 13
    @preview2.z = 100
    @preview2.visible = false
#-------------------------------------------------------------------------------
    create_menu_background
    create_command_window
    create_menu_back_items
    n_switchs
  end
#===============================================================================
# Calculo do valor da variável a partir dos switches
#===============================================================================
  def n_switchs
    @total = 0
    for i in 0 .. $trophy_switches.size
      @total += 1 if $trophy_switches[i] == true
    end
    return @total
  end
#===============================================================================
# Update
#===============================================================================
  def update
    @window.update
    @window2.update
    @window3.update
    @window_image.update
    @window_pre_info.update
    @window_info.update
    @command_window.update
    @menuback_sprite.update
    @menubackitem_sprite.update
    @preview.update
    @preview2.update
   
#-------------------------------------------------------------------------------
# Atualização de conteúdo
#-------------------------------------------------------------------------------
    @window.contents.clear
    @window_pre_info.contents.clear
    @window_info.contents.clear
    @window2.contents.clear
    @window3.contents.clear
   
#-------------------------------------------------------------------------------
# Calculo de porcentagem.
#-------------------------------------------------------------------------------

    @trophy_var = n_switchs
    @perc_tt = 100
    @perc_at = @trophy_var * @perc_tt / Trophy::T_LIST.size
   
#-------------------------------------------------------------------------------
# Criação dos textos
#-------------------------------------------------------------------------------

    @window.contents.font.color = Trophy::NAME_COLOR
    @window.contents.font.size = 20
    @window.contents.font.shadow = Trophy::TEXT_SHADOW
    @window.contents.draw_text(1, 1, @window.width,32,@name, 0)
    @window.contents.font.bold = true
   
    @window2.contents.font.color = Trophy::RANK_COLOR
    @window2.contents.font.size = 25
    @window2.contents.font.shadow = Trophy::TEXT_SHADOW
    @window2.contents.draw_text(0, 0, @window2.width,24,"Ranking: "+ "#{@rank.to_s}", 0)
   
    @window_pre_info.contents.font.color = Trophy::DATA_COLOR
    @window_pre_info.contents.font.size = 20
    @window_pre_info.contents.font.shadow = Trophy::TEXT_SHADOW
    @window_pre_info.contents.font.bold = true
    @window_pre_info.contents.draw_text(150, 0, @window_pre_info.width,25,"Pressione C ou Enter", 0)
   
    @window_info.contents.font.color = Trophy::DATA_COLOR
    @window_info.contents.font.size = 15
    @window_info.contents.font.shadow = Trophy::TEXT_SHADOW
    @window_info.contents.font.bold = true
    @window_info.contents.draw_text(130, 0, @window_info.width,25,"Porcentagem:"+"#{@perc_at.to_s}"+"%", 0)
    @window_info.contents.draw_text(50, 0, @window_info.width,25,"#{@trophy_var.to_s}/#{Trophy::T_LIST.size.to_s}", 1)

    @window3.contents.font.color = Trophy::DESC_COLOR
    @window3.contents.font.size = 20
    @window3.contents.font.shadow = Trophy::TEXT_SHADOW
    @window3.contents.draw_text(1, 1, @window3.width,24,@description, 0)
   
#-------------------------------------------------------------------------------
# Condição de limite
#-------------------------------------------------------------------------------

    if Trophy::T_LIMIT_USE == true
    if Trophy::T_LIST.size > Trophy::T_LIMIT
      print "Você excedeu o limite!"
      exit
    end
  end
 
#-------------------------------------------------------------------------------
# Interação entre comandos e descrições
#-------------------------------------------------------------------------------

    @command_id = @command_window.index
    case @command_id
      when @command_id
      if $trophy_switches[@command_id+1]
        if Trophy::T_DET[@command_id][0] == Trophy::T_GRAPH[0]
          @preview.bitmap = Cache.trophy(Trophy::T_GRAPH[0][0])
          @preview2.bitmap = Cache.trophy(Trophy::T_IMG[@command_id])
          @rank = Trophy::RANK_0[0]
          @icon = Trophy::RANK_0[1]
          @window2.draw_icon(@icon, 120, 0, enabled = true)
        elsif Trophy::T_DET[@command_id][0] == Trophy::T_GRAPH[1]
          @preview.bitmap = Cache.trophy(Trophy::T_GRAPH[1][0])
          @preview2.bitmap = Cache.trophy(Trophy::T_IMG[@command_id])
          @rank = Trophy::RANK_1[0]
          @icon = Trophy::RANK_1[1]
          @window2.draw_icon(@icon, 120, 0, enabled = true)
        elsif Trophy::T_DET[@command_id][0] == Trophy::T_GRAPH[2]
          @preview.bitmap = Cache.trophy(Trophy::T_GRAPH[2][0])
          @preview2.bitmap = Cache.trophy(Trophy::T_IMG[@command_id])
          @rank = Trophy::RANK_2[0]
          @icon = Trophy::RANK_2[1]
          @window2.draw_icon(@icon, 120, 0, enabled = true)
        elsif Trophy::T_DET[@command_id][0] == Trophy::T_GRAPH[3]
          @preview.bitmap = Cache.trophy(Trophy::T_GRAPH[3][0])
          @preview2.bitmap = Cache.trophy(Trophy::T_IMG[@command_id])
          @rank = Trophy::RANK_3[0]
          @icon = Trophy::RANK_3[1]
          @window2.draw_icon(@icon, 120, 0, enabled = true)
        end
          @name = Trophy::T_LIST[@command_id]
          @description = Trophy::T_DET[@command_id][1]
        else
          @preview.bitmap = Cache.trophy("hidden")
          @preview2.bitmap = Cache.trophy("hiddentrophy")
          @name = "-?????????-"
          @rank = Trophy::HIDDEN[0]
          @icon = Trophy::HIDDEN[1]
          @window2.draw_icon(@icon, 120, 0, enabled = true)
          @description = "-?????????-"
        end
      end
     
#-------------------------------------------------------------------------------
# Condições de trigger
#-------------------------------------------------------------------------------

    if Input.trigger?(Input::B) # Pressionar ESC ou B
      Sound.play_cancel
      close
      if Trophy::CALL_ON_MAP == false
        $scene = Scene_Menu.new(0)
      else
        $scene = Scene_Map.new
      end
    end
   
    if Input.trigger?(Input::C) # Pressionar ENTER ou C
      if @window_info.visible == false and @preview2.visible == false
        @window_pre_info.visible = false
        @window_info.visible = true
        @preview.visible = false
        @preview2.visible = true
      elsif @window_info.visible == true and @preview2.visible == true
      @window_pre_info.visible = true
      @window_info.visible = false
      @preview.visible = true
      @preview2.visible = false
      end
  end
  end
#===============================================================================
# Metodo de encerramento
#===============================================================================
  def close
  @window.dispose
  @window2.dispose
  @window3.dispose
  @window_image.dispose
  @window_pre_info.dispose
  @window_info.dispose
  @preview.dispose
  @preview2.dispose
  @command_window.dispose
  @menuback_sprite.dispose
  @menubackitem_sprite.dispose
  end
#===============================================================================
# Criação da janela de comandos
#===============================================================================
  def create_command_window
    if Trophy::USE_COLUMN == true
    @command_window_column = Trophy::COLUMN_NUMBER
    else
    @command_window_column = 1
    end
    @command_window = Window_Command.new(160,Trophy::T_LIST,@command_window_column)
    @index = @command_window.index
    @command_window.x = 1
    @command_window.y = 43
    @command_window.height = 320
    @command_window.opacity = Trophy::OPACITY
  end
#===============================================================================
# Criação das imagens de fundo dos comandos
#===============================================================================
  def create_menu_back_items
    @menubackitem_sprite = Sprite.new
    @menubackitem_sprite.opacity = 100
    width = 160
    height = @command_window.height-32
    @menubackitem_sprite.bitmap = Bitmap.new(width, height)
    bitmap = Cache.trophy(Trophy::T_COMMAND_BACK)
    rect = Rect.new(0, 0, 160, 24)
    y = 0
    loop do
      break if y >= height
      @menubackitem_sprite.bitmap.blt(0, y, bitmap, rect)
      y += 24
    end
    @menubackitem_sprite.y = @command_window.y+16
  end
#===============================================================================
# Criação da imagem de fundo da scene
#===============================================================================
  def create_menu_background
  if Trophy::T_BACK != nil
    @menuback_sprite = Sprite.new
    @menuback_sprite.bitmap = Cache.trophy(Trophy::T_BACK)
    @menuback_sprite.color.set(1, 1, 0, 0)
    update_menu_background
  else
    @menuback_sprite = Sprite.new
    @menuback_sprite.bitmap = $game_temp.background_bitmap
    @menuback_sprite.color.set(16, 16, 16, 128)
    update_menu_background
  end
 end
#===============================================================================
# Fim do Scene_Trophy
#===============================================================================
end

################################################################################
# Classe do display de novo troféu
################################################################################
class Trophy_Display < Window_Base
#===============================================================================
# Metodo inicial
#===============================================================================

 def initialize(id)
  super (343,1,200,75)
  @trophy_id = id
  self.visible = true
  self.opacity = 0
  @auto = true
  @preview = Sprite.new
  if Trophy::T_DET[@trophy_id][0] == Trophy::T_GRAPH[0]
      @preview.bitmap = Cache.trophy(Trophy::T_GRAPH[0][1])
  elsif Trophy::T_DET[@trophy_id][0] == Trophy::T_GRAPH[1]
      @preview.bitmap = Cache.trophy(Trophy::T_GRAPH[1][1])
  elsif Trophy::T_DET[@trophy_id][0] == Trophy::T_GRAPH[2]
      @preview.bitmap = Cache.trophy(Trophy::T_GRAPH[2][1])
  elsif Trophy::T_DET[@trophy_id][0] == Trophy::T_GRAPH[3]
      @preview.bitmap = Cache.trophy(Trophy::T_GRAPH[3][1])
  end
  @preview.x = self.x + 15
  @preview.y = self.y + 20
  @preview.z = 100
  if Trophy::T_DISPLAY_BACK != nil
    self.opacity = 0
    @preview_back = Sprite.new
    @preview_back.bitmap = Cache.trophy(Trophy::T_DISPLAY_BACK)
    @preview_back.x = self.x
    @preview_back.y = self.y
  else
    self.opacity = 200
  end
  update
    end
   
#===============================================================================
# Metodo de Update
#===============================================================================
 def update
  self.contents.clear
  $trophy_switches[@trophy_id+1] = true
  @trophy_name = Trophy::T_LIST[@trophy_id]
  self.contents.font.color = Color.new(30, 144, 255)
  self.contents.font.size = 12
  self.contents.font.shadow = Trophy::TEXT_SHADOW
  self.contents.draw_text(4, 1, width,WLH,"Você Adquiriu um troféu!", 1)
  self.contents.font.color = normal_color
  self.contents.font.size = 12
  @tx = 1
  @ty = 15
  self.contents.draw_text(@tx, @ty, width,WLH,@trophy_name, 1)
  if Input.trigger?(Input::C)
      self.visible = false
      close
      $scene = Scene_Map.new
  end
 end
#===============================================================================
# Metodo de encerramento
#===============================================================================
 def close
  self.visible = false
  self.contents.clear
  @preview.dispose
  if Trophy::T_DISPLAY_BACK != nil
    @preview_back.dispose
  end
  end
end

################################################################################
# Condição para abrir ou não o Scene_Trophy a partir do Scene_Map
################################################################################

if Trophy::CALL_ON_MAP == true
#===============================================================================
# Modificação para o Scene_Trophy ser chamado a partir do Scene_Map
#===============================================================================
class Scene_Map < Scene_Base
  alias update_scene_map update
  def update
    update_scene_map
    update_call_trophy
  end
  #--------------------------------------------------------------------------
  # Tela de troféus
  #--------------------------------------------------------------------------
  def call_trophy
    $game_temp.next_scene = nil
    $scene = Scene_Trophy.new
  end
  def update_call_trophy
    if Input.trigger?(Trophy::TRIGGER)
      Sound.play_decision
      $game_temp.next_scene = "trophy"
    end
  end
  def update_scene_change
    return if $game_player.moving?    # Jogadores em movimento?
    case $game_temp.next_scene
    when "battle"
      call_battle
    when "shop"
      call_shop
    when "name"
      call_name
    when "menu"
      call_menu
    when "save"
      call_save
    when "debug"
      call_debug
    when "gameover"
      call_gameover
    when "title"
      call_title
    when "trophy"
      call_trophy
    else
      $game_temp.next_scene = nil
    end
  end
end
end
#===============================================================================

-----------------------------------------------------------------------------------------------------------------
ADD-ON's:
SCENE_TROPHY ADD-ON 0.1
Bom, aqui está o primeiro add-on do sistema, um Script Fixador de Valores de Switchs e váriaveis dos troféus.
Ele cria um novo documento contendo as informações necessarias para quando o jogo for reiniciado, fechado ou carregado, os valores continuem os mesmos.

As instruções estão no script.

Código:
=begin
================================================================================

                        SCENE_TROPHY ADD-ON 0.1
                        criado por kako92
  Baseado no script de Persistência de variáveis e switches feito por br_lemes
================================================================================

                            ATENÇÂO:
          Use por sua conta e risco. Tambem gostaria de deixar claro que o
          script original foi feito pelo br_lemes, todos créditos à ele pela
          criação, e a mim, pela adaptação para o meu script.
         
================================================================================
                            INTRODUÇÃO                           
        Este script tem a simples finalidade de fixar os valores
        de porcentagem e de troféus adquiridos, para que, mesmo
        o jogo sendo reiniciado, fechado ou carregado, os valores
        continuem os mesmos.
================================================================================
                            INSTRUÇÕES
        Apenas coloque o script acima de Main, abaixo do Scene_Trophy e,
        caso esteja usando uma modificação no Scene_Title ou Game_Over no
        seu projeto, coloque abaixo deles tambem.
================================================================================
=end

$RMVX = $TEST != nil

$PERSIST_NAME = $RMVX ? "troféus.rvdata" : "trophy.rxdata"

def trophy_save
  trophy_data = [{},{}]
  for i in 0..Trophy::T_LIST.size
    trophy_data[0][i] = $trophy_switches[i]
  end
  save_data(trophy_data, $PERSIST_NAME)
end

def trophy_load
  return if !FileTest.exist?($PERSIST_NAME)
  trophy_data = load_data($PERSIST_NAME)
  for i in 0..Trophy::T_LIST.size
    $trophy_switches[i] = trophy_data[0][i]
  end
  $game_map.refresh
end

class Scene_Title
  alias trophy_command_new_game command_new_game
  def command_new_game
    trophy_command_new_game
    trophy_load
  end
end

class Scene_File
  alias trophy_do_save do_save
  def do_save
    trophy_do_save
    trophy_save
  end
  alias trophy_do_load do_load
  def do_load
    trophy_do_load
    trophy_load
  end
end

class Scene_Gameover
  alias trophy_main main
  def main
    trophy_save
    trophy_main
  end
end
class Trophy_Display < Window_Base
  alias trophy_save_alias update
  def update
    trophy_save_alias
    trophy_save
  end
end

-----------------------------------------------------------------------------------------------------------------

Download da demo:

4Shared
Caso não queira ser redirecionado copie o codigo abaixo.
Código:
http://www.4shared.com/file/n013KnXt/Sistema_de_trofus_13.html



-----------------------------------------------------------------------------------------------------------------
Download das imagens:
Para quem acha que não precisa de demo, aqui está o link das imagens
Copie o link e cole no navegador caso não queira ser redirecionado.

4Shared

Código:
http://www.4shared.com/file/Gips6Zx5/Trophy.html

-----------------------------------------------------------------------------------------------------------------

Agradecimentos:

-Kyo Panda;
-Falco;
-Sojabird da RRPG e outros...
-E especialmente a todos que utilizarem o script em seus projetos, pois me sinto honrado em fazer parte dos seus objetivos.

-----------------------------------------------------------------------------------------------------------------
Em caso de bug's, favor entrar em contato.
É isso ai pessoal, espero que tenham gostado. Até a proxima.
-----------------------------------------------------------------------------------------------------------------
[RGSS2][Dispondo]Sistema de troféus + ADD-On 88x31

Kako92 Scripts by Kako92 are licensed under a
Creative Commons Atribuição-Uso Não-Comercial-Compartilhamento pela mesma Licença 3.0 Unported Brasil License.
Permissions beyond the scope of this license may be available at Mundo RPG Maker

-----------------------------------------------------------------------------------------------------------------


Última edição por kako92 em Sáb Ago 21, 2010 12:25 am, editado 20 vez(es)
kako92
kako92

Mensagens : 30
Data de inscrição : 14/07/2010
Idade : 32
Localização : http://kako92scripts.blogspot.com/

http://kako92scripts.blogspot.com/

Ir para o topo Ir para baixo

[RGSS2][Dispondo]Sistema de troféus + ADD-On Empty Re: [RGSS2][Dispondo]Sistema de troféus + ADD-On

Mensagem por RayquazaBR Ter Ago 17, 2010 10:38 pm

\o/
Eu achei bem legal cara, eu uso o xp, mas muito bom mesmo ;D
RayquazaBR
RayquazaBR

Mensagens : 218
Data de inscrição : 14/07/2010

Ir para o topo Ir para baixo

[RGSS2][Dispondo]Sistema de troféus + ADD-On Empty Re: [RGSS2][Dispondo]Sistema de troféus + ADD-On

Mensagem por LunarInvasor Qua Ago 18, 2010 12:39 pm

Kako92:Tu eh o cara!
Mto bom o script.
Como eu to aprendendo RGss2 to tentando aprender com outros scripts continue assim!
LunarInvasor
LunarInvasor

Mensagens : 28
Data de inscrição : 20/07/2010
Localização : Base Lunar do da MRM

Ir para o topo Ir para baixo

[RGSS2][Dispondo]Sistema de troféus + ADD-On Empty Re: [RGSS2][Dispondo]Sistema de troféus + ADD-On

Mensagem por kako92 Qua Ago 18, 2010 5:03 pm

Obrigado pessoal!
Estou trabalhando em uma nova versão no momento, espero que todos gostem Very Happy
kako92
kako92

Mensagens : 30
Data de inscrição : 14/07/2010
Idade : 32
Localização : http://kako92scripts.blogspot.com/

http://kako92scripts.blogspot.com/

Ir para o topo Ir para baixo

[RGSS2][Dispondo]Sistema de troféus + ADD-On Empty Re: [RGSS2][Dispondo]Sistema de troféus + ADD-On

Mensagem por Zhak Qua Ago 18, 2010 5:19 pm

Muito bom o script em?
Esse foi seu 1° Script que você criou? Porque se for você vai ter um grande futuro como scripter ^^
Flws


Última edição por Zhak em Qua Ago 18, 2010 5:34 pm, editado 1 vez(es)
Zhak
Zhak

Mensagens : 116
Data de inscrição : 01/08/2010
Idade : 26
Localização : Lua RPG Maker

Ir para o topo Ir para baixo

[RGSS2][Dispondo]Sistema de troféus + ADD-On Empty Re: [RGSS2][Dispondo]Sistema de troféus + ADD-On

Mensagem por kako92 Qua Ago 18, 2010 5:31 pm

Primeiro? huashuashuuhsa
Essa foi boa Razz
Mas vlw de qualquer modo.
kako92
kako92

Mensagens : 30
Data de inscrição : 14/07/2010
Idade : 32
Localização : http://kako92scripts.blogspot.com/

http://kako92scripts.blogspot.com/

Ir para o topo Ir para baixo

[RGSS2][Dispondo]Sistema de troféus + ADD-On Empty Re: [RGSS2][Dispondo]Sistema de troféus + ADD-On

Mensagem por Zhak Qua Ago 18, 2010 5:35 pm

kako92 escreveu:Primeiro? huashuashuuhsa
Essa foi boa Razz
Mas vlw de qualquer modo.
xD
Posta os outros, talvez você possa ajudar alguém com eles Very Happy
Flws
Zhak
Zhak

Mensagens : 116
Data de inscrição : 01/08/2010
Idade : 26
Localização : Lua RPG Maker

Ir para o topo Ir para baixo

[RGSS2][Dispondo]Sistema de troféus + ADD-On Empty Re: [RGSS2][Dispondo]Sistema de troféus + ADD-On

Mensagem por givago Qua Ago 18, 2010 6:32 pm

ñ consigo pegar a versão 1.2 tento copiar só q o spolier fecha sozinho,da para por no tutorial para mim Very Happy
givago
givago

Mensagens : 69
Data de inscrição : 03/08/2010
Idade : 30
Localização : Eu vim do passado não faço a mínima ideia.Um tal de Rio grande do sul,Porto Alegre

Ir para o topo Ir para baixo

[RGSS2][Dispondo]Sistema de troféus + ADD-On Empty Re: [RGSS2][Dispondo]Sistema de troféus + ADD-On

Mensagem por kako92 Qua Ago 18, 2010 7:00 pm

Pronto. Agora da pra copiar.
kako92
kako92

Mensagens : 30
Data de inscrição : 14/07/2010
Idade : 32
Localização : http://kako92scripts.blogspot.com/

http://kako92scripts.blogspot.com/

Ir para o topo Ir para baixo

[RGSS2][Dispondo]Sistema de troféus + ADD-On Empty Re: [RGSS2][Dispondo]Sistema de troféus + ADD-On

Mensagem por Falco Qua Ago 18, 2010 7:09 pm

Congratz man!
Gostei bastante do Script ^^
Nem conseguí passar pela Demo.. xD
Anyway, vou tentando..

Ei, agora, você está recebendo um convite oficial para entrar na Street Coders.
*Olhe minha Assinatura (Últimas linhas)*
Falco
Falco

Mensagens : 184
Data de inscrição : 14/07/2010

Ir para o topo Ir para baixo

[RGSS2][Dispondo]Sistema de troféus + ADD-On Empty Re: [RGSS2][Dispondo]Sistema de troféus + ADD-On

Mensagem por givago Qua Ago 18, 2010 7:51 pm

tá faltando "profileitem" no script 1.2
givago
givago

Mensagens : 69
Data de inscrição : 03/08/2010
Idade : 30
Localização : Eu vim do passado não faço a mínima ideia.Um tal de Rio grande do sul,Porto Alegre

Ir para o topo Ir para baixo

[RGSS2][Dispondo]Sistema de troféus + ADD-On Empty Re: [RGSS2][Dispondo]Sistema de troféus + ADD-On

Mensagem por kako92 Qua Ago 18, 2010 7:57 pm

Falco escreveu:Congratz man!
Gostei bastante do Script ^^
Nem conseguí passar pela Demo.. xD
Anyway, vou tentando..

Ei, agora, você está recebendo um convite oficial para entrar na Street Coders.
*Olhe minha Assinatura (Últimas linhas)*

Thanx Falco.

@givago
Procure no modulo de configuração por:
Código:
#===============================================================================
# 4.3 Imagem de fundo dos comandos
#===============================================================================
  T_BACK_IMAGE = "ProfileItem"

e mude o "ProfileItem" pra "MenuBackItem".
Deve resolver
kako92
kako92

Mensagens : 30
Data de inscrição : 14/07/2010
Idade : 32
Localização : http://kako92scripts.blogspot.com/

http://kako92scripts.blogspot.com/

Ir para o topo Ir para baixo

[RGSS2][Dispondo]Sistema de troféus + ADD-On Empty Re: [RGSS2][Dispondo]Sistema de troféus + ADD-On

Mensagem por givago Qua Ago 18, 2010 8:00 pm

deu certo vlw,
quase esqueci de falar minha opinião
o melhor script q eu já vi e eu vi muitos
givago
givago

Mensagens : 69
Data de inscrição : 03/08/2010
Idade : 30
Localização : Eu vim do passado não faço a mínima ideia.Um tal de Rio grande do sul,Porto Alegre

Ir para o topo Ir para baixo

[RGSS2][Dispondo]Sistema de troféus + ADD-On Empty Re: [RGSS2][Dispondo]Sistema de troféus + ADD-On

Mensagem por Elrion Qua Ago 18, 2010 9:11 pm

Muito Massa O Script!
Pena Q Num e Pra XP! *-*
Elrion
Elrion

Mensagens : 33
Data de inscrição : 31/07/2010
Idade : 34
Localização : Na Sua Frente! rsrsrs

Ir para o topo Ir para baixo

[RGSS2][Dispondo]Sistema de troféus + ADD-On Empty Re: [RGSS2][Dispondo]Sistema de troféus + ADD-On

Mensagem por kako92 Qua Ago 18, 2010 10:39 pm

Vou tentar passar pro xp...
Só não garanto nada...
kako92
kako92

Mensagens : 30
Data de inscrição : 14/07/2010
Idade : 32
Localização : http://kako92scripts.blogspot.com/

http://kako92scripts.blogspot.com/

Ir para o topo Ir para baixo

[RGSS2][Dispondo]Sistema de troféus + ADD-On Empty Re: [RGSS2][Dispondo]Sistema de troféus + ADD-On

Mensagem por Yagami Qui Ago 19, 2010 9:38 am

Elrion está certo XD, seria ótimo ter 1 pra XP, se passar pra XP, pode por que quando ganhar um troféu, uma Switch ative? Cada troféu tenha uma Switch, quando ganho, ela se ativa ^^. Isso ficaria bom com o script de Switchs e Variaveis Persistentes do XP/VX, ai ficaria uma combinação intereçante Very Happy... E, nem testei, mas... ÓTIMO SISTEMA! ME DEU VONTADE DE CRIAR 1 JOGO SÓ POR CAUSA DO SCRIPT! XD

+1 Pedra Lunar XD

Yagami

Mensagens : 47
Data de inscrição : 06/08/2010
Idade : 25

Ir para o topo Ir para baixo

[RGSS2][Dispondo]Sistema de troféus + ADD-On Empty Re: [RGSS2][Dispondo]Sistema de troféus + ADD-On

Mensagem por kako92 Qui Ago 19, 2010 10:36 am

Yagami escreveu: Elrion está certo XD, seria ótimo ter 1 pra XP, se passar pra XP, pode por que quando ganhar um troféu, uma Switch ative? Cada troféu tenha uma Switch, quando ganho, ela se ativa ^^. Isso ficaria bom com o script de Switchs e Variaveis Persistentes do XP/VX, ai ficaria uma combinação intereçante Very Happy... E, nem testei, mas... ÓTIMO SISTEMA! ME DEU VONTADE DE CRIAR 1 JOGO SÓ POR CAUSA DO SCRIPT! XD

+1 Pedra Lunar XD

A idéia original do script era basicamente essa, usar switchs e variaveis do próprio RPG maker, tanto é que a versão 1.0 ainda tinha essa função.
Mas eu andei pensando, e para mim, era um desperdicio de ferramentas do maker, então criei meus próprios switchs e variáveis pra evitar este problema.

Caso alguem queira o script com essa função pro VX, enquanto eu não termino o do XP, é só mandar MP que eu envio em .txt.
kako92
kako92

Mensagens : 30
Data de inscrição : 14/07/2010
Idade : 32
Localização : http://kako92scripts.blogspot.com/

http://kako92scripts.blogspot.com/

Ir para o topo Ir para baixo

[RGSS2][Dispondo]Sistema de troféus + ADD-On Empty Re: [RGSS2][Dispondo]Sistema de troféus + ADD-On

Mensagem por kako92 Qui Ago 19, 2010 10:01 pm

EDIT:Desculpem pelo double-post.
Minha visão não está como antes...
kako92
kako92

Mensagens : 30
Data de inscrição : 14/07/2010
Idade : 32
Localização : http://kako92scripts.blogspot.com/

http://kako92scripts.blogspot.com/

Ir para o topo Ir para baixo

[RGSS2][Dispondo]Sistema de troféus + ADD-On Empty Re: [RGSS2][Dispondo]Sistema de troféus + ADD-On

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos