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

Why isn't it saving my data that I updated it just prints no data even though it shouldn't??

Asked by 5 years ago
Edited 5 years ago

I'm making a datastore script that is gonna save multiple values later on so that's why I set it up like this.

Code:

local datastore = game:GetService("DataStoreService")
local stat_save = datastore:GetDataStore("Stat_save")

 function OnAdded(player)
    local prefix = "Player_"..player.UserId

    local data
    local playerstats = Instance.new("Folder",player)
    local Coins = Instance.new("IntValue",playerstats)

    local sucess, err = pcall(function()
        data = stat_save:GetAsync(prefix)
    end)
    if sucess then
        if data then
                Coins.Value = data[1]
        print(data[1])
        print("data found")
        elseif not data then
            print("no data")
    elseif not sucess then
        warn("Error occured: "..err)
    end
    end
end

game.Players.PlayerAdded:Connect(OnAdded)

function OnLeave(player)
    local prefix = "Player_"..player.UserId
    local sucess, err = pcall(function()
    stat_save:SetAsync(prefix, 
        stat_save[1])
    print("saved in datastore: "..stat_save[1])
    end)
end
game.Players.PlayerRemoving:Connect(OnLeave)


local datastore = game:GetService("DataStoreService")
local stat_save = datastore:GetDataStore("Stat_save")

 function OnAdded(player)
    local prefix = "Player_"..player.UserId

    local data
    local playerstats = Instance.new("Folder",player)
    local Coins = Instance.new("IntValue",playerstats)

    local sucess, err = pcall(function()
        data = stat_save:GetAsync(prefix)
    end)
    if sucess then
        if data then
        Coins.Value = data[1] --getting the first data in the datastore and assigning it
        print(data[1])
        print("data found")
        elseif not data then
            print("no data") --prints this
    elseif not sucess then
        warn("Error occured: "..err)
    end
    end
end

game.Players.PlayerAdded:Connect(OnAdded)

function OnLeave(player)
    local prefix = "Player_"..player.UserId
    local sucess, err = pcall(function()
    stat_save:SetAsync(prefix,  --It should save value here
        stat_save[1])
    print("saved in datastore: "..stat_save[1]) --prints nothing
    end)
end
game.Players.PlayerRemoving:Connect(OnLeave)

Answer this question