Basically, I have a ScreenGUI and there's a clock and a date display on it. Whenever I open up my Test, it says on line 51 "Error - Attempt to concatenate local 'weekday' (a nil value)". What's wrong?
This is the script:
local t = tick()
local year = 2000
local month = 1
local day = 1
local Date = "2000.01.01-Sa"
local hour = 0
local mint = 0
local sec = 0
local Time = "00:00:00"
local weekdays = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}
function getDateTime()
local months = {
{"01",31,31};
{"02",59,28};
{"03",90,31};
{"04",120,30};
{"05",151,31};
{"06",181,30};
{"07",212,31};
{"08",243,31};
{"09",273,30};
{"10",304,31};
{"11",334,30};
{"12",365,31};
}
local daycount = math.floor(t/86400)-10957
local weekdaynumber = daycount%7
local weekday = weekdays[weekdaynumber]
year = math.floor(daycount/365.25)+2000
if ((year%4) == 0) then
months[2][3] = 29
for i,v in pairs(months) do
if (i ~= 1) then
v[2] = (v[2]+1)
end
end
end
day = math.floor(((daycount)%365.25)+1)
for i,m in pairs(months) do
if ((m[2]-m[3]) <= day) then
month = i
end
end
local m = months[month]
day = (day+m[3]-m[2])
year = tostring(year)
local days = day
days = tostring((days < 10 and "0" or "") .. days)
local mnth = months[month][1]
Date = (year .. "." .. mnth .. "." .. days .. "-" .. weekday)
local sec = math.floor((t%60))
local mint = math.floor((t/60)%60)
local hour = math.floor((t/3600)%24)
sec = tostring((sec < 10 and "0" or "") .. sec)
mint = tostring((mint < 10 and "0" or "") .. mint)
hour = tostring((hour < 10 and "0" or "") .. hour)
local seconds = (t%60)
Time = (hour .. ":" .. mint .. ":" .. sec)
end
function display(start)
if (start) then
getDateTime()
end
script.Parent.Time.Text = Time
script.Parent.Date.Text = Date
end
function start()
display(true)
while (true) do
t = tick()
getDateTime()
display()
wait()
end
end
start()
