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

SheolShade Character Shake

Iniciado por SheolShade, 18/05/2013 às 09:11

18/05/2013 às 09:11 Última edição: 18/05/2013 às 10:43 por SheolShade
SheolShade Character Shake

Compativel com:  RMVXA.
Compatibilidade: boa.
Facilidade de uso: fácil.
Lag gerado:  nulo.

[box class=titlebg]
Condições de Uso
[/box]
Livre para uso em projetos não comerciais.
Você pode alterar o script desde que mantenha os créditos.
Não é permitido a postagem de versões alteradas.
Peço que não poste este script em outros fóruns se meu consentimento.

[box class=titlebg]
Para que serve o script
[/box]
Este script permite usar o efeito tremor em eventos e no jogador..

[box class=titlebg]
Características
[/box]
Simples de utilizar, basta utilizar um "Chamar Script", maiores instruções no cabeçalho do script.

[box class=titlebg]
Imagens
[/box]
Não perceptível por imagens.

[box class=titlebg]
Script
[/box]
#==============================================================================#
#                       **SheolShade Character Shake**                         #
#------------------------------------------------------------------------------#
#  ** Autor: SheolShade/Azraven                                                #
#  ** Versão: 1.0b                                                             #
#  ** Data: 18/05/2013                                                         #
#------------------------------------------------------------------------------#   
#  - Descrição:                                                                #
#     Este script permite usar o efeito tremor em eventos e no jogador.        #
#  - Utilização:                                                               #
#     Cole este script na seção "Scripts Adicionais".                          #
#     Para usar o chamar o efeito utilize o seguinte código no "Chamar Script":#
#                                                                              #
#         ShakeSprite.shake(força, velocidade, duração, id)                    #
#                                                                              #
#     Onde id é a ID do evento que terá o efeito.                              #
#     Para tremer o personagem basta omitir a id.                              # 
#==============================================================================#
#  - Histórico                                                                 #
#    18/05/2013 - Início e término da versão 1.0b                              #
#------------------------------------------------------------------------------#
module Sheol
  module ShakeSprite
    def self.shake(power, speed, duration, id = 0)
      if id == 0 
        $game_player.start_shake(power, speed, duration)
      else
        $game_map.events[id].start_shake(power, speed, duration)
      end
    end
  end
end

class Game_Interpreter
  include Sheol
end

class Game_CharacterBase
  
  alias :sheol_character_shake_i_p_c :init_public_members
  alias :sheol_character_shake_updt :update
  
  def init_public_members
    sheol_character_shake_i_p_c
    @shake = 0
    @shake_power = 0
    @shake_speed = 0
    @shake_duration = 0
    @shake_direction = 1
  end
  
  def update
    sheol_character_shake_updt
    update_shake
  end
  
  def start_shake(power, speed, duration)
    @shake_power = power
    @shake_speed = speed
    @shake_duration = duration
  end
  
  def screen_x
    $game_map.adjust_x(@real_x) * 32 + 16 + @shake 
  end
  
  def update_shake
    if @shake_duration > 0 || @shake != 0
      delta = (@shake_power * @shake_speed * @shake_direction) / 10.0
      if @shake_duration <= 1 && @shake * (@shake + delta) < 0
        @shake = 0
      else
        @shake += delta
      end
      @shake_direction = -1 if @shake > @shake_power * 2
      @shake_direction = 1 if @shake < - @shake_power * 2
      @shake_duration -= 1
    end
  end
end


[box class=titlebg]
Créditos e Avisos
[/box]
Criador: SheolShade
Agradecimento:Fallen por ter requisitado o script.

Qualquer bug reporte neste tópico que farei o possível para corrigir, sugestões para novas adições são bem vindas.

Muito bom, é um script muito util pra mim e para muitos aqui creio.
Clique e conheça o meu canal - Canal RPG Maker Zone

Muito bom mesmo, não o testei, mas aparentemente vai ser de grande utilidade! Posso imaginar muitas cenas e muitas coisas legais a serem feitas... Obrigado por dispor! :D
+ ouro !
.

Ótimo!

Parabéns cara, surgiu a necessidade do script e foi muito rápido em criar e disponbilizar, parabéns mesmo!

Excelente Script, me ajudará muito na construção de diversas cenas no meu projeto.

Vlws ai por fazer Sheol xD, eu havia travado em uma parte, ai no caso eu ia ficar fora esse fim de semana, e deixe o problema com você x], parabéns *¬*

Valeu pessoal, eu que agradeço por ter passado a bola Raizen, foi simples porém interessante de fazer, é como tu falou, é quase um CTRL+C/CTRL+V com umas outras coisinhas  :XD:
Se de repente alguém pensar em algo para adicionar ou modificar me avisem.

muito legal esse script será muito utio.

Excelente! É super útil em qualquer tipo de jogo! Vou utilizá-lo em meu projeto.
+ Ouro
O mundo não se divide em pessoas boas e más. Todos temos Luz e Trevas dentro de nós...

O que importa é o lado o qual decidimos agir. Isso é o que realmente somos!

Muito bom mesmo! Fiquei imaginando algumas coisas como: indicar um npc que o player precise falar ou outras coisinhas aí!
+gold