-- datastore script
local DSS = game:GetService("DataStoreService")
local GS = DSS:GetDataStore("GeneralStore")
local function savedata(plr)
local TS = plr.leaderstats.Survivals.Value
local success, err = pcall(function()
GS:SetAsync(plr.UserId, TS)
end)
if success then
print("Successful")
else
print("Save not successful")
warn(err)
end
end
game.Players.PlayerAdded:Connect(function(player)
local TS = player:WaitForChild("leaderstats").Survivals
local data
local success, err = pcall(function()
data = GS:GetAsync(player.UserId)
end)
if success and data then
print("Data given successfully")
TS.Value = data
else
print("Player has no data, set to 0.")
end
end)
game.Players.PlayerRemoving:Connect(function(plr)
savedata(plr)
end)
game:BindToClose(function()
for i,v in pairs(game.Players:GetPlayers()) do
local success, err = pcall(function()
savedata(v)
end)
if success then
print("data has been saved [DC save]")
else
print("Data has not been DC saved.")
end
end
end)
-- point giver script
Dead = false
game.ReplicatedStorage.ClientGameChange.OnClientEvent:Connect(function()
print("Starting the death penalty thing")
local Char = game.Players.LocalPlayer.Character
Char:WaitForChild("Humanoid").Died:Connect(function()
Dead = true
end)
game.ReplicatedStorage.ClientGameEnd.OnClientEvent:Connect(function()
if Dead == false then
print("Plr survived")
game.Players.LocalPlayer.leaderstats.Survivals.Value = game.Players.LocalPlayer.leaderstats.Survivals.Value + 1
game.Players.LocalPlayer.leaderstats.Grub.Value = game.Players.LocalPlayer.leaderstats.Grub.Value + 10
else
print("Player Died")
Dead = false
end
end)
end)
the datastore doesn’t save the information given when the player leaves, why is this?