I am making a datastore that stores a table of mutiple values. I have the player leave with a test table I set and I get no error. When I enter back in the game I get the message saying "no data found" when I clearly used setasync with a table. What am I doing wrong?
local DSS = game:GetService("DataStoreService")
local MainStore = DSS:GetDataStore("MainStore")
local DataTable = {}
local defaultTable = {0,0,0,false,false}
game:GetService("Players").PlayerAdded:Connect(function(player)
-- create folders
local leaderstats = Instance.new("Folder",player)
leaderstats.Name = "leaderstats"
local PlayerStats = Instance.new("Folder",leaderstats)
PlayerStats.Name = "PlayerStats"
local Achievements = Instance.new("Folder",leaderstats)
Achievements.Name = "Achievements"
--create player stats
local Rank = Instance.new("IntValue",PlayerStats)
Rank.Name = "Rank"
local Experience = Instance.new("IntValue",PlayerStats)
Experience.Name = "Experience"
local Coins = Instance.new("IntValue",PlayerStats)
Coins.Name = "Coins"
local FirstTimePlaying = Instance.new("BoolValue",PlayerStats)
FirstTimePlaying.Name = "FirstTimePlaying"
--create achievements
local CompletedTutorial = Instance.new("BoolValue",Achievements)
CompletedTutorial.Name = "CompletedTutorial"
--generate the key
local key = "player-"..player.UserId
--load the data from the table
local success,err = pcall(function()
local data = MainStore:GetAsync(key)
if data then
DataTable[1] = data[1]
else
DataTable = defaultTable
print("no data found")
end
end)
if err then
print("error loading data")
end
end)
game:GetService("Players").PlayerRemoving:Connect(function(player)
--generate the key
local key = "player-"..player.UserId
DataTable = {6,7,56,true,true}
--save the data
local success,err = pcall(function()
MainStore:SetAsync(key,DataTable)
end)
if err then
print("error saving data")
end
end)

1 comment
bump