In my code, I have it so every .Heartbeat, the game checks if a limb is intersecting with another part, which would not function without 0.8 x 0.8 x 1.8 limb colliders. This works just fine except for one thing. It somehow fires in mid-air even though I blacklisted all of the character parts. I even debugged it with the print function, and it returns “{}” in the console but with no dropdown list. I don’t know why my code is doing this. Here is my code:
if script:FindFirstAncestor("StarterPlayer") ~= nil then
return
end
local RS = game:GetService("RunService")
RS.Heartbeat:Connect(function()
local OverlapParamss = OverlapParams.new()
OverlapParamss.FilterType = Enum.RaycastFilterType.Blacklist
OverlapParamss.FilterDescendantsInstances = script.Parent:GetDescendants()
local Head = script.Parent:WaitForChild("Head", 3)
local Torso = script.Parent:WaitForChild("Torso", 3)
local LArm = script.Parent:WaitForChild("Left Arm", 3)
local RArm = script.Parent:WaitForChild("Right Arm", 3)
local LLeg = script.Parent:WaitForChild("Left Leg", 3)
local RLeg = script.Parent:WaitForChild("Right Leg", 3)
local HParts = workspace:GetPartsInPart(Head, OverlapParamss)
--local TParts = workspace:GetPartsInPart(Torso, OverlapParamss)
--local LAParts = LArm:GetPartsInPart()
--local RAParts = RArm:GetPartsInPart()
--local LLParts = LLeg:GetPartsInPart()
--local RLParts = RLeg:GetPartsInPart()
if HParts ~= nil and Head.Velocity.Magnitude > 75 then
script.Parent.Humanoid:TakeDamage(1)
print(HParts)
end
end)
Any help is immensely appreciated! Thank you!