Giving control over part size to client via keybind, anti-exploit help?

More specifically, if the player uses an fps unlocker, they can shrink the object I am letting them resize instantaneously. I would prefer this be completely client-sided, besides maybe some checks- since this is for a fighting game (and everything besides damage IS client-sided).

No code has been created, I just know from experience that they could resize it as they please.

I was thinking of creating and resizing the part on server, but that’s the very last resort. I’d hate to create an entirely new system for one skill.

Any suggestions?

i am not sure what this is about, but in my experience of coding, never ever trust the player, do server as much as you can, hacks are 99% coming from the client ruining the events info.

1 Like

Your best bet is to do it on the server for 100% security.
Two methods you could do would be:

  • Check to see if the remote has been fired after the time limit set on the server
  • Create & resize it on the server

Sorry if that wasn’t what you wanted to hear though.

1 Like

I am really confused, mind giving more info on what you mean specifically by

1 Like

There may be errors, I’m writing this on the fly. But basically, this would be what’s happening on the client.

local resizeCon

local Part = Instance.new("Part")
Part.Parent = workspace

game:GetService("UserInputService").InputBegan:Connect(function(Input,Event)

if Input.KeyCode = Enum.KeyCode.Z and not Event then
resizeCon = game:GetService("RunService").Heartbeat:Connect(function()
Part.Size = Part.Size + Vector3.new(1,1,1)
end)
end

end)

game:GetService("UserInputService").InputEnded:Connect(function(Input,Event)

if Input.KeyCode = Enum.KeyCode.Z and not Event then
resizeCon:Disconnect()
end

end)

1 Like

You should be using :Wait() for your second option.