Day and night system with timers

So I’m creating a day and night system, only problem is I don’t know where to put the timers, should they be in autorun? Or should they go in the init or shared? The code I got so far uses color mod only:
[lua]local function beginningnight()

local beginningnight = {}
beginningnight[ "$pp_colour_addr" ] = 0
beginningnight[ "$pp_colour_addg" ] = 0
beginningnight[ "$pp_colour_addb" ] = 0
beginningnight[ "$pp_colour_brightness" ] = 0
beginningnight[ "$pp_colour_contrast" ] = 0.9
beginningnight[ "$pp_colour_colour" ] = 1
beginningnight[ "$pp_colour_mulr" ] = 0
beginningnight[ "$pp_colour_mulg" ] = 0
beginningnight[ "$pp_colour_mulb" ] = 0

end
hook.Add( “RenderScreenspaceEffects”, “RenderColorModifyPOO”, beginningnight )

local function beginningnight2()

local beginningnight2 = {}
beginningnight2[ "$pp_colour_addr" ] = 0
beginningnight2[ "$pp_colour_addg" ] = 0
beginningnight2[ "$pp_colour_addb" ] = 0
beginningnight2[ "$pp_colour_brightness" ] = 0
beginningnight2[ "$pp_colour_contrast" ] = 0.75
beginningnight2[ "$pp_colour_colour" ] = 1
beginningnight2[ "$pp_colour_mulr" ] = 0
beginningnight2[ "$pp_colour_mulg" ] = 0
beginningnight2[ "$pp_colour_mulb" ] = 0

end
hook.Add( “RenderScreenspaceEffects”, “RenderColorModifyPOO”, beginningnight2 )

local function halfwaynight2()

local halfwaynight2 = {}
halfwaynight2[ "$pp_colour_addr" ] = 0
halfwaynight2[ "$pp_colour_addg" ] = 0
halfwaynight2[ "$pp_colour_addb" ] = 0
halfwaynight2[ "$pp_colour_brightness" ] = 0
halfwaynight2[ "$pp_colour_contrast" ] = 0.5
halfwaynight2[ "$pp_colour_colour" ] = 1
halfwaynight2[ "$pp_colour_mulr" ] = 0
halfwaynight2[ "$pp_colour_mulg" ] = 0
halfwaynight2[ "$pp_colour_mulb" ] = 0

end
hook.Add( “RenderScreenspaceEffects”, “RenderColorModifyPOO”, halfwaynight2 )

local function halfwaynight()

local halfwaynight = {}
halfwaynight[ "$pp_colour_addr" ] = 0
halfwaynight[ "$pp_colour_addg" ] = 0
halfwaynight[ "$pp_colour_addb" ] = 0
halfwaynight[ "$pp_colour_brightness" ] = 0
halfwaynight[ "$pp_colour_contrast" ] = 0.25
halfwaynight[ "$pp_colour_colour" ] = 1
halfwaynight[ "$pp_colour_mulr" ] = 0
halfwaynight[ "$pp_colour_mulg" ] = 0
halfwaynight[ "$pp_colour_mulb" ] = 0

end
hook.Add( “RenderScreenspaceEffects”, “RenderColorModifyPOO”, halfwaynight )

local function almostnight()

local almostnight = {}
almostnight[ "$pp_colour_addr" ] = 0
almostnight[ "$pp_colour_addg" ] = 0
almostnight[ "$pp_colour_addb" ] = 0
almostnight[ "$pp_colour_brightness" ] = 0
almostnight[ "$pp_colour_contrast" ] = 0.1
almostnight[ "$pp_colour_colour" ] = 1
almostnight[ "$pp_colour_mulr" ] = 0
almostnight[ "$pp_colour_mulg" ] = 0
almostnight[ "$pp_colour_mulb" ] = 0

end
hook.Add( “RenderScreenspaceEffects”, “RenderColorModifyPOO”, almostnight )

local function fullynight()
local night = {}
night[ “$pp_colour_addr” ] = 0
night[ “$pp_colour_addg” ] = 0
night[ “$pp_colour_addb” ] = 0
night[ “$pp_colour_brightness” ] = 0
night[ “$pp_colour_contrast” ] = 0
night[ “$pp_colour_colour” ] = 1
night[ “$pp_colour_mulr” ] = 0
night[ “$pp_colour_mulg” ] = 0
night[ “$pp_colour_mulb” ] = 0

