Issue
The portion(when plays get removed) is not saving properly(SetAsync doesn't seem to activate)
What I've tried
Adding if statements incase anything ended up in the 'Identities' folder.
What I know
The PlayerAdded function is perfectly fine and working correctly as intended. There were no errors when I was testing in-game with multiple players.
What I want to know
Why is the second function(PlayerRemoved) not activating SetAsync.
Full script
local keyx="CollectorsEdition"
game.Players.PlayerAdded:connect(function(plr)
coroutine.wrap(function()
repeat wait() until plr~=nil
plr:LoadCharacter()
local stat=plr
local xdatas=game:GetService"DataStoreService":GetDataStore(plr.userId)
if xdatas:GetAsync(keyx)==nil then
xdatas:SetAsync(keyx,{""..plr.Name..""})
end
local CardStore = Instance.new("Folder")
CardStore.Parent = plr
CardStore.Name = "Identities"
local taaa = xdatas:GetAsync(keyx)
for i,v in pairs(taaa) do
wait()
local Plane = Instance.new("ObjectValue")
Plane.Parent = CardStore
Plane.Name = v
end
plr:LoadCharacter()
end)()
end)
game.Players.PlayerRemoving:connect(function(plr)
coroutine.wrap(function()
wait()
local datas2=game:GetService"DataStoreService":GetDataStore("ID"..plr.userId.."")
local stat=plr
local vvxTeemo = {}
for i,v in pairs(plr.Identities:GetChildren()) do
if v:IsA("ObjectValue") then
wait()
table.insert(vvxTeemo, 0, ""..v.Name.."")
end
end
datas2:SetAsync(keyx,vvxTeemo)
end)()
end)
