Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

How to I make a sort for a playerlist?

Asked by 6 years ago

I would like to sort the players from a leaderstats. Here's what I tried

function Sort(Frame, Points, team)
    local t = {}
    local order = {}
    for i, v in pairs(Frame:GetChildren()) do
        if v:FindFirstChild(Points.Name) and v:FindFirstChild("PlrName") then
            table.insert(t, tonumber(v[Points.Name].Text))
            table.insert(order, v)
        end
    end
    table.sort(t, function(a,b) return tonumber(a) < tonumber(b) end)
    local ypos
    if team == false then
        ypos = 0
    else
        ypos = 25
    end
    local TB = 1
    for i, v in pairs(order) do
        if v:FindFirstChild(Points.Name) then
            if tonumber(v:FindFirstChild(Points.Name).Text) == t[TB] then
                v.Position = UDim2.new(0,0,0,ypos)
                TB = TB + 1
                ypos = ypos + 25
            end 
        end
    end
end

Frame is the parent of the Frames that show the players. Points is the thing that gets sorted. Team is if there are teams. Can anyone help me?

0
You should probably use a numerical loop User#5423 17 — 6y

Answer this question