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

RNT | Advanced Weather System | BETA

Iniciado por Mepps, 06/10/2013 às 19:35

06/10/2013 às 19:35 Última edição: 20/01/2017 às 09:31 por King Gerar
[box class=titlebg]
Advanced Weather System
[/box]



Nome : RNT | AWS | Advanced Wather system
Engine : RPG Maker Vx Ace
Versão: Beta
Facilidade de uso : Medio
Uso : Livre para Projetos Não Comerciais
Desenvolvedor :  Mepps

[box class=titlebg]
Sobre
[/box]

Ola amigos da CRM , estava Fazendo um Sistema de Clima Avançado para Meu Projeto e Resolvi
Disponibilizar a Versão Beta Pra vocês Usarem no de Projeto de Vocês , bom o sistema e bem
util e bem Funcional se você Configura-lo Certo e com boas imagens, quando melhor a Imagem..
mais Realista Fica..

[box class=titlebg]
Como Utilizar
[/box]

Bom a muito Facil a Utilização desse Script, Apos configurado o nome das Imagens no Script, no modulo
principal Basta ir no database do maker e procurar a Aba , Eventos em Comum e criar um Evento comum para
cada Clima,  e na aba de Listas de Comando Coloque o Seguinte Script, o scritpt sempre precisara das Duas Camadas, Para Funcionar Perfeitamente..


As imagens Para o Uso devem Estar na Pasta
Imagens Anexadas na Demo
/Graphics/Climas/

Camada (8)   é a 1 Camada

$fog.name = 'Rain1'  #<= Imagem do Seu clima (Ela deve estar entre algumas do Script)
$fog.hue = 0 #<= Cor
$fog.tone = [0,0,0,0]  #<= Tom
$fog.opacity = 230  #< = Opacidade
$fog.blend = 1  #<= Blend
$fog.zoom = 100  #< = Zoom
$fog.sx = 0  #< = Deslocameno em X
$fog.sy = 50 #< = Deslocamento em Y

$fog.show(8)


Camada (9) Segunda Camada

$fog.name = 'Rain1' #<= Imagem do Seu clima (Ela deve estar entre algumas do Script)
$fog.hue = 0                 
$fog.tone = [0,0,0,0]
$fog.opacity = 230
$fog.blend = 1
$fog.zoom = 100
$fog.sx = 0
$fog.sy = 50

$fog.show(9)


e Para Chamalo e So ir em Eventos, Chamar Evento Comum, e o Nome do Evento do Seu Clima =)

Se você nao entendeu muito bem Não se Preocupe deixarei uma demo e la você podera
ver Direitinho como foi Feito, la pode ser mais Facil entender , mais qualquer duvida pergunte
Aqui o topico esta Aqui pra Isso.


[box class=titlebg]
Imagens
[/box]







[box class=titlebg]
Script
[/box]
#==============================================================================#
# Modulo Principal                                                             #
# Algumas Variaveis se Encontraram dentro                                      #
# de outras classes < Game_MAP. Não Altere Nada                                #
# Esse e o Modulo Principal de Configuração                                    #
# Feito Por RNT ou Mepps como Você  Prefirir    
#==============================================================================#
 
# Modulo de Configuração Principal
module RNT
 
# Imagem dos Climas Apenas Altere Aqui  
# Aqui nesta Area Você podera alterar e Adicionar
# Fogs que desejar trocando Fog1 , pelo nome do seu
# Fog Desejado
 
# Fog1  Fog1
FOG1 = 'Fog1'
# Fog2  Folha
FOG2 = 'Shade1'
# Fog 3  Adicione Aqui
FOG3 = 'Fog1'
# Fog 4 Nuvem
FOG4 = 'Clouds1'  
# fog 5 Adicione Aqui
FOG5 = 'Fog1'
# Fog 6 .... Adicione Aqui
FOG6 = 'Fog1'
# Fog 7 Chuva
FOG7 = 'Rain1'
end;
 
module RVNTFOG
# Diretorio das Imagens de Clima
# Graphics/Fogs/  a pasta Fogs deve Existir
Diretorio = "Graphics/Climas/"
Auto_Limpeza = true
 
#==============================================================================#
#  Configuração Base | So altere se Souber oque Esta Fazendo
#==============================================================================#
 
Nome = ""; Cor =  0 ; Opacidade = 64
Blend = 0 ; Zoom = 0 ; Sx = 0 
Sy =0 ; Tom = [0,0,0,0]
end
 
