I'm trying to generate a bell system relying on a table.. I feel like there's an easier method of checking what time its on, and using it to check what period its on. So far, here is my results.
PSchedules={ {"TESTBLOCK",{ -- name time start time end {"Period 1", 10,41, 10,43}, {"Period 2", 10,45, 10,46}, {"Period 3", 10,47, 10,49}, {"Period 4", 10,50, 10,51} }} } require game.ServerScriptStorage.GetTime; --returns a function that gives back my current time in this format (return hour,min,sec,amORpm) function StartBell(schedu) local bellloop=true local schn=tonumber(schedu) if schn~=nil then local hours,mins,secs,pm=GetTime() local checkloop=1 local isonperiod=false for a=1,#PSchedules[schn][2] do print(hours,PSchedules[schn][2][a][2]) if hours>=PSchedules[schn][2][a][2] then if mins>=PSchedules[schn][2][a][3] then print("passd "..schn,a) checkloop=a end end end if hours <= PSchedules[schn][2][checkloop][4] then if mins < PSchedules[schn][2][checkloop][5] then isonperiod=true end end repeat hours,mins,secs,pm=GetTime() local remainmins=0 isonperiod=false if hours <= PSchedules[schn][2][checkloop][4] then if mins < PSchedules[schn][2][checkloop][5] then if hours > PSchedules[schn][2][checkloop][2] then if mins >= PSchedules[schn][2][checkloop][3] then isonperiod=true end end end end if isonperiod==true then print("Is On Period..") remainmins=0 if hours < PSchedules[schn][2][checkloop][4] then remainmins=PSchedules[schn][2][checkloop][4]-hours remainmins=remainmins*60 print("Added "..remainmins".. to remaining time..") end if PSchedules[schn][2][checkloop][5] > mins then remainmins=remainmins+PSchedules[schn][2][checkloop][5]-mins end print("Remaining Time set to "..remainmins) else print("Is Not On Period..") if PSchedules[schn][2][checkloop]==nil then bellloop=false print("The bell could NOT find the next loop and died..") else if PSchedules[schn][2][checkloop][2]==hours then if PSchedules[schn][2][checkloop][3]<mins then checkloop=checkloop+1 print("Added to next wait loop") end end if PSchedules[schn][2][checkloop][2]==hours then print("Waiting Till Next Period..") remainmins=0 if hours < PSchedules[schn][2][checkloop][2] then remainmins=PSchedules[schn][2][checkloop][2]-hours remainmins=remainmins*60 end if PSchedules[schn][2][checkloop][5] > mins then remainmins=remainmins+PSchedules[schn][2][checkloop][3]-mins end end end end print("CurrentTime: "..hours..":"..mins) print("NextPeriodBeforeTime: "..PSchedules[schn][2][checkloop][2]..":"..PSchedules[schn][2][checkloop][3]) print("NextPeriodAfterTime: "..PSchedules[schn][2][checkloop][4]..":"..PSchedules[schn][2][checkloop][5]) print("RemainingMinutes: "..remainmins) print("CurrentSchedule: "..PSchedules[schn][1]) print("CurrentPeriod: "..PSchedules[schn][2][checkloop][1]) print("Is it that period?: "..(isonperiod and "true" or "false")) print("----------------------------------") wait(2) until bellloop==false end print("TheBellDied..") bellloop=false end StartBell(1)
Am I going overboard on how to check for this information, or is their an easier way?