question says it all, i have a big game with many players that dont want to lose their data persistence, and for them to lose it would mean losing the players, and losing front page. Ive only found out recently i need data stores to transfer data across multiple places in a universe (i think). so i was wondering if maybe there was a way for when the player enters, load their data persistance, and then save it to data store (without loading it up first)
Data store code i have is here:
function onPlayerEntered(newPlayer)
--Clone Data--
local vs = script:WaitForChild("leaderstats"):clone()
vs.Parent = newPlayer
--Setup Intial Data--
local Stats = vs:GetChildren()
local S1 = {}
for i=1,#Stats do
local n = Stats[i].Name
S1[n] = Stats[i].Value
end
--Get Data--
if newPlayer.Name ~= "Player" then
newPlayer:WaitForDataReady() -- This is the data persistence here;
local score1 = newPlayer:LoadNumber("Lvl")
if score1.Value <= 1 then -- maybe if the level value <= 1 then make data store?
end -- else, load data persistence, then delete it? (so it doesnt have to load it again?)
local DataStore = game:GetService("DataStoreService"):GetDataStore(newPlayer.userId)
if DataStore:GetAsync("Stats") == nil then
DataStore:SetAsync("Stats", S1)
end
S1 = DataStore:GetAsync("Stats")
end
--Safely Load Data--
local vv = vs:GetChildren()
for i=1,#vv do
local n = vv[i].Name
--print(S1[n])
if S1[n] ~= nil then
vv[i].Value = S1[n]
end
end
end
game.Players.PlayerAdded:connect(onPlayerEntered)
for _,player in pairs(game.Players:GetChildren()) do
onPlayerEntered(player)
end
game.Players.PlayerRemoving:connect(function(p)
--Save Data--
local DataStore = game:GetService("DataStoreService"):GetDataStore(p.userId)
local stats = p.Data:GetChildren()
local s1 = {}
for i=1,#stats do
local n = stats[i].Name
s1[n] = stats[i].Value
end
DataStore:SetAsync("Stats",s1)
--print("Saved "..p.Name)
end)
thanks for any help ~ Bubs

2 comments
thanks, i was wondering if you could check the code i added? see what ya think
I'm still incredibly new to Data storage myself, so unfortunately I won't be much help