Is there a way to get player 1 player 2 etc?

I need to know if I am able to get a players order on the playerlist for instance if a player was at the top of the list they would be player one. help would be appriciated.

1 Like

If you do game.Players:GetPlayers()[1] it will get the first player of the list.

local playerList = game.Players:GetPlayers() -- Returns a list with all the players
playerList[1] -- First person of the list and can be changed.

-- Let's say there are 3 players in the server in the moment this code is activated.
for i,v in pairs(game.Players:GetPlayers()) do
      print(i,v) --[[
                     1 Player1
                     2 Player2
                     3 Player3
                    ]]
end
1 Like
local allPlayerInServer = game.Players:GetPlayers() -- Getting all the players in the server

for i,v in pairs(allPlayerInServer) do
       print("Player "..i.. " is "..v.Name --The names of the player in order
end

hope this helps

1 Like

If you’re just trying to get the first player sorted without bias, use above code.
However, if you’re trying to get the top player by a stat bias (e.g. “Points”), you will have to use a script.

--!strict
--I use LuaU annotation to make code runa bit faster ;)
local players = game.Players:GetChildren() -- Get players
local top_player:number,top_player_score:number = 1,0 -- The index of a player, and the top score

for i:number,v:any in pairs(players) do -- For every player, do:
   local stat:number = v.leaderstats.Points.Value -- Get score, must be a number
   if stat > top_player_score then -- If they have a higher score than the current highest, then
      top_player = i -- Get the player index from table, set it as top player
      top_player_score = stat -- This is the top score
   end
end

local top_player_instance:any = players[top_player] -- The top player, converted from a number to an actual player object.
print(top_player_instance.Name .. " has the top score in the server, with a score of " .. tostring(top_player_score))