I have realized that Update Async is a lot better than Set Async and that it helps get rid of the "DataStore request was added to queue. If request queue fills, further requests will be dropped. Try sending fewer requests.Key = (some random id that I cant find)".
Here is the scripts that i'm working with:
Module script:
local Settings = { ["Coins"] = { ["parent"] = "Player", ["obj"] = "IntValue", ["val"]= 0, }, ["DeviceType"] = { ["parent"] = "StatsFolder", ["obj"] = "StringValue", ["val"]= 0, }, ["CoinsMultilier"] = { ["parent"] = "Multipliers", ["obj"] = "IntValue", ["val"]= 1, }, ["Seconds"] = { ["parent"] = "TimePlayed", ["obj"] = "IntValue", ["val"]= 0, }, ["Minutes"] = { ["parent"] = "TimePlayed", ["obj"] = "IntValue", ["val"]= 0, }, ["Hours"] = { ["parent"] = "TimePlayed", ["obj"] = "IntValue", ["val"]= 0, }, ["Donations"] = { ["parent"] = "StatsFolder", ["obj"] = "IntValue", ["val"]= 0, }, ["StagesCompleted"] = { ["parent"] = "StatsFolder", ["obj"] = "IntValue", ["val"]= 0, }, ["TotalCoins"] = { ["parent"] = "StatsFolder", ["obj"] = "IntValue", ["val"]= 0, }, } return Settings
and the Main Leaderstats Script
local data = game:GetService("DataStoreService") local datastore = data:GetDataStore("Code:000kaq") local Settings = require(game.ReplicatedStorage.Modules.LeaderstatsSettings) game.Players.PlayerAdded:Connect(function(plr) local prefix = plr.UserId local Stat = Instance.new("Folder",plr) Stat.Name = "StatsFolder" local multipliers = Instance.new("Folder", plr) multipliers.Name = "Multipliers" local timer = Instance.new("Folder",Stat) timer.Name = "TimePlayed" for i,v in pairs(Settings) do local where = v.parent --Where the datastore gets saved at if v.parent ~= "Player" then if plr:findFirstChild(v.parent) then--if the folder is already created then where = plr[v.parent] else local folder = Instance.new("Folder",plr) -- creates folder inside player folder.Name = v.parent -- sets the folder name where = folder -- this was the mistake end end if v.parent == "Player" then where = plr end --// Creates the Value local val = Instance.new(v.obj,where) val.Name = i -- // The name u did put on left side inside the Module val.Value = v.val --// How much if set end local Data = nil local success, err = pcall(function() Data = datastore:UpdateAsync(prefix, function(OldData) return end) end) end)
The main Script isnt really done yet as you can see at the saving process on the bottom of the code.
I would be super greatful if someone can help me save the data using update Async