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

My playerlist is acting very strange, its reacting to the starting digit only. Whats happening?

Asked by 2 years ago

Picture: https://gyazo.com/526d5d557be31d1c0993d082f5315e5a Basically data is put into the table "playervals" and sorted by "RAP" which is a currency in my game.

Since the UIGridLayout sorts by name - in the for i,v loop it sets the name of the frame to a letter of alphabet (being first = a, being second = b etcetc) but whats strange is that if you had 715k and someone had 700b the person with 715k would be over them, someone please help

    local playervals = {}
    for i,v in pairs(game.Players:GetPlayers()) do
    if v:FindFirstChild("Values") and v.Values:FindFirstChild("Currencies") and 
             v.Values.Currencies:FindFirstChild("Bux") and 
             v.Values.Currencies:FindFirstChild("RAP") then
                table.insert(playervals, {Name = v.Name, UserId = v.UserId, DisplayName = v.DisplayName, RAP = v.Values.Currencies.RAP.Value})
        end 
    end

    table.sort(playervals, 
        function(a,b)
            return a.RAP>b.RAP
        end
    )
    for i, v in pairs(playervals) do
        if v  then
            local player = nil;
            if findplrlist(v.Name) then
                player = findplrlist(v.Name)
            else
                player = templates.Player:Clone()
            end

            if v.VIP then
                player.Info.Username.TextColor3 = Color3.fromRGB(255, 207, 85)
            else
                player.Info.Username.TextColor3 = Color3.fromRGB(255, 255, 255)
            end

            if v.Name == game.Players.LocalPlayer.Name then
                player.SendButton.Visible = false
            end

            player.Name = abcs[i]
            player.Parent = UI.Playerlist.List
            player.Info.Username.Text = v.DisplayName
            player.Username.Value = v.Name
            player.Info.Level.Text = v.Level
            if lb == "RAP" then
                player.Info.Value.Text = ab.abbreviate(v.RAP)
            else
                player.Info.Value.Text = "????" .. ab.abbreviate(v.Bux)
            end
        end
    end

Answer this question