I'm having issues with Touched events

I decided to insert the following script into the crystal model (called “Clonable”):

local part = script.Parent.Crystal
local CurrencyToCollect = script.Parent.Parent.Parent.Parent.Essentials.CollectorParts.Display.CurrencyToCollect
local Amount = script.Parent.Parent.Parent.Parent.Essentials.CollectorParts.Display.GUI.Amount

local function onPartTouched(otherPart)
	print(part.Name .. " has touched " .. otherPart.Name)
	if otherPart.Name == "PartCollector" then
		CurrencyToCollect = CurrencyToCollect + script.Parent.MoneyValue.Value
		Amount.Text = CurrencyToCollect
		script.Parent:Destroy()
	end
end

part.Touched:Connect(onPartTouched)