This script I made is meant to save this table, and load the players purchased characters, but it dosent work.
game.Players.PlayerAdded:Connect(function(plr)
local Characters = {}
local gold = Instance.new("NumberValue",plr)
gold.Name = "Gold"
local datastore = game:GetService("DataStoreService")
local data = datastore:GetDataStore('DataStore'..plr.UserId)
local chars = Instance.new('Folder',plr)
chars.Name = "Characters"
gold.Value = data:GetAsync(plr.UserId) or 0
for i,v in pairs(game.Lighting.Characters:GetChildren()) do
local charfig = Instance.new("BoolValue", chars)
charfig.Name = v.Name
charfig.Changed:Connect(function()
game.Lighting.RemoteEvents.Data.Save:Fire(plr)
end)
end
wait(3)
local character = data:GetAsync("CharacterData")
game.Lighting.RemoteEvents.Data.Save.Event:Connect(function(plr)
local c = plr.Characters:GetChildren()
for i=1,#c do
table.insert(Characters,c[i].Name.."_"..tostring(c[i].Value))
end
print(Characters)
data:SetAsync("CharacterData",Characters)
print("Saved "..plr.Name.."'s progress")
end)
local loaded = Instance.new('BoolValue',plr)
loaded.Name = "DataLoaded"
local loaded = Instance.new('ObjectValue',plr)
loaded.Name = "SelectedMonster"
gold.Changed:Connect(function()
data:SetAsync(plr.UserId, gold.Value)
end)
game.Players.PlayerRemoving:Connect(function(plr)
game.Lighting.RemoteEvents.Data.Save:Fire(plr)
end)
end)
If you have any suggestions, please send them. Thanks!