So i'm making a data store for my game but it's not working. Here is my script.
local datastore = game:GetService("DataStoreService"):GetDataStore("PlayerData")
local playersleft = 0
game.Players.PlayerAdded:Connect(function(player)
playersleft = playersleft + 1
local leaderstats = Instance.new("Folder",player)
leaderstats.Name = "leaderstats"
local exp = Instance.new("IntValue",leaderstats)
exp.Name = "Exp"
local maxexp = Instance.new("IntValue",leaderstats)
maxexp.Name = "MaxExp"
maxexp.Value = 100
local level = Instance.new("IntValue",leaderstats)
level.Name = "Level"
local toonys = Instance.new("IntValue",leaderstats)
toonys.Name = "Toonys"
if level.Value == level.Value + 1 then
maxexp.Value = maxexp.Value * 2
end
local exp_data
local level_data
local toony_data
pcall(function()
exp_data = datastore:GetAsync(player.UserId.." Exp")
level_data = datastore:GetAsync(player.UserId.." Level")
toony_data = datastore:GetAsync(player.UserId.."Toonys")
end)
if toony_data ~= nil and level_data ~= nil and exp_data ~= nil then
toonys.Value = toony_data
exp.Value = exp_data
level.Value = level_data
else
toonys.Value = 5
level.Value = 1
exp.Value = 0
end
end)
game.Players.PlayerRemoving:Connect(function(player)
pcall(function()
playersleft = playersleft - 1
datastore:SetAsync(player.UserId.." Exp",player.leaderstats.Exp.Value)
datastore:SetAsync(player.UserId.." Level",player.leaderstats.Level.Value)
datastore:SetAsync(player.UserId.." Toonys",player.leaderstats.Toonys.Value)
print("Saved!")
end)
end)

1 comment
That makes sense! and thanks it worked!