Hello! Im making A datastore which saves the donated and recieved value, however it syas its saving and loading but the data is always 0 even if I change the number. I really need help fast. I Cant seem to work out why its not working!
here is the script:
local DataStoreService = game:GetService(“DataStoreService”)
local playerData = DataStoreService:GetDataStore(“PLSSTORE!”)
local function onPlayerJoin(player) – Runs when players join
local playerUserId = “Player_” … player.UserId --Gets player ID
local data = playerData:GetAsync(playerUserId) --Checks if player has stored data
if data then
print(“loaded data for donated and raised”)
local Donated = player.leaderstats.Donated
local Raised = player.leaderstats.RecievedDonated.Value = data['Donated'] Raised.Value = data['Recieved']
else
print(“Notsaving”)
– Data store is working, but no current data for this playerplayer.leaderstats.Donated.Value = 0 player.leaderstats.Recieved.Value = 0
end
end
local function create_table(player)
local player_stats = {}
for _, stat in pairs(player.leaderstats:GetChildren()) do
player_stats[stat.Name] = stat.Value
end
return player_stats
end
local function onPlayerExit(player) --Runs when players exit
local player_stats = create_table(player)
local success, err = pcall(function()
local playerUserId = "Player_" .. player.UserId playerData:SetAsync(playerUserId, player_stats) --Saves player data
end)
if not success then
warn('Could not save data!')
end
end
game.Players.PlayerAdded:Connect(onPlayerJoin)
game.Players.PlayerRemoving:Connect(onPlayerExit)
game:BindToClose(function()
for _, player in pairs(game.Players:GetPlayers()) do
local player_stats = create_table(player)local success, err = pcall(function() local playerUserId = "Player_" .. player.UserId playerData:SetAsync(playerUserId, player_stats) --Saves player data end) if not success then warn('Could not save data!') end
end
end)
Please help! Thanks!