Roblox Studio (LUA) - 将表保存到DataStore(无法工作)

我一直在尝试多种方法来保存两个值到DataStore,同时使用pcall进行错误处理,但我似乎无法找到使我的代码工作的解决方案。

您有什么建议可以改变吗?

local DataStoreService = game:GetService("DataStoreService")

local myDataStore = DataStoreService:GetDataStore("myDataStore")

game.Players.PlayerAdded:Connect(function(player)
    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player

    local cash = Instance.new("IntValue")
    cash.Name = "Cash"
    cash.Parent = leaderstats

    local wins = Instance.new("IntValue")
    wins.Name = "Wins"
    wins.Parent = leaderstats

    local data
    local success, errormessage = pcall(function()
        data = myDataStore:GetAsync(player.UserId.."-user")
    end)

    if success then
        cash.Value = data[1] or 0
        wins.Value = data[2] or 0
    else
        print("在获取数据时发生错误。")
        warn(errormessage)
    end
end)

game.Players.PlayerRemoving:Connect(function(player)
    local success, errormessage = pcall(function()
        myDataStore:SetAsync(player.UserId.."-user", {player.leaderstats.Cash.Value, player.leaderstats.Wins.Value})
    end)

    if success then
        print("玩家数据保存成功。")
    else
        print("保存数据时出错。")
        warn(errormessage)
    end
end)
点赞