Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

What is wrong with my SpotLight script?

So... after I added a day/night cycle script to my game, I made a light column with SpotLight. Then I added a script to the SpotLight to make it opens at a specific time(19:00:00) and closes at(5:00:00). The script is not working, here is it:-

game.Lighting.Changed:connect(function()
	local myTime = game.Lighting.TimeOfDay
	if myTime == "19:00:00" then
		SpotLight.enabled = true
	else if myTime == "5:00:00" then
		SpotLight.enabled = false
	end
end

And here is the day/night cycle script if you think there's something wrong in it, note that I don't have troubles with this script:-

local dayLength = 24

local cycleTime = dayLength*60
local minutesInADay = 24*60

local lighting = game:GetService("Lighting")

local startTime = tick() - (lighting:getMinutesAfterMidnight() / minutesInADay)*cycleTime
local endTime = startTime + cycleTime

local timeRatio = minutesInADay / cycleTime

if dayLength == 0 then
	dayLength = 1
end

repeat
	local currentTime = tick()
	
	if currentTime > endTime then
		startTime = endTime
		endTime = startTime + cycleTime
	end
	
	lighting:setMinutesAfterMidnight((currentTime - startTime)*timeRatio)
	wait(1/15)
until false

NOTE: Please tell in your answer the following:-

1.Shall I put this script in normal script or in local script?

2.Shall I put this script in the SpotLight itself or in the part which has the SpotLight in.

3.Explain what did you change.

Thanks for helping.

1 answer

Try removing the local prior to your variable in the spotlight script. A variable is a variable, the local could be messing you up. It SHOULD work after that.

1 comment

0

Can you please explain more, or write an example of a code because I am new to scripting.

This discussion is preserved as it was. New answers, comments, and votes are closed.