Hi Scripters of Roblox, how can I make it so that when a user joins a game, it checks for a Value in a data store, if it has a value then thats the value of the users leaderstat, but if there isnt any data in the data store, then the leaderstat = 0
3 Likes
If you want to get data, you need to use :GetAsync(). You can learn more about data stores here.
2 Likes
Yeah, im saying is it Money.Value = MoneyStore:GetAsync(player.Id) or 0?
1 Like
Because cant the value be nil if it hasnt been set
1 Like
With this code, the value will be 0 if there is no data.
Money.Value = MoneyStore:GetAsync(player.UserId) or 0
2 Likes
local function OnPlayerAdded(Plr)
local UserD;
local Success,
Error = pcall(function()
UserD = DS:GetAsync(queryplr.UserId);end);
if Error then warn("Failed to load "..queryplr.Name.." Data") return; end; --< You can make repetitive calls if you want, I normally don't :/
if(not UserD)then UserD=CreateNewData(); end;
end;
Always try to wrap external calls in a pcall
1 Like
Huh. That is so advanced lmaooo. Ik what pcall is but
1 Like
Here you can check my tutorial if you want!
It has all sort of stuff you can learn for datastores.
Btw if the player doesn’t have any data the automatic will be set to 0.
1 Like
That will wipe their data if there’s an error retrieving it. I don’t think that’s what pcall should be used for.
3 Likes
Thank you for that, maybe I should stop using the devforum at 2 AM. I’ll edit my post also