#==============================================================================#
# Script                                                                       #
# alias para Reescrever algumas coisas da                                      #
# Classe Game Map , Alias..                                                    #
#==============================================================================#
 
class Game_Map
include RVNTFOG
include RNT
 
#==============================================================================#
# Alias                                                                        #
#==============================================================================#
 
alias rnt_multiplos_fogs initialize                                           
 
#==============================================================================#
# Inicia o Processo                                                            #
#==============================================================================#
 
def initialize
rnt_multiplos_fogs
 
#==============================================================================#
# Imagem da Pasta de Fogs                                                      #
#==============================================================================# 
 
@diretorio = RVNTFOG::Diretorio
 
#==============================================================================#
# Define o Fog Resetavel ou não                                                #
#==============================================================================#
 
@limpa_fog = RVNTFOG::Auto_Limpeza
 
#==============================================================================#
# Configuração de Fogs                                                         #
# nome dos Fogs                                                                #
#==============================================================================#
 
@fog_nomes = []
 
#==============================================================================#
# Coloração dos Fogs
#==============================================================================#
 
@fog_color = []
 
#==============================================================================#
# Opacidade do Fog
#==============================================================================#
 
@fog_opacidade = []
 
#==============================================================================#
# Fog Zoom
#==============================================================================#
 
@fog_zoom = []
 
#==============================================================================#
# Fog Posição X, Y
#==============================================================================#
 
@fog_px = []
@fog_py = []
 
#==============================================================================#
# Fog Tipo de Blend na Imagem
#==============================================================================#
 
@fog_blend = []
 
#==============================================================================#
# Animação Ox e Oy (Movimentação de Imagem)
#==============================================================================#
 
@fog_ox = []
@fog_oy = []
 
#==============================================================================#
# Tom do Fog
#==============================================================================#
 
@fog_tom = []
@fog_tom_target = []
 
#==============================================================================#
#  Duração dos Efeitos
#==============================================================================#
 
@fog_tom_dur = []
@fog_opacidade_dur = [] 
@fog_opacidade_target = [] 
end;end
 
#==============================================================================#
#  Revenant Fogs
#==============================================================================#
 
class Revenant_Fogs
include RVNTFOG
  
#==============================================================================#
# Metodo Set Default 
#==============================================================================#  
 
def set_default
 
#==============================================================================#
# Configuração
#==============================================================================#
 
@name      = RVNTFOG::Nome
@hue       = RVNTFOG::Cor
@opacity   = RVNTFOG::Opacidade  
@blend     = RVNTFOG::Blend
@zoom      = RVNTFOG::Zoom
@sx        = RVNTFOG::Sx
@sy        = RVNTFOG::Sy
@tone      = RVNTFOG::Tom
end  
  
#==================================o===========================================#
# Configuraçãoes de Fog, Para adicionar um Fog (Clima novo Basta)
# adicionr um novo When(Quando) + numero, assim tambem colocando o
# nome , a cor, tom , opacidade, blend, zoom , sx e sy e deixar a imagem
# na pasta Graphics\Fogs
#==============================================================================#
  
def load_preset(preset_id)
case preset_id 
 
#==============================================================================#
# When 1 |  Fog |
#==============================================================================#
 
when 1 
@name = RNT::FOG1
@hue = RVNTFOG::Cor
@opacity = RVNTFOG::Opacidade - 4
@blend =   RVNTFOG::Blend
@zoom = RVNTFOG::Zoom + 100
@sx = RVNTFOG::Sx  + 2
@sy = RVNTFOG::Sy
 
#==============================================================================#
# When 2 | Folhas Effeito 2 |
#==============================================================================#
 
when 2 
@name = RNT::FOG2
@hue = RVNTFOG::Cor
@tone = RVNTFOG::Tom
@opacity = RVNTFOG::Opacidade - 24
@blend =   RVNTFOG::Blend + 2
@zoom = RVNTFOG::Zoom + 250
@sx = RVNTFOG::Sx 
@sy = RVNTFOG::Sy
 
 
#==============================================================================#
# When 3 | FOG Effeito 3 |
#==============================================================================#
 
when 3 
@name = RNT::FOG3
@hue = RVNTFOG::Cor
@opacity = RVNTFOG::Opacidade - 14
@blend =   RVNTFOG::Blend
@zoom = RVNTFOG::Zoom + 30 
@sx = RVNTFOG::Sx + 1
@sy = RVNTFOG::Sy
 
#==============================================================================#
# When 4 | Nuvem Effeito 4 |
#==============================================================================#
 
