Server Script in Workspace:
game.Players.PlayerAdded:connect(function(plr)
local value = Instance.new("StringValue")
value.Value = plr.Name
value.Parent = game.Lighting.PlayerStore
script.Trigger:FireAllClients(plr)
end)
game.Players.PlayerRemoving:connect(function(plr)
if game.Lighting.PlayerStore:FindFirstChild(plr.Name) then
game.Lighting.PlayerStore[plr.Name]:Remove()
end
script.Trigger2:FireAllClients(plr)
end)
LocalScript in StarterGui under a ScreenGui
local localplayer = game.Players.LocalPlayer
local currentSlot = 0
local back = script.Parent.Back
local players = game.Lighting.PlayerStore:GetChildren()
local function updatelist()
for i,v in pairs(back:GetChildren()) do
v.Position = UDim2.new(.02, 0, 0, (35*currentSlot))
end
back.Size = UDim2.new(.2, 0, (.048 * currentSlot), 0)
end
game.Workspace.Script.Trigger.OnClientEvent:connect(function(plr)
local player = plr.Name
if player ~= localplayer.Name then
local default = script:WaitForChild("Default"):Clone()
default.Parent = back
default.PlayerName.Text = player
default.Name = player
default.Slot.Value = currentSlot
default.Position = default.Position + UDim2.new(0, 0, 0, (35 * currentSlot))
back.Size = back.Size + UDim2.new(0, 0, (.048 * currentSlot), 0)
currentSlot = currentSlot + 1
elseif player == localplayer.Name then
for i,v in pairs(players) do
local default = script:WaitForChild("Default"):Clone()
default.Parent = back
default.PlayerName.Text = v.Value
default.Name = v.Value
default.Slot.Value = currentSlot
default.Position = default.Position + UDim2.new(0, 0, 0, (35 * currentSlot))
back.Size = back.Size + UDim2.new(0, 0, (.048 * currentSlot), 0)
currentSlot = currentSlot + 1
end
end
end)
game.Workspace.Script.Trigger2.OnClientEvent:connect(function(plr)
local player = plr.Name --Here it errors, it says plr is nil?
local slot
for i,v in pairs(back:GetChildren()) do
if v.Name == player then
slot = v.Slot.Value
v:Destroy()
end
end
if slot ~= nil then
for i,v in pairs(back:GetChildren()) do
if v.Slot.Value > slot then
v.Slot.Value = v.Slot.Value - 1
end
end
end
currentSlot = currentSlot - 1
slot = nil
updatelist()
end)
I am making a custom PlayerList, and for some reason, it returns player as nil (I put a note next to where it is erroring at)
Help is appreciated, thanks! :D

1 comment
that doesn't work