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

Var Game End

Iniciado por Fábio Pichler, 17/10/2013 às 19:48

17/10/2013 às 19:48 Última edição: 20/01/2017 às 09:31 por King Gerar
Var Game End
por Fábio Pichler

Este Script adiciona a possibilidade de manter valores ativos em variáveis e Switches, após o final do jogo.

Isto fará com que apenas as variáveis e Switches escolhidas, fiquem ativas. O resto do jogo, seja Eventos, variáveis (não escolhidas), dinheiro, itens, etc. sejam reiniciados com os comandos de Novo Jogo.

Com isto, poderá criar novos sistemas, como:
  • Bônus por alta pontuação na partida anterior;
  • Informações sobre quantidade de vezes que completou o jogo;
  • Manter armamentos, ítens ou dinheiro após completar o jogo;
  • E muito mais, basta usar a criatividade.

Características
Compatibilidade: Boa
Imagem: A imagem deve ficar na pasta "Graphics\System"
Dificuldade: Fácil
Lag: Nulo
Bug: Nenhum

Script
#===============================================================================
# * * Var Game End * *
#===============================================================================
# * Por: Fábio Pichler  http://www.fabiopichler.tk
# * Versão: 1.0
# * Compatível com: RPG Maker VX Ace
# * Lançamento: 17/10/2013
# * Página oficial: http://www.fabiopichler.tk/rpg-maker/rgss3/var-game-end
#
#===============================================================================
# * * Introdução * *
#-------------------------------------------------------------------------------
# * Este Script adiciona a possibilidade de manter valores ativos em variáveis
# e Switches, após o final do jogo.
# * Isto fará com que apenas as variáveis e Switches escolhidas, fiquem ativas.
#
# * Com isto, poderá criar novos sistemas, como:
# - Bônus por alta pontuação na partida anterior;
# - Informações sobre quantidade de vezes que completou o jogo;
# - Manter armamentos, ítens ou dinheiro após completar o jogo;
# - E muito mais, basta usar a criatividade.
#
#===============================================================================
# * * Características * *
#-------------------------------------------------------------------------------
# * Compatibilidade: Boa
# * Imagem: A imagem deve ficar na pasta "Graphics\System"
# * Dificuldade: Fácil
# * Lag: Nulo
# * Bug: Nenhum
#
#===============================================================================
# * * Modo de uso * *
#-------------------------------------------------------------------------------
# * Para chamar a tela de Fim de Jogo, use o comando de "Chamar Script",
# e insira o seguinte código:
#       SceneManager.goto(Scene_GameEnd)
#
# * Escolha nas configurações abaixo, as variáveis ou switches, que
# deseja manter o valor.
#
#===============================================================================
# * * Termos de Uso * *
#-------------------------------------------------------------------------------
# * Você poderá usar este script livremente em seu projeto/jogo, seja
# comercial ou não-comercial, basta dar-me os devidos créditos.
#
# * Caso queira, poderá postar este script em outro fórum/site, desde que,
# não altere nenhuma parte deste script, não tire meus créditos, não dê
# créditos a sí mesmo pelo script.
#
# * Não adicione códigos e nem personalize o script, se for postar
# em algum forum/site.
#
# * Você poderá alterar o que quiser no script, desde que,
# fique restrito ao seu projeto/jogo, e nada mais.
#
#===============================================================================
# * * Configuração * * [Alterações após o sinal de = (igualdade)]
#-------------------------------------------------------------------------------
module FPGE
  # * Escolha as variáveis que terão seu valor mantido.
  # Exemplo: Var = [2,5,10,11,30]
  Var = [2,5,10]
  # * Escolha as switches que terão seu valor mantido, sendo true ou false.
  # Exemplo: Switches = [3,6,10,24,33]
  Switches = [3,6,10]
  # * Escolha o nome na imagem de fundo.
  IMG = "GameEnd"
end
#-------------------------------------------------------------------------------
# * * Fim da configuração * *
#===============================================================================

class Scene_GameEnd < Scene_Base
  def start
    super
    play_gameover_music
    fadeout_frozen_graphics
    create_background
  end
  def terminate
    super
    dispose_background
  end
  def update
    super
    goto_newgame if Input.trigger?(:C)
  end
  def perform_transition
    Graphics.transition(120)
  end
  def play_gameover_music
    RPG::BGM.stop
    RPG::BGS.stop
    $data_system.gameover_me.play
  end
  def fadeout_frozen_graphics
    Graphics.transition(60)
    Graphics.freeze
  end
  def create_background
    @sprite = Sprite.new
    @sprite.bitmap = Cache.system(FPGE::IMG)
  end
  def dispose_background
    @sprite.bitmap.dispose
    @sprite.dispose
  end
  def goto_newgame
    save_value
    DataManager.setup_new_game
    fadeout_all
    $game_map.autoplay
    SceneManager.goto(Scene_Map)
    return_value
  end
  def save_value
    fpge = 0
    @var_fpge = Array.new
    for value in FPGE::Var
      @var_fpge[fpge] = $game_variables[value]
      fpge += 1
    end
    fpge = 0
    @swit_fpge = Array.new
    for value in FPGE::Switches
      @swit_fpge[fpge] = $game_switches[value]
      fpge += 1
    end
  end
  def return_value
    fpge = 0
    for value in FPGE::Var
      $game_variables[value] = @var_fpge[fpge]
      fpge += 1
    end
    fpge = 0
    for value in FPGE::Switches
      $game_switches[value] = @swit_fpge[fpge]
      fpge += 1
    end
  end
end


Demo
Não tive tempo disponível pra terminá-la, mas quando o fizer, atualizo o tópico.

Créditos
Eu, Fábio Pichler

Muito bom Script...Certeza vou utilizar!  :XD: :XD: