Humanoid Touches another humanoid

I want to when a player touches an npc it dies

The Npc need to be cloned so there like 20 of them at once

right now they all just kill each other

local Boy = script.parent

local function onPartTouched(otherPart)
	local partParent = otherPart.Parent
	local humanoid = partParent:FindFirstChildWhichIsA("Humanoid")
	if humanoid then
	Boy.Humanoid.Health = 0
	end
end

Boy.HumanoidRootPart.Touched:Connect(onPartTouched)
1 Like

Touching the hrp can be hard. Consider changing it to UpperTorso or LowerTorso.

Wait a sec… how can someone touch something in replicated storage? Please show me your explorer, am confused.

Well if nothing happens then either you’re not touching the HumanoidRootPart or It’s not finding your humanoid you should print(humanoid) in the touched function and see if it’s nil when you touch it and print(otherpart) to see what it’s touching or if it’s touching also if you don’t want it to damage other npcs then you should check if the thing it’s touching either has a player so do something like

Also Yeah what he said above I’m not sure how it’s meant to be touching something in rep storage so that could be a issue but I also answered how you can make npcs only damage players

local FoundPlayer = Players:GetPlayerFromCharacter(partParent) 
if FoundPlayer then
  Humanoid:TakeDamage(50)
end

But his npc is in replicated storage… he should put it in workspace…

1 Like

Yeah he prob doesn’t understand how the touched event works and used a video so Idk how to help.

1 Like

Exactly. I don’t see the reason it doesn’t work, making a kill brick is like the basics of basics of basic scripting. The only cases where it doesn’t work is wrong parenting.

Firstly you would need to have something in the workspace to touch instead of it being in replicated storage. Other than that you could add a script to the Model(In this case “Boy”) and check if the Part you want being touched finds a humanoid AND if the touched part parent finds a player from the character using - "Players:GetPlayerFromCharacter(touched.Parent) "
If it finds a player from the model then kill the Model by setting the humanoid of said model to 0

1 Like

I have it in replicated storage because I need to clone it to make loads of them

Should I put it in workspace?

I have a folder in workspace which has all the spawns of the npc
the script takes from replicated storage and clones it all the spawns

Give me the pic of ur workspace please. Also to prevent lag consider putting them into server storage.

You’re using touched on a dummy which is in replicated storage, and if you clone it to workspace touched won’t register on the clone, as ur technically using touched in rs… so uh just make a script inside the dummy:

script.Parent.HumanoidRootPart.Touched:Connect(function(hit)
    if game.Players:GetPlayerFromCharacter(hit.Parent) then
        hit.Parent.Humanoid.Health = 0
    end
end)