Slow Motion

Ir em baixo

default Slow Motion

Mensagem por Lemuri em Ter 29 Jun 2010, 11:20 pm

Lembrando que esse script não foi feito por mim eu só estou desponibilizando para voceis intão ta aque
Todas as instruções estão no script:
Código:
#==============================================================================#
#                      [RGSS/RGSS2] Slow Motion Versão 1.0                    #
#------------------------------------------------------------------------------#
# $Rafiscripts.by = Rafidelis(Rafis)                                          #
# $Rafiscripts.version = 1.0                                                  #
# $Rafiscripts.release_date = 28/12/09 (d/m/y)                                #
# $Rafiscripts.email = Rafa_Fidelis@hotmail.com or Rafa_Fidelis@yahoo.com.br  #
# $Rafiscripts.website = www.ReinoRPG.com  or www.ReinoRPG.com/forum          #
#==============================================================================#
# [** $Rafiscripts.desc **]  // Sobre o script / About script                  #
#------------------------------------------------------------------------------#
# Este script foi primeiramente criado por Fênix,então crêditos a ele tambem.  #
# Na versão criada pelo Fenix,o script somente deixava a tela lenta e não      #
# exibia os'rastros dos sprites' dos eventos e do jogador na telas.            #
# Funciona no RPGMaker VX e no RPGMaker XP                                    #
#==============================================================================#
# [** $Rafiscripts.instr ] // Instruções / Instructions:                      #
#------------------------------------------------------------------------------#
# ? 1° - Colar acima do Main                                                  #
# ? 2° - Edite a opção Effect_Only_In_Visible_Events na Linha 38 se desejar.  #
# ? 3° - Para ativar o efeito de slow_motion use no comando chamar script:    #
#        $game_temp.slow_motion = true                                        #
# E para desativar o Efeito de slow motion quando ele estiver habilitado,use:  #
#        $game_temp.slow_motion = false                                      #
# ? 4° - Para definir se o sprite do personagem jogavel vai sofrer o efeito do #
#        'slow' motion,use:                                                    #
#        $game_temp.slow_motion_effect_in_player = valor                      #
#        valor deve ser true ou false,true ativa o efeito,e false desliga    #
#  5° - Para mudar o tempo de atualização da tela,durante o slow motion use:  #                                                                  #
#        $game_temp.slow_motion_time = valor                                  #
#        valor deve ser um numero inteiro maior que 0,padrão = 4              #
#==============================================================================#
#==============================================================================#
# [ ** Modulo necessarios para usar os scripts Criados por Rafidelis ** ]      #
#==============================================================================#
module Rafidelis
#==============================================================================#
# Rafidelis.add_script - Name : Name of script - Version : Version of script  #
#------------------------------------------------------------------------------#
  def self.add_script(name,version)
    $Rafiscripts = [] if $Rafiscripts.nil?
    $Rafiscripts.push("Name : #{name} - Version: #{version}")
    $Rafiscripts.compact!
  end
#==============================================================================#
# Rafidelis.script_exist? - Name : Name of script - Version : Version of script#
#------------------------------------------------------------------------------#
  def self.script_exist?(name,version)
    $Rafiscripts = [] if $Rafiscripts.nil?
    return $Rafiscripts.include?("Name : #{name} - Version: #{version}")
  end
#==============================================================================#
# Rafidelis.scripts - Return all scripts create by Rafidelis(Rafiscripts)      #
#------------------------------------------------------------------------------#
  def self.scripts
    print $Rafiscripts
  end
#==============================================================================#
# Rafidelis.create_txt - Create a .txt with all Rafidelis(Rafiscripts) scripts #
#------------------------------------------------------------------------------#
  def self.create_txt(filename="Rafideliscripts")
    file = File.open("#{filename}.txt","wb")
    for i in 0...$Rafiscripts.size
      file.write("#{$Rafiscripts[i]}\r\n")
    end
  end
