-
What do you want to achieve? Keep it simple and clear!
I want to take damage from the humanoid.
-
What is the issue? Include screenshots / videos if possible!
The issue is that the script doesn’t work. Also it doesn’t print.
-
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:
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.
Try printing humanoid.Health
after humanoid:TakeDamage
Done. But again the same.
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.
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)