Hello, so Im trying to find out how to find out if a remote even was stopped and take action.
I know about how to detect remote events firing infinitely like
while true do
wait(0.1)
game.replicatedstorage.moneyevent:fireserver()
but how can I check if someone actually Stops The remotes from firing in order to lets say stop me from banning them?
The only solution is to check whether or not the script is being fired from the server. The way you would do that is to have a check every minute for the amount of times a player has sent a remote.
for example
--Server
PlayerList = {}
PlayerAdded:Connect(function(Player)
PlayerList[Player] = 0
end)
Event.OnServerEvent:Connect(function(Player)
PlayerList[Player] += 1
end)
-- You can do a while true do or a stepp function now.
local RateDelay = 0
while game:GetService("RunService").Stepped:Wait() do
if RateDelay % 100 = 0 then
--for loop here checking each player in PlayerList whether or not value is 0 or not.
end
end
first thing: if you’re trying to prevent exploits in your game, here you go a tip:
clients can not see anoter client’s player gui, so you can make the remotes in there and check if the script that fired the event was the one supposed to
game.ReplocatedStorage.moneyevent.OnServerEvent:Connect(function(player, script)
if script ~= player.Character.local_script then -- put the path here
player:Kick()
else
game.ServerStorage.AddMoney:Fire() --use this for the real remote
end
end)
While this is true, if anyone fires it, they can just add that script as an argument to the fireserver. It won’t really stop them from firing it with exploits.
I’m not sure I’m following. The table and debounce is for cooldowns only. You’d verify that a certain amount of time has passed when the player fires the remote, otherwise you’d simple drop the request.
ik i was explaining how the exploiter can use the fireserver to abuse it
i was just explaining that there’s a way to see the parameters and remote spies are a thing i wasnt talking about the table cooldown