#==============================================================================#
# Modulo com Opções do script de Slow Motion                                  #
#------------------------------------------------------------------------------#
  module Slow_Motion
    # Adicionando o script ao Sistema.Não Modificar
    name = "Fenix Slow Motion - Edit"
    version = "1.0"
    Rafidelis.add_script(name,version)
    # script adicionado ao Sistema.
 
    #===========================================================================
    # Defina abaixo se o efeito de slow motion,terá efeito somente nos eventos
    # visiveis no mapa,ou se todos os eventos sofrerão o efeito de slow motion
    # false = todos os eventos sofrerão o efeito
    # true = somente os eventos viseveis no mapa sofrerão efeito
    # Recomendado deixar em true
    #===========================================================================
    Effect_Only_In_Visible_Events = true
 
    #===========================================================================
    # Tempo de 'Recriação dos Sprites'
    #===========================================================================
    Time = 4
  end
end
#==============================================================================#
# Verificando se o script esta incluso no sistema                              #
#==============================================================================#
name = "Fenix Slow Motion - Edit"
version = "1.0"
if Rafidelis.script_exist?(name,version)
  class Game_Temp
  attr_accessor :slow_motion
  attr_accessor :slow_motion_time
  attr_accessor :slow_motion_effect_in_player
  #--------------------------------------------------------------------------
  # Processamento Principal
  #--------------------------------------------------------------------------
  alias slow_motion_initialize initialize
  def initialize
    @slow_motion = false
    @slow_motion_time = Rafidelis::Slow_Motion::Time
    @slow_motion_effect_in_player = true
    slow_motion_initialize
  end
  #--------------------------------------------------------------------------
  # Slow Motion xD
  #--------------------------------------------------------------------------
  def slow_motion=(valor)
    return if @slow_motion == valor
    @slow_motion = valor
    $scene = Scene_Map.new if valor.is_a?(FalseClass)
  end
end
#==============================================================================
# Scene_Map
#------------------------------------------------------------------------------
# Esta classe processa a tela de Mapa
# Aliases:
# * main
# * update
#==============================================================================
class Scene_Map
  include Rafidelis::Slow_Motion
  #--------------------------------------------------------------------------
  # Processamento Principal
  #--------------------------------------------------------------------------
  alias slow_motion_main main
  def main
    @sprites_slow_motion = []
    @slow_motion_time = 0
    slow_motion_main
    for sprite in @sprites_slow_motion
      next if sprite.disposed?
      sprite.opacity = 0
      sprite.dispose
    end
  end
  #--------------------------------------------------------------------------
  # Atualização do Frame
  #--------------------------------------------------------------------------
  alias slow_motion_update update
  def update
    # Se o efeito estiver ligado
    if $game_temp.slow_motion
      # Se já chegou ao tempo limite
      if @slow_motion_time >= $game_temp.slow_motion_time
        Graphics.transition
        Graphics.freeze
        events = $game_map.events
        for i in events.keys
          if Effect_Only_In_Visible_Events and event_in_screen?(events[i])
            sprite = Sprite_Character.new(nil, events[i])
            @sprites_slow_motion.push(sprite)
          else
            sprite = Sprite_Character.new(nil, events[i])
            @sprites_slow_motion.push(sprite)
          end
        end
        # Criando Sprite do Jogador
        @sprites_slow_motion.push(Sprite_Character.new(nil, $game_player)) if $game_temp.slow_motion_effect_in_player
        # Resetando o tempo
        @slow_motion_time = 0
        # Deletando todos os sprites
        for sprite in @sprites_slow_motion
          next if sprite.disposed?
          sprite.opacity -= 100
          sprite.dispose if sprite.opacity <= 0
        end
      # Se ainda não deu o tempo
      else
        sprite = @sprites_slow_motion
        for i in 0...sprite.size
          next if sprite[i].nil?
          if sprite[i].disposed?
            sprite.delete_at(i)
          end
        end
        # Adicionando mais um ao tempo
        @slow_motion_time += 1
      end
    else
      # Recriando a variavel
      @sprites_slow_motion = [] if @sprites_slow_motion != []
    end
    slow_motion_update
  end
  #--------------------------------------------------------------------------
  # Verificação se o evento esta na tela
  #--------------------------------------------------------------------------
  def event_in_screen?(event)
    if event.screen_x >= 0 and event.screen_x <= 640 and
      event.screen_y >= 0 and event.screen_y <= 480
      return true
    end
    return false
  end
 end
end
avatar
Lemuri


Mensagens : 9

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum