here is my code
plr.PlayerGui.Join.Enabled = true
wait(3)
plr.PlayerGui.Join.Enabled = false
Which works just fine but it displays for everyone,
This is used in a regular script not local script. even when i use
game.ReplicatedStorage.Local:FireClient(plr)
in replace of the previous code
then add a local script with
game.ReplicatedStorage.Local.OnClientEvent:Connect(function(plr)
local player = game.Players.LocalPlayer
player.PlayerGui.Join.Enabled = true
wait(3)
player.PlayerGui.Join.Enabled = false
end)
it still displays for everyone. please let me know why

2 comments
This goes in a server script. I make no guarantee for whether this code will work or not. But you should be able to tweak it to work.
Thank you so much :)