Is it more better using individual remote events if theyre going to be fired a lot by players in the tools, or use a single remote for everyone? Does it make a difference? And if I do use one remote, how would I go around with adding a cooldown for whoever fires the remote, and not the remote for everyone else?
How I prevent remote spam using tick and the guns firerate:
if (tick() - delay < gun.rate) then
return
end
What could I do to make this cd for whoever fired the remote and not the remote?
The only issue with shared remotes is identifier strings which can take up bandwidth but you should be able to solve this with a numeric id identifier.
TL;DR watch the parameters and data being sent for both methods.
You can use a dictionary to track the tick() for each player like the module below: