Or something like this might work.
Note: Put in local script.
if script.Parent.Hitbox.Size == Vector3.new(2,4,2) then
RemoteEvent:FireServer()
end
Or something like this might work.
Note: Put in local script.
if script.Parent.Hitbox.Size == Vector3.new(2,4,2) then
RemoteEvent:FireServer()
end
Exploiters can trigger touched events without changing the size, but also, you should use == for comparing vector3s since they usually get floating point errors
I appreciate your response but that can easily be bypassed, by simply replacing the script and firing the remote event… or people can teleport players to them or make the players hitbox bigger; I’m looking for a way to make server checks that stop exploiters from being able to change hitboxes and player positions from the client, and make it replicate to the server.
In a way, I am trying to replace the touched event with something non-laggy and efficient.
Never trust the client with such things, that localscript can easily be removed from the game.
In order to limit the reach, I suggest checking the magnitude on the server-side.
For more information; I am trying to prevent this entirely because my game is a game where if you kill someone your speed increases. Exploiters can easily exploit this and kill people with high speeds; while giving themselves higher speed. Client checks can work, but advanced exploiters can make scripts that bypass client checks and give the scripts to others.
Thank you for the response, I’m already somewhat implementing that… but I’m afraid that people may be falsely kicked or not deal damage due to ping.
You shouldn’t kick them. That’s the worst thing you can do due to ping and latency from the server.
Simply return end or skip the damage part if it’s above.
Thank you for the further explanation; I think that could work.
That will definitely work, I have implemented this myself and the results are just as expected.
Good luck on your project.
Thank you, I will mark your answer as a solution.
I’m having issues with reach exploiters currently, and I’m using the magnitude checking method. What did you set the magnitude to? I don’t want it to be too low and the player do no damage when they should have.
Anything from 6 to 7 is stable, I can confirm this as I have been making this check myself.
Many people can be laggy and in my personal opinion 10-14 studs works fine.
You should never do that, this will give the exploiters the ability to modify their reach to gain a slight advantage. Anything from 6-7 is very stable.
People with high ping is not an issue.
When doing what you suggest, there is barely any need for a reach check when you just remove that layer of protection.
Players with high ping will not be affected too much, just because they are close to their opponent on the client-side, doesn’t mean they should be able to hit them on the server-side.
Oh your right, I was told by someone that 10-14 studs is the average range. Thank you for the reply.
12 or 13 studs is considered the average stud limit on the server-side in the sword fighting community. You can do 6-7 studs if you want to limit any latency reach.
Returning back to this topic:
I am also an owner of a competitive-based community which uses the same sword tool system, but with a different mesh form. I have also noticed people have been suspiciously using exploits.
I’ve tried using Magnitude, Region3s and even converted the whole tool into Raycasts, which SHOULDN’T be exploitable as it doesn’t use .Touched, but for some reason, exploiters went through it like a piece of paper.
I am completely hopeless; I’ve tried everything and I really don’t know where else to look for a solution. I went through every single page on developer.roblox.com regarding these things and read most of documentation.
If any of you have resolved these issues for yourselves, please assist me if possible; I don’t mind paying either if that’s necessary.
Yeah I haven’t come up with a precise solution but after looking at the exploits, I suggest also adding exploits that counter movement. Many scripts create a fake character and tp the player/hitbox ahead to create reach. Best of luck on your goals!