Join Notification System? (please help)

Hello devs! I’m curious on how I can make something like this:

A video explaining it:

As you can see whenever a player joins the game, they get a message. This message is always in the same spot on PC or mobile. I’m a beginner and I don’t exactly know how to detect a player’s join and display the text on screen.

Any help is greatly appreciated.

2 Likes

You can use the Players.PlayerAdded event to detect when players enter a game. Since this is a targeted message for the client, there is no need to use that event. The LocalScripts that run on the client’s device begin executing the moment they join the game, so that circumstance is enough. Just begin showing the message via a LocalScript. Keeping the GUI in its same position requires you to use the scale values of the GUI’s position. You can use a UIAspectRatioConstraint to maintain the GUI’s size across different screen resolutions. Visit this article for advice on creating a type-writer effect

1 Like

Like this?

game.Players.PlayerAdded:Connect(function(player)
	
	local screenGui = Instance.new("ScreenGui")
	screenGui.Parent = player:WaitForChild("PlayerGui")  

	
	local textLabel = Instance.new("TextLabel")
	textLabel.Parent = screenGui
	textLabel.Text = "Welcome to the game, " .. player.Name .. "!" 
	textLabel.Size = UDim2.new(0, 400, 0, 100)  
	textLabel.Position = UDim2.new(0.5, -200, 0.5, -50) 
	textLabel.TextColor3 = Color3.fromRGB(255, 255, 255)  
	textLabel.BackgroundTransparency = 1  
	textLabel.TextSize = 30  
	textLabel.TextStrokeTransparency = 0.8  
	textLabel.TextAlign = Enum.TextAlign.Center  


	wait(5)
	screenGui:Destroy()  
end)
2 Likes

Its easier if you pre-make the GUI and then just delay by a few seconds, type out your message, and then finally delete it

2 Likes

hi

i made a notification system based on what you were asking it types out the text waits then fades it out you can customize the speed delay and fade time

notification.rbxm (8.0 KB)

3 Likes

No. You cannot use Players.PlayerAdded in a LocalScript to detect the local player’s addition to the game. As I said, LocalScripts only begin executing when the local player makes a successful connection to the game server and begins downloading its assets (which include the LocalScripts). The event will never fire for the local player as they’re already in-game by the time the script runs. Once again, you can use this context to know that the local player has just joined the game with no additional code

3 Likes

make a local script in StarterPlayer → StarterPlayerScripts and put some code to clone a screengui into local player’s playergui and then :Destroy() the script when you are done so it doesnt clog up your player’s scripts

4 Likes

Thanks but, whenever I open that file attached to your reply, the code looks very strange and obfuscated.

4 Likes

oh well you see, its not to be opened, its a roblox file format to store instances as files. Open studio and drag and drop the .rbxm file to your explorer then you will have his stuff pop up as well as clean, unobfuscated code

3 Likes

Well, it says the file is corrupted when I try to do so. Sorry if this is kind of annoying.

3 Likes

not annoying, download it again and dont open like you did before

4 Likes

Thank you, it works. Just had to re-download it again as you said :slight_smile:

4 Likes

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