Hitbox Script | _verified_

function HitboxModule:Activate() self.Active = true self.HitCharacters = {} self.Connection = self.Part.Touched:Connect(function(hit) if not self.Active then return end

Here’s a clean, modular suitable for a game (like Roblox Luau, Unity C#, or general pseudocode). hitbox script

Health targetHealth = other.GetComponentInParent<Health>(); if (targetHealth != null && other.gameObject != owner) { if (!hitTargets.Contains(targetHealth.gameObject)) { hitTargets.Add(targetHealth.gameObject); targetHealth.TakeDamage(damage); OnHit(targetHealth.gameObject); } } } function HitboxModule:Activate() self

self.Part = hitboxPart self.Damage = damage or 10 self.Owner = owner self.Active = false self.HitCharacters = {} -- track already hit characters hit) end end end) end

local hitbox = HitboxModule.new(swordPart, 25, owner)

local humanoid = hit.Parent:FindFirstChild("Humanoid") local character = hit.Parent if not humanoid then -- check if hit is a limb inside a character local limb = hit if limb.Parent and limb.Parent:FindFirstChild("Humanoid") then humanoid = limb.Parent.Humanoid character = limb.Parent end end if humanoid and character ~= self.Owner then if not self.HitCharacters[character] then self.HitCharacters[character] = true humanoid:TakeDamage(self.Damage) -- optional: trigger hit effect self:OnHit(character, hit) end end end) end