part.Touched triggering

You misspelled FindFirstChild.

1 Like

with or without the debounce, the player still takes damage, even if the value is set to false. And the issue is still the same

Check my code, I even made a video showcasing it.

it didnt work before you edited it, let me try it out!

Also, remember that you have to change the local value = true so that it works.

yeah i just noticed it, thanks!

Just do “if value then” not “if value == true”

That isn’t what he’s looking for.

Try using ZonePlus by the HD Admin dude.

You don’t need ZonePlus for this simple of a script.

He should follow the devforum rules more clearly so people don’t get confused about what he needs

you simply didnt read the description well

1 Like

the damage being dealt more than once had to do with my script (which isnt inside the part) if it worked for you. so i moved it to the part, and it still does the same thing

also in these lines

local value = false
	if hit.Parent:FindFirstChild("Humanoid") then -- checks if its a character
		if hit.Parent.Name == name then -- checks if the character's name matches up with the name earlier
			if value == true then

I never set the value to true, yet it still activated?

Sorry you have no respect (something you can learn). I have supported you and your script as this is scripting support. I fixed an issue I saw and you didn’t therefore you should show even more gratitude. I hope for your sake that you did not mean impertinence in that message

Can you send me the whole code that you copied? because that is not supposed to happen.

i meant no offence with what i said, i thought you were replying to this part.Touched triggering - #9 by Katrist
I double checked and you were not, Sorry ;/

script.Parent.Touched:Connect(function(hit)
	local name = hit.Parent.Name
	local value = false
	if hit.Parent:FindFirstChild("Humanoid") then -- checks if its a character
		if hit.Parent.Name == name then -- checks if the character's name matches up with the name earlier
			if value == true then
				print("a") -- for bug testing
				hit.Parent.Humanoid:TakeDamage(20) -- deals damage
				script.Parent:Destroy() -- destroys part
			end
		end
	end
end)

i confused a few things, it seems to be working properly now. i appreciate your help!

local part = workspace.Part
local debounce = false

part.Touched:Connect(function(hit)
	if hit.Parent:FindFirstChild("HumanoidRootPart") then
		local humanoid = hit.Parent:FindFirstChild("Humanoid")
		if debounce then
			return 
		end
		debounce = true
		humanoid:TakeDamage(20)
		task.wait(0.25)
		part:Destroy()
		debounce = false
	end
end)