Hello guys, I was wondering if there was an easier way to write out this dataStore; a way where I can just save everything inside a certain folder? Thanks in advance, here is the script:
local dataStoreService = game:GetService("DataStoreService")
local invstore = dataStoreService:GetDataStore("hats")
local players = game:GetService("Players")
local function save(player)
local ok, exception_data = pcall(
invstore.SetAsync,
invstore,
player.UserId,
{
Koala = player.DataValues.KoalaCounter.Value,
countstat = player.DataValues.Count.Value,
desertcount = player.DataValues.DesertScoutV.Value,
desertquest = player.DataValues.DesertScoutQ.Value,
dominuscount = player.DataValues.DominusFrigV.Value,
dominusquest = player.DataValues.DominusFrigV.Value
}
)
if ok then
print("Data successfully saved")
else
warn(exception_data)
end
return ok, exception_data
end
game.Players.PlayerAdded:Connect(function(player)
local DataValues = Instance.new("Folder")
DataValues.Name = "DataValues"
DataValues.Parent = player
local KoalaCounter = Instance.new("IntValue")
KoalaCounter.Name = "KoalaCounter"
KoalaCounter.Parent = DataValues
local count = Instance.new("IntValue")
count.Name = "Count"
count.Parent = DataValues
local DesertScoutV = Instance.new("IntValue")
DesertScoutV.Name = "DesertScoutV"
DesertScoutV.Parent = DataValues
local DesertScoutQ = Instance.new("IntValue")
DesertScoutQ.Name = "DesertScoutQ"
DesertScoutQ.Parent = DataValues
local DominusFrigQ = Instance.new("IntValue")
DominusFrigQ.Name = "DominusFrigQ"
DominusFrigQ.Parent = DataValues
local DominusFrigV = Instance.new("IntValue")
DominusFrigV.Name = "DominusFrigV"
DominusFrigV.Parent = DataValues
local ok, data = pcall(invstore.GetAsync, invstore, player.UserId)
if ok then
if data then
KoalaCounter.Value = data.Koala
count.Value = data.countstat
DesertScoutV.Value = data.desertcount
DesertScoutQ.Value = data.desertquest
DominusFrigQ.Value = data.dominusquest
DominusFrigV.Value = data.dominuscount
else
end
print("yes, data successfully loaded")
else
warn("Nope,", data)
end
end)
players.PlayerRemoving:Connect(function(player)
local ok, exception_data = save(player)
if not ok then
end
end)
game:BindToClose(function()
for _, player in ipairs(players:GetPlayers()) do
coroutine.wrap(save)(player)
end
end)

1 comment
https://youtu.be/DkYupSBUpes