Hello! It’s been some months since I came up with this idea but could never figure out how to do it. Basically what I need is to make a GUI That only appears the first time the user joins the game, and when the user leaves and comes back the GUI doesn’t appear. I made a leaderstat called WelcomeValue (with datastore) wich when it’s value is “0” the gui will pop up, and when the value is “1” the gui will not pop up again, and to my surprise the button that gives the value the number 1 works. However, when I leave and join back, the GUI appears again, and the value is resetted to 0. Here’s a clip of what I’m expecting:
I hope you can help, as I’ve been looking in Google, YouTube, and ScriptingHelpers but nothing showed up.
You need to use DataStores and possibly save a value ‘Played’ and set it to false by default and true once a player joins, check that to see whether a player’s an old or new player and respectively display the Gui.
Alternatively, you could just check for whether any other saved data is not default; this would mean a player’s played before.
I think you might be right, one of the things I did was change the value using a localscript, wich apparently doesnt make the datastore work. ill try to use the remote event
Hello! I’m wondering how could I make the remote event change the value? I tried making the LocalScript fire the Remote Event, then a Server Script in ServerScriptService would change the value. However, I keep getting this error:
Apparently, everytime I try to access to something inside the player via Server Scripts, (character, backpack, leaderstats, etc) I get this error. I’d like if you could help!
Edit: I also tried doing “local leaderstats”, and “local welcomevalue” but it didn’t work. even if I used ‘:WaitForChild(“leaderstats”)’ it would not work
I made a local script in a gui button that fires a remote event when clicked, then the server script that’s supposed to change the value gives me this error when i test:
You can’t do game.Players.LocalPlayer in a serverscript
When the remote event is called, it gives you the player that fired the event, thats the first parameter so change local function onCreatePart() to local function onCreatePart(plr) and get rid of the game.Players.Localplayer
Using DataStore, you can set a BoolValue when a player is joining the game for the first time, and make a check through the GUI script that detects if value is true or false (New player or not) and make the GUI appear then.
Change the BooleanValue to true so next time the player joins it doesn’t trigger the GUI script.