Not necessarily.
In many cases it’s better to have meaningful variable names, take the time to step through functions, make sure your logic is clear, etc.
Short does not always equate to efficiency.
Not necessarily.
In many cases it’s better to have meaningful variable names, take the time to step through functions, make sure your logic is clear, etc.
Short does not always equate to efficiency.
Of course you are right. But in this case we don’t need names, just user id’s. Also ban system with names is not going to work when somebody changes their name.
The Player Walkspeed and Jumpower values doesn’t replicate to the server
So even if you change the values on the client they will stay the same on the server
This anticheat will not work. It is a server script, but exploits change their walkspeed/jumppower on the client but not the server meaning that it will not work.
Its also extremely inefficient and will begin causing memory leaks after a player dies, eventually causing server lag.
After reviewing the code, it looks messy (for the ban system)
game:GetService("Players").PlayerAdded:Connect(function(Player)
if Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "Atem_Pharaoh1735" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" then
Player.CharacterAdded:Connect(function(Character)
--credits to Ron_GM(Kayaba) for helping
while wait(1) do
if Character:FindFirstChildOfClass("Humanoid").WalkSpeed > 40 or Character:FindFirstChildOfClass("Humanoid").JumpPower > 50 then
Player:Kick("You know why. Stupid.")
break
end
end
end)
end
end)
I recommend you use this code provided by @BankrollAbd
Player.CharacterAdded:Connect(function(Character)
--credits to Ron_GM(Kayaba) for helping
while wait(1) do
if Character:FindFirstChildOfClass("Humanoid").WalkSpeed > 40 or Character:FindFirstChildOfClass("Humanoid").JumpPower > 50 then
Player:Kick("You know why. Stupid.")
break
end
end
end)
Also, as everyone said:
@hrxin Since you’re anti-cheat is SS, and the code you provided can’t do anything it’s rendered useless.
Here is what I mean (if you don’t understand what my point is.)
You can use my EZban module to ban people. Link to the post here: EZban ~ ban users without a hassle! - Resources / Community Resources - DevForum | Roblox
@BankrollAbd’s code encourages banning users by username, which is bad because you can change your name to bypass it. UserIds should be the only banning method. @Jermartynojm’s code should be used.
Then at that point you might as well not be using your method anyway, since you’d only be using UserIds and Jermartynojm’s code does that in a simpler way.
Why don’t you just use Find like I did. No need to loop through table.
i find using a function to detect it way better than table.find
Ok these are just your preferences. Do as you want in your code.
I tested it I am not dumb, It won’t ban entire server.
No they won’t I tested it trust me, try it.
The version that I have seen would ban everyone except banned people. We do not know how does your script works for you. You probably haven’t tested it even when you say so (or maybe you tested it changing the speed on the server instead of the client).
If you still want to use the version of the script you have now, at least kick players who are banned, like this:
game:GetService("Players").PlayerAdded:Connect(function(Player)
if Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "Atem_Pharaoh1735" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" and Player.Name ~= "BannedPersonNameHere" then
--[[Player.CharacterAdded:Connect(function(Character)
--credits to Ron_GM(Kayaba) for helping
while wait(1) do
if Character:FindFirstChildOfClass("Humanoid").WalkSpeed > 40 or Character:FindFirstChildOfClass("Humanoid").JumpPower > 50 then
Player:Kick("You know why. Stupid.")
break
end
end
end)]]
--Will not work as exploiters change their speed locally and locally changed speed is not replicated to the server.
else
Player:Kick("You are banned!")
end
end)
If I were you, I would use this script instead:
Test it with a localscript that changes the player’s walkspeed, you will notice that the player is not kicked.
what i know is exploiters use client sided
Use a table, please dont use 90 or.
Yes, exploit script executors are client sided.
Please read my post before replying.
the only way we make an anticheat is using magnitude and cframe