ClientCast is a performant solution to melee hitboxes, allowing you to provide a smooth and lagless combat experience for your players. Why? Because ClientCast was designed with User Experience (UX) in mind - by calculating the hitbox on the client, not only is there no visual delay for when the player hits someone, but the player won’t miss the hitting targets due to a player’s ping! Not only is it easy for the client to have a smooth combat experience, but it’s also made extremely easy for the developer to implement! To keep maximum customizability in mind, ClientCast does not restrict you in any way - this means ClientCast does not have its own debounces and ignore lists so that you can customize it just the way you want.
ClientCast has been designed with easy client-server communication in mind - something no other module has done, as all of them are server-based. Not only that, but ClientCast has been designed with ease-of-use in mind in general - do you want to get a player’s ping? Simply call the
Caster:GetPing() Method! Want to detect when a hitbox hits a humanoid? Simply connect to the
This module is very easy to use, and costs you nothing - your benefits? smooth combat and happy players!
Validate whether the actual instance that was hit is close enough / accurate, as exploiters could spoof this value whenever it’s being sent over to the server. There is no one reliable way to verify this, and as such, you should program your own solutions depending on the context.
Validate whether or not the hit position is too far away to prevent exploits. ClientCast does not do this for you.
Caster.Collided:Connect(function(Data) if (Data.Position - Caster.Object.Position).Magnitude > 5 then return print("very likely an exploiter") end end)
If you would like to take into account for the player’s ping, you can easily get their ping through
ClientCaster:GetPing()! Check out the docs down below for more info.
Latest release (Release.rbxm is the module): Releases · PysephWasntAvailable/ClientCast · GitHub
ClientCast Wiki: ClientCast
The ClientCast module has a
Settings table at the top of the script, which you can edit to suit your needs.
ClientCast automatically sets everything up for you so long you require
ClientCast at least once, meaning it creates a
RemoteEvent, parents localscripts to all clients and so on. If you wish to disable this behavior and manually edit the setup, set
AutoSetup in the
Settings table to
Please note that neither
HumanoidCollided have limits on how many times they can hit an object that is already hit, so make sure to implement your own debounces and checks.
hitboxes for our game’s weapons rely on a modified version of ClientCast:
Example usage along with a sample video can be found here: ClientCast