So basically i'm trying to make the gui disappear when a player is dead and it doesn't come back until you join a new server, is there something wrong with my code? Nothing shows in the output.
game.Players.PlayerAdded:connect(function(plr) plr:WaitForChild("PlayerGui"):WaitForChild("trophy2019").Visible = true end)
Simply, if you want it so whenever the Player dies, that the GUI doesn't re-appear, there is a property in the ScreenGui properties where you can disable, ResetOnSpawn. Meaning it'll only show once.
https://gyazo.com/607e728f6cf092a325654fcf09f058c7
As you can see from opening that gyazo link, you'll be able to see where you can disable 'ResetOnSpawn'.
What you want to do is to connect an event when the player is added into the game and when their character loads for the first time. After that, you can clone the GUI into the player's playergui.
--The player service. local PlayerService = game:GetService("Players") --This is the location of the GUI, you can put it where the server can access it. local gui = --location PlayerService.PlayerAdded:Connect(function(player) --Wait for the character to be added for the first time. --Use Wait() instead of :Connect here so it doesn't fire everytime the character spawns. player.CharacterAdded:Wait() local clone = gui:Clone() clone.Parent = player.PlayerGui end)