Sometimes the hit registers but at other times it doesn't. Here's the code: (server side)
function HitboxModule:Run()
local overlapParams = OverlapParams.new()
overlapParams.FilterType = Enum.RaycastFilterType.Exclude
overlapParams.FilterDescendantsInstances = ReturnPlayer(self.Owner)
--self.EventConnection = UpdateHitboxes.Event:Connect(function()
-- overlapParams.FilterDescendantsInstances = GetDescendantInstances(self.Owner)
--end)
self.RunConnection = RunService.Heartbeat:Connect(function()
local ToolHitbox = Utils.Validate(self.Owner, self.Weapon, true)
if not ToolHitbox then
self.RunConnection:Disconnect()
return end
local part = Instance.new("Part")
part.CFrame = ToolHitbox.CFrame
part.Size = ToolHitbox.Size
part.Material = Enum.Material.Neon
part.Anchored = true
part.CanCollide = false
part.Parent = workspace
Debris:AddItem(part, 1)
local parts = workspace:GetPartsInPart(ToolHitbox, overlapParams)
if not parts then warn("error") return end
print(#parts)
local characters = {}
for _, part in parts do
if part:HasTag("PlayerHitbox") then
local character = part:FindFirstAncestorWhichIsA("Model")
local humanoid = character and character:FindFirstChild("Humanoid")
if character and (Players:GetPlayerFromCharacter(character) or character:GetAttribute("Rig")) and humanoid
and character ~= self.Owner.Character then
table.insert(characters, character)
print(character)
end
else
print("not tagged")
end
end
if #characters <= 0 then return
elseif #characters == 1 then
self:DamageHumanoid(characters[1], self.Damage)
elseif #characters > 1 then
for _, character in characters do
self:DamageHumanoid(character, self.Damage)
end
end
print("---------------------------------------------")
end)
end
** You are now Level 4! **