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

Introdução ao Estilo RM2K/2K3

Iniciado por LoboShow, 02/12/2012 às 20:22

Introdução ao Estilo RM2K/2K3

Compativel com: RMVX
Compatibilidade : boa
Facilidade de uso: ?
Lag gerado: ?

[box class=titlebg]
Para que serve o script
[/box]
  Os projetos de RM2K/2K3 tem uma pequena introdução no início, então agora os de RMVX também vão ter!
Ela pega as imagens numa pasta chamada Graphics/Intro (apenas imagens podem estar lá) e mostra-as de acordo com uma configuração
Como usar:
Coloque o script na parte Scripts Adicionais ou Materials.
Após instalado, crie uma pasta dentro de Graphics chamada Intro e ponha as imagens da introdução lá.
Vá no script e edite o seguinte: O tempo de cada imagem na linha 29; o tempo da transição na linha 34; se a introdução vai aparecer novamente após o Game Over na linha 39, e se a introdução vai aparecer novamente quado chamado o comando Voltar à Tela Título na linha 45.

[box class=titlebg]
Script
[/box]
#===============================================================================
# Introdução ao Estilo RM2K/2K3
#-------------------------------------------------------------------------------
# Criador: João B
# Descrição: Ele põe uma introdução no seu jogo ao estilo do RPG Maker
# 2000/2003.
# ATENÇÃO: Coloque TODAS as imagens da introdução dentro de uma pasta chamada
# 'Intro'! Ela não pode ser acessada pelo Resource Manager, mas você pode
# criá-la e pôr as imagens via Windows Explorer (Windows) ou Konqueror (Linux).
#===============================================================================
#===============================================================================
# Módulo Cache
#===============================================================================
module Cache
  def self.intro(filename)
    load_bitmap("Graphics/Intro/", filename)
  end
end

#===============================================================================
# Módulo Intro
#-------------------------------------------------------------------------------
# Aqui serão definidas algumas configurações da introdução
#===============================================================================
module Intro
  #---------------------------------------------------------------------------
  # Defina aqui o tempo de cada imagem
  #---------------------------------------------------------------------------
  ImageDelay = 60
  
  #---------------------------------------------------------------------------
  # Defina aqui o tempo da transição
  #---------------------------------------------------------------------------
  TransitionDelay = 10
  
  #---------------------------------------------------------------------------
  # Defina aqui se a transição deverá ser executada novamente se der Game Over
  #---------------------------------------------------------------------------
  AgainIfGameOver = true
  
  #---------------------------------------------------------------------------
  # Defina aqui se a transição deverá ser executada novamente se o comando
  # Voltar à Tela Título for chamado
  #---------------------------------------------------------------------------
  AgainIfBackToTitle = true

end

#===============================================================================
# CÉREBRO DO SCRIPT - A partir daqui, não modifique a menos que você saiba
#                     o que está fazendo.
#===============================================================================
#===============================================================================
# Classe Scene_Title
#-------------------------------------------------------------------------------
# Serão feitas modificações aqui para não precisar ser feitas modificações no
# Main. Depois disso, o método main original será executado.
#===============================================================================
class Scene_Title < Scene_Base
  
  # Renomeando o main original
  alias intro_main main
  
  def main
    $intro = false if $intro == nil
    if $intro or $BTEST
      intro_main
    else
      $scene = Scene_Intro.new
    end
  end
end

#===============================================================================
# Classe Scene_Intro
#-------------------------------------------------------------------------------
# Essa é a classe principal do script
#===============================================================================
class Scene_Intro < Scene_Base
  def start
    @sprites = []
    for img in Dir.glob('Graphics/Intro/*.*')
      img.sub!('Graphics/Intro', '')
      img.sub!('.jpeg', '')
      img.sub!('.gif', '')
      img.sub!('.png', '')
      img.sub!('.jpg', '')
      img.sub!('.bmp', '')
      sprite = Sprite.new
      sprite.x = 0
      sprite.y = 0
      sprite.visible = false
      sprite.bitmap = Cache.intro(img)
      @sprites.push(sprite)
    end
    @wait = Intro::ImageDelay
    @curr_sprite = 0
    @sprites[0].visible = true
  end
  
  def terminate
    for img in @sprites
      img.dispose
    end
  end
  
  def update
    @wait -= 1
    if Input.trigger?(Input::C)
      @wait = 0
    end
    if @wait == 0
      Graphics.freeze
      @sprites[@curr_sprite].visible = false
      Graphics.transition(Intro::TransitionDelay)
      @curr_sprite += 1
      if @curr_sprite == Dir.glob('Graphics/Intro/*.*').size
        $intro = true
        $scene = Scene_Title.new
      else
        Graphics.freeze
        @sprites[@curr_sprite].visible = true
        Graphics.transition(Intro::TransitionDelay)
        @wait = Intro::ImageDelay
      end
    end
  end
end
#===============================================================================
# Scene_Gameover
#===============================================================================
class Scene_Gameover < Scene_Base
  
  alias intro_terminate terminate
  
  def terminate
    $intro = (not Intro::AgainIfGameOver)
    intro_terminate
  end
end
#===============================================================================
# Game_Interpreter
#===============================================================================
class Game_Interpreter
  
  alias intro_command_354 command_354
  
  def command_354
    $intro = (not Intro::AgainIfBackToTitle)
    return intro_command_354
  end
end
#===============================================================================
# Fim do Script
#===============================================================================


[box class=titlebg]
Créditos e Avisos
[/box]
Criador :  João B