Which then equals, a non-existing permanent solution.
I already mentioned a permanent solution: snippets of code which confuse unluac and cause it to error, preventing the player from getting a readable source of your script.
While I’m not gonna disclose thr few methods which I know (so they don’t get patched by exploiters), I can say most if not all are related to using varargs in an unexpected way.
I don’t really understand your solution which is I didn’t reply to it. Of course, I haven’t stated that yours is invalid.
Is there any reason this is all happening in this thread and not a new one? This is completely off topic from the necrobumped OP.
This conversation derailed so much after someone posted a solution to the problem I was having last year. Still facing it now technically, but my game’s not being hit with exploits very frequently, mainly client-sided exploits that change the player’s WalkSpeed or allow them to fly.
Which is actually something to consider when it comes to exploit detection.
There’s really no way to detect any changes made to a player’s Humanoid server-side, unless you want to do velocity checks and possibly kick a player who was Rocket Jumping or using a jetpack.
Doing a client-sided check that’s hidden quite well on the client would arguably solve this problem more as it has access to the player’s character, can see changes the exploiter is making to both it’s own character and the game itself, so really, it’s an extremely powerful tool if you know what you are doing, and know how to hide it and or prevent tampering. It’s also much better at detecting exploits in general because of the aforementioned “hacky” ability to read the CoreGui and see if there are any non-Roblox Locked objects.