I'm using Tables to store datastores, but it's warning 'Cannot store Array in data store. Data stores can only accept valid UTF-8 characters.' how would I fix this?
Current Code:
local serverStorage = game:GetService("ServerStorage")
local Players = game:GetService("Players")
local DataStoreService = game:GetService("DataStoreService")
local TestDataStore = DataStoreService:GetDataStore("emp43")
local data = {
["Steps"] = 0,
["Rebirths"] = 0,
["Races"] = 0
}
Players.PlayerAdded:Connect(function(Player)
local DataFromStore = nil
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = Player
for name, value in pairs(data) do
local new = Instance.new("NumberValue")
new.Name = name
new.Value = value
new.Parent = leaderstats
end
local s, e = pcall(function()
DataFromStore = TestDataStore:GetAsync("uid-" .. Player.UserId)
end)
if s then
print("Getting Data For: " .. Player.Name)
elseif e then
warn("Error Getting Data For: " .. Player.Name)
end
if DataFromStore then
for name, value in pairs(DataFromStore) do
Player.leaderstats[name].Value = value
end
print("Data Loaded For: " .. Player.Name)
else
print("Created New Data For: " .. Player.Name)
end
end)
Players.PlayerRemoving:Connect(function(Player)
local DataForStore = {}
for name, value in pairs(Player.leaderstats:GetChildren()) do
table.insert(DataForStore, value)
DataForStore[value.Name] = value.Value
print(unpack(DataForStore))
end
TestDataStore:SetAsync("UID-"..Player.UserId, DataForStore)
end)
