I have a script that is supposed to save players stats in a table and load them when a player joins the game. By changing the var ds to :GetDataStore opposed to :GetOrderedDataStore, it works. But for some reason this doesn't. Anyone have any idea why it doesn't save/load?
Thanks in advance.
ds = game:GetService("DataStoreService"):GetOrderedDataStore("GlobalStats_Wipe1")
game.Players.PlayerAdded:connect(function(p)
coroutine.wrap(function()
local stats = ds:GetAsync(p.Name.."_Stats") or {["JCoins"] = 0, ["SFKills"] = 0, ["SFDeaths"] = 0}
local v = Instance.new("IntValue",p)
v.Name = "Values"
local ingame = Instance.new("BoolValue",v)
ingame.Value = false
ingame.Name = "InGame"
local coins = Instance.new("IntValue",v)
coins.Name = "Coins"
coins.Value = stats.JCoins
local sfkills = Instance.new("IntValue",v)
sfkills.Name = "SFKills"
sfkills.Value = stats.SFKills
local sfdeaths = Instance.new("IntValue",v)
sfdeaths.Name = "SFDeaths"
sfdeaths.Value = stats.SFDeaths
end)()
end)
game.Players.PlayerRemoving:connect(function(p)
ds:UpdateAsync(p.Name.."_Stats", function(old) return {
["JCoins"] = p.Values.Coins.Value,
["SFKills"] = p.Values.SFKills.Value,
["SFDeaths"] = p.Values.SFDeaths.Value
} end)
end)
