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

How to save a table using Datastore2?

Asked by
naturedat 124
3 years ago
Edited 3 years ago

Hi, I'm trying to make a weapon datastore using datastore2. I way I think that I could do this is by saving the name of the weapons on a table and when the player joined, I would like to get all of the values in there and make a boolvalue with the weapons name from the table so I could get access to the weapon later in the game when a match start. Is it possible that I could just save the table and access it from other scripts? This is my script and the folder didn't appeared in the player when I tested and there was also no "Player Added" in the output:

local DataStore2 = require(1936396537)
game.Players.PlayerAdded:Connect(function(plr)
    print("Player Added")
    local dataweap = DataStore2("Weapons",plr)

    local fol = Instance.new("Folder")
    fol.Parent = plr
    fol.Name = "Weapons"
    local tbl = {}
    print("Folder Added")
    if dataweap:Get() ~= nil then
        for i,v in pairs(dataweap:Get())do
            table.insert(dataweap,v)
            local tag = Instance.new("BoolValue")
            tag.Parent = fol
            tag.Name = v
        end
    else
        table.insert(dataweap,"Wooden Bow")
        local tag = Instance.new("BoolValue")
        tag.Parent = fol
        tag.Name = "Wooden Bow"
        table.insert(dataweap,"Wooden Sword")
        local tag = Instance.new("BoolValue")
        tag.Parent = fol
        tag.Name = "Wooden Sword"
        table.insert(dataweap,"Wooden Spear")
        local tag = Instance.new("BoolValue")
        tag.Parent = fol
        tag.Name = "Wooden Spear"
    end

    local function tblupdate(new)
        local tabl = DataStore2:GetTable()
        for i,v in pairs(tabl)do
            print(v)
            if game:GetService("ReplicatedStorage").Weapons:FindFirstChild(v) then --Check that the name of the weapon exist    
                if plr.Weapons:FindFirstChild(v)then -- So that I don't add 2 of the same weapon
                else
                    local tag = Instance.new("BoolValue")
                    tag.Parent = fol
                    tag.Name = v
                end
            else
                table.remove(dataweap,v)
            end 
        end
    end

    dataweap:OnUpdate(tblupdate())
end)

Help please, Thank you.

Answer this question