Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Datastores - my table is not saving?

Asked by
3dsonicdx 163
8 years ago

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)

Answer this question