I cant see any problem with your code. Try to copy and paste script from youtube without changing anything, if it’s gives error too that’s about roblox, i recommend switching accounts and reopening another place.
Can you try that?
local DataStoreService = game:GetService("DataStoreService")
DataStore = DataStoreService:GetDataStore('DataStore')
local RunService = game:GetService("RunService")
--[[ This Imports The Data ]]--
game.Players.PlayerAdded:Connect(function(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local stage = Instance.new("IntValue")
stage.Name = "Night"
stage.Value = DataStore:GetAsync(player.UserId) or 1
stage.Parent = leaderstats
end)
--[[ This Saves The Data ]]--
game.Players.PlayerRemoving:Connect(function(player)
local stage = player.leaderstats:WaitForChild("Night")
warn("Stage Value Changed")
DataStore:SetAsync(player.UserId, stage.Value)
print("Saved ".. stage.Value .. " Stage For " .. player.Name)
end)
--[[ This Avoids Data Loss ]]--
game:BindToClose(function()
if RunService:IsStudio() then
wait(7)
end
end)