Steps 1 + 2 are parallel process common events with a switch activation
For steps 1 + 2 create an autorun map event that turns on a switch and then erases itself
For step 3 place the script anywhere, I put it below the default scripts and before main. Just copy and paste
[Show/Hide] Core System
Step 1: Minutes and Hours
Put in the following commands in a common event: (Dont forget a switch to activate it!!)
@>Control Variables:[0002:Hours] = 10 (When you want day to start. This is also when the screen will become daytime)
@>Loop
@>Wait 1 frame(s)
@>Control Variables: [0003: Seconds] += 1
@>Conditional Branch: [0003: Seconds] = 25
@>Control Variables: [0001: Minutes] += 1
@>Control Variables: [0003: Seconds] = 0
@>Conditional Branch: Variable [0001: Minutes] == 60
@>Control Variable: [0001: Minutes] == 0
@>Control Variable: [0002: Hours] += 1
@>
: Branch End
@>Conditional Branch: Variable [0002: Hours] ==13
@>Condition Branch: [0004: AM/PM] = 1
@>Control Variables: [0002: Hours] = 1
@>Control Variables: [0004: AM/PM] = 2
@>Control Switches: [0001: PM] = OFF
Else
@>Control Variables: [0002: Hours] = 1
@>Control Variables: [0004: AM/PM] = 1
@>Control Switches: [0001: PM] = ON
: Branch End
@>
: Repeat Above
@>
Step 2: Day and Night
Put in the following in a common event: (Dont forget a switch to activate it!!)
@>Loop
@>Condition Branch: Switch [0001: PM] = ON
@>Conditional Branch Variable [0002: Hours] = 10 < make this number when night starts! (here its 10 pm)
@>Change Screen Color Tone: (-187, -119, -34, 68)
@>Control Switches: [0002: Night] = ON
@>
: Branch End
@>
: Branch End
@>Condition Branch: Switch [0001: PM] = OFF
@>Conditional Branch Variable [0002: Hours] = 6 < make this number when morning starts! (here its 6 am)
@>Change Screen Color Tone: ( 0, 34, 0, 0)
@>Control Switches: [0002: Night] = OFF
@>
: Branch End
@>
: Branch End
@>Condition Branch: Switch [0001: PM] = ON
@>Conditional Branch Variable [0002: Hours] = 10 < make this number when day starts! (here its 10 am)
@>Change Screen Color Tone: ( 0, 0, 0, 0)
@>
: Branch End
@>
: Branch End
@> Wait: 1 frame(s)
@>
: Repeat Above
@>
Cool, aint it?
Test it out, its awesome!!!!
Heres a screenie to look at:

Note that the hud is optional and does not have to be used, instead you can use a watch on the menu screen, an item, or a map event.
This is covered in the next spoiler tag.
CODE
Put in the following commands in a common event: (Dont forget a switch to activate it!!)
@>Control Variables:[0002:Hours] = 10 (When you want day to start. This is also when the screen will become daytime)
@>Loop
@>Wait 1 frame(s)
@>Control Variables: [0003: Seconds] += 1
@>Conditional Branch: [0003: Seconds] = 25
@>Control Variables: [0001: Minutes] += 1
@>Control Variables: [0003: Seconds] = 0
@>Conditional Branch: Variable [0001: Minutes] == 60
@>Control Variable: [0001: Minutes] == 0
@>Control Variable: [0002: Hours] += 1
@>
: Branch End
@>Conditional Branch: Variable [0002: Hours] ==13
@>Condition Branch: [0004: AM/PM] = 1
@>Control Variables: [0002: Hours] = 1
@>Control Variables: [0004: AM/PM] = 2
@>Control Switches: [0001: PM] = OFF
Else
@>Control Variables: [0002: Hours] = 1
@>Control Variables: [0004: AM/PM] = 1
@>Control Switches: [0001: PM] = ON
: Branch End
@>
: Repeat Above
@>
Step 2: Day and Night
CODE
Put in the following in a common event: (Dont forget a switch to activate it!!)
@>Loop
@>Condition Branch: Switch [0001: PM] = ON
@>Conditional Branch Variable [0002: Hours] = 10 < make this number when night starts! (here its 10 pm)
@>Change Screen Color Tone: (-187, -119, -34, 68)
@>Control Switches: [0002: Night] = ON
@>
: Branch End
@>
: Branch End
@>Condition Branch: Switch [0001: PM] = OFF
@>Conditional Branch Variable [0002: Hours] = 6 < make this number when morning starts! (here its 6 am)
@>Change Screen Color Tone: ( 0, 34, 0, 0)
@>Control Switches: [0002: Night] = OFF
@>
: Branch End
@>
: Branch End
@>Condition Branch: Switch [0001: PM] = ON
@>Conditional Branch Variable [0002: Hours] = 10 < make this number when day starts! (here its 10 am)
@>Change Screen Color Tone: ( 0, 0, 0, 0)
@>
: Branch End
@>
: Branch End
@> Wait: 1 frame(s)
@>
: Repeat Above
@>
Cool, aint it?
Test it out, its awesome!!!!
Heres a screenie to look at:

