Yes, I’m just curious, since there was an incident in my game where a random player donates to the game about 9 times in less than 2 seconds:

It’s like impossible for a simple player without exploits. And i think, this is not server-side problem since the script itself is fine:
MarketPlaceService.PromptProductPurchaseFinished:Connect(function(UserId,Id,Purchased)
if Purchased == true then
for i,v in pairs(Donations) do
if Id==v then
local plr = game.Players:GetPlayerByUserId(UserId)
local Product = MarketPlaceService:GetProductInfo(Id,Enum.InfoType.Product).PriceInRobux
ReplicatedStorage.Game.Events.Client.Chat.SendMessage:FireAllClients("[System] " ..plr.DisplayName .. " (@".. plr.Name ..") donated " .. Product .. " robux, thank you!")
break
end
end
end
And yeah, i’ve checked group funds (my game in group) and there’s nothing.
If exploiters can do this, how would i avoid it?