I've made 2 scripts, The first is the script for my datastore itself, the next is for the leaderstats. The script doesnt toss any errors, and i also have api enabled! But it doesnt save my stats.
DataStore Script
local ds = game:GetService("DataStoreService"):GetDataStore("dataStore")
game.Players.PlayerAdded:Connect(function(plr)
wait()
local key = "user_"..plr.UserId
local save1 = plr.leaderstats.Clicks
local save2 = plr.leaderstats.Rebirths
local save3 = plr.leaderstats.Gems
local getSaved = ds:GetAsync(key)
if getSaved then
save1.Value = getSaved[1]
save2.Value = getSaved[2]
save3.Value = getSaved[3]
else
local NumbersForSaving = {save1.Value, save2.Value, save3.Value}
ds:GetAsync(key, NumbersForSaving)
end
end)
game.Players.PlayerRemoving:Connect(function(player)
local save1 = player.leaderstats.Clicks
local save2 = player.leaderstats.Rebirths
local save3 = player.leaderstats.Gems
ds:SetAsync("user_"..player.UserId, {save1.Value, save2.Value, save3.Value})
end)
leaderstats Script
game.Players.PlayerAdded:Connect(function(plr)
local leaderstats = Instance.new("Folder", plr)
leaderstats.Name = "leaderstats"
local clicks = Instance.new("IntValue", leaderstats)
clicks.Name = "Clicks"
local rebirths = Instance.new("IntValue", leaderstats)
rebirths.Name = "Rebirths"
local gems = Instance.new("IntValue", leaderstats)
gems.Name = "Gems"
end)

1 comment
I would advise you to probably create the leaderstats folder and values all in 1 script. This allows you to organize it better.