Note that the hud is optional and does not have to be used, instead you can use a watch on the menu screen, an item, or a map event.
This is covered in the next spoiler tag.
[Show/Hide] Watch/Hud
Option A: Watch On Menu Screen
Edit def refresh in Window_PlayTime to look like this:
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 120, 32, "Time")
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = $game_variables[2]
min = $game_variables[1]
text = sprintf("%02d:%02d", hour, min)
self.contents.font.color = normal_color
self.contents.draw_text(4, 32, 120, 32, text, 2)
end
If it shows 0s, change these lines:
hour = $game_variables[2] Change 2 to your hour variable
min = $game_variables[1] Change 1 to your minute variable
Option B: Hud
class Window_YourHUD < Window_Base
def initialize
super(0, 416, 640, 64)
self.contents = Bitmap.new(640 - 32, 64 - 32)
refresh
end
def refresh
self.contents.clear
reset_variables
return if !@actor
draw_actor_hp(@actor, 0, 0)
draw_actor_sp(@actor, 160, 0)
self.contents.font.color = system_color
self.contents.draw_text(320, 0, 60, 32, "Time")
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = $game_variables[2]
min = $game_variables[1]
text = sprintf("%02d:%02d", hour, min)
self.contents.font.color = normal_color
self.contents.draw_text(400, 0, 60, 32, text, 2)
end
def reset_variables
@actor = $game_party.actors[0]
@old_hp = @actor ? @actor.hp : 0
@old_maxhp = @actor ? @actor.maxhp : 0
@old_sp = @actor ? @actor.sp : 0
@old_maxsp = @actor ? @actor.maxsp : 0
end
def update
super
refresh if (@actor = $game_party.actors[0] or
@old_hp = @actor ? @actor.hp : 0 or
@old_maxhp = @actor ? @actor.maxhp : 0 or
@old_sp = @actor ? @actor.sp : 0 or
@old_maxsp = @actor ? @actor.maxsp : 0)
end
end
class Scene_Map
alias yourhud_main main
alias yourhud_update update
def main
@yourhud = Window_YourHUD.new
yourhud_main
@yourhud.dispose
end
def update
@yourhud.update
yourhud_update
end
end
If there is an error, change the lines
hour = $game_variables[2]
min = $game_variables[1]
to
hour = $game_variables[y] y = your hour variable
min = $game_variables[x] x = your min. variable
Edit def refresh in Window_PlayTime to look like this:
CODE
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 120, 32, "Time")
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = $game_variables[2]
min = $game_variables[1]
text = sprintf("%02d:%02d", hour, min)
self.contents.font.color = normal_color
self.contents.draw_text(4, 32, 120, 32, text, 2)
end
If it shows 0s, change these lines:
hour = $game_variables[2] Change 2 to your hour variable
min = $game_variables[1] Change 1 to your minute variable
Option B: Hud
CODE
class Window_YourHUD < Window_Base
def initialize
super(0, 416, 640, 64)
self.contents = Bitmap.new(640 - 32, 64 - 32)
refresh
end
def refresh
self.contents.clear
reset_variables
return if !@actor
draw_actor_hp(@actor, 0, 0)
draw_actor_sp(@actor, 160, 0)
self.contents.font.color = system_color
self.contents.draw_text(320, 0, 60, 32, "Time")
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = $game_variables[2]
min = $game_variables[1]
text = sprintf("%02d:%02d", hour, min)
self.contents.font.color = normal_color
self.contents.draw_text(400, 0, 60, 32, text, 2)
end
def reset_variables
@actor = $game_party.actors[0]
@old_hp = @actor ? @actor.hp : 0
@old_maxhp = @actor ? @actor.maxhp : 0
@old_sp = @actor ? @actor.sp : 0
@old_maxsp = @actor ? @actor.maxsp : 0
end
def update
super
refresh if (@actor = $game_party.actors[0] or
@old_hp = @actor ? @actor.hp : 0 or
@old_maxhp = @actor ? @actor.maxhp : 0 or
@old_sp = @actor ? @actor.sp : 0 or
@old_maxsp = @actor ? @actor.maxsp : 0)
end
end
class Scene_Map
alias yourhud_main main
alias yourhud_update update
def main
@yourhud = Window_YourHUD.new
yourhud_main
@yourhud.dispose
end
def update
@yourhud.update
yourhud_update
end
end
If there is an error, change the lines
hour = $game_variables[2]
min = $game_variables[1]
to
hour = $game_variables[y] y = your hour variable
min = $game_variables[x] x = your min. variable
[Show/Hide] Addons
Addon 1 : Bed System (Map Event)
CODE
@>Change Screen Color Tone: ( 0, 34, 0, 0)
@>Wait: 20 frame(s)
@>Play ME: '014-Inn01", 100, 100
@>Control Variables: [0002: Hours] = 7 <<This is your time when waking up
@>Control Variables: [0001: Minutes] = 30 << This is your minutes, together its 7:30
@>Control Variables: [0003: Seconds] = 0
@>Control Variables: [0004: AM/PM] = 2
@>Wait: 60 frame(s)
@>Change Screen Color Tone: (0, 0, 0, 0)
@>
Coming Soon:
1. Weather System - just needs to be added (extremely buggy, ill post it, but you have to help me out!)
2. Houses dont get dark until bedtime (9:30?) - to be done
3. Bed System - DONE!
4. Lightning in my weather system (also easily done)
Sorry if im lazy, ill get these done eventually.
!!!!NEW!!!!
Demo Available!!!
