I've been using a local script to use the RenderStepped
event of the RunService
to create a trail for bullets. I recently decided to move the trail creator into a server side script so that the trail doesn't stop being made after the player dies or leaves the game. But since RenderStepped
doesn't work in a server-side script, I was forced to use wait(), which isn't as smooth. Is there any way in which I can shorten the wait time? Or is it not possible?
No, it's not possible.
Even if it's smooth on the server, it won't be smooth to clients. There will be variable delays, of around 100ms, transmitting to the players -- this means there's no reason to be faster than 1/30th of a second. The result will appear jittery anyway.
The robust solution is to provide minimal information necessary to each client so that each client can make it as soon as possible; e.g., firing a RemoteEvent telling all clients where the bullets are; each client then moves the bullet (locally--FilteringEnabled!) using RenderStepped.