MOG Fog Effects V1.1

MOG Fog Effects é um script desenvolvido pelo Moghunter para o RPG Maker XP que permite adicionar efeitos nas neblinas, como mudança de cores, tonalidade, opacidade, zoom e fade.


7 de abril de 2015

MOG Fog Effects é um script desenvolvido pelo Moghunter para o RPG Maker XP que permite adicionar efeitos nas neblinas, como mudança de cores, tonalidade, opacidade, zoom e fade.

Creio ser o substituto do MOG Extra Fog, script que que não existe mais no site do Mog (www.atelier-rgss.com), mas não tenho certeza. No entanto, esse parece ser mais simples de utilizar e não carece de imagens extras.

Instalação

Para inserir o script no teu projeto, basta inserir o código abaixo acima do “Main”, no seu editor de scripts.

Convém baixar a demo para entender melhor o funcionamento.

#_______________________________________________________________________________
# MOG Fog Effects V1.1           
#_______________________________________________________________________________
# By Moghunter  
# http://www.atelier-rgss.com
#_______________________________________________________________________________
# Adiciona efeitos automáticos no Fog.
# - ZOOM
# - OPACIDADE
# - TONALIDADE
#_______________________________________________________________________________
module MOG
  #ID da Switch que ativa o modo Zoom.  
  FOG_ZOOM_SWITCH_ID = 7
  #Tempo para mudar o Zoom(IN-ON)
  FOG_ZOOM_INOUT_TIME = 10 
  #Poder do Zoom.
  FOG_ZOOM_POWER = 0.5  
  #ID da Switch que ativa o modo Opacity.  
  FOG_OPA_SWITCH_ID = 8
  #Tempo para mudar a opacidade.
  FOG_OPA_TIME = 2
  #Poder da Opacidate
  FOG_OPA_POWER = 3
  #ID da Switch que ativa o modo TONE.  
  FOG_TONE_SWITCH_ID = 9
  #Tempo para mudar de tonalidade.
  FOG_TONE_TIME = 5
  #Poder da tonalidade.
  FOG_TONE_POWER = 5
end
#_______________________________________________________________________________

#===============================================================================
# Game_Map
#===============================================================================
class Game_Map
  include MOG
  attr_accessor :f_r            
  attr_accessor :f_r_time    
  attr_accessor :f_g            
  attr_accessor :f_g_time   
  attr_accessor :f_b            
  attr_accessor :f_b_time   
  
#--------------------------------------------------------------------------
# Setup
#--------------------------------------------------------------------------
  alias mog71_setup setup  
  def setup(map_id)  
    mog71_setup(map_id)
    @fog_zoom_time = 0
    @fog_zoom_type = 0
    @fog_opa_time = 0
    @fog_opa_type = 0
    @f_r = 0
    @f_r_time = 255
    @f_g = 0
    @f_g_time = 0
    @f_b = 0  
    @f_b_time = 0  
    @til = $data_tilesets[@map.tileset_id]
  end

#--------------------------------------------------------------------------
# Update
#--------------------------------------------------------------------------
  alias mog71_update update  
  def update
    mog71_update
    fog_zoom_effect_update
    fog_opac_effect_update
  end

#--------------------------------------------------------------------------
# fog_opa_effect
#--------------------------------------------------------------------------
  def fog_opac_effect_update
    if $game_switches[FOG_OPA_SWITCH_ID] == true
       @fog_opa_time += 1
       if @fog_opa_time > 40 * FOG_OPA_TIME
          @fog_opa_time = 0
          @fog_opa_type += 1
       end  
       if @fog_opa_type > 1
          @fog_opa_type = 0  
       end
       if @fog_opa_type == 0
          @fog_opacity += FOG_OPA_POWER 
       else
          @fog_opacity -= FOG_OPA_POWER   
       end
        valor = @til.fog_opacity / 2
       if @fog_opacity >= @til.fog_opacity + valor
          @fog_opacity = @til.fog_opacity + valor
       elsif @fog_opacity <= @til.fog_opacity / 2
          @fog_opacity = @til.fog_opacity / 2  
       end
    else
       @fog_opa_time = 0
       @fog_opa_type = 0  
       $game_map.start_fog_opacity_change(@til.fog_opacity , FOG_OPA_TIME  * 2)
    end  
  end  
  