when 4 
@name = RNT::FOG4
@hue = RVNTFOG::Cor
@opacity = RVNTFOG::Opacidade + 6
@blend =   RVNTFOG::Blend
@zoom = RVNTFOG::Zoom + 30 
@sx = RVNTFOG::Sx + 1
@sy = RVNTFOG::Sy + 1
 
#==============================================================================#
# When 5 | Nuvem Effeito 5 |
#==============================================================================#
 
when 5 
@name = RNT::FOG5
@hue = RVNTFOG::Cor
@opacity = RVNTFOG::Opacidade - 14
@blend =   RVNTFOG::Blend
@zoom = RVNTFOG::Zoom + 50
@sx = RVNTFOG::Sx + 1
@sy = RVNTFOG::Sy 
 
#=============================================================================#
# When 6 | FOG Effeito 6 |
#==============================================================================#
when 6
@name = RNT::FOG6
@hue = RVNTFOG::Cor
@opacity = RVNTFOG::Opacidade - 14
@blend =   RVNTFOG::Blend
@zoom = RVNTFOG::Zoom + 80
@sx = RVNTFOG::Sx + 1
@sy = RVNTFOG::Sy + 1
 
#==============================================================================#
# When 7 | Chuva |
#==============================================================================#
 
when 7
@name = RNT::FOG7
@hue = RVNTFOG::Cor
@opacity = RVNTFOG::Opacidade - 19
@blend =   RVNTFOG::Blend
@zoom = RVNTFOG::Zoom + 100
@sx = RVNTFOG::Sx - 20
@sy = RVNTFOG::Sy + 100
end;end
 
#==============================================================================#
# Palheta Usada Pra Configurção | Não Mexa !!!|                                #
#==============================================================================# 
# Nome = ""; Cor =  0 ; Opacidade = 64                                         #
# Blend = 0 ; Zoom = 0 ; Sx = 0                                                #
# Sy =0 ; Tom = [0,0,0,0];                                                     #
#==============================================================================#
 
#==============================================================================#
# Configuração do Setup dos FOGS |Não Mexa !!!|                                #
#==============================================================================#
 
#Criaação das Variaveis Publicas !!
attr_accessor :name, :hue, :opacity, :blend, :zoom, :sx, :sy, :tone
 
#==============================================================================#
# Uso do Metodo Set Default
#==============================================================================#
 
def initialize
set_default
end
 
#==============================================================================#
# Carregamento do Fog
#==============================================================================#
 
def load_fog(id)
@name = $game_map.fog_nomes[id].sub($game_map.diretorio, '')
@hue = $game_map.fog_color[id]
@opacity = $game_map.fog_opacidade[id]
@blend = $game_map.fog_blend[id]
@zoom = $game_map.fog_zoom[id]
@sx = $game_map.fog_px[id]
@sy = $game_map.fog_py[id]
tn = $game_map.fog_tom[id]
@tone = [tn.red, tn.blue, tn.green, tn.gray]
end
  
#==============================================================================#
# Mostra Fog
#==============================================================================#
 
def show(id, reset_all = true)
$game_map.fog_nomes[id] = $game_map.diretorio + @name
$game_map.fog_color[id] = @hue
$game_map.fog_opacidade[id] = @opacity
$game_map.fog_blend[id] = @blend
$game_map.fog_zoom[id] = @zoom
$game_map.fog_px[id] = @sx
$game_map.fog_py[id] = @sy
$game_map.fog_tom[id] = Tone.new(@tone[0], @tone[1], @tone[2], @tone[3])
    
#==============================================================================#
# Se | Condição |
#==============================================================================#   
 
if $game_map.fog_ox[id].nil? or reset_all
$game_map.fog_ox[id] = 0
$game_map.fog_oy[id] = 0
$game_map.fog_tom_target[id] = Tone.new(0, 0, 0, 0)
$game_map.fog_tom_dur[id] = 0
$game_map.fog_opacidade_dur[id] = 0
$game_map.fog_opacidade_target[id] = 0
end
set_default
end
  
#==============================================================================#
# Metodo que Deleta cada Argumento
#==============================================================================#
 
def delete(*args)
args.each do |id|
$game_map.fog_nomes[id] = ''
end;end;end
 
#==============================================================================#
# Game Interpreter                                                             #
#==============================================================================#
 
class Game_Interpreter
alias rnt_multiplos_fogs_command201 command_201
 
#==============================================================================#
# Transferencia do Jogador                                                     #
#==============================================================================#
 
def command_201
if $game_map.limpa_fog
if @params[0] == 0; id_map = @params[1]
else; id_map = $game_variables[@params[1]]
end
      
