Still have questions? Join our Discord server and get real time help.
0

Need some help regarding UpdateAsync()?

Soban06 198
4 days ago

So I was using SetAsync() previously. Then, I figured out that it could cause problems while saving the data. So I thought to use UpdateAsync() instead of SetAsync().

My First Question:

Should I add the UpdateAsync() inside the PlayerAdded event or PlayerRemoving? The wiki uses it with PlayerAdded but I want to save the player's data so should it be inside the player removing event? Because that is where the SetAsync() is located.

This was my script before, with SetAsync() (Please note: I am only showing the PlayerRemoving part):

local function save(player)
local success, errormessage = pcall(function()

local data = {

}

myDataStore:SetAsync(player.UserId, data)

end)

if success then
print("Data successfully saved!")
else
print("There was an error saving the data.")
warn(errormessage)
end
end


Now I thought to replace the SetAsync() with GetAsync(). So here is how I tried it:

local function save(player)
local success, errormessage = pcall(function()

local data = {

}

-- myDataStore:SetAsync(player.UserId, data)
myDataStore:UpdateAsync(player.UserId, function(oldValue)
return data
end)

end)

if success then
print("Data successfully saved!")
else
print("There was an error saving the data.")
warn(errormessage)
end
end


Should this do it? Should the thought of player's data not saving properly be removed? Any improvements which I can make?