Hi all,
I cannot understand why this function isn't picking up the actual table names and is only altering the "tab" table within the function but not the intended table.
local PrimaryDepartures = {} local PrimaryArrivals = {} local SecondaryDepartures = {} local SecondaryArrivals = {} local PrimaryName = "Kythria" local SecondaryName = "Skiathos" function f.Sort() local tab, key, imp, times for i = 1 ,4 do if i == 1 then tab, key, imp = PrimaryDepartures, PrimaryName, "Origin" elseif i == 2 then tab, key, imp = PrimaryArrivals, PrimaryName, "Destination" elseif i == 3 then tab, key, imp = SecondaryDepartures, SecondaryName, "Origin" elseif i == 4 then tab, key, imp = SecondaryArrivals, SecondaryName, "Destination" end local times = {} tab = {} local l = 1 for _, v in pairs(script.Parent:GetChildren()) do if v:IsA("Folder") and v:FindFirstChild(imp).Value == key then local t = tonumber(string.sub(v.Time.Value, 1, 2).."."..string.sub(v.Time.Value, 4, 5)) times[l] = t tab[l] = v l = l + 1 end end repeat local swapped = false print(#tab) print(#PrimaryDepartures) for i=2, #tab do if times[i-1] > times[i] then times[i-1], times[i] = times[i], times[i-1] tab[i-1], tab[i] = tab[i], tab[i-1] swapped = true end end until not swapped end end
print(#tab)
print(#PrimaryDepartures)
This results to
4 0
in the output.
It appears that the function isn't writing to the table, I don't understand as to why as I set tab = --table
. I could always repeat this 4 times with each specific table, but I'd rather do this as it is more efficient. What can I do to fix this?
Thanks