Humanoid Isn't taking damage

  1. What do you want to achieve? Keep it simple and clear!
    I want to take damage from the humanoid.

  2. What is the issue? Include screenshots / videos if possible!
    The issue is that the script doesn’t work. Also it doesn’t print.

  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    I couldn’t find any solution on the problem that I have.

After that, you should include more details if you have any. Try to make your topic as descriptive as possible, so that it’s easier for people to help you!

-- Services
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local StarterPack = game:GetService("StarterPack")

-- Variables
local player, character, humanoid, tool
tool = script.Parent.Parent
character = tool.Parent.Parent.Character
humanoidVar = character:WaitForChild("Humanoid")
player = Players:GetPlayerFromCharacter(character)

-- ASCS Folder
local ASCS = ReplicatedStorage.ASCS

-- Remote Events Folder
local RemoteEventsFolder = ASCS.RemoteEvents

-- Assets Folder
local AssetsFolder = ASCS.Assets

-- OtherFolders
local NPCFolder = workspace.NPCs

-- Values Folder
local GlobalValuesFolder = ASCS.Values
local ToolValuesFolder = tool.Values

-- Remote Events
local RemoteEvents = {
	RemoteEventsFolder.AddCombo;
	RemoteEventsFolder.ResetCombo;
	RemoteEventsFolder.HitStop;
	RemoteEventsFolder.HitStart;
}

-- Values
local Values = {
    ToolValuesFolder:WaitForChild("CanDamage");
    GlobalValuesFolder:WaitForChild("ArmorAmount");
    ToolValuesFolder:WaitForChild("Combo");
    GlobalValuesFolder:WaitForChild("ArmorEnabled");
}

-- Tool Config Folder
local WeaponConfig = ASCS.ToolConfig

-- Tool
local tool = script.Parent.Parent

-- Modules
local RaycastHitboxV4 = require(ASCS.Modules.RaycastHitboxV4)
local GlobalConfig = require(ASCS.GlobalConfig.Config)
local Config = require(WeaponConfig:FindFirstChild(tool.Name))


print("Character, humanoid, tool and player is set in the variable.")

local Model = ASCS.Models:FindFirstChild(tool.Name).Handle:Clone()
Model.Parent = tool

-- Hitbox
local newHitbox = RaycastHitboxV4.new(tool:WaitForChild("Handle"))
newHitbox.RaycastParams = RaycastParams.new()
newHitbox.RaycastParams.FilterDescendantsInstances = {character}
newHitbox.RaycastParams.FilterType = Enum.RaycastFilterType.Blacklist

newHitbox.OnHit:Connect(function(hit, humanoid)
    if Config.CanHitNpc and not Config.CanHitPlayer then
        if NPCFolder:FindFirstChild(humanoid.Parent.Name) and humanoid.Parent ~= Players:GetPlayerFromCharacter(humanoid.Parent) then
            if Config.CanBreakArmor then
                if humanoid.ArmorAmount.Value > 0 then
                    
                    if humanoid.RigType == Enum.HumanoidRigType.R15 then
                        if Config.BodyDamage and not Config.DamageNormal then
                            if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                                humanoid.ArmorAmount.Value -= Config.LegDamage
                            elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                                humanoid.ArmorAmount.Value -= Config.ArmDamage
                            elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                                humanoid.ArmorAmount.Value -= Config.TorsoDamage
                            elseif hit == Enum.BodyPartR15.Head then
                                humanoid.ArmorAmount.Value -= Config.HeadDamage
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            humanoid.ArmorAmount.Value -= Config.NormalDamage
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            return
                        end
                    elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                        if Config.BodyDamage and not Config.DamageNormal then
                            if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                                humanoid.ArmorAmount.Value -= Config.LegDamage
                            elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                                humanoid.ArmorAmount.Value -= Config.ArmDamage
                            elseif hit == Enum.BodyPart.Torso then
                                humanoid.ArmorAmount.Value -= Config.TorsoDamage
                            elseif hit == Enum.BodyPart.Head then
                                humanoid.ArmorAmount.Value -= Config.HeadDamage
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            humanoid.ArmorAmount.Value -= Config.NormalDamage
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            return
                        end
                    end
                elseif humanoid.ArmorAmount.Value == 0 then
                    if humanoid.RigType == Enum.HumanoidRigType.R15 then
                        if Config.BodyDamage and not Config.DamageNormal then
                            if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                                humanoid:TakeDamage(Config.LegDamage)
                            elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                                humanoid:TakeDamage(Config.ArmDamage)
                            elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                                humanoid:TakeDamage(Config.TorsoDamage)
                            elseif hit == Enum.BodyPartR15.Head then
                                humanoid:TakeDamage(Config.HeadDamage)
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            humanoid:TakeDamage(Config.NormalDamage)
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            return
                        end
                    elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                        if Config.BodyDamage and not Config.DamageNormal then
                            if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                                humanoid:TakeDamage(Config.LegDamage)
                            elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                                humanoid:TakeDamage(Config.ArmDamage)
                            elseif hit == Enum.BodyPart.Torso then
                                humanoid:TakeDamage(Config.TorsoDamage)
                            elseif hit == Enum.BodyPart.Head then
                                humanoid:TakeDamage(Config.HeadDamage)
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            humanoid:TakeDamage(Config.NormalDamage)
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            return
                        end
                    end
                end
            elseif not Config.CanBreakArmor then
                if humanoid.RigType == Enum.HumanoidRigType.R15 then
                    if Config.BodyDamage and not Config.DamageNormal then
                        if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                            humanoid:TakeDamage(Config.LegDamage)
                        elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                            humanoid:TakeDamage(Config.ArmDamage)
                        elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                            humanoid:TakeDamage(Config.TorsoDamage)
                        elseif hit == Enum.BodyPartR15.Head then
                            humanoid:TakeDamage(Config.HeadDamage)
                        end
                    elseif not Config.BodyDamage and Config.DamageNormal then
                        humanoid:TakeDamage(Config.NormalDamage)
                    elseif not Config.BodyDamage and not Config.DamageNormal then
                        return
                    elseif Config.BodyDamage and Config.DamageNormal then
                        return
                    end
                elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                    if Config.BodyDamage and not Config.DamageNormal then
                        if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                            humanoid:TakeDamage(Config.LegDamage)
                        elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                            humanoid:TakeDamage(Config.ArmDamage)
                        elseif hit == Enum.BodyPart.Torso then
                            humanoid:TakeDamage(Config.TorsoDamage)
                        elseif hit == Enum.BodyPart.Head then
                            humanoid:TakeDamage(Config.HeadDamage)
                        end
                    elseif not Config.BodyDamage and Config.DamageNormal then
                        humanoid:TakeDamage(Config.HeadDamage)
                    elseif not Config.BodyDamage and not Config.DamageNormal then
                        return
                    elseif Config.BodyDamage and Config.DamageNormal then
                        return
                    end
                end
            end
            else return
       end
    elseif Config.CanHitPlayer and not Config.CanHitNpc then
        if humanoid.Parent == Players:GetPlayerFromCharacter(humanoid.Parent) then
            if Config.CanBreakArmor then
                if humanoid.ArmorAmount.Value > 0 then
                    if humanoid.RigType == Enum.HumanoidRigType.R15 then
                        if Config.BodyDamage and not Config.DamageNormal then
                            if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                                humanoid.ArmorAmount.Value -= Config.LegDamage
                            elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                                humanoid.ArmorAmount.Value -= Config.ArmDamage
                            elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                                humanoid.ArmorAmount.Value -= Config.TorsoDamage
                            elseif hit == Enum.BodyPartR15.Head then
                                humanoid.ArmorAmount.Value -= Config.HeadDamage
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            humanoid.ArmorAmount.Value -= Config.NormalDamage
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            return
                        end
                    elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                        if Config.BodyDamage and not Config.DamageNormal then
                            if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                                humanoid.ArmorAmount.Value -= Config.LegDamage
                            elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                                humanoid.ArmorAmount.Value -= Config.ArmDamage
                            elseif hit == Enum.BodyPart.Torso then
                                humanoid.ArmorAmount.Value -= Config.TorsoDamage
                            elseif hit == Enum.BodyPart.Head then
                                humanoid.ArmorAmount.Value -= Config.HeadDamage
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            humanoid.ArmorAmount.Value -= Config.NormalDamage
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            return
                        end
                    end
                elseif humanoid.ArmorAmount.Value == 0 then
                    if humanoid.RigType == Enum.HumanoidRigType.R15 then
                        if Config.BodyDamage and not Config.DamageNormal then
                            if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                                humanoid:TakeDamage(Config.LegDamage)
                            elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                                humanoid:TakeDamage(Config.ArmDamage)
                            elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                                humanoid:TakeDamage(Config.TorsoDamage)
                            elseif hit == Enum.BodyPartR15.Head then
                                humanoid:TakeDamage(Config.HeadDamage)
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            humanoid:TakeDamage(Config.NormalDamage)
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            return
                        end
                    elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                        if Config.BodyDamage and not Config.DamageNormal then
                            if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                                humanoid:TakeDamage(Config.LegDamage)
                            elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                                humanoid:TakeDamage(Config.ArmDamage)
                            elseif hit == Enum.BodyPart.Torso then
                                humanoid:TakeDamage(Config.TorsoDamage)
                            elseif hit == Enum.BodyPart.Head then
                                humanoid:TakeDamage(Config.HeadDamage)
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            humanoid:TakeDamage(Config.NormalDamage)
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            return
                        end
                    end
                end
            elseif not Config.CanBreakArmor then
                if humanoid.RigType == Enum.HumanoidRigType.R15 then
                    if Config.BodyDamage and not Config.DamageNormal then
                        if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                            humanoid:TakeDamage(Config.LegDamage)
                        elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                            humanoid:TakeDamage(Config.ArmDamage)
                        elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                            humanoid:TakeDamage(Config.TorsoDamage)
                        elseif hit == Enum.BodyPartR15.Head then
                            humanoid:TakeDamage(Config.HeadDamage)
                        end
                    elseif not Config.BodyDamage and Config.DamageNormal then
                        humanoid:TakeDamage(Config.NormalDamage)
                    elseif not Config.BodyDamage and not Config.DamageNormal then
                        return
                    elseif Config.BodyDamage and Config.DamageNormal then
                        return
                    end
                elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                    if Config.BodyDamage and not Config.DamageNormal then
                        if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                            humanoid:TakeDamage(Config.LegDamage)
                        elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                            humanoid:TakeDamage(Config.ArmDamage)
                        elseif hit == Enum.BodyPart.Torso then
                            humanoid:TakeDamage(Config.TorsoDamage)
                        elseif hit == Enum.BodyPart.Head then
                            humanoid:TakeDamage(Config.HeadDamage)
                        end
                    elseif not Config.BodyDamage and Config.DamageNormal then
                        humanoid:TakeDamage(Config.NormalDamage)
                    elseif not Config.BodyDamage and not Config.DamageNormal then
                        return
                    elseif Config.BodyDamage and Config.DamageNormal then
                        return
                    end
                end
            end
        else
            return
        end
    elseif not Config.CanHitPlayer and not Config.CanHitNpc then
        return
    elseif Config.CanHitPlayer and Config.CanHitNpc then
            if humanoid.RigType == Enum.HumanoidRigType.R15 then
                if Config.BodyDamage and not Config.DamageNormal then
                    if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                        humanoid:TakeDamage(Config.LegDamage)
                    elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                        humanoid:TakeDamage(Config.ArmDamage)
                    elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                        humanoid:TakeDamage(Config.TorsoDamage)
                    elseif hit == Enum.BodyPartR15.Head then
                        humanoid:TakeDamage(Config.HeadDamage)
                    end
                end
            elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                if Config.BodyDamage and not Config.DamageNormal then
                    if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                        humanoid:TakeDamage(Config.LegDamage)
                    elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                        humanoid:TakeDamage(Config.ArmDamage)
                    elseif hit == Enum.BodyPart.Torso then
                        humanoid:TakeDamage(Config.TorsoDamage)
                    elseif hit == Enum.BodyPart.Head then
                        humanoid:TakeDamage(Config.HeadDamage)
                    end
                end
            end
        end
end)


