So here I have a problem with my Leaderdatastore it only saves 2 of my 4 data and I can not fix my problem
My code:
local players = game:GetService("Players")
local datastore = game:GetService("DataStoreService")
local ds1 = datastore:GetDataStore("StepsValueSaver")
local ds2 = datastore:GetDataStore("GemsValueSaver")
local ds3 = datastore:GetDataStore("PrestigeValueSaver")
local ds4 = datastore:GetDataStore("levelValueSaver")
players.PlayerAdded:connect(function(player)
local folder = Instance.new("Folder")
folder.Name = "leaderstats"
folder.Parent = player
local Steps = Instance.new("IntValue")
Steps.Name = "Steps"
Steps.Parent = player.leaderstats
Steps.Value = ds1:GetAsync(player.UserId) or 0
ds1:SetAsync(player.UserId, Steps.Value)
local Gems = Instance.new("IntValue")
Gems.Name = "Gems"
Gems.Parent = player.leaderstats
Gems.Value = ds2:GetAsync(player.UserId) or 0
ds2:SetAsync(player.UserId, Gems.Value)
local Prestige = Instance.new("IntValue")
Prestige.Name = "Prestige"
Prestige.Parent = player.leaderstats
Prestige.Value = ds3:GetAsync(player.UserId) or 0
ds3:SetAsync(player.UserId, Prestige.Value)
local level = Instance.new("IntValue")
level.Name = "level"
level.Parent = player.leaderstats
level.Value = ds3:GetAsync(player.UserId) or 0
ds4:SetAsync(player.UserId, level.Value)
local multi = Instance.new("IntValue")
multi.Name = "multi"
multi.Parent = player
multi.Value = 1
end)
players.PlayerRemoving:connect(function(player)
local Steps = player.leaderstats.Steps
local level = player.leaderstats.level
local Gems = player.leaderstats.Gems
local Prestige = player.leaderstats.Prestige
ds1:SetAsync(player.UserId, Steps.Value)
ds2:SetAsync(player.UserId, Gems.Value)
ds3:SetAsync(player.UserId, Prestige.Value)
ds4:SetAsync(player.UserId, level.Value)
end)

2 comments
Use :Connect instead of :connect, :connect is deprecated
Just a question, why re you setting async when the data loads?