end
hook.Add( “RenderScreenspaceEffects”, “RenderColorModifyPOO”, fullynight )

local function fullymorning()
local fullymorning = {}
fullymorning[ “$pp_colour_addr” ] = 17
fullymorning[ “$pp_colour_addg” ] = 17
fullymorning[ “$pp_colour_addb” ] = 17
fullymorning[ “$pp_colour_brightness” ] = 0.2
fullymorning[ “$pp_colour_contrast” ] = 1
fullymorning[ “$pp_colour_colour” ] = 1
fullymorning[ “$pp_colour_mulr” ] = 0
fullymorning[ “$pp_colour_mulg” ] = 0
fullymorning[ “$pp_colour_mulb” ] = 0

end
hook.Add( “RenderScreenspaceEffects”, “RenderColorModifyPOO”, fullymorning )

local function fullymorning2()
local fullymorning2 = {}
fullymorning2[ “$pp_colour_addr” ] = 13
fullymorning2[ “$pp_colour_addg” ] = 13
fullymorning2[ “$pp_colour_addb” ] = 13
fullymorning2[ “$pp_colour_brightness” ] = 0.1
fullymorning2[ “$pp_colour_contrast” ] = 1
fullymorning2[ “$pp_colour_colour” ] = 1
fullymorning2[ “$pp_colour_mulr” ] = 0
fullymorning2[ “$pp_colour_mulg” ] = 0
fullymorning2[ “$pp_colour_mulb” ] = 0

end
hook.Add( “RenderScreenspaceEffects”, “RenderColorModifyPOO”, fullymorning )

local function halfmorning()
local halfmorning = {}
halfmorning[ “$pp_colour_addr” ] = 9
halfmorning[ “$pp_colour_addg” ] = 9
halfmorning[ “$pp_colour_addb” ] = 9
halfmorning[ “$pp_colour_brightness” ] = 0
halfmorning[ “$pp_colour_contrast” ] = 1
halfmorning[ “$pp_colour_colour” ] = 1
halfmorning[ “$pp_colour_mulr” ] = 0
halfmorning[ “$pp_colour_mulg” ] = 0
halfmorning[ “$pp_colour_mulb” ] = 0

end
hook.Add( “RenderScreenspaceEffects”, “RenderColorModifyPOO”, halfmorning )

local function halfmorning2()
local halfmorning2 = {}
halfmorning2[ “$pp_colour_addr” ] = 5
halfmorning2[ “$pp_colour_addg” ] = 5
halfmorning2[ “$pp_colour_addb” ] = 5
halfmorning2[ “$pp_colour_brightness” ] = 0
halfmorning2[ “$pp_colour_contrast” ] = 1
halfmorning2[ “$pp_colour_colour” ] = 1
halfmorning2[ “$pp_colour_mulr” ] = 0
halfmorning2[ “$pp_colour_mulg” ] = 0
halfmorning2[ “$pp_colour_mulb” ] = 0

end
hook.Add( “RenderScreenspaceEffects”, “RenderColorModifyPOO”, halfmorning2 )

local function endmorning()
local endmorning = {}
endmorning[ “$pp_colour_addr” ] = 2
endmorning[ “$pp_colour_addg” ] = 2
endmorning[ “$pp_colour_addb” ] = 2
endmorning[ “$pp_colour_brightness” ] = 0
endmorning[ “$pp_colour_contrast” ] = 1
endmorning[ “$pp_colour_colour” ] = 1
endmorning[ “$pp_colour_mulr” ] = 0
endmorning[ “$pp_colour_mulg” ] = 0
endmorning[ “$pp_colour_mulb” ] = 0

end
hook.Add( “RenderScreenspaceEffects”, “RenderColorModifyPOO”, endmorning )[/lua]

Oh yea, before I forget, this isn’t meant for running around while it’s dark. When a players isn’t at a safe area when it’s fully dark (Thats why contrast becomes 0) he/she dies. Also it’s supposed to get dark slowly, so that it takes like 10 seconds or 5 seconds till the next step is called.