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
=====
# 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