When I tried to make my Piggy Game from scratch, I scripted a player's list label script. When the player joins the game and clicks the play button, it is fine. When the player leaves the game and joins back it is kinda strange. Here the script:
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RemoteEvents = ReplicatedStorage:WaitForChild("RemoteEvents")
local playersFrame = script.Parent.Parent.PlayersFrame
RemoteEvents.PlayerAdded.OnServerEvent:Connect(function(player)
local playerLabel = Instance.new("TextLabel")
playerLabel.Name = player.Name
playerLabel.BackgroundColor3 = Color3.fromRGB(47, 47, 47)
playerLabel.BorderSizePixel = 0
playerLabel.Font = Enum.Font.GothamSemibold
playerLabel.Text = player.Name
playerLabel.TextColor3 = Color3.fromRGB(255,255,255)
playerLabel.TextScaled = true
playerLabel.TextWrapped = true
playerLabel.Parent = playersFrame
game.Players.ChildAdded:Connect(function(plr)
if player and plr then
local playerClone = playerLabel:Clone()
playerClone.Parent = playersFrame
playerClone.Name = plr.Name
playerClone.Text = plr.Name
playerLabel:Destroy()
local playerClone = playerLabel:Clone()
playerClone.Parent = playersFrame
playerClone.Name = player.Name
playerClone.Text = player.Name
playerLabel:Destroy()
end
end)
end)
RemoteEvents.PlayerRemoved.OnServerEvent:Connect(function(player)
playersFrame:WaitForChild(player.Name):Destroy()
end)
game.Players.ChildRemoved:Connect(function(player)
playersFrame:WaitForChild(player.Name):Destroy()
end)