#==============================================================================#
# Limpeza dos Fogs                                                             #
#==============================================================================#
 
$game_map.clear_fog if id_map != @map_id
end; rnt_multiplos_fogs_command201
end; end
 
#==============================================================================#
# Classe Game Map                                                              #
#==============================================================================#
 
class Game_Map
 
#==============================================================================#
# Variaveis Publicas                                                           #
#==============================================================================#
 
attr_accessor :fog_nomes, :fog_color, :fog_opacidade, :fog_blend,
:fog_zoom, :fog_px, :fog_py, :fog_ox, :fog_oy, :fog_tom,
:fog_tom_target, :fog_tom_dur, :fog_opacidade_dur,
:fog_opacidade_target, :limpa_fog, :diretorio
 
#==============================================================================#
# Alias Para o Update                                                          #
#==============================================================================#
 
alias rnt_multiplos_fogs_update update
 
def update(main = false)
rnt_multiplos_fogs_update
    
refresh if @need_refresh
update_interpreter if main
 
 
@fog_nomes.each_index do |i|
next if @fog_nomes[i].nil? or @fog_nomes[i] == ''
 
#==============================================================================#
# Movimentação do Fog , 0x | 0y                                                #
#==============================================================================#
 
@fog_ox[i] -= @fog_px[i] / 8.0
@fog_oy[i] -= @fog_py[i] / 8.0
      
#==============================================================================#
# Mudança de Cor Dos Fogs                                                      #
#==============================================================================#
 
if @fog_tom_dur[i] >= 1
d = @fog_tom_dur[i]
target = @fog_tom_target[i]
@fog_tom[i].red = (@fog_tom[i].red * (d - 1) + target.red) / d
@fog_tom[i].green = (@fog_tom[i].green * (d - 1) + target.green) / d
@fog_tom[i].blue = (@fog_tom[i].blue * (d - 1) + target.blue) / d
@fog_tom[i].gray = (@fog_tom[i].gray * (d - 1) + target.gray) / d
@fog_tom_dur[i] -= 1
end
      
#==============================================================================#
# Mudança na Opacidade dos Fogs                                                    #
#==============================================================================#
 
if @fog_opacidade_dur[i] >= 1
d = @fog_opacidade_dur[i]
@fog_opacidade[i] = (@fog_opacidade[i] * (d - 1) + @fog_opacidade_target[i]) / d
@fog_opacidade_dur[i] -= 1
end;end;end
 
#==============================================================================#
# Mudança no Tom do Fog                                                        #
#==============================================================================#
 
def fogtone(i, tone, duration)
duration = duration * 2
tone = Tone.new(tone[0], tone[1], tone[2], tone[3])
@fog_tom_target[i] = tone.clone
@fog_tom_dur[i] = duration
 
if @fog_tom_dur[i] == 0
@fog_tom[i] = @fog_tom_target[i].clone
end;end
 
#==============================================================================#
# Mudança na Opacidade do Fog                                                        #
#==============================================================================#
 
def fogopac(i, opacity, duration)
duration = duration * 2
@fog_opacidade_target[i] = opacity * 1.0
@fog_opacidade_dur[i] = duration
if @fog_opacidade_duration[i] == 0
@fog_opacidade[i] = @fog_opacidade_target[i]
end;end
 
#==============================================================================#
# Mudança na Opacidade do Fog                                                        #
#==============================================================================#
 
def clear_fog
@fog_nomes.each_index {|i| @fog_nomes[i] = '' }
end; end
 
#==============================================================================#
# Verifica se o modulo RNT Foi Importado                                                    #
#==============================================================================#
$fog = Revenant_Fogs::new
 
#==============================================================================#
# Classe do Sprite Do Mapa                                                     #
#==============================================================================#
 
class Spriteset_Map
  
alias rnt_dispose_parallax dispose_parallax 
alias rnt_create_parallax  create_parallax
alias rnt_update_parallax  update_parallax
  
def create_parallax
@fog = []
@fog_nomes = []
@fog_color = []
rnt_create_parallax
end
  
def update_parallax
rnt_update_parallax
$game_map.fog_nomes.each_index do |i|
next if $game_map.fog_nomes[i].nil?
      
#==============================================================================#
# Se o Fog For Diferente do Fog Atual                                          #
#==============================================================================#
 
if @fog_nomes[i] != $game_map.fog_nomes[i] or @fog_color[i] != $game_map.fog_color[i]
@fog_nomes[i] = $game_map.fog_nomes[i]
@fog_color[i] = $game_map.fog_color[i]
if @fog[i].nil?
@fog[i] = Plane.new(@viewport7)
@fog[i].z = 12
end
        
