Hello!
I don’t know why but my datas could not saves i think the player remove too fast and the script dont have the time for, here is the script :
local DataStoreService = game:GetService("DataStoreService")
local Saves = DataStoreService:GetDataStore("Saves")
local function getdatas(UserId)
local playerId = "Player_" .. UserId
local success, result = pcall(function()
local playerData = Saves:GetAsync(playerId) or BasicSave
return playerData
end)
if success then
return result
else
warn("an error RAHHHH " .. tostring(UserId) .. ": " .. result)
return BasicSave
end
end
local function checkdatas(player, types)
local playerData = getdatas(player)
local coins = playerData[1]
local avatarWearing = playerData[2]
return playerData[3]
end
local function savedatas(player)
local playerId = "Player_" .. player.UserId
local success, error = pcall(function()
local avatarowner = checkdatas(player) or {"Default"}
local playerData = {player.leaderstats.Coins.Value, tostring(player:WaitForChild("AvatarWearing").Value), avatarowner}
Saves:SetAsync(playerId, playerData)
end)
if not success then
warn("Error saving data for player " .. player.Name .. ": " .. tostring(error))
end
end
--------------
game:GetService("Players").PlayerAdded:Connect(function(plr)
local d = getdatas(plr.UserId)
local av = Instance.new("StringValue")
av.Name = "AvatarWearing"
av.Parent = plr
av.Value = d[2]
local leader = Instance.new("Folder")
leader.Name = "leaderstats"
leader.Parent = plr
local coins = Instance.new("NumberValue")
coins.Name = 'Coins'
coins.Value = d[1]
coins.Parent = leader
end)
game:GetService("Players").PlayerRemoving:Connect(function(plr)
savedatas(plr)
end)
Thanks,
~ @hollaquetalBRUH