Help me cap RunService's heartbeat rate to 60

Hello, my friends.

I’d just like a way to cap RunService.Heartbeat:wait() to 60. People are using FPS unlockers to make client sided projectiles move at insane speeds.

I tried this out in Breaking Point by @Bluecage and it happened to work. Also encounted a weird bug along the way but, that’s not the point.

By the way, I am not using RunService.Heartbeat:Connect(myfunction)

As you can see in this video, my knife hit the target almost immediately.
Any solutions?

Thank you,

Don’t block fps unlockers, fix the issue caused by them. You’re definitely doing something wrong if that happens with fps unlockers.

1 Like

Pokemoncraft, I’m not trying to block the fps unlockers entirely. I love them. I just need a way to fix the insane heartbeat speed.

Without any code to work with, we can’t fix anything.

Your solution isn’t capping frequencies because that’s not something you can control. Every RunService event returns a delta time which is the amount of milliseconds that have elapsed between the current and previous calling of that step in a frame. You should be using that number to scale the speed of your moving objects. Plus… how are clients able to control the speed of a moving object with an FPS unlocker unless your object’s movement is client authoritative…? Not good!

Relevant thread from a quick search: