Author Id: 24720 Author Name: xabierpower2012 Post Content: Mira este scipt simple de día y noche, pd: las instrucciones vienen al principio del script. [SPOILER="Script día y noche."]Crear una nueva clase por encima de "Main" con cualquier nombre y copiad en ella el siguiente código:#========================================================================== ===== # Script Simple de Dí*a y Noche # # Versión : 0.3.2 - 28.03.08 # Creado por: hellMinor # Descripción: Un simple script que cambia el tono de la pantalla para emular # el dí*a o la noche. Se basa en los pasos o la hora del sistema. # #========================================================================== ===== #========================================================================== ===== # Map-Detection F.A.Q. #========================================================================== ===== # Si tienes un mapa interior en el que no se muestran efectos de dí*a y noche # simplemente pon [int] al comienzo del nombre del mapa. # Al entrar a este tipo de mapas, el script cambiará inmediatamente el # tono de pantalla a $daytone y todos los cambios hechos por el scrip serán # ignorados. # # Algunos mapas interiores necesitan ser oscuros,como cuevas. Sólo pon [dint] # al comienzo del nombre dle mapa para marcarlo como mapa interior oscuro. # El script cambiará el tono a $nighttone en vez de $daytone # # Mientras, el tiempo sigue pasando en el mapa interior, y cuando salgas del # interior se cambiará al tono de tiempo actual del juego. #========================================================================== ===== # Get-Time F.A.Q. #========================================================================== ===== # Si necesitas obtener el tiempo actual, puedes usar esto en Llamar Script: # para obtener el tiempo actual: # $game_variables[0001] = $dayandnight.getTime # para obtener la hora actual: # $game_variables[0001] = $dayandnight.getHour # o para obtener el minuto actual: # $game_variables[0001] = $dayandnight.getMinute # # $game_variables[0001] será la primera variable en la base de datos. # Para usar otra variable, cambia el 0001 a algo >5000 # #========================================================================== ===== class DayAndNight < Game_Screen #========================================================================== ===== # Configuración Principal #-------------------------------------------------------------------------- ---- $active = true # Activa/Desactiva el script $timesystem = 1 # Determina qué tipo de sistema está activo # 0 = Sistema por Pasos # 1 = Sistema por Hora $fadingtime = 4 # Velocidad a la que cambia el tono (en segundos) #-------------------------------------------------------------------------- ----- $dusktone = Tone.new(-68, -51, -9, 25) # Tono al Anochecer $nighttone = Tone.new(-136, -102, -17, 51) # Tono por la Noche $dawntone = Tone.new(-20, -51, -68, 0) # Tono al Amanecer $daytone = Tone.new(0, 0, 0, 0) # Tono por el Dí*a #-------------------------------------------------------------------------- ----- # Timesystem config #-------------------------------------------------------------------------- ----- $starting_time = "night" # Determina la fase de inicio # "day" para dí*a ,"dusk" para anochecer # "dawn" para amanecer y "night" para noche. # Notas: Por defecto es "night". # ¡¡Cualquier otro cambiará TODOS los cálculos # hechos con Graphics.frame_counter!! $divider = 1 # Decide la velocidad a la que corre el Sistema Temporal # Ej: 2 = Doble velocidad (30 segundos = 1 hora) # Ej: 0,5 = Mitad de Velocidad (2 minutos = 1 hora) $dusktime = 7 # Cambia al anochecer en $dusktime $daytime = 8 # Cambia al dí*a en $daytime $dawntime = 19 # Cambia al amanecer en $dawntime $nighttime = 20 # Cambia a la noche en $nighttime #-------------------------------------------------------------------------- ---- # Configuración de los Pasos #-------------------------------------------------------------------------- ---- $count = 0 # Cuenta cuántos pasos hay entre un periodo $maxsteps = 200 # Cuántos pasos hay entre el cambio dí*a/noche #-------------------------------------------------------------------------- ----- # Comprobaciones #-------------------------------------------------------------------------- ---- $day = true # Comprueba si es de dí*a $dusk = false # Comprueba si anochece $dawn = false # Comprueba si amanece $night = false # Comprueba si es de noche #-------------------------------------------------------------------------- ----- def change? if $count >= $maxsteps if $day doDusk end if $dusk doNight end if $night doDawn end if $dawn doDay end end end #-------------------------------------------------------------------------- ----- def doNight if $dayandnight.exterior? $game_map.screen.start_tone_change($nighttone,$fadingtime*60) end $count = 0 $day = false $dusk = false $dawn = false $night = true end #-------------------------------------------------------------------------- ----- def doDay if $dayandnight.exterior? $game_map.screen.start_tone_change($daytone,$fadingtime*60) end $count = 0 $day = true $night = false $dawn = false $dusk = false end #-------------------------------------------------------------------------- ----- def doDawn if $dayandnight.exterior? $game_map.screen.start_tone_change($dawntone,$fadingtime*60) end $count = 0 $day = false $night = false $dusk = false $dawn = true end #-------------------------------------------------------------------------- ----- def doDusk if $dayandnight.exterior? $game_map.screen.start_tone_change($dusktone,$fadingtime*60) end $count = 0 $day = false $night = false $dusk = true $dawn = false end #-------------------------------------------------------------------------- ----- def updateclock clocktime = Graphics.frame_count / (Graphics.frame_rate/$divider) hour = clocktime / 60 % 24 minutes = clocktime % 60 if hour == $dawntime && minutes == 0 doDawn end if hour == $daytime && minutes == 0 doDay end if hour == $dusktime && minutes == 0 doDusk end if hour == $nighttime && minutes == 0 doNight end end #-------------------------------------------------------------------------- ----- def interior? if($game_map.name.to_s.index("[int]") != nil) return true end end #-------------------------------------------------------------------------- ----- def exterior? if($game_map.name.to_s.index("[int]") == nil && $game_map.name.to_s.index("[dint]") == nil) return true end end #-------------------------------------------------------------------------- ----- def dark_interior? if($game_map.name.to_s.index("[dint]") != nil) return true end end #-------------------------------------------------------------------------- ----- def get_state_tone if $dawn return $dawntone end if $day return $daytone end if $dusk return $dusktone end if $night return $nighttone end end #-------------------------------------------------------------------------- ----- def getTime clocktime = Graphics.frame_count / (Graphics.frame_rate/$divider) hour = clocktime / 60 % 24 minutes = clocktime % 60 return hour.to_s+":"+minutes.to_s end #-------------------------------------------------------------------------- ----- def getHour clocktime = Graphics.frame_count / (Graphics.frame_rate/$divider) hour = clocktime / 60 % 24 return hour end #-------------------------------------------------------------------------- ----- def getMinute clocktime = Graphics.frame_count / (Graphics.frame_rate/$divider) minutes = clocktime % 60 return minutes end end #========================================================================== ===== class Game_Character #========================================================================== ===== def increase_steps @stop_count = 0 if $active && $timesystem == 0 $count += 1 $dayandnight = DayAndNight.new $dayandnight.change? end update_bush_depth end end #========================================================================== ===== class Game_Map #========================================================================== ===== def initialize @screen = Game_Screen.new if $active && $timesystem == 1 $dayandnight = DayAndNight.new end @interpreter = Game_Interpreter.new(0, true) @map_id = 0 @display_x = 0 @display_y = 0 create_vehicles end #-------------------------------------------------------------------------- ----- def update refresh if $game_map.need_refresh update_scroll update_events update_vehicles update_parallax if $active && $timesystem == 1 $dayandnight.updateclock end @screen.update end def name $data_mapinfos[@map_id] end end #========================================================================== ===== class Scene_Map #========================================================================== ===== def fadein(duration) Graphics.transition(0) if $active && $dayandnight.interior? $game_map.screen.start_tone_change($daytone,1) else if $active && $dayandnight.dark_interior? $game_map.screen.start_tone_change($nighttone,1) else if $active && $dayandnight.exterior? $game_map.screen.start_tone_change($dayandnight.get_state_tone,1) end end end for i in 0..duration-1 Graphics.brightness = 255 * i / duration update_basic end Graphics.brightness = 255 end end #========================================================================== ===== class Scene_Title #========================================================================== ===== alias load_database_additions load_database def load_database load_database_additions $data_mapinfos = load_data("Data/MapInfos.rvdata") for key in $data_mapinfos.keys $data_mapinfos[key] = $data_mapinfos[key].name end end alias command_new_game_additions command_new_game def command_new_game command_new_game_additions Graphics.frame_count += 25200/$divider if $starting_time == "dawn" Graphics.frame_count += 28800/$divider if $starting_time == "day" Graphics.frame_count += 68400/$divider if $starting_time == "dusk" end end #========================================================================== ===== # Game-Time-Hotfix #========================================================================== ===== #========================================================================== ===== class Window_SaveFile < Window_Base #========================================================================== ===== def load_gamedata @time_stamp = Time.at(0) @file_exist = FileTest.exist?(@filename) if @file_exist file = File.open(@filename, "r") @time_stamp = file.mtime begin @characters = Marshal.load(file) @frame_count = Marshal.load(file) @last_bgm = Marshal.load(file) @last_bgs = Marshal.load(file) @game_system = Marshal.load(file) @game_message = Marshal.load(file) @game_switches = Marshal.load(file) @game_variables = Marshal.load(file) case $starting_time when "night" @total_sec = @frame_count / Graphics.frame_rate when "dawn" @total_sec = @frame_count-(25200/$divider) / Graphics.frame_rate when "day" @total_sec = @frame_count-(28800/$divider) / Graphics.frame_rate when "dusk" @total_sec = @frame_count-(68400/$divider) / Graphics.frame_rate end rescue @file_exist = false ensure file.close end end end end[/SPOILER]