RemoteEvents[4].OnServerEvent:Connect(function()
	newHitbox:HitStart()
end)

RemoteEvents[3].OnServerEvent:Connect(function()
	newHitbox:HitStop()
end)

RemoteEvents[1].OnServerEvent:Connect(function()
    Values[3].Value += 1
end)

RemoteEvents[2].OnServerEvent:Connect(function()
    Values[3].Value = 0
end)

2 Likes

You just gave us a huge script and all you can tell us is that it doesn’t print and the humanoid doesn’t take damage. Could you give us more info? This is really bare bones and would take a while to look through the entire script. When you say it doesn’t print, what do you mean in specific.

1 Like

I see this uses the RaycastHitbox Module, if it’s not taking any damage then you didn’t set it up correctly

1 Like

Actually at the first version of the script, It was working perfectly. When I add body parts it broke.

1 Like
newHitbox.OnHit:Connect(function(hit, humanoid)
    if Config.CanHitNpc and not Config.CanHitPlayer then
        if NPCFolder:FindFirstChild(humanoid.Parent.Name) and humanoid.Parent ~= Players:GetPlayerFromCharacter(humanoid.Parent) then
            if Config.CanBreakArmor then
                if humanoid.ArmorAmount.Value > 0 then
                    
                    if humanoid.RigType == Enum.HumanoidRigType.R15 then
                        if Config.BodyDamage and not Config.DamageNormal then
                            if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                                humanoid.ArmorAmount.Value -= Config.LegDamage
                            elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                                humanoid.ArmorAmount.Value -= Config.ArmDamage
                            elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                                humanoid.ArmorAmount.Value -= Config.TorsoDamage
                            elseif hit == Enum.BodyPartR15.Head then
                                humanoid.ArmorAmount.Value -= Config.HeadDamage
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            humanoid.ArmorAmount.Value -= Config.NormalDamage
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            return
                        end
                    elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                        if Config.BodyDamage and not Config.DamageNormal then
                            if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                                humanoid.ArmorAmount.Value -= Config.LegDamage
                            elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                                humanoid.ArmorAmount.Value -= Config.ArmDamage
                            elseif hit == Enum.BodyPart.Torso then
                                humanoid.ArmorAmount.Value -= Config.TorsoDamage
                            elseif hit == Enum.BodyPart.Head then
                                humanoid.ArmorAmount.Value -= Config.HeadDamage
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            humanoid.ArmorAmount.Value -= Config.NormalDamage
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            return
                        end
                    end
                elseif humanoid.ArmorAmount.Value == 0 then
                    if humanoid.RigType == Enum.HumanoidRigType.R15 then
                        if Config.BodyDamage and not Config.DamageNormal then
                            if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                                humanoid:TakeDamage(Config.LegDamage)
                            elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                                humanoid:TakeDamage(Config.ArmDamage)
                            elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                                humanoid:TakeDamage(Config.TorsoDamage)
                            elseif hit == Enum.BodyPartR15.Head then
                                humanoid:TakeDamage(Config.HeadDamage)
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            humanoid:TakeDamage(Config.NormalDamage)
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            return
                        end
                    elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                        if Config.BodyDamage and not Config.DamageNormal then
                            if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                                humanoid:TakeDamage(Config.LegDamage)
                            elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                                humanoid:TakeDamage(Config.ArmDamage)
                            elseif hit == Enum.BodyPart.Torso then
                                humanoid:TakeDamage(Config.TorsoDamage)
                            elseif hit == Enum.BodyPart.Head then
                                humanoid:TakeDamage(Config.HeadDamage)
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            humanoid:TakeDamage(Config.NormalDamage)
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            return
                        end
                    end
                end
            elseif not Config.CanBreakArmor then
                if humanoid.RigType == Enum.HumanoidRigType.R15 then
                    if Config.BodyDamage and not Config.DamageNormal then
                        if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                            humanoid:TakeDamage(Config.LegDamage)
                        elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                            humanoid:TakeDamage(Config.ArmDamage)
                        elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                            humanoid:TakeDamage(Config.TorsoDamage)
                        elseif hit == Enum.BodyPartR15.Head then
                            humanoid:TakeDamage(Config.HeadDamage)
                        end
                    elseif not Config.BodyDamage and Config.DamageNormal then
                        humanoid:TakeDamage(Config.NormalDamage)
                    elseif not Config.BodyDamage and not Config.DamageNormal then
                        return
                    elseif Config.BodyDamage and Config.DamageNormal then
                        return
                    end
                elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                    if Config.BodyDamage and not Config.DamageNormal then
                        if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                            humanoid:TakeDamage(Config.LegDamage)
                        elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                            humanoid:TakeDamage(Config.ArmDamage)
                        elseif hit == Enum.BodyPart.Torso then
                            humanoid:TakeDamage(Config.TorsoDamage)
                        elseif hit == Enum.BodyPart.Head then
                            humanoid:TakeDamage(Config.HeadDamage)
                        end
                    elseif not Config.BodyDamage and Config.DamageNormal then
                        humanoid:TakeDamage(Config.HeadDamage)
                    elseif not Config.BodyDamage and not Config.DamageNormal then
                        return
                    elseif Config.BodyDamage and Config.DamageNormal then
                        return
                    end
                end
            end
            else return
       end
    elseif Config.CanHitPlayer and not Config.CanHitNpc then
        if humanoid.Parent == Players:GetPlayerFromCharacter(humanoid.Parent) then
            if Config.CanBreakArmor then
                if humanoid.ArmorAmount.Value > 0 then
                    if humanoid.RigType == Enum.HumanoidRigType.R15 then
                        if Config.BodyDamage and not Config.DamageNormal then
                            if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                                humanoid.ArmorAmount.Value -= Config.LegDamage
                            elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                                humanoid.ArmorAmount.Value -= Config.ArmDamage
                            elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                                humanoid.ArmorAmount.Value -= Config.TorsoDamage
                            elseif hit == Enum.BodyPartR15.Head then
                                humanoid.ArmorAmount.Value -= Config.HeadDamage
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            humanoid.ArmorAmount.Value -= Config.NormalDamage
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            return
                        end
                    elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                        if Config.BodyDamage and not Config.DamageNormal then
                            if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                                humanoid.ArmorAmount.Value -= Config.LegDamage
                            elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                                humanoid.ArmorAmount.Value -= Config.ArmDamage
                            elseif hit == Enum.BodyPart.Torso then
                                humanoid.ArmorAmount.Value -= Config.TorsoDamage
                            elseif hit == Enum.BodyPart.Head then
                                humanoid.ArmorAmount.Value -= Config.HeadDamage
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            humanoid.ArmorAmount.Value -= Config.NormalDamage
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            return
                        end
                    end
                elseif humanoid.ArmorAmount.Value == 0 then
                    if humanoid.RigType == Enum.HumanoidRigType.R15 then
                        if Config.BodyDamage and not Config.DamageNormal then
                            if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                                humanoid:TakeDamage(Config.LegDamage)
                            elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                                humanoid:TakeDamage(Config.ArmDamage)
                            elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                                humanoid:TakeDamage(Config.TorsoDamage)
                            elseif hit == Enum.BodyPartR15.Head then
                                humanoid:TakeDamage(Config.HeadDamage)
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            humanoid:TakeDamage(Config.NormalDamage)
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            return
                        end
                    elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                        if Config.BodyDamage and not Config.DamageNormal then
                            if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                                humanoid:TakeDamage(Config.LegDamage)
                            elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                                humanoid:TakeDamage(Config.ArmDamage)
                            elseif hit == Enum.BodyPart.Torso then
                                humanoid:TakeDamage(Config.TorsoDamage)
                            elseif hit == Enum.BodyPart.Head then
                                humanoid:TakeDamage(Config.HeadDamage)
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            humanoid:TakeDamage(Config.NormalDamage)
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            return
                        end
                    end
                end
            elseif not Config.CanBreakArmor then
                if humanoid.RigType == Enum.HumanoidRigType.R15 then
                    if Config.BodyDamage and not Config.DamageNormal then
                        if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                            humanoid:TakeDamage(Config.LegDamage)
                        elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                            humanoid:TakeDamage(Config.ArmDamage)
                        elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                            humanoid:TakeDamage(Config.TorsoDamage)
                        elseif hit == Enum.BodyPartR15.Head then
                            humanoid:TakeDamage(Config.HeadDamage)
                        end
                    elseif not Config.BodyDamage and Config.DamageNormal then
                        humanoid:TakeDamage(Config.NormalDamage)
                    elseif not Config.BodyDamage and not Config.DamageNormal then
                        return
                    elseif Config.BodyDamage and Config.DamageNormal then
                        return
                    end
                elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                    if Config.BodyDamage and not Config.DamageNormal then
                        if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                            humanoid:TakeDamage(Config.LegDamage)
                        elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                            humanoid:TakeDamage(Config.ArmDamage)
                        elseif hit == Enum.BodyPart.Torso then
                            humanoid:TakeDamage(Config.TorsoDamage)
                        elseif hit == Enum.BodyPart.Head then
                            humanoid:TakeDamage(Config.HeadDamage)
                        end
                    elseif not Config.BodyDamage and Config.DamageNormal then
                        humanoid:TakeDamage(Config.NormalDamage)
                    elseif not Config.BodyDamage and not Config.DamageNormal then
                        return
                    elseif Config.BodyDamage and Config.DamageNormal then
                        return
                    end
                end
            end
        else
            return
        end
    elseif not Config.CanHitPlayer and not Config.CanHitNpc then
        return
    elseif Config.CanHitPlayer and Config.CanHitNpc then
            if humanoid.RigType == Enum.HumanoidRigType.R15 then
                if Config.BodyDamage and not Config.DamageNormal then
                    if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                        humanoid:TakeDamage(Config.LegDamage)
                    elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                        humanoid:TakeDamage(Config.ArmDamage)
                    elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                        humanoid:TakeDamage(Config.TorsoDamage)
                    elseif hit == Enum.BodyPartR15.Head then
                        humanoid:TakeDamage(Config.HeadDamage)
                    end
                end
            elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                if Config.BodyDamage and not Config.DamageNormal then
                    if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                        humanoid:TakeDamage(Config.LegDamage)
                    elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                        humanoid:TakeDamage(Config.ArmDamage)
                    elseif hit == Enum.BodyPart.Torso then
                        humanoid:TakeDamage(Config.TorsoDamage)
                    elseif hit == Enum.BodyPart.Head then
                        humanoid:TakeDamage(Config.HeadDamage)
                    end
                end
            end
        end
end)

