How to Combat Exploiters Stealing tools

It would not replicate however. How would I fix this?

When the click detector is activated, set a boolvalue to true before parenting a tool to the players backpack. If the boolvalue is left at false, they player will get kicked. This will ensure they can’t just clone it to their inventory from replicated storage.

I recommend you just put it in server storage anyway. That will remove the need for an anti cheat for this matter.

all my tools are in serverstorage anyways.

1 Like

Then there shouldn’t be a problem. Why do you need to make an anti exploit if they can’t even steal the tools from server storage?

I say: create your game first, then see if this exploit is actually a thing

they are stealing them from players.

They can’t steal. Why? Filtering Enabled. What the exploiter does is in their perspective, but it didn’t affect the server.

If a player has a tool in their backpack, an exploiter is able to steal it.

If they cloned it in to their Backpack using a local script, then it won’t replicate. Otherwise, it will replicate.

It will also depend on the security of your script, as tools are commonly run with a local script. The only way to combat this is to secure your remote event.

when i tried it with my tools i had guns and grenades as test my guns were able to fire but the damage didnt count because i have a server script handling the damage reconising however my problem is that the players loose the tools from their inventory thats the most annoying thing.

Im trying to maybe do a script and hide a invisible item in the backpack and if a player has 2 of them since they just copy the whole backpack the player gets kicked

What do you mean by “loosing the tools from their inventory”? Is it when you use the tool? You can always check if a player is equipping a tool.

isnt there a way to make a function run once as example the backpack is a folder and if something gets added into it a function runs ? is that possible ?

Mhm! There is. You can use ChildAdded in the Backpack.

would it be something like

local PlayerBackpack = script.Parent

PlayerBackpack.ChildAdded:connect(function(plr)
if Child.Name = InvisibleItem then
 plr.Kick(StopExploitingNerd)
end

The parameter of ChildAdded is the child that was added.

can the function not also get the player so it can kick the player when the invisible item was found in the exploiters backpack

1 Like

This will not work since the exploit is client-side. Even if you detect the tools being added on the client that can easily be disabled by the exploiter.

1 Like

Just because it won’t work doesn’t mean you shouldn’t add. Not all exploiters have the tools to disabled/delete these scripts.

I prefer a small fence than no fence.

1 Like

A solution like that is neither practical or useful. The logical solution to this problem would be simply to check if the player has the tool on the server.

1 Like

How. ? im not a experienced scripter.

Could it be also when a player gets a tool before he gets a tool that a event is being fired ? or a remote is being fired as it would go client → server → client ?.

and if that would be a good solution idk how to code it oof im really helpless in at this point