Attempt to index nil with 'PlayerGui'

im trying to shoot a even trough a local script

elseif mission == "Passou" and legendaGUI.Enabled == false then
game.ReplicatedStorage.MissaoEvento2:FireServer()

then access the playergui depending the value of the event in a server script

game:GetService("ReplicatedStorage").MissaoEvento2.OnServerEvent:Connect(function(player)
	local TweenService = game:GetService("TweenService")
	local missionScreenGui = game.Players.LocalPlayer.PlayerGui:WaitForChild("ObjetivoGUI")
	missionScreenGui.Enabled = false

and i get the error attempt to index nil with ‘PlayerGui’

Why are you trying to use game.Players.LocalPlayer on a “server script”? Don’t you know that you can’t use Players.LocalPlayer on a server script? Here is the fixed code:

game:GetService("ReplicatedStorage").MissaoEvento2.OnServerEvent:Connect(function(player)
	local TweenService = game:GetService("TweenService")
	local missionScreenGui = player.PlayerGui:WaitForChild("ObjetivoGUI") -- SHOULD be "player" not "game.Players.LocalPlayer".
	missionScreenGui.Enabled = false
end)

Replace game.Players.LocalPlayer with player

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.