That’s the part of the script that needs to work. But it doesn’t work.

1 Like

Try adding prints after all if statements and send a screenshot of the output

1 Like

I did that. Here is the output:
image

I hit a player with the sword and it prints this.

newHitbox.OnHit:Connect(function(hit, humanoid)
    if Config.CanHitNpc and not Config.CanHitPlayer then
        print("1")
        if NPCFolder:FindFirstChild(humanoid.Parent.Name) and humanoid.Parent ~= Players:GetPlayerFromCharacter(humanoid.Parent) then
            print("2")
            if Config.CanBreakArmor then
                print("3")
                if humanoid.ArmorAmount.Value > 0 then
                    print("4")
                    if humanoid.RigType == Enum.HumanoidRigType.R15 then
                        print("5")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print("6")
                            if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                                print("Leg")
                                humanoid.ArmorAmount.Value -= Config.LegDamage
                            elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                                print("Arm")
                                humanoid.ArmorAmount.Value -= Config.ArmDamage
                            elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                                print("Torso")
                                humanoid.ArmorAmount.Value -= Config.TorsoDamage
                            elseif hit == Enum.BodyPartR15.Head then
                                print("Head")
                                humanoid.ArmorAmount.Value -= Config.HeadDamage
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print("7")
                            humanoid.ArmorAmount.Value -= Config.NormalDamage
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print("8")
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print("9")
                            return
                        end
                    elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                        print("10")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print("11")
                            if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                                print("Leg")
                                humanoid.ArmorAmount.Value -= Config.LegDamage
                            elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                                print("Arm")
                                humanoid.ArmorAmount.Value -= Config.ArmDamage
                            elseif hit == Enum.BodyPart.Torso then
                                print("Torso")
                                humanoid.ArmorAmount.Value -= Config.TorsoDamage
                            elseif hit == Enum.BodyPart.Head then
                                print("Head")
                                humanoid.ArmorAmount.Value -= Config.HeadDamage
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print("12")
                            humanoid.ArmorAmount.Value -= Config.NormalDamage
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print("13")
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print("14")
                            return
                        end
                    end
                elseif humanoid.ArmorAmount.Value == 0 then
                    print("15")
                    if humanoid.RigType == Enum.HumanoidRigType.R15 then
                        print("16")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print("17")
                            if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                                print("Leg")
                                humanoid:TakeDamage(Config.LegDamage)
                            elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                                print("Arm")
                                humanoid:TakeDamage(Config.ArmDamage)
                            elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                                print("Torso")
                                humanoid:TakeDamage(Config.TorsoDamage)
                            elseif hit == Enum.BodyPartR15.Head then
                                print("Head")
                                humanoid:TakeDamage(Config.HeadDamage)
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print('22')
                            humanoid:TakeDamage(Config.NormalDamage)
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print('23')
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print('24')
                            return
                        end
                    elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                        print("25")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print("26")
                            if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                                print("Leg")
                                humanoid:TakeDamage(Config.LegDamage)
                            elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                                print("Arm")
                                humanoid:TakeDamage(Config.ArmDamage)
                            elseif hit == Enum.BodyPart.Torso then
                                print("Torso")
                                humanoid:TakeDamage(Config.TorsoDamage)
                            elseif hit == Enum.BodyPart.Head then
                                print("Head")
                                humanoid:TakeDamage(Config.HeadDamage)
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print("27")
                            humanoid:TakeDamage(Config.NormalDamage)
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print("28")
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print("29")
                            return
                        end
                    end
                end
            elseif not Config.CanBreakArmor then
                print("30")
                if humanoid.RigType == Enum.HumanoidRigType.R15 then
                    print("31")
                    if Config.BodyDamage and not Config.DamageNormal then
                        print("32")
                        if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                            print("Leg")
                            humanoid:TakeDamage(Config.LegDamage)
                        elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                            print("Arm")
                            humanoid:TakeDamage(Config.ArmDamage)
                        elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                            print("Torso")
                            humanoid:TakeDamage(Config.TorsoDamage)
                        elseif hit == Enum.BodyPartR15.Head then
                            print('Head')
                            humanoid:TakeDamage(Config.HeadDamage)
                        end
                    elseif not Config.BodyDamage and Config.DamageNormal then
                        print("33")
                        humanoid:TakeDamage(Config.NormalDamage)
                    elseif not Config.BodyDamage and not Config.DamageNormal then
                        print("34")
                        return
                    elseif Config.BodyDamage and Config.DamageNormal then
                        print("35")
                        return
                    end
                elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                    print('36')
                    if Config.BodyDamage and not Config.DamageNormal then
                        print("37")
                        if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                            print("Leg")
                            humanoid:TakeDamage(Config.LegDamage)
                        elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                            print('Arm')
                            humanoid:TakeDamage(Config.ArmDamage)
                        elseif hit == Enum.BodyPart.Torso then
                            print('Torso')
                            humanoid:TakeDamage(Config.TorsoDamage)
                        elseif hit == Enum.BodyPart.Head then
                            print("Head")
                            humanoid:TakeDamage(Config.HeadDamage)
                        end
                    elseif not Config.BodyDamage and Config.DamageNormal then
                        print("38")
                        humanoid:TakeDamage(Config.HeadDamage)
                    elseif not Config.BodyDamage and not Config.DamageNormal then
                        print("39")
                        return
                    elseif Config.BodyDamage and Config.DamageNormal then
                        print("40")
                        return
                    end
                end
            end
            else return
       end
    elseif Config.CanHitPlayer and not Config.CanHitNpc then
        print("41")
        if humanoid.Parent == Players:GetPlayerFromCharacter(humanoid.Parent) then
            print("42")
            if Config.CanBreakArmor then
                print("43")
                if humanoid.ArmorAmount.Value > 0 then
                    print("44")
                    if humanoid.RigType == Enum.HumanoidRigType.R15 then
                        print("45")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print("46")
                            if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                                print("Leg")
                                humanoid.ArmorAmount.Value -= Config.LegDamage
                            elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                                print("Arm")
                                humanoid.ArmorAmount.Value -= Config.ArmDamage
                            elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                                print("Torso")
                                humanoid.ArmorAmount.Value -= Config.TorsoDamage
                            elseif hit == Enum.BodyPartR15.Head then
                                print("Head")
                                humanoid.ArmorAmount.Value -= Config.HeadDamage
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print("47")
                            humanoid.ArmorAmount.Value -= Config.NormalDamage
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print("48")
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print("49")
                            return
                        end
                    elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                        print("50")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print("51")
                            if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                                print("Leg")
                                humanoid.ArmorAmount.Value -= Config.LegDamage
                            elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                                print('Arm')
                                humanoid.ArmorAmount.Value -= Config.ArmDamage
                            elseif hit == Enum.BodyPart.Torso then
                                print("Torso")
                                humanoid.ArmorAmount.Value -= Config.TorsoDamage
                            elseif hit == Enum.BodyPart.Head then
                                print("Head")
                                humanoid.ArmorAmount.Value -= Config.HeadDamage
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print("52")
                            humanoid.ArmorAmount.Value -= Config.NormalDamage
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print("53")
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print("54")
                            return
                        end
                    end
                elseif humanoid.ArmorAmount.Value == 0 then
                    print("55")
                    if humanoid.RigType == Enum.HumanoidRigType.R15 then
                        print("56")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print('57')
                            if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                                print("Leg")
                                humanoid:TakeDamage(Config.LegDamage)
                            elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                                print("Arm")
                                humanoid:TakeDamage(Config.ArmDamage)
                            elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                                print("Torso")
                                humanoid:TakeDamage(Config.TorsoDamage)
                            elseif hit == Enum.BodyPartR15.Head then
                                print("Head")
                                humanoid:TakeDamage(Config.HeadDamage)
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print("58")
                            humanoid:TakeDamage(Config.NormalDamage)
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print("59")
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print("60")
                            return
                        end
                    elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                        print("61")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print("62")
                            if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                                print("Leg")
                                humanoid:TakeDamage(Config.LegDamage)
                            elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                                print("Arm")
                                humanoid:TakeDamage(Config.ArmDamage)
                            elseif hit == Enum.BodyPart.Torso then
                                print("Torso")
                                humanoid:TakeDamage(Config.TorsoDamage)
                            elseif hit == Enum.BodyPart.Head then
                                print("Head")
                                humanoid:TakeDamage(Config.HeadDamage)
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print("67")
                            humanoid:TakeDamage(Config.NormalDamage)
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print("68")
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print("69")
                            return
                        end
                    end
                end
            elseif not Config.CanBreakArmor then
                print("70")
                if humanoid.RigType == Enum.HumanoidRigType.R15 then
                    print("71")
                    if Config.BodyDamage and not Config.DamageNormal then
                        print("72")
                        if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                            print("Leg")
                            humanoid:TakeDamage(Config.LegDamage)
                        elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                            print("Arm")
                            humanoid:TakeDamage(Config.ArmDamage)
                        elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                            print("Torso")
                            humanoid:TakeDamage(Config.TorsoDamage)
                        elseif hit == Enum.BodyPartR15.Head then
                            print("Head")
                            humanoid:TakeDamage(Config.HeadDamage)
                        end
                    elseif not Config.BodyDamage and Config.DamageNormal then
                        print("73")
                        humanoid:TakeDamage(Config.NormalDamage)
                    elseif not Config.BodyDamage and not Config.DamageNormal then
                        print("74")
                        return
                    elseif Config.BodyDamage and Config.DamageNormal then
                        print("75")
                        return
                    end
                elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                    print("76")
                    if Config.BodyDamage and not Config.DamageNormal then
                        print("77")
                        if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                            print('Leg')
                            humanoid:TakeDamage(Config.LegDamage)
                        elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                            print("Arm")
                            humanoid:TakeDamage(Config.ArmDamage)
                        elseif hit == Enum.BodyPart.Torso then
                            print('Torso')
                            humanoid:TakeDamage(Config.TorsoDamage)
                        elseif hit == Enum.BodyPart.Head then
                            print("Head")
                            humanoid:TakeDamage(Config.HeadDamage)
                        end
                    elseif not Config.BodyDamage and Config.DamageNormal then
                        print("78")
                        humanoid:TakeDamage(Config.NormalDamage)
                    elseif not Config.BodyDamage and not Config.DamageNormal then
                        print("79")
                        return
                    elseif Config.BodyDamage and Config.DamageNormal then
                        print("80")
                        return
                    end
                end
            end
        else
            print('81')
            return
        end
    elseif not Config.CanHitPlayer and not Config.CanHitNpc then
        print("82")
        return
    elseif Config.CanHitPlayer and Config.CanHitNpc then
        print("83")
        if humanoid.RigType == Enum.HumanoidRigType.R15 then
            print("84")
            if Config.BodyDamage and not Config.DamageNormal then
                print("85")
                if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                    print("Leg")
                    humanoid:TakeDamage(Config.LegDamage)
                elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                    print("Arm")
                    humanoid:TakeDamage(Config.ArmDamage)
                elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                    print("Torso")
                    humanoid:TakeDamage(Config.TorsoDamage)
                elseif hit == Enum.BodyPartR15.Head then
                    print("Head")
                    humanoid:TakeDamage(Config.HeadDamage)
                    end
                end
        elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
            print("86")
            if Config.BodyDamage and not Config.DamageNormal then
                print("87")
                if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                    print("Leg")
                    humanoid:TakeDamage(Config.LegDamage)
                elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                    print("Arm")
                        humanoid:TakeDamage(Config.ArmDamage)
                elseif hit == Enum.BodyPart.Torso then
                    print("Torso")
                    humanoid:TakeDamage(Config.TorsoDamage)
                elseif hit == Enum.BodyPart.Head then
                    print("Head")
                    humanoid:TakeDamage(Config.HeadDamage)
                    end
                end
            end
        end
end)

