Why is the player returning as nil?
Asked by
8 years ago Edited 8 years ago
Server Script in Workspace:
01 | game.Players.PlayerAdded:connect( function (plr) |
02 | local value = Instance.new( "StringValue" ) |
03 | value.Value = plr.Name |
04 | value.Parent = game.Lighting.PlayerStore |
05 | script.Trigger:FireAllClients(plr) |
08 | game.Players.PlayerRemoving:connect( function (plr) |
09 | if game.Lighting.PlayerStore:FindFirstChild(plr.Name) then |
10 | game.Lighting.PlayerStore [ plr.Name ] :Remove() |
12 | script.Trigger 2 :FireAllClients(plr) |
LocalScript in StarterGui under a ScreenGui
01 | local localplayer = game.Players.LocalPlayer |
03 | local back = script.Parent.Back |
04 | local players = game.Lighting.PlayerStore:GetChildren() |
06 | local function updatelist() |
07 | for i,v in pairs (back:GetChildren()) do |
08 | v.Position = UDim 2. new(. 02 , 0 , 0 , ( 35 *currentSlot)) |
10 | back.Size = UDim 2. new(. 2 , 0 , (. 048 * currentSlot), 0 ) |
13 | game.Workspace.Script.Trigger.OnClientEvent:connect( function (plr) |
14 | local player = plr.Name |
16 | if player ~ = localplayer.Name then |
17 | local default = script:WaitForChild( "Default" ):Clone() |
19 | default.PlayerName.Text = player |
21 | default.Slot.Value = currentSlot |
22 | default.Position = default.Position + UDim 2. new( 0 , 0 , 0 , ( 35 * currentSlot)) |
23 | back.Size = back.Size + UDim 2. new( 0 , 0 , (. 048 * currentSlot), 0 ) |
24 | currentSlot = currentSlot + 1 |
25 | elseif player = = localplayer.Name then |
26 | for i,v in pairs (players) do |
27 | local default = script:WaitForChild( "Default" ):Clone() |
29 | default.PlayerName.Text = v.Value |
30 | default.Name = v.Value |
31 | default.Slot.Value = currentSlot |
32 | default.Position = default.Position + UDim 2. new( 0 , 0 , 0 , ( 35 * currentSlot)) |
33 | back.Size = back.Size + UDim 2. new( 0 , 0 , (. 048 * currentSlot), 0 ) |
34 | currentSlot = currentSlot + 1 |
39 | game.Workspace.Script.Trigger 2. OnClientEvent:connect( function (plr) |
40 | local player = plr.Name |
42 | for i,v in pairs (back:GetChildren()) do |
43 | if v.Name = = player then |
49 | for i,v in pairs (back:GetChildren()) do |
50 | if v.Slot.Value > slot then |
51 | v.Slot.Value = v.Slot.Value - 1 |
55 | currentSlot = currentSlot - 1 |
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