Here is the code:
game.Players.PlayerAdded:Connect(function(plr) local plrFolder = Instance.new("Folder", game.ServerStorage) plrFolder.Name = plr.Name local plrInfo = Instance.new("Folder", plrFolder) plrInfo.Name = "PlayerInfo" end) game.Players.PlayerRemoving:Connect(function(plr) local plrName = plr.Name local plrInfo = game.ServerStorage.plrName.PlayerInfo -- here is where the error occurs end)
Could someone please help me figure out what is wrong? Thank you.
Rather use FindFirstChild or [plrName]
game.Players.PlayerAdded:Connect(function(plr) local plrFolder = Instance.new("Folder", game.ServerStorage) plrFolder.Name = plr.Name local plrInfo = Instance.new("Folder", plrFolder) plrInfo.Name = "PlayerInfo" end) game.Players.PlayerRemoving:Connect(function(plr) local plrName = plr.Name local plrInfo = game.ServerStorage:FindFirstChild(plrName):WaitForChild('PlayerInfo') end)
Also, the second param of instance.new (parent) is deprecated
game.Players.PlayerAdded:Connect(function(plr) local plrFolder = Instance.new("Folder") plrFolder.Name = plr.Name plrFolder.Parent = game.ServerStorage local plrInfo = Instance.new("Folder") plrInfo.Name = "PlayerInfo" plrInfo.Parent = plrFolder end) game.Players.PlayerRemoving:Connect(function(plr) local plrName = plr.Name local plrInfo = game.ServerStorage:FindFirstChild(plrName):WaitForChild('PlayerInfo') end)
Use [] brackets instead of the . dot operator:
game.Players.PlayerAdded:Connect(function(plr) local plrFolder = Instance.new("Folder", game.ServerStorage) plrFolder.Name = plr.Name local plrInfo = Instance.new("Folder", plrFolder) plrInfo.Name = "PlayerInfo" end) game.Players.PlayerRemoving:Connect(function(plr) local plrName = plr.Name local plrInfo = game.ServerStorage[plrName].PlayerInfo end)