So, I'm trying to make a GUI only appear once the first time you ever play the game. I made a script like this before, but its been a VERY long time, and the script I built is just very loosely based off of what I remember (which is no surprise that it doesn't work). The main problem is that the wiki that I learned how to save and load off of has been removed and replaced with a page that is very vague, and doesn't explain much. Here is my script:
game.Players.PlayerAdded:connect(function(player)
if player:WaitForDataReady() then
local load = game.Players:LoadString("Read")
if load ~= true then
script.Parent.Parent:Clone().Parent = game.Players.LocalPlayer.PlayerGui
game.Players:SaveString("Read", true)
end
end
end)
This script is in the GUI itself.
Like I said, I know this is wrong, and its probably way wrong. So, along with an answer, I'd appreciate it if someone could also give a short tutorial on how to use Save and Load with String, Boolean, etc. because, like I said, there doesn't seem to be very good wikis/tutorials out there.

1 comment
Data Persistence should not be used, it's deprecated! Learn to use DataStore instead.