How is the module limited ?? I don’t see how really.
What happens if i just repeat HitStart() again without calling HitStop()?
It appears that it just restarts the hit detection but im unsure about what the backend looks like or if this causes a performance issue.
Hi, I’ve been attempting to use this Hitbox module for my games combat system however ive encountered a bug. The first chain of Slashes i do when i Join the game just do not work however the second chain of slashes functions perfectly fine no errors nothing im really confused as to why this is occurring
.
As for the code:
Params.FilterDescendantsInstances = {Char}
Params.FilterType = Enum.RaycastFilterType.Exclude
local Hitbox = RaycastHitbox.new(Tool)
Hitbox.DetectionMode = RaycastHitbox.DetectionMode.Default
Hitbox.RaycastParams = Params
Hitbox.OnHit:Connect(Blow)
--different part in the code
local Hitbox = RaycastHitbox:GetHitbox(Tool)
if Hitbox then
Hitbox:HitStart(.35)
end
When you playtest in Studio, it uncaches all the animations in your game so they have to load in again. The first time you play an animation its going to be off/delayed. If your attack timings are based on the animation, then thats the reason
Why does this happens? The hitbox is far from the dummy but it’s hitting it anyway, how may i fix it?
(Also here’s the code that activates hitbox raycast)
-- Hitbox casting
self.MeleeHitbox:HitStart()
local cast_params = RaycastParams.new()
cast_params.FilterDescendantsInstances = {local_plr.Character}
self.MeleeHitbox.RaycastParams = cast_params
self.MeleeHitbox.OnHit:Connect(function(hit_part, hit_humanoid, raycast_result, group_name)
WeaponService:MeleeHit(hit_humanoid, attack_name, sequence_i)
-- Test part
local p = Instance.new("Part")
p.CanCollide = false
p.Parent = workspace
p.Anchored = true
p.Size = Vector3.new(0.5, 0.5, 0.5)
p.Position = raycast_result.Position
is it better to have this on the server or client?
I’ve heard that this module is very heavy on the server because of how many rays it fires
but also detecting on the client is untrustworthy
Do i raycast on server or client because client seems like it could lead to exploits but this many rays on a server seems bad
Also is it better to make artificial attactments or create them one by one? or what purpose would each have
CC: @OtherAccountJasonB
Yes, it needs to be on the client. Very performance heavy on the server.
You’d only have it on the server if the NPC had the weapon.
I have this code for example:
local tool = script.Parent
local RaycastHitbox = require(game.Replicated.Storage.RaycastHitboxV4)
local Hitbox = RaycastHitbox.new(tool.Handle)
Hitbox.Visualizer = true
But when I reset character and re-equip the tool, I get this error:
Attempt to index nil with "Visualizer"
How do I fix this?
Makes sense. Do you have any reccomendation for anticheat? I just have 1 which calculates distance from the player to the hit, and if the distance is bigger than a number i put in, it returns a bool. Any other things i can do?
There’s no specific anti cheat that suits everyone’s needs. I recommend making your own, which could be as simple as a cooldown checker and a distance checker.
Is this module obsolete with the introduction of ShapeCasts?
No, as shapecasts don’t go through all 6 sides of a cube.
yooo this is the best raycast ive ever seen fr
I’m not sure what you mean sorry. Why would shapecasting not go through all 6 sides of a cube?
It has a direction parameter, just like raycasts.
Yes, and this module uses Raycasts. If you are using Raycast Hitbox for punching in your game, you need to add an attachment to each corner of the player’s hand and perform a raycast every frame for each of these attachments (this is what the module does). If you switch to shapecasts, you can perform one shapecast/frame in the size of the player’s hand. This is more performant and easier to scale.
Is there any use for OnUpdate?
Is there a way for me to use this module without a tool? maybe its listed somewhere on this forum but there is almost 1000 comments
Im trying to make a punch system using this module but I dont know if its possible or not