Hello. Is this a right way to do it? This is my own autosave
while true do
local players = game.Players:GetChildren()
for i, player in pairs(players) do
local Data = game.ServerStorage.Data:FindFirstChild(player.Name)
local success, err = pcall(function()
if Data then
local coins = Data.Coins.Value
local equipped = Data.Equipped.Value
local stage = Data.Stage.Value
local speed = Data.Gamepasses.Speed.Value
local NoCooldown = Data.Gamepasses.NoCooldown.Value
local VIP = Data.Gamepasses.VIP.Value
local x2Coins = Data.Gamepasses.x2Coins.Value
local piggykills = player.leaderstats.Kills.Value
local TotalCoins = player.leaderstats.TotalCoins.Value
----------------------------------------------------
local success, err = pcall(function()
myDataStore:SetAsync(player.UserId.."_Coins",coins)
end)
if success then print(player.Name..": "..coins.." coins saved") end
wait(0.3)
----------------------------------------------------
local success, err = pcall(function()
myDataStore:SetAsync(player.UserId.."_Equipped",equipped)
end)
if success then print(player.Name..": "..equipped.." equipped saved") end
wait(0.3)
----------------------------------------------------
local success, err = pcall(function()
myDataStore:SetAsync(player.UserId.."_Stage",stage)
end)
if success then print(player.Name..": "..stage.." stage saved") end
wait(0.3)
----------------------------------------------------
local success, err = pcall(function()
myDataStore:SetAsync(player.UserId.."_Speed",speed)
end)
if success then print(player.Name..": "..speed.." speed gamepass saved") end
wait(0.3)
----------------------------------------------------
local success, err = pcall(function()
myDataStore:SetAsync(player.UserId.."_NoCooldown",NoCooldown)
end)
if success then print(player.Name..": "..NoCooldown.." NoCooldown gamepass saved") end
wait(0.3)
----------------------------------------------------
local success, err = pcall(function()
myDataStore:SetAsync(player.UserId.."_VIP",VIP)
end)
if success then print(player.Name..": "..VIP.." vip gamepass saved") end
wait(0.3)
----------------------------------------------------
local success, err = pcall(function()
myDataStore:SetAsync(player.UserId.."_x2Coins",x2Coins)
end)
if success then print(player.Name..": "..x2Coins.." x2coins gamepass saved") end
wait(0.3)
----------------------------------------------------
----------------------------------------------------------
local tries = 0
repeat wait(0.4)
tries = tries + 1
local success, err = pcall(function()
myDataStore:SetAsync(player.UserId.."_TotalCoins",TotalCoins)
end)
if not success then
warn(err)
end
until tries == 3 or success
----------------------------------------------------------
local tries = 0
repeat wait(0.4)
tries = tries + 1
local success, err = pcall(function()
myDataStore:SetAsync(player.UserId.."_PiggyKills",piggykills)
end)
if not success then
warn(err)
end
until tries == 3 or success
end
end)
if not success then print("Error autoguardado para "..player.Name) end
end
wait(50)
end