yea it works thanks great module btw
Hi I’m back and I have another Issue. For some reason when the player dies Client Cast stops working as seen here combat v2 - Roblox Studio 2021-02-01 00-00-09. I have no idea why this happens but while trying to fix the issue I found out that by changing this line of code from the Client Connection Module from CloneHandler().Parent = StarterPlayer:FindFirstChildOfClass(‘StarterPlayerScripts’) to CloneHandler().Parent = StarterPlayer:FindFirstChildOfClass(‘StarterCharacterScripts’) as seen here Screenshot - cbc1ac9eff1a924b8712cc7214a30e44 - Gyazo pretty much fixes this problem but causes lag after every respawn. Heres the code of me using the module local function Punch() local PhysicalHitbox = game.ServerStorage:WaitForC - Pastebin.com. If I messed up using it or skipped any steps let me know so I can fix this. Other than this issue the module works perfectly.
I believe this could be an issue with your code, as seen in the gif:
Otherwise, to fix your problem I would need a studio place file with a script that reproduces this issue.
check your messages I sent you the place file. Also just fixed that bug and I’m still having the same issue.
I’ve located the issue - you are deleting the
ClientHandler localscript from
PlayerScripts, thus not allowing ClientCast to function.
Don’t know how that happened but by not using auto set up and setting it up myself it works perfectly. Thanks for pointing me in the right direction.
Settingsmethods - I’ve come to realize it is best not to allow runtime editing of debug settings.
ClientCaster:GetPing()method - if the
ClientCasterobject has a set
Owner, it will return the ping of that player by calculating delay between client-server. NOTE This is a yielding function, and it will yield until it get’s the players ping.
ClientCaster:SetMaxPingExhaustion(number Time)- determines how long the
ClientCaster:GetPing()method can yield for before resuming, to protect against potential exploiting. Default exhaustion time is
ClientCaster:GetMaxPingExhaustion()- returns how long the
ClientCaster:GetPing()method can yield before resuming.
- Switched from
Maidto a slightly altered
- Fixed issue with
DebugObjectin favor of two new
StartDebug. These are real-time alternatives to what was previously offered
- Added read-only Disabled property of
ClientCaster- true by default
- Removed Janitor module from the code, as it is redundant.
- Addressed inconsistency with some functions being global
ClientCaster:Destroymethod for consistency
- Ping returned by
ClientCaster:GetPing()is now divided in two - this is because the code previously took into account for the whole two-way trip between the server and the client, rather than just the client
ReplicationBaseclass code for consistency
ClientCasters have their
ClientCastermethods on client that weren’t used
- The server now sends
- Attempted method of addressing issue where the client would send hit-data before the server could tell the client that the
Casterhas been terminated, thus invoking events even after a
Casterhas been terminated
- Rewrote signal module
- Updated RBXWait module to latest version
- Updated thread with new in-game examples
The wiki has been updated accordingly.
Add a simulation radius option, for ownership. Similar to how Roblox manages Part ownership.
Hitboxes are meant to be bound to only one player throughout their whole lifetime in almost all cases - I don’t know why you would want such a feature.
I was intending to use the hitbox on a rotating killbrick, but didn’t wish to set the ownership to the server or a single player. Therefore my suggestion.
You shouldn’t let clients calculate those sort of hitboxes - I recommend just setting the owner to
Not an update, but the GitHub repository has been updated with an MIT license due to it being requested.
Works well with my melee weapons.
But I wanna ask if it’s a good idea to use this for range too?
- Re-structured the hierarchy - there is now no folder, but rather all scripts are parented under the main
Caster:SetRecursive(Bool)- when set to
true, the Caster object will search for Raycast points (
DmgPoints) from the whole object’s descendants, rather then the object’s direct children. Useful for models and characters.
- Due to the above change, ClientCast now accepts types other than
- Added read-only
Caster:SetObjectnot working as expected
- When destroying a caster or switching invoking
Caster:SetObject, the debug trails are deleted alongside it
If you add and remove DmgPoints the DebugBeams duplicate them selves. I’m not trying to have 300 Attachments in my character at all times, so can you make it so it only creates the debug beams with the current DmgPoints that are inside of the Object you are raycasting from?
- You can now parent and destroy DmgPoints without any mishaps (cc. @Splixent)
add something to auto ignore the tool or the model where the DmgPoints are
Is there any type of anti-cheat for this? Players can easily spoof this. For now I think I’ll use ray cast hit box.
You can just use .Magnitude and tick() to check if the hit was valid.