I think it may be a problem with Config.Damage, try changing the parameters of Humanoid:TakeDamage() with a number instead and see if that damages the character!

I did that and I got the same problem.
image

Try printing humanoid.Health after humanoid:TakeDamage

Done. But again the same.
image

Is it not printing humanoid.Health? If so, there might be a problem with the script getting stuck on humanoid:TakeDamage, comment humanoid:TakeDamage for now.

I did the comment but it didn’t print.
image

I think the problem is on the body part detection.

Could you maybe send the edited script?

Sure. Here you are:

newHitbox.OnHit:Connect(function(hit, humanoid)
    if Config.CanHitNpc and not Config.CanHitPlayer then
        print("1")
        if NPCFolder:FindFirstChild(humanoid.Parent.Name) and humanoid.Parent ~= Players:GetPlayerFromCharacter(humanoid.Parent) then
            print("2")
            if Config.CanBreakArmor then
                print("3")
                if humanoid.ArmorAmount.Value > 0 then
                    print("4")
                    if humanoid.RigType == Enum.HumanoidRigType.R15 then
                        print("5")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print("6")
                            if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                                print("Leg")
                                humanoid.ArmorAmount.Value -= Config.LegDamage
                            elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                                print("Arm")
                                humanoid.ArmorAmount.Value -= Config.ArmDamage
                            elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                                print("Torso")
                                humanoid.ArmorAmount.Value -= Config.TorsoDamage
                            elseif hit == Enum.BodyPartR15.Head then
                                print("Head")
                                humanoid.ArmorAmount.Value -= Config.HeadDamage
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print("7")
                            humanoid.ArmorAmount.Value -= Config.NormalDamage
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print("8")
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print("9")
                            return
                        end
                    elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                        print("10")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print("11")
                            if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                                print("Leg")
                                humanoid.ArmorAmount.Value -= Config.LegDamage
                            elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                                print("Arm")
                                humanoid.ArmorAmount.Value -= Config.ArmDamage
                            elseif hit == Enum.BodyPart.Torso then
                                print("Torso")
                                humanoid.ArmorAmount.Value -= Config.TorsoDamage
                            elseif hit == Enum.BodyPart.Head then
                                print("Head")
                                humanoid.ArmorAmount.Value -= Config.HeadDamage
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print("12")
                            humanoid.ArmorAmount.Value -= Config.NormalDamage
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print("13")
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print("14")
                            return
                        end
                    end
                elseif humanoid.ArmorAmount.Value == 0 then
                    print("15")
                    if humanoid.RigType == Enum.HumanoidRigType.R15 then
                        print("16")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print("17")
                            if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                                print("Leg")
                                humanoid:TakeDamage(Config.LegDamage)
                            elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                                print("Arm")
                                humanoid:TakeDamage(Config.ArmDamage)
                            elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                                print("Torso")
                                humanoid:TakeDamage(Config.TorsoDamage)
                            elseif hit == Enum.BodyPartR15.Head then
                                print("Head")
                                humanoid:TakeDamage(Config.HeadDamage)
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print('22')
                            humanoid:TakeDamage(Config.NormalDamage)
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print('23')
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print('24')
                            return
                        end
                    elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                        print("25")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print("26")
                            if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                                print("Leg")
                                humanoid:TakeDamage(Config.LegDamage)
                            elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                                print("Arm")
                                humanoid:TakeDamage(Config.ArmDamage)
                            elseif hit == Enum.BodyPart.Torso then
                                print("Torso")
                                humanoid:TakeDamage(Config.TorsoDamage)
                            elseif hit == Enum.BodyPart.Head then
                                print("Head")
                                humanoid:TakeDamage(Config.HeadDamage)
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print("27")
                            humanoid:TakeDamage(Config.NormalDamage)
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print("28")
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print("29")
                            return
                        end
                    end
                end
            elseif not Config.CanBreakArmor then
                print("30")
                if humanoid.RigType == Enum.HumanoidRigType.R15 then
                    print("31")
                    if Config.BodyDamage and not Config.DamageNormal then
                        print("32")
                        if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                            print("Leg")
                            --humanoid:TakeDamage(Config.LegDamage)
                            print(humanoid.Health)
                        elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                            print("Arm")
                            --humanoid:TakeDamage(Config.ArmDamage)
                            print(humanoid.Health)
                        elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                            print("Torso")
                            --humanoid:TakeDamage(Config.TorsoDamage)
                            print(humanoid.Health)
                        elseif hit == Enum.BodyPartR15.Head then
                            print('Head')
                            -- humanoid:TakeDamage(Config.HeadDamage)
                            print(humanoid.Health)
                        end
                    elseif not Config.BodyDamage and Config.DamageNormal then
                        print("33")
                        humanoid:TakeDamage(Config.NormalDamage)
                    elseif not Config.BodyDamage and not Config.DamageNormal then
                        print("34")
                        return
                    elseif Config.BodyDamage and Config.DamageNormal then
                        print("35")
                        return
                    end
                elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                    print('36')
                    if Config.BodyDamage and not Config.DamageNormal then
                        print("37")
                        if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                            print("Leg")
                            humanoid:TakeDamage(Config.LegDamage)
                        elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                            print('Arm')
                            humanoid:TakeDamage(Config.ArmDamage)
                        elseif hit == Enum.BodyPart.Torso then
                            print('Torso')
                            humanoid:TakeDamage(Config.TorsoDamage)
                        elseif hit == Enum.BodyPart.Head then
                            print("Head")
                            humanoid:TakeDamage(Config.HeadDamage)
                        end
                    elseif not Config.BodyDamage and Config.DamageNormal then
                        print("38")
                        humanoid:TakeDamage(Config.HeadDamage)
                    elseif not Config.BodyDamage and not Config.DamageNormal then
                        print("39")
                        return
                    elseif Config.BodyDamage and Config.DamageNormal then
                        print("40")
                        return
                    end
                end
            end
            else return
       end
    elseif Config.CanHitPlayer and not Config.CanHitNpc then
        print("41")
        if humanoid.Parent == Players:GetPlayerFromCharacter(humanoid.Parent) then
            print("42")
            if Config.CanBreakArmor then
                print("43")
                if humanoid.ArmorAmount.Value > 0 then
                    print("44")
                    if humanoid.RigType == Enum.HumanoidRigType.R15 then
                        print("45")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print("46")
                            if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                                print("Leg")
                                humanoid.ArmorAmount.Value -= Config.LegDamage
                            elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                                print("Arm")
                                humanoid.ArmorAmount.Value -= Config.ArmDamage
                            elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                                print("Torso")
                                humanoid.ArmorAmount.Value -= Config.TorsoDamage
                            elseif hit == Enum.BodyPartR15.Head then
                                print("Head")
                                humanoid.ArmorAmount.Value -= Config.HeadDamage
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print("47")
                            humanoid.ArmorAmount.Value -= Config.NormalDamage
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print("48")
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print("49")
                            return
                        end
                    elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                        print("50")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print("51")
                            if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                                print("Leg")
                                humanoid.ArmorAmount.Value -= Config.LegDamage
                            elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                                print('Arm')
                                humanoid.ArmorAmount.Value -= Config.ArmDamage
                            elseif hit == Enum.BodyPart.Torso then
                                print("Torso")
                                humanoid.ArmorAmount.Value -= Config.TorsoDamage
                            elseif hit == Enum.BodyPart.Head then
                                print("Head")
                                humanoid.ArmorAmount.Value -= Config.HeadDamage
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print("52")
                            humanoid.ArmorAmount.Value -= Config.NormalDamage
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print("53")
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print("54")
                            return
                        end
                    end
                elseif humanoid.ArmorAmount.Value == 0 then
                    print("55")
                    if humanoid.RigType == Enum.HumanoidRigType.R15 then
                        print("56")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print('57')
                            if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                                print("Leg")
                                humanoid:TakeDamage(Config.LegDamage)
                            elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                                print("Arm")
                                humanoid:TakeDamage(Config.ArmDamage)
                            elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                                print("Torso")
                                humanoid:TakeDamage(Config.TorsoDamage)
                            elseif hit == Enum.BodyPartR15.Head then
                                print("Head")
                                humanoid:TakeDamage(Config.HeadDamage)
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print("58")
                            humanoid:TakeDamage(Config.NormalDamage)
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print("59")
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print("60")
                            return
                        end
                    elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                        print("61")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print("62")
                            if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                                print("Leg")
                                humanoid:TakeDamage(Config.LegDamage)
                            elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                                print("Arm")
                                humanoid:TakeDamage(Config.ArmDamage)
                            elseif hit == Enum.BodyPart.Torso then
                                print("Torso")
                                humanoid:TakeDamage(Config.TorsoDamage)
                            elseif hit == Enum.BodyPart.Head then
                                print("Head")
                                humanoid:TakeDamage(Config.HeadDamage)
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print("67")
                            humanoid:TakeDamage(Config.NormalDamage)
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print("68")
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print("69")
                            return
                        end
                    end
                end
            elseif not Config.CanBreakArmor then
                print("70")
                if humanoid.RigType == Enum.HumanoidRigType.R15 then
                    print("71")
                    if Config.BodyDamage and not Config.DamageNormal then
                        print("72")
                        if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                            print("Leg")
                            humanoid:TakeDamage(Config.LegDamage)
                        elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                            print("Arm")
                            humanoid:TakeDamage(Config.ArmDamage)
                        elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                            print("Torso")
                            humanoid:TakeDamage(Config.TorsoDamage)
                        elseif hit == Enum.BodyPartR15.Head then
                            print("Head")
                            humanoid:TakeDamage(Config.HeadDamage)
                        end
                    elseif not Config.BodyDamage and Config.DamageNormal then
                        print("73")
                        humanoid:TakeDamage(Config.NormalDamage)
                    elseif not Config.BodyDamage and not Config.DamageNormal then
                        print("74")
                        return
                    elseif Config.BodyDamage and Config.DamageNormal then
                        print("75")
                        return
                    end
                elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                    print("76")
                    if Config.BodyDamage and not Config.DamageNormal then
                        print("77")
                        if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                            print('Leg')
                            humanoid:TakeDamage(Config.LegDamage)
                        elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                            print("Arm")
                            humanoid:TakeDamage(Config.ArmDamage)
                        elseif hit == Enum.BodyPart.Torso then
                            print('Torso')
                            humanoid:TakeDamage(Config.TorsoDamage)
                        elseif hit == Enum.BodyPart.Head then
                            print("Head")
                            humanoid:TakeDamage(Config.HeadDamage)
                        end
                    elseif not Config.BodyDamage and Config.DamageNormal then
                        print("78")
                        humanoid:TakeDamage(Config.NormalDamage)
                    elseif not Config.BodyDamage and not Config.DamageNormal then
                        print("79")
                        return
                    elseif Config.BodyDamage and Config.DamageNormal then
                        print("80")
                        return
                    end
                end
            end
        else
            print('81')
            return
        end
    elseif not Config.CanHitPlayer and not Config.CanHitNpc then
        print("82")
        return
    elseif Config.CanHitPlayer and Config.CanHitNpc then
        print("83")
        if humanoid.RigType == Enum.HumanoidRigType.R15 then
            print("84")
            if Config.BodyDamage and not Config.DamageNormal then
                print("85")
                if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                    print("Leg")
                    humanoid:TakeDamage(Config.LegDamage)
                elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                    print("Arm")
                    humanoid:TakeDamage(Config.ArmDamage)
                elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                    print("Torso")
                    humanoid:TakeDamage(Config.TorsoDamage)
                elseif hit == Enum.BodyPartR15.Head then
                    print("Head")
                    humanoid:TakeDamage(Config.HeadDamage)
                    end
                end
        elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
            print("86")
            if Config.BodyDamage and not Config.DamageNormal then
                print("87")
                if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                    print("Leg")
                    humanoid:TakeDamage(Config.LegDamage)
                elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                    print("Arm")
                        humanoid:TakeDamage(Config.ArmDamage)
                elseif hit == Enum.BodyPart.Torso then
                    print("Torso")
                    humanoid:TakeDamage(Config.TorsoDamage)
                elseif hit == Enum.BodyPart.Head then
                    print("Head")
                    humanoid:TakeDamage(Config.HeadDamage)
                    end
                end
            end
        end
end)

