Efeito - Slow Motion

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Efeito - Slow Motion

Mensagem por AllaN em Qui Jun 09, 2011 4:17 pm

Um Excelente script com 100% de funcionalidade, ótimo para diversos efeitos.

Características:
Esse script cria o efeito Slow motion a tela,ou seja,movimentos suaves e lentos aonde os sprites dos eventos que estiverem na tela deixam rastros.
Pode ser usado por exemplo,quando o jogador for atingido por um veneno,ou consumir algum item que tenha efeitos psicodelicos.Funciona no VX e no XP.

Instruções:
Todas as instruções se encontram no script.

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 = Rafidelis@rafidelisoft.com                              #
# $RafiScripts.main_website = wwww.Rafidelisoft.com                            #
# $RafiScripts.forum = 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
----------------------------------------------------------------------------------------------------------------------------------------------------------

Créditos:
Rafidelis - Por ter criado o script.

Video de Demonstração:
Spoiler:
avatar
AllaN
Moderadores
Moderadores

Engine : RPG Maker XP
Mensagens : 163
Idade : 21
Localização : Area 51.

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Efeito - Slow Motion

Mensagem por Atheriws em Qui Jun 09, 2011 4:26 pm

Sem dúvidas o Rafidelis é um ótimo scripter, e esse script realmente é muito bonito!!!
muito obrigado por disponibilizar!!!
avatar
Atheriws
Administrador
Administrador

Selos :

Engine : RPG Maker XP
Mensagens : 177
Idade : 105
Localização : Satélite 123
Pets :

Ver perfil do usuário http://galaxiarpgmaker.123.st

Voltar ao Topo Ir em baixo

Re: Efeito - Slow Motion

Mensagem por Darkness em Qui Jun 09, 2011 4:33 pm

Eu sou fan do Rafidelis, realmente um ótimo script, muito obrigado por dispor cara, está ajudando muito!
Parabéns!!!
avatar
Darkness
Membro
Membro

Engine : RPG Maker VX
Mensagens : 85
Localização : Na Galáxia!

Ver perfil do usuário http://galaxiarpgmaker.123.st

Voltar ao Topo Ir em baixo

Re: Efeito - Slow Motion

Mensagem por CaioWizer em Qui Jun 09, 2011 6:38 pm

lindo script parabens!!! :(:
avatar
CaioWizer
Membro
Membro

Engine : RPG Maker VX
Mensagens : 4

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Efeito - Slow Motion

Mensagem por AllaN em Sex Jun 10, 2011 1:11 pm

É bom saber que estão gostando da minha ajuda no fórum.
avatar
AllaN
Moderadores
Moderadores

Engine : RPG Maker XP
Mensagens : 163
Idade : 21
Localização : Area 51.

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Efeito - Slow Motion

Mensagem por martinoli em Sex Jun 10, 2011 5:07 pm

bem facinho de mexer cara!!! vlw por postar mesmo!!!
avatar
martinoli
Membro
Membro

Engine : RPG Maker VX
Mensagens : 8

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Efeito - Slow Motion

Mensagem por Khronos em Sex Jun 10, 2011 7:23 pm

Conheço todos os Scripts do Rafidelis.. conheço ele tbm ^^
e posso dizer que ele é um dos melhores Scripters que eu conheço..
Valeu por disponibilizar :D
avatar
Khronos
Moderadores
Moderadores

Engine : RPG Maker VX
Mensagens : 192
Idade : 23
Localização : Sp

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Efeito - Slow Motion

Mensagem por $ectumbot$ em Sab Jun 11, 2011 3:59 pm

ele é bom scripter mesmo, esse script prova!!! obrigado por dispor!!!
avatar
$ectumbot$
Membro
Membro

Engine : RPG Maker VX
Mensagens : 85
Localização : Em frente ao PC!

Ver perfil do usuário http://galaxiarpgmaker.123.st

Voltar ao Topo Ir em baixo

Re: Efeito - Slow Motion

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

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