local DS = game:GetService("DataStoreService") --- Gets Datastore Service
local CSS = DS:GetDataStore("ChaosSpleefStore_7")
local OwnedDatastore = DS:GetDataStore("OwnedDatastore_8")
local OwnedEffectsDatastore = DS:GetDataStore("OwnedEffectsDatastore")
local ownedPlaceHolder , ownedEffectsPlaceHolder = {}, {}
game.Players.PlayerAdded:Connect(function(player)
local owned = {}
local ldbrd = Instance.new("Folder")
ldbrd.Name = "leaderstats"
ldbrd.Parent = player
local CRW =Instance.new("BoolValue")
CRW.Parent = player
CRW.Name = "CRW"
CRW.Value = false
local benefits = Instance.new("IntValue")
benefits.Parent = player
benefits.Name = "Benefits"
benefits.Value = 1
local rank = Instance.new("StringValue")
rank.Parent = player
rank.Name = "Rank"
rank.Value = "Newbie"
local spleefCoins = Instance.new("IntValue")
spleefCoins.Parent = player
spleefCoins.Name = "SpleefCoins"
local wins = Instance.new("IntValue")
wins.Parent = ldbrd
wins.Name = "Wins"
local Levels = Instance.new("NumberValue")
Levels.Parent = player
Levels.Name = "Level"
Levels.Value = 1
local XP = Instance.new("NumberValue", Levels)
XP.Name = "XP"
local XP_Limit =Instance.new("NumberValue", Levels)
XP_Limit.Name = "XP_Limit"
XP_Limit.Value = 30
local Equipped = Instance.new("StringValue")
Equipped.Parent = player
Equipped.Name = "Equipped"
Equipped.Value = "1"
local EquippedEffect = Instance.new("StringValue")
EquippedEffect.Parent = player
EquippedEffect.Name = "EquippedEffect"
EquippedEffect.Value = "1"
local playeruserid = "Player_"..player.UserId
local data = {}
local owned
local success, errormsg = pcall(function()
data = CSS:GetAsync(playeruserid)
owned = OwnedDatastore:GetAsync(playeruserid)
ownedEffectsPlaceHolder = OwnedEffectsDatastore:GetAsync(playeruserid)
end)
if success then
if data ~= nil then
print("Retrieved Essential Values")
end
if owned ~= nil then
print("Retrieved Serialized Trails")
end
if ownedEffectsPlaceHolder ~= nil then
print("Retrieved Serialized Particle Emitters")
end
print("Data Retrieved Succesfully")
local ListOfValues = {player.SpleefCoins.Value, player.leaderstats.Wins.Value, player.Benefits.Value,player.Level.Value, player.Level.XP.Value, player.Level.XP_Limit.Value, player.CRW.Value,player.Rank.Value, player.Equipped.Value,player.EquippedEffect.Value}
for i, v in pairs(ListOfValues) do
if data ~= nil then
for indexValue, Value in pairs(data)do
v = Value
end
else
print("New User Joined")
end
end
end
game.ReplicatedStorage.sendEquippedEffect:FireClient(player, Equipped.Value)
game.ReplicatedStorage.sendOwnedEffects:FireClient(player, ownedEffectsPlaceHolder)
end)
game.ServerStorage.PassAlongOwnedTrails.Event:Connect(function(o)
ownedPlaceHolder = o
end)
game.ServerStorage.PassAlongOwnedEffects.Event:Connect(function(owneed)
ownedEffectsPlaceHolder = owneed
end)
function Save()
local players = game.Players:GetPlayers()
for _, player in pairs(players) do
local userId = "Player_"..player.UserId
local data = {player.SpleefCoins.Value, player.leaderstats.Wins.Value, player.Benefits.Value,player.Level.Value, player.Level.XP.Value, player.Level.XP_Limit.Value, player.CRW.Value,player.Rank.Value, player.Equipped.Value,player.EquippedEffect.Value}
if data then
local success, result = pcall(function()
CSS:SetAsync(userId, data)
if ownedPlaceHolder ~= nil then
OwnedDatastore:UpdateAsync(userId, function(
ownedPlaceHolder)
end)
end
if ownedEffectsPlaceHolder ~= nil then
ownedEffectsPlaceHolder:SetAsync(userId, ownedEffectsPlaceHolder)
end
end)
if not success then
warn(result)
else
return true
end
end
end
end
while wait(10) do
if Save()then
print("Saved Data")
end
end
game.Players.PlayerRemoving:Connect(function(player)
if Save() then
print("Saved "..player.Name.."'s data before they left")
end
end)
game:BindToClose(Save)
It prints data retrieved, but no data was retrieved. Help?