local datastore = game:GetService("DataStoreService")
local ds1 = datastore:GetDataStore("CoinsSaveSystem")
game.Players.PlayerAdded:connect(function(plr)
local ls = Instance.new("Folder", plr)
ls.Name = "leaderstats"
local st = Instance.new("StringValue")
st.Name = "Coins"
st.Parent = ls
st.Value = 0
st.Value = ds1:GetAsync(plr.UserId) or 0
ds1:SetAsync(plr.UserId, st.Value)
st.Changed:connect(function()
ds1:SetAsync(plr.UserId, st.Value)
end)
end)
11:52:19.993 - DataStore request was added to queue. If request queue fills, further requests will be dropped. Try sending fewer requests.Key = 38381653 (x21)
after x30 requests are sent this just drops the saves, how do i make this infinite? if its even possible.

4 comments
Roblox limits how many request Datastore can take, maybe make it just save when the player leaves?
Too much request make Datastore drop. You can save when player leave and server close. or use DataStore2
I don
t know if this is the best way, but I usually have a different table in module script that saves the value and player who requested, and will save the players data no matter if player is in the game or not. However, use still should save data when player leaves as this might drop if actual server closes due to crashes or when you are the last player to leave.Perhaps you could update it everytime the player collects a certain amount. Then any others which aren't saved, can be saved as player leaves. That way you don't have constant requests to save.