Why doesn't .Touched work on animation?

So .Touched doesnt seem to work on the animation, I even tested with normal part and it seem to work fine

print("ok")

script.Parent.Touched:Connect(function(Hit)
	print("ok2")
	if Hit == script.Parent.Parent.Parent.Pickaxe then
		script.Parent.Attachment.ParticleEmitter.Enabled = true
		wait(0.5)
		script.Parent.Attachment.ParticleEmitter.Enabled = false
	end
end)

here is the video showing it

You can just use animationevent to get the correct time of hitting the rock. And I’m pretty sure .Touched works on animations. You should check the collision and collisiongroup for the pickaxe.

1 Like

I might try animationevent later, but I still want to know why it doesnt fire a event after hitting. When I deleted the weld of the pickaxe to the hand and make it touch the rock, the event fired.
(there is nothing wrong with the collision)

.Touched event is very glitchy and outdated. You can use Workspace:GetPartsInPart(part) but that would require a for _, v in pairs() loop and a while wait() do loop around it.

2 Likes