Simply have it where after the local script is ran, it destroys itself from the server side and have it keep cloning itself every .05 seconds and then it can’t be spoofed.
You can make it more secure by adding lines in other scripts to detect if the local script has been destroyed or it’s ancestry has been changed but it’s impossible to make it fully secure.
Yeah I have. I didn’t work sadly
To check if its been disabled do I have to do that in another script or can I do it within its own script?
Was there an error in output?
20Characters
Its running correctly so its not giving an error. Its just not kicking
I don’t know much about anti-cheats but you might be able to. It’s best to try it yourself so you know what works best.
So basically cloning and deleting?
Why don’t you try to save the value of the torso to have it match outside of anywhere local?
Haven’t thinked about that. Smart man
I’ll toss ya the most simplest explanation of how i solved this issue personally,
Answer
You simply need to write some code into the local script that will check the hitboxes of players, or anything that changing the hitbox would be beneficial for the exploiter. Once you get their names, & their sizes; send it to the server through a Remote Event; after that’s done… delete the local script through the server after gaining the data and if anything doesn’t match up with the servers item sizes, have it resize stuff/kick player(s) if you’d like.
Now, you’re probably wondering; wouldn’t running a local script through all part sizes cause loading issues?, yes; it does… which is why you can also send a set of sizes through the server to the client and if something doesn’t equal to the size it’s supposed to have or isn’t supposed to be there, have it get fixed instantly; else, have the script do nothing.
Technically, @Katrist local script works, but I recommend having a check for all items in the workspace or at least items that may be able to be effected, as they could easily resize their tools to counteract the anti exploit system.
It sounds overwhelming, but I was able to create the fix within 2 hours of messing around with sizes and transferring data.
yes, I deal with exploiters… a lot.
I’m just being real with you the exploiting community is harsh and doesnt care
So basically 2 scripts would be needed?
Correct; a server script and a local script that can be cloned and inserted into a player. They’d also communicate with each other to check sizes and so on.
Now could I do something like. Check if the script is inside the character. If not dupe a new script or just kick the player?
Couldn’t you just do something like this to disable the anti-cheat?:
for i, descendant in ipairs(game:GetDescendants()) do
if descendant:IsA("BasePart") then
for i, connection in pairs(getconnections(descendant:GetPropertyChangedSignal("Size"))) do
connection:Disable()
end
end
end
Yes, that’s why you have the server delete the script; instead of the client. I usually have it where after .05 seconds, if the script is still there; I delete it and have a new version of the script cloned and re-inserted. This is to prevent exploiters from being able to mess with stuff as they can’t manipulate server scripts from the client.
Yes, that’s where the script comes into play. If something doesn’t equal up; you could kick them and even log it if desired.
that didn’t kick the player either oof.
You have to clone the LocalScript from the server side and insert that into the player(s), then enable it, wait a few seconds; delete the local script from the server side, then repeat the process.