In my game, I keep getting this error that says "DataStore request was added to queue. If request queue fills, further requests will be dropped. Try sending fewer requests." I've tried many things but none of them seem to work. Is there anyway to fix this? I really need help. Thanks.
local Players = game:GetService("Players") local DataStoreService = game:GetService("DataStoreService") local SaveDataStore = DataStoreService:GetDataStore("SaveData", 1) local function SavePlayerData(player) local success,errormsg = pcall(function() local SaveData = {} for i,stats in pairs(player.leaderstats:GetChildren()) do SaveData[stats.Name] = stats.Value end SaveDataStore:SetAsync(player.UserId,SaveData) end) if not success then return errormsg end end Players.PlayerAdded:Connect(function(player) local Stats = Instance.new("Folder") Stats.Name = "leaderstats" Stats.Parent = player local Stage = Instance.new("NumberValue") Stage.Name = "Stage" Stage.Parent = Stats Stage.Value = 0 local Data = SaveDataStore:GetAsync(player.UserId) if Data then print(Data.Stage) for i,stats in pairs(Stats:GetChildren()) do stats.Value = Data[stats.Name] end else print(player.Name .. " has no data.") end player.CharacterAdded:Connect(function(character) local Humanoid = character:WaitForChild("Humanoid") local Torso = character:WaitForChild("HumanoidRootPart") wait() if Torso and Humanoid then if Stage.Value ~= 0 then local StagePart = workspace.Stages:FindFirstChild(Stage.Value) Torso.CFrame = StagePart.CFrame + Vector3.new(0,1,0) end end end) end) Players.PlayerRemoving:Connect(function(player) local errormsg = SavePlayerData(player) if errormsg then warn(errormsg) end end) game:BindToClose(function() for i,player in pairs(Players:GetPlayers()) do local errormsg = SavePlayerData(player) if errormsg then warn(errormsg) end end wait(2) end)
The problem is that you are saving data way too often.
https://developer.roblox.com/en-us/articles/Datastore-Errors
game:BindToClose(function() for i,player in pairs(Players:GetPlayers()) do local errormsg = SavePlayerData(player) if errormsg then warn(errormsg) end end wait(2) end)
Don't do an auto save like that, saving when players leave or join is enough. Delete lines 78-87 (the lines above) completely and your problem is gone!