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

Why don't the names re-position correctly in my custom leader-board?

Asked by 6 years ago

I'm working on a custom leaderboard. Here's a snip of some of the code where it's supposed to sort the playername position based on their score.

for h,q in pairs(script.Parent.LeaderBoard.Holder.players:GetChildren()) do
    game.ReplicatedStorage:WaitForChild(q.Name)
    q.Kills.Text =  game.ReplicatedStorage:FindFirstChild(q.Name).currentrounddata.killsthisround.Value
    q.Deaths.Text =  game.ReplicatedStorage:FindFirstChild(q.Name).currentrounddata.deathsthisround.Value
            table.insert(scores, q.Kills.text)
        table.sort(scores, function(a,b) return a > b end)
print('starting player sort')
for g = 1, #players do
for i,v in pairs(scores) do
    print(i,v)
    if v == q.Kills.Text then print(q.Name)
        if i <= #players then
    local y = .50
    local pos = i * .06 + y
    label.Parent = script.Parent.LeaderBoard.Holder.players
    label.Position = UDim2.new(.5, -300, pos, -100)
        else
            print(i.."Is over number of players! Error!")
                end                                                                                                                                                                         
            end
        end
    end
end

Below, it prints the output correctly. Ranking the scores through the table.

            table.insert(scores, q.Kills.text)
        table.sort(scores, function(a,b) return a > b end)
print('starting player sort')
for g = 1, #players do
for i,v in pairs(scores) do
    print(i,v)

But, in the block below it only prints one name(q.Name) and it only re-positions one name, causing an overlap.

    if v == q.Kills.Text then print(q.Name)
        if i <= #players then
    local y = .50
    local pos = i * .06 + y
    label.Parent = script.Parent.LeaderBoard.Holder.players
    label.Position = UDim2.new(.5, -300, pos, -100)

Any help would be appreciated!

Answer this question