I have too many statements though and that’s a mess lol.

If it’s the complete edit script then I try

No, it isn’t the complete edited script.
Here is the whole script:

-- Services
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local StarterPack = game:GetService("StarterPack")

-- Variables
local player, character, humanoid, tool
tool = script.Parent.Parent
character = tool.Parent.Parent.Character
humanoidVar = character:WaitForChild("Humanoid")
player = Players:GetPlayerFromCharacter(character)

-- ASCS Folder
local ASCS = ReplicatedStorage.ASCS

-- Remote Events Folder
local RemoteEventsFolder = ASCS.RemoteEvents

-- Assets Folder
local AssetsFolder = ASCS.Assets

-- OtherFolders
local NPCFolder = workspace.NPCs

-- Values Folder
local GlobalValuesFolder = ASCS.Values
local ToolValuesFolder = tool.Values

-- Remote Events
local RemoteEvents = {
	RemoteEventsFolder.AddCombo;
	RemoteEventsFolder.ResetCombo;
	RemoteEventsFolder.HitStop;
	RemoteEventsFolder.HitStart;
}

-- Values
local Values = {
    ToolValuesFolder:WaitForChild("CanDamage");
    GlobalValuesFolder:WaitForChild("ArmorAmount");
    ToolValuesFolder:WaitForChild("Combo");
    GlobalValuesFolder:WaitForChild("ArmorEnabled");
}