#--------------------------------------------------------------------------
# fog_zoom_effect
#--------------------------------------------------------------------------
  def fog_zoom_effect_update
   if $game_switches[FOG_ZOOM_SWITCH_ID] == true
      @fog_zoom_time += 1
      if @fog_zoom_time > 40 * FOG_ZOOM_INOUT_TIME
         @fog_zoom_time = 0  
         @fog_zoom_type += 1
      end
      if @fog_zoom_type > 1
         @fog_zoom_type = 0  
      end
      if @fog_zoom_type == 0  
         @fog_zoom += FOG_ZOOM_POWER
      else
         @fog_zoom -= FOG_ZOOM_POWER  
      end
      if @fog_zoom >= @til.fog_zoom * 2
         @fog_zoom = @til.fog_zoom * 2  
      elsif @fog_zoom <= 100.0  
         @fog_zoom = 100.0
      end
   else
      @fog_zoom_time = 0
      @fog_zoom_type = 0  
      if @fog_zoom > @til.fog_zoom and  @fog_zoom != @til.fog_zoom 
         @fog_zoom -= 1
         if @fog_zoom < @til.fog_zoom
            @fog_zoom = @til.fog_zoom   
         end
      elsif @fog_zoom < @til.fog_zoom and @fog_zoom != @til.fog_zoom 
         @fog_zoom += 1
         if @fog_zoom > @til.fog_zoom
            @fog_zoom = @til.fog_zoom   
         end
      else
         @fog_zoom = @til.fog_zoom   
      end
    end    
  end
  
end

#===============================================================================
# Spriteset_Map
#===============================================================================
class Spriteset_Map
  
#--------------------------------------------------------------------------
# Update
#--------------------------------------------------------------------------
  alias mog71_update update  
  def update
    mog71_update 
    fog_tone_effect_update
  end
  
#--------------------------------------------------------------------------
# Fog Tone Effect Update
#--------------------------------------------------------------------------
  def fog_tone_effect_update
    if $game_switches[MOG::FOG_TONE_SWITCH_ID] == true
      if $game_map.f_r_time > 0 and $game_map.f_g_time <= 0 and $game_map.f_b_time <= 0
          $game_map.f_r += MOG::FOG_TONE_POWER if $game_map.f_r <= 255
          $game_map.f_g -= MOG::FOG_TONE_POWER if $game_map.f_g > 0
          $game_map.f_b -= MOG::FOG_TONE_POWER if $game_map.f_b > 0
          $game_map.f_r_time -= 1 
          if $game_map.f_r_time < 1
             $game_map.f_r_time = 0
             $game_map.f_g_time = 255
             $game_map.f_b_time = 0
          end 
      elsif $game_map.f_r_time <= 0 and $game_map.f_g_time > 0 and $game_map.f_b_time <= 0
          $game_map.f_r -= MOG::FOG_TONE_POWER if $game_map.f_r > 0
          $game_map.f_g += MOG::FOG_TONE_POWER if $game_map.f_g <= 255
          $game_map.f_b -= MOG::FOG_TONE_POWER if $game_map.f_b  > 0
          $game_map.f_g_time -= 1
          if $game_map.f_g_time < 1
             $game_map.f_r_time = 0
             $game_map.f_g_time = 0
             $game_map.f_b_time = 255
          end 
      elsif $game_map.f_r_time <= 0 and $game_map.f_g_time <= 0 and $game_map.f_b_time > 0
          $game_map.f_r -= MOG::FOG_TONE_POWER if $game_map.f_r > 0
          $game_map.f_g -= MOG::FOG_TONE_POWER if $game_map.f_g > 0
          $game_map.f_b += MOG::FOG_TONE_POWER if $game_map.f_b <= 255
          $game_map.f_b_time -= 1
          if $game_map.f_b_time < 1
             $game_map.f_r_time = 255
             $game_map.f_g_time = 0
             $game_map.f_b_time = 0
          end 
      end
      @fg_tn = Tone.new($game_map.f_r, $game_map.f_g, $game_map.f_b, 0)
      $game_map.start_fog_tone_change(@fg_tn, MOG::FOG_TONE_TIME * 2)
    end  
  end
  
end

$mog_rgss_Fog_Effects = true

Mais programação XP

Download e ficha técnica

  • Download (clique com o botão esquerdo do mouse ou toque no link).
  • Desenvolvedor, publisher e/ou distribuidor: Moghunter
  • SO: Windows 98/98SE/Me/2000/XP/Vista/7
  • Tamanho: 190 KB
  • Licença: Grátis
  • Categoria: Programação XP
  • Tag: RPG Maker XP
  • Adicionado por: LichKing
  • Acessos: 117

Observação: se você gostou deste post ou ele lhe foi útil de alguma forma, por favor considere apoiar financeiramente a Gaming Room. Fico feliz só de ajudar, mas a contribuição do visitante é muito importante para que este site continua existindo e para que eu possa continuar provendo este tipo de conteúdo e melhorar cada vez mais. Acesse aqui e saiba como. Obrigado!

Deixe um comentário

Inscreva-se na nossa newsletter!