Nanhu Brother Artesão
Mensagens : 6 MakerCoins : 13 Data de inscrição : 16/04/2010
| Assunto: CHUVA NO RMVX Õ/ Seg maio 03, 2010 9:06 pm | |
| Multiplos Climas - (Multiples Weathers) Versão: 1 Por Rafidelis Siga os direitos de uso e disponibilização Características Este script permite a utilização de varios climas em um mesmo mapa.A quantidade de climas por mapa é infinita. Instruções Todas as instruções estão no script. Screenshots Script \/ - Spoiler:
#============================================================================== # [RGSS2] Multiplos Climas #------------------------------------------------------------------------------ # $RafiScripts.by = Rafidelis(Rafis) # $RafiScripts.version = 1.0 # $RafiScripts.release_date = 20/03/10(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 possibilita o uso de infinitos climas em um mesmo mapa. #============================================================================== # [** $RafiScripts.instr ] // Instruções / Instructions: #------------------------------------------------------------------------------ # 1° Colar acima do Main # 2° Editar a constante Max_Add_Weathers,e definir o numero maximo de climas # adicionais para o jogo. # 3° De acordo com o numero de climas definido na Constante Max_Add_Weathers, # no comando chamar script você deve usar: # # set_weather(id,tipo,[força],[duração]) # # id = Começa em 1 e vai até o valor armazenado em Max_Add_Weathers,exemplo: # Se a Constante Max_Add_Weathers tiver o valor 10,'id' valera de 1 a 10. # Lembre-se,se você tiver configurado por exemplo,o maximo de 10 climas na # Constante Max_Add_Weathers,e tentar usar um id acima de 10,ira gerar um # erro.(Porem não irá fechar o jogo). # Se a constante Print_Errors_Messages estiver com o valor 'true' # você será avisado do erro,caso não esteja você não será alertado. #============================================================================== # tipo = Tipo do efeito de Clima:[Padrões] # 0 - Nada(Remove o clima atual) # 1 - Chuva # 2 - Tempestade # 3 - Neve #============================================================================== # força = Intensidade do tipo de efeito,você deve usar um valor entre 1 e 9. # Essa opção é opcional,e o valor padrão é 5. #============================================================================== # duração = Tempo em frames para a troca do clima.Esse valor é opcional. #============================================================================== # Exemplo de criação de climas: # set_weather(1,3) - Nesse exemplo o clima de id 1 é usado,e configurado para # ter o efeito de neve.(Tipo 3) # set_weather(4,2,20,6) - O clima de ID 4 foi usado,e configurado para ter o # efeito tempestade,com força 6 e 1 segundo(60 frames) de espera para troca. # set_weather(9,2,1) - Nesse exemplo o clima de id 9 é usado,e configurado para # ter o efeito de Tempestade.(Tipo 2) e com a força 1. #============================================================================== # [ ** Modulo necessarios para salvar e carregar os scripts ** ] #============================================================================== module Rafidelis #============================================================================== # Rafidelis.add_script #------------------------------------------------------------------------------ def self.add_script(name,version) $RafiScripts = [] if $RafiScripts.nil? $RafiScripts.push("Name : #{name} - Version: #{version}") $RafiScripts.compact! end #============================================================================== # Rafidelis.script_exist? #------------------------------------------------------------------------------ def self.script_exist?(name,version) $RafiScripts = [] if $RafiScripts.nil? return $RafiScripts.include?("Name : #{name} - Version: #{version}") end #============================================================================== # Rafidelis.scripts #------------------------------------------------------------------------------ def self.scripts print $RafiScripts end #============================================================================== # Rafidelis.create_txt #------------------------------------------------------------------------------ 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 de Opções para o sistema de Multiplos Climas #=========================================================================== module Multiples_Weathers # Adicionando o Script no Sistema.Não modificar ou Apagar name = "Multiples Weathers" version = "1.0" Rafidelis.add_script(name,version) # Script Adicionado. # Maximo de climas 'Extras' a serem adicionados ao jogos. Max_Add_Weathers = 5 # Exibir as mensagens erros de configuração do script,quando acontecerem. Print_Errors_Messages = false end end
name = "Multiples Weathers" version = "1.0" if Rafidelis.script_exist?(name,version) #============================================================================== # Spriteset_Map #------------------------------------------------------------------------------ # Classe responsável pela compilação dos sprites utilizados nos mapas. # Esta classe é utilizada dentro da classe Scene_Map. # Aliases : create_weather,update_weather,dispose_weather #============================================================================== class Spriteset_Map #-------------------------------------------------------------------------- # Aliases #-------------------------------------------------------------------------- alias rafidelis_multiples_weather_update_weather update_weather alias rafidelis_multiples_weather_dispose_weather dispose_weather alias rafidelis_multiples_weather_create_weather create_weather include Rafidelis #-------------------------------------------------------------------------- # Criação do clima #-------------------------------------------------------------------------- def create_weather rafidelis_multiples_weather_create_weather for i in 1..Multiples_Weathers::Max_Add_Weathers eval("@weather#{i} = Spriteset_Weather.new(@viewport2)") end end #-------------------------------------------------------------------------- # Atualização do clima #-------------------------------------------------------------------------- def update_weather rafidelis_multiples_weather_update_weather for i in 1..Multiples_Weathers::Max_Add_Weathers eval("@weather#{i}.type = $game_map.screen.weather#{i}_type") eval("@weather#{i}.max = $game_map.screen.weather#{i}_max") eval("@weather#{i}.ox = $game_map.display_x / 8") eval("@weather#{i}.oy = $game_map.display_y / 8") eval("@weather#{i}.update if @weather#{i}.type != 0") end end #-------------------------------------------------------------------------- # Dispose dos climas #-------------------------------------------------------------------------- def dispose_weather rafidelis_multiples_weather_dispose_weather for i in 1..Multiples_Weathers::Max_Add_Weathers eval("@weather#{i}.dispose") end end end #============================================================================== # Game_Screen #------------------------------------------------------------------------------ # Classe que gerencia os efeitos da tela em geral, como tonalidade, flashes, # terremotos e etc. Esta classe é utilizada dentro das classes Game_Map e # Game_Troop. # Aliases: clear #============================================================================== class Game_Screen alias rafidelis_multiple_weather_clear clear #-------------------------------------------------------------------------- # Variáveis públicas #-------------------------------------------------------------------------- for i in 1..Rafidelis::Multiples_Weathers::Max_Add_Weathers eval("attr_accessor :weather#{i}_type") eval("attr_accessor :weather#{i}_max") end #-------------------------------------------------------------------------- # Limpar #-------------------------------------------------------------------------- def clear rafidelis_multiple_weather_clear for i in 1..Rafidelis::Multiples_Weathers::Max_Add_Weathers eval("@weather#{i}_type = 0") eval("@weather#{i}_max = 0.0") end end end #============================================================================== # Game_Interpreter #------------------------------------------------------------------------------ # Esta classe interpreta os comandos de evento e os transforma no código da # engine do RPG Maker. As classes Game_Map, Game_Troop, Game_Event são usadas. #============================================================================== class Game_Interpreter #-------------------------------------------------------------------------- # Definir Clima #-------------------------------------------------------------------------- def set_weather(weather_id,type,power=5,duration=0) power = [(power + 1) * 4.0,40].min eval("screen.weather#{weather_id}_type = #{type}") rescue print_weather_message(weather_id) eval("screen.weather#{weather_id}_max = #{power}") rescue return @wait_count = duration if duration > 0 end #-------------------------------------------------------------------------- # Mostrar Mensagem de Erro quando o id do clima não existir #-------------------------------------------------------------------------- def print_weather_message(id) if Rafidelis::Multiples_Weathers::Print_Errors_Messages max = Rafidelis::Multiples_Weathers::Max_Add_Weathers.to_s print " O clima com o id \'#{id}\' não existe. O maximo de climas que você pode usar é #{max}.Por favor,configure o script \'Multiples Weathers\' para que não ocorram erros durante o jogo." end end end end
Teh próx :3 |
|
baoyama Lorde
Mensagens : 88 MakerCoins : 314 Data de inscrição : 18/04/2010 Idade : 31 Mensagem Pessoal : Tentando chegar aos 100 posts! Localização : Na frente do meu PC
| Assunto: Re: CHUVA NO RMVX Õ/ Ter maio 04, 2010 9:10 am | |
| Script legal mas eu uso um outro xD um pouco mais avançado,mas, obrigado por postar ele é bem util e bem realista too! + Rep |
|