PcoWSkbVqDnWTu_dm2ix
We use cookies on this site to enhance your user experience
Collapse Sidebar

GetPlayers

This method returns a table of all presently connected Player. It functions the same way GetChildren would except that it only returns Player objects. It functions similarly to Instance/GetChildren when called on Players. When used in conjunction with a for-loop, it is useful for iterating over all players in a game.

Players = game:GetService("Players")
for i, player in pairs(Players:GetPlayers()) do
    print(player.Name)
end

Scripts that connect to Players/PlayerAdded are often trying to process every Player that connects to the game. This method is useful for iterating over already-connected players that wouldn’t fire Players/PlayerAdded|PlayerAdded. Using this method ensures that no player is missed!

local Players = game:GetService("Players")

local onPlayerAdded(player)
	print("Player: " .. player.Name)
end

for _, player in pairs(Players:GetPlayers()) do
	onPlayerAdded(player)
end
Players.PlayerAdded:Connect(onPlayerAdded)

Returns

Return Type Summary

A table containing all the players in the server.


Code Samples


Give Sparkles to Everyone

This code sample listens for players spawning and gives them Sparkles in their head. It does this by defining two functions, onPlayerSpawned and onPlayerAdded. It calls these functions for players/characters already in the game, in case the script runs after players already arrive.

local Players = game:GetService("Players")

local function onCharacterAdded(character)
	-- Give them sparkles on their head if they don't have them yet
	if not character:FindFirstChild("Sparkles") then
		local sparkles = Instance.new("Sparkles")
		sparkles.Parent = character:WaitForChild("Head")
	end
end

local function onPlayerAdded(player)
	-- Check if they already spawned in
	if player.Character then
		onCharacterAdded(player.Character)
	end
	-- Listen for the player (re)spawning 
	player.CharacterAdded:Connect(onCharacterAdded)
end

-- Iterate over each player already connected
-- to the game using a generic for-loop
for i, player in pairs(Players:GetPlayers()) do
	onPlayerAdded(player)
end
-- Listen for newly connected players
Players.PlayerAdded:Connect(onPlayerAdded)