#Datastore won't work

2 messages · Page 1 of 1 (latest)

empty sundial
#

local DataStoreService = game:GetService("DataStoreService")
local MoneyDataStore = DataStoreService:GetDataStore("MoneyDataStore")

-- Function to load the player's money from DataStore
local function loadMoney(player)
local key = "Money_" .. player.UserId

local success, result = pcall(function()
    return MoneyDataStore:GetAsync(key)
end)

if success and result ~= nil then
    return result
else
    return 0
end

end

local function saveMoney(player, money)
local key = "Money_" .. player.UserId

local success, result = pcall(function()
    MoneyDataStore:SetAsync(key, money)
end)

if not success then
    warn("Failed to save money for player " .. player.Name)
end

end

local function onPlayerAdded(player)
local money = loadMoney(player)

local leaderstats = Instance.new("Folder")
leaderstats.Name = "Stats"
leaderstats.Parent = player

local moneyValue = Instance.new("NumberValue")
moneyValue.Name = "Money"
moneyValue.Value = money
moneyValue.Parent = leaderstats

end

local function onPlayerRemoving(player)
local leaderstats = player:FindFirstChild("leaderstats")

if leaderstats then
    local moneyValue = leaderstats:FindFirstChild("Money")

    if moneyValue then
        saveMoney(player, moneyValue.Value)
    end
end

end

for _, player in ipairs(game.Players:GetPlayers()) do
onPlayerAdded(player)
end

game.Players.PlayerAdded:Connect(onPlayerAdded)
game.Players.PlayerRemoving:Connect(onPlayerRemoving)

#

that is the script