Im working on a saving script for different things like Coins and Gems (IntValues), which i put inside a "Stats" - folder. This works without a problem. But when I added an "Items"-folder inside of stats, the script didn't work properly. I get an error message stating, that Items is not a member of folder (Stats). Where is the problem? Script is in Serverscriptstorage and the Stats folder in Replicatedstorage.
dss = game:GetService("DataStoreService")
ds = dss:GetDataStore("Gast")
game.Players.PlayerAdded:Connect(function(plr)
local stats = game.ReplicatedStorage:FindFirstChild("Stats")
local gdata = game.ReplicatedStorage:FindFirstChild("GuiData")
if stats then
stats.Parent = plr
if gdata then gdata.Parent = plr
end
key = plr.UserId
stats = plr.Stats
gdata = plr.GuiData
local saves = {stats.Gems.Value,stats.Coins.Value,gdata.Greeting.Value,stats.Items}
local data = ds:GetAsync(key,saves)
if data then
print("Data loaded for User "..plr.UserId.."!")
stats.Gems.Value = data[1]
stats.Coins.Value = data[2]
gdata.Greeting.Value = data[3]
stats.Items = data[4]
else
print("No Data for "..plr.UserId.."! Setting to default.")
stats.Coins.Value = 0
stats.Gems.Value = 0
stats.Items = nil
gdata.Greeting.Value = true
print(gdata.Greeting.Value)
end
end
pcall(function()
game.Players.PlayerRemoving:Connect(function(plr)
key = plr.UserId
local stats = plr.Stats
local gdata = plr.GuiData
local saves = {stats.Gems.Value,stats.Coins.Value,gdata.Greeting.Value,stats.Items}
ds:SetAsync(key,saves)
print("User "..plr.UserId.." left the game. Saved Data for User "..plr.UserId..".")
end)
end)
game:BindToClose(function()
local players = game.Players:GetPlayers()
for i, player in pairs(players) do
player:Kick("Sorry, but the game is shutting down :(")
wait(5)
end
end)
end)
I hope you can help me! And as always, thanks in advance!