if @fog[i].bitmap != nil
@fog[i].bitmap.dispose
@fog[i].bitmap = nil
end
        
if @fog_nomes[i] != ''
@fog[i].bitmap = Cache.load_bitmap('', @fog_nomes[i], @fog_color[i])
end
        
Graphics.frame_reset
end; next if @fog[i].bitmap.nil?
      
#==============================================================================#
#  Update Fog Para Images Como Plane                                           #
#==============================================================================#
 
@fog[i].zoom_x = ($game_map.fog_zoom[i] / 100.0) if @fog[i].zoom_x != ($game_map.fog_zoom[i] / 100.0)
@fog[i].zoom_y = ($game_map.fog_zoom[i] / 100.0) if @fog[i].zoom_y != ($game_map.fog_zoom[i] / 100.0)
@fog[i].opacity = $game_map.fog_opacidade[i] if @fog[i].opacity != $game_map.fog_opacidade[i]
@fog[i].blend_type = $game_map.fog_blend[i] if @fog[i].blend_type != $game_map.fog_blend[i]
@fog[i].ox = ($game_map.display_x / 8.0 + $game_map.fog_ox[i]) if 
@fog[i].ox != ($game_map.display_x / 8.0 + $game_map.fog_ox[i])
@fog[i].oy = ($game_map.display_y / 8.0 + $game_map.fog_oy[i]) if 
@fog[i].oy != ($game_map.display_y / 8.0 + $game_map.fog_oy[i])
@fog[i].tone = $game_map.screen.tone
end;end
 
def dispose_parallax
@fog.each_index do |i|
next if @fog[i].nil?
@fog[i].bitmap.dispose if !@fog[i].bitmap.nil?
 
end; rnt_dispose_parallax 
end;end
 
#==============================================================================#
#  Fim da Configuração do Script                                               #
#==============================================================================


[box class=titlebg]
Download
[/box]

[box class=titlebg]
Creditos
[/box]
Criador : Mepps
Fogs : Google e Membros da MRM
Notas : Especialmente pro meu Grande irmao KazuYashi

*limpa a garganta"

Citação de: Mepps online 06/10/2013 às 19:35
Ola amigos da MRM , estava Fazendo um Sistema de Clima Avançado para Meu Projeto e Resolvi
Disponibilizar a Versão Beta Pra vocês Usarem no de Projeto de Vocês , bom o sistema e bem
util e bem Funcional se você Configura-lo Certo e com boas imagens, quando melhor a Imagem..
mais Realista Fica..

O senhor está querendo ser crucificado?  :grr:

Brincadeira, é claro! Bom script, Mepps, facilita bem a vida. Prefiro eventos, mas desse jeito também está bom. Uma pergunta, tem alguma forma de deixar o clima aleatório sem ter a necessidade de usar eventos para chamá-lo?

Viva a lenda!



Da sim vicent eu so teria de Fazer Algumas Modificações Nele. ja ja Faço Algumas Modificações
e upo a atualização.. Obrigado Por Comentae

Também gosto mais de exibir esses fogs por eventos, porém, quando
aperta, é por script que me salva. E é bom tu ter feito esse, o que eu
achei e que funcionou era em inglês e tanta coisa para ajeitar...  :noface:
Ah, e achei a chuvinha bem bacana...

Mais uma vez, muito bom trabalho, Mepps!
  :ok:

Wohoo! Então decidiu postar, Mepps?! Show de bola, cara! E, nossa, olha só isso! Meu nomezinho está no tópico, que emoção! *-* Huahuaha. Que isso, cara, nem precisava. Hehe, mas obrigado!

Assim como o pessoal que comentou, também curto fazer fogs por eventos, mas este script é incrível e uma mão na roda como já disse para você antes. E só o fato de rodar com overlay já o torna melhor que o do Mog. Pelo menos, acredito que sim. Ah, sem contar os efeitos, principalmente o da chuvinha, que é bem bonito.

É um ótimo auxílio para complementar o visual do projeto de qualquer um. Obrigado por dispor! =)

Um grande abraço e continue com o ótimo trabalho,

Kazuyashi.

Alguém ainda tem a demo?
Quando tentei usar e ele copicolou todo o weather effect na tela, assassinou o FPS :')
Você adora as enormes árvores do XP? Você odeia as cores "datadas" delas? Que tal dar uma olhada no meu Remaster?