-- Tool Config Folder
local WeaponConfig = ASCS.ToolConfig

-- Tool
local tool = script.Parent.Parent

-- Modules
local RaycastHitboxV4 = require(ASCS.Modules.RaycastHitboxV4)
local GlobalConfig = require(ASCS.GlobalConfig.Config)
local Config = require(WeaponConfig:FindFirstChild(tool.Name))


print("Character, humanoid, tool and player is set in the variable.")

local Model = ASCS.Models:FindFirstChild(tool.Name).Handle:Clone()
Model.Parent = tool

-- Hitbox
local newHitbox = RaycastHitboxV4.new(tool:WaitForChild("Handle"))
newHitbox.RaycastParams = RaycastParams.new()
newHitbox.RaycastParams.FilterDescendantsInstances = {character}
newHitbox.RaycastParams.FilterType = Enum.RaycastFilterType.Blacklist

newHitbox.OnHit:Connect(function(hit, humanoid)
    if Config.CanHitNpc and not Config.CanHitPlayer then
        print("1")
        if NPCFolder:FindFirstChild(humanoid.Parent.Name) and humanoid.Parent ~= Players:GetPlayerFromCharacter(humanoid.Parent) then
            print("2")
            if Config.CanBreakArmor then
                print("3")
                if humanoid.ArmorAmount.Value > 0 then
                    print("4")
                    if humanoid.RigType == Enum.HumanoidRigType.R15 then
                        print("5")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print("6")
                            if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                                print("Leg")
                                humanoid.ArmorAmount.Value -= Config.LegDamage
                            elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                                print("Arm")
                                humanoid.ArmorAmount.Value -= Config.ArmDamage
                            elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                                print("Torso")
                                humanoid.ArmorAmount.Value -= Config.TorsoDamage
                            elseif hit == Enum.BodyPartR15.Head then
                                print("Head")
                                humanoid.ArmorAmount.Value -= Config.HeadDamage
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print("7")
                            humanoid.ArmorAmount.Value -= Config.NormalDamage
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print("8")
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print("9")
                            return
                        end
                    elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                        print("10")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print("11")
                            if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                                print("Leg")
                                humanoid.ArmorAmount.Value -= Config.LegDamage
                            elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                                print("Arm")
                                humanoid.ArmorAmount.Value -= Config.ArmDamage
                            elseif hit == Enum.BodyPart.Torso then
                                print("Torso")
                                humanoid.ArmorAmount.Value -= Config.TorsoDamage
                            elseif hit == Enum.BodyPart.Head then
                                print("Head")
                                humanoid.ArmorAmount.Value -= Config.HeadDamage
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print("12")
                            humanoid.ArmorAmount.Value -= Config.NormalDamage
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print("13")
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print("14")
                            return
                        end
                    end
                elseif humanoid.ArmorAmount.Value == 0 then
                    print("15")
                    if humanoid.RigType == Enum.HumanoidRigType.R15 then
                        print("16")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print("17")
                            if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                                print("Leg")
                                humanoid:TakeDamage(Config.LegDamage)
                            elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                                print("Arm")
                                humanoid:TakeDamage(Config.ArmDamage)
                            elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                                print("Torso")
                                humanoid:TakeDamage(Config.TorsoDamage)
                            elseif hit == Enum.BodyPartR15.Head then
                                print("Head")
                                humanoid:TakeDamage(Config.HeadDamage)
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print('22')
                            humanoid:TakeDamage(Config.NormalDamage)
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print('23')
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print('24')
                            return
                        end
                    elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                        print("25")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print("26")
                            if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                                print("Leg")
                                humanoid:TakeDamage(Config.LegDamage)
                            elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                                print("Arm")
                                humanoid:TakeDamage(Config.ArmDamage)
                            elseif hit == Enum.BodyPart.Torso then
                                print("Torso")
                                humanoid:TakeDamage(Config.TorsoDamage)
                            elseif hit == Enum.BodyPart.Head then
                                print("Head")
                                humanoid:TakeDamage(Config.HeadDamage)
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print("27")
                            humanoid:TakeDamage(Config.NormalDamage)
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print("28")
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print("29")
                            return
                        end
                    end
                end
            elseif not Config.CanBreakArmor then
                print("30")
                if humanoid.RigType == Enum.HumanoidRigType.R15 then
                    print("31")
                    if Config.BodyDamage and not Config.DamageNormal then
                        print("32")
                        if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                            print("Leg")
                            --humanoid:TakeDamage(Config.LegDamage)
                            print(humanoid.Health)
                        elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                            print("Arm")
                            --humanoid:TakeDamage(Config.ArmDamage)
                            print(humanoid.Health)
                        elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                            print("Torso")
                            --humanoid:TakeDamage(Config.TorsoDamage)
                            print(humanoid.Health)
                        elseif hit == Enum.BodyPartR15.Head then
                            print('Head')
                            -- humanoid:TakeDamage(Config.HeadDamage)
                            print(humanoid.Health)
                        end
                    elseif not Config.BodyDamage and Config.DamageNormal then
                        print("33")
                        humanoid:TakeDamage(Config.NormalDamage)
                    elseif not Config.BodyDamage and not Config.DamageNormal then
                        print("34")
                        return
                    elseif Config.BodyDamage and Config.DamageNormal then
                        print("35")
                        return
                    end
                elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                    print('36')
                    if Config.BodyDamage and not Config.DamageNormal then
                        print("37")
                        if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                            print("Leg")
                            humanoid:TakeDamage(Config.LegDamage)
                        elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                            print('Arm')
                            humanoid:TakeDamage(Config.ArmDamage)
                        elseif hit == Enum.BodyPart.Torso then
                            print('Torso')
                            humanoid:TakeDamage(Config.TorsoDamage)
                        elseif hit == Enum.BodyPart.Head then
                            print("Head")
                            humanoid:TakeDamage(Config.HeadDamage)
                        end
                    elseif not Config.BodyDamage and Config.DamageNormal then
                        print("38")
                        humanoid:TakeDamage(Config.HeadDamage)
                    elseif not Config.BodyDamage and not Config.DamageNormal then
                        print("39")
                        return
                    elseif Config.BodyDamage and Config.DamageNormal then
                        print("40")
                        return
                    end
                end
            end
            else return
       end
    elseif Config.CanHitPlayer and not Config.CanHitNpc then
        print("41")
        if humanoid.Parent == Players:GetPlayerFromCharacter(humanoid.Parent) then
            print("42")
            if Config.CanBreakArmor then
                print("43")
                if humanoid.ArmorAmount.Value > 0 then
                    print("44")
                    if humanoid.RigType == Enum.HumanoidRigType.R15 then
                        print("45")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print("46")
                            if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                                print("Leg")
                                humanoid.ArmorAmount.Value -= Config.LegDamage
                            elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                                print("Arm")
                                humanoid.ArmorAmount.Value -= Config.ArmDamage
                            elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                                print("Torso")
                                humanoid.ArmorAmount.Value -= Config.TorsoDamage
                            elseif hit == Enum.BodyPartR15.Head then
                                print("Head")
                                humanoid.ArmorAmount.Value -= Config.HeadDamage
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print("47")
                            humanoid.ArmorAmount.Value -= Config.NormalDamage
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print("48")
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print("49")
                            return
                        end
                    elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                        print("50")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print("51")
                            if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                                print("Leg")
                                humanoid.ArmorAmount.Value -= Config.LegDamage
                            elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                                print('Arm')
                                humanoid.ArmorAmount.Value -= Config.ArmDamage
                            elseif hit == Enum.BodyPart.Torso then
                                print("Torso")
                                humanoid.ArmorAmount.Value -= Config.TorsoDamage
                            elseif hit == Enum.BodyPart.Head then
                                print("Head")
                                humanoid.ArmorAmount.Value -= Config.HeadDamage
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print("52")
                            humanoid.ArmorAmount.Value -= Config.NormalDamage
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print("53")
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print("54")
                            return
                        end
                    end
                elseif humanoid.ArmorAmount.Value == 0 then
                    print("55")
                    if humanoid.RigType == Enum.HumanoidRigType.R15 then
                        print("56")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print('57')
                            if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                                print("Leg")
                                humanoid:TakeDamage(Config.LegDamage)
                            elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                                print("Arm")
                                humanoid:TakeDamage(Config.ArmDamage)
                            elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                                print("Torso")
                                humanoid:TakeDamage(Config.TorsoDamage)
                            elseif hit == Enum.BodyPartR15.Head then
                                print("Head")
                                humanoid:TakeDamage(Config.HeadDamage)
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print("58")
                            humanoid:TakeDamage(Config.NormalDamage)
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print("59")
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print("60")
                            return
                        end
                    elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                        print("61")
                        if Config.BodyDamage and not Config.DamageNormal then
                            print("62")
                            if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                                print("Leg")
                                humanoid:TakeDamage(Config.LegDamage)
                            elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                                print("Arm")
                                humanoid:TakeDamage(Config.ArmDamage)
                            elseif hit == Enum.BodyPart.Torso then
                                print("Torso")
                                humanoid:TakeDamage(Config.TorsoDamage)
                            elseif hit == Enum.BodyPart.Head then
                                print("Head")
                                humanoid:TakeDamage(Config.HeadDamage)
                            end
                        elseif not Config.BodyDamage and Config.DamageNormal then
                            print("67")
                            humanoid:TakeDamage(Config.NormalDamage)
                        elseif not Config.BodyDamage and not Config.DamageNormal then
                            print("68")
                            return
                        elseif Config.BodyDamage and Config.DamageNormal then
                            print("69")
                            return
                        end
                    end
                end
            elseif not Config.CanBreakArmor then
                print("70")
                if humanoid.RigType == Enum.HumanoidRigType.R15 then
                    print("71")
                    if Config.BodyDamage and not Config.DamageNormal then
                        print("72")
                        if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                            print("Leg")
                            humanoid:TakeDamage(Config.LegDamage)
                        elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                            print("Arm")
                            humanoid:TakeDamage(Config.ArmDamage)
                        elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                            print("Torso")
                            humanoid:TakeDamage(Config.TorsoDamage)
                        elseif hit == Enum.BodyPartR15.Head then
                            print("Head")
                            humanoid:TakeDamage(Config.HeadDamage)
                        end
                    elseif not Config.BodyDamage and Config.DamageNormal then
                        print("73")
                        humanoid:TakeDamage(Config.NormalDamage)
                    elseif not Config.BodyDamage and not Config.DamageNormal then
                        print("74")
                        return
                    elseif Config.BodyDamage and Config.DamageNormal then
                        print("75")
                        return
                    end
                elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
                    print("76")
                    if Config.BodyDamage and not Config.DamageNormal then
                        print("77")
                        if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                            print('Leg')
                            humanoid:TakeDamage(Config.LegDamage)
                        elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                            print("Arm")
                            humanoid:TakeDamage(Config.ArmDamage)
                        elseif hit == Enum.BodyPart.Torso then
                            print('Torso')
                            humanoid:TakeDamage(Config.TorsoDamage)
                        elseif hit == Enum.BodyPart.Head then
                            print("Head")
                            humanoid:TakeDamage(Config.HeadDamage)
                        end
                    elseif not Config.BodyDamage and Config.DamageNormal then
                        print("78")
                        humanoid:TakeDamage(Config.NormalDamage)
                    elseif not Config.BodyDamage and not Config.DamageNormal then
                        print("79")
                        return
                    elseif Config.BodyDamage and Config.DamageNormal then
                        print("80")
                        return
                    end
                end
            end
        else
            print('81')
            return
        end
    elseif not Config.CanHitPlayer and not Config.CanHitNpc then
        print("82")
        return
    elseif Config.CanHitPlayer and Config.CanHitNpc then
        print("83")
        if humanoid.RigType == Enum.HumanoidRigType.R15 then
            print("84")
            if Config.BodyDamage and not Config.DamageNormal then
                print("85")
                if hit == Enum.BodyPartR15.RightFoot or hit == Enum.BodyPartR15.LeftFoot or hit == Enum.BodyPartR15.RightLowerLeg or hit == Enum.BodyPartR15.LeftLowerLeg or hit == Enum.BodyPartR15.RightUpperLeg or hit == Enum.BodyPartR15.LeftUpperLeg then
                    print("Leg")
                    humanoid:TakeDamage(Config.LegDamage)
                elseif hit == Enum.BodyPartR15.RightHand or hit == Enum.BodyPartR15.LeftHand or hit == Enum.BodyPartR15.RightLowerArm or hit == Enum.BodyPartR15.LeftLowerArm or hit == Enum.BodyPartR15.RightUpperArm or hit == Enum.BodyPartR15.LeftUpperArm then
                    print("Arm")
                    humanoid:TakeDamage(Config.ArmDamage)
                elseif hit == Enum.BodyPartR15.UpperTorso or hit == Enum.BodyPartR15.LowerTorso then
                    print("Torso")
                    humanoid:TakeDamage(Config.TorsoDamage)
                elseif hit == Enum.BodyPartR15.Head then
                    print("Head")
                    humanoid:TakeDamage(Config.HeadDamage)
                    end
                end
        elseif humanoid.RigType == Enum.HumanoidRigType.R6 then
            print("86")
            if Config.BodyDamage and not Config.DamageNormal then
                print("87")
                if hit == Enum.BodyPart.RightLeg or hit == Enum.BodyPart.LeftLeg then
                    print("Leg")
                    humanoid:TakeDamage(Config.LegDamage)
                elseif hit == Enum.BodyPart.RightArm or hit == Enum.BodyPart.LeftArm then
                    print("Arm")
                        humanoid:TakeDamage(Config.ArmDamage)
                elseif hit == Enum.BodyPart.Torso then
                    print("Torso")
                    humanoid:TakeDamage(Config.TorsoDamage)
                elseif hit == Enum.BodyPart.Head then
                    print("Head")
                    humanoid:TakeDamage(Config.HeadDamage)
                    end
                end
            end
        end
end)


RemoteEvents[4].OnServerEvent:Connect(function()
	newHitbox:HitStart()
end)

RemoteEvents[3].OnServerEvent:Connect(function()
	newHitbox:HitStop()
end)

RemoteEvents[1].OnServerEvent:Connect(function()
    Values[3].Value += 1
end)

RemoteEvents[2].OnServerEvent:Connect(function()
    Values[3].Value = 0
end)

Huh? What’s humanoid.ArmorAmount?

For now change all of those lines to print(humanoid.Health)