I have this script here that works in Studio in a regular script. When I tried it in-game it had an error on line 7 saying LocalPlayer was nil?
Any help is appreciated.
(I also tried this in a localscript but nothing happened.
children = script.Parent:GetChildren()
local mainParts = script.Parent.Parent.Parent.MainParts
for _,child in pairs(children) do
if child:IsA("TextButton") then
child.MouseButton1Click:connect(function()
if game:GetService('BadgeService'):UserHasBadge(game.Players.LocalPlayer.userId, 255119622) or game:GetService('BadgeService'):UserHasBadge(game.Players.LocalPlayer.userId, 255119711) or game.Players.LocalPlayer:GetRankInGroup(942208) == 230 then
if game.Players.LocalPlayer.Booked.Value == false then
if child.Booked.Value == false then
script.Parent.Status.Text = "Seat "..child.Name.." has been booked by "..game.Players.LocalPlayer.Name.."."
script.Parent.Seats.Value = script.Parent.Seats.Value - 1
if script.Parent.Seats.Value == 1 then
script.Parent.SeatsRemain.Text = script.Parent.Seats.Value.." seat is remaining."
else
script.Parent.SeatsRemain.Text = script.Parent.Seats.Value.." seats are remaining."
end
local newgui = script.Parent.Confirm_Booked:clone()
newgui.Main.Number.Text = child.Name
newgui.Parent = game.Players.LocalPlayer.PlayerGui
child.Text = ""
child.BackgroundColor3 = Color3.new(255,0,0)
child.Booked.Value = true
child.AutoButtonColor = false
game.Players.LocalPlayer.Booked.Value = true
child.Username.Value = game.Players.LocalPlayer.Name
if child.Name == "1C" or "2C" or "3C" or "4C" or "5C" or "6C" or "7C" or "8C" or "9C" or "10C" or "11C" or "12C" or "13C" or "14C" or "15C" or "16C" or "1B" or "2B" or "3B" or "4B" or "5B" or "6B" or "7B" or "8B" or "9B" or "10B" or "11B" or "12B" or "13B" or "14B" or "15B" or "16B" then
mainParts.BC.SurfaceGui[child.Name].Text = child.Name.." - "..game.Players.LocalPlayer.Name
mainParts.BC.SurfaceGui[child.Name].TextColor3 = Color3.new(255,0,0)
mainParts.BC.SurfaceGui[child.Name].Player.Value = game.Players.LocalPlayer.Name
end
if child.Name == "1A" or "2A" or "3A" or "4A" or "5A" or "6A" or "7A" or "8A" or "9A" or "10A" or "11A" or "12A" or "13A" or "14A" or "15A" or "16A" then
mainParts.A.SurfaceGui[child.Name].Text = child.Name.." - "..game.Players.LocalPlayer.Name
mainParts.A.SurfaceGui[child.Name].TextColor3 = Color3.new(255,0,0)
mainParts.BC.SurfaceGui[child.Name].Player.Value = game.Players.LocalPlayer.Name
end
end
elseif child.Username.Value ~= game.Players.LocalPlayer.Name then
if not (game.Players.LocalPlayer.PlayerGui:findFirstChild("Error_PlayerBooked")) then
local newgui = script.Parent.Error_PlayerBooked:clone()
newgui.Parent = game.Players.LocalPlayer.PlayerGui
newgui.Script.Disabled = false
end
elseif child.Username.Value == game.Players.LocalPlayer.Name then
script.Parent.Seats.Value = script.Parent.Seats.Value + 1
if script.Parent.Seats.Value == 1 then
script.Parent.SeatsRemain.Text = script.Parent.Seats.Value.." seat is remaining."
else
script.Parent.SeatsRemain.Text = script.Parent.Seats.Value.." seats are remaining."
end
if game.Players.LocalPlayer.PlayerGui:findFirstChild("Confirm_Booked") then
game.Players.LocalPlayer.PlayerGui.Confirm_Booked:remove()
end
child.Text = "Book"
child.BackgroundColor3 = Color3.new(0,255,0)
child.Booked.Value = false
child.AutoButtonColor = true
game.Players.LocalPlayer.Booked.Value = false
child.Username.Value = ""
if child.Name == "1C" or "2C" or "3C" or "4C" or "5C" or "6C" or "7C" or "8C" or "9C" or "10C" or "11C" or "12C" or "13C" or "14C" or "15C" or "16C" or "1B" or "2B" or "3B" or "4B" or "5B" or "6B" or "7B" or "8B" or "9B" or "10B" or "11B" or "12B" or "13B" or "14B" or "15B" or "16B" then
mainParts.BC.SurfaceGui[child.Name].Text = child.Name.." - Available"
mainParts.BC.SurfaceGui[child.Name].TextColor3 = Color3.new(0,255,0)
end
if child.Name == "1A" or "2A" or "3A" or "4A" or "5A" or "6A" or "7A" or "8A" or "9A" or "10A" or "11A" or "12A" or "13A" or "14A" or "15A" or "16A" then
mainParts.A.SurfaceGui[child.Name].Text = child.Name.." - Available"
mainParts.A.SurfaceGui[child.Name].TextColor3 = Color3.new(0,255,0)
end
end
else
local newgui = script.Parent.Error_NoShirt:clone()
newgui.Parent = game.Players.LocalPlayer.PlayerGui
newgui.Script.Disabled = false
end
end)
end
end
game.Players.PlayerAdded:connect(function(plr)
local bookedvalue = script.Parent.Booked
local newvalue = bookedvalue:clone()
newvalue.Parent = plr
end)

2 comments
Localplayer can only be used in local scripts, in serverscripts it wont work, in solo it does work, but in real servers it wont work, it has to be in a local script
I tried it in a localscript and nothing at all happens.