Code I have so far:
local OriginalPos = Vector3.new(5.497, 0.312, -7.312)
script.Parent.ClickDetector.MouseClick:Connect(function()
script.Parent.Position = Vector3.new(5.497, 0.248, -7.312)
wait(0.25)
script.Parent.Position = OriginalPos
script.Parent.Parent.Light.PointLight.Enabled = true
script.Parent.Parent.Light.Material = Enum.Material.Neon
end)
script.Parent.ClickDetector.MouseClick:Connect(function()
script.Parent.Position = Vector3.new(5.497, 0.248, -7.312)
wait(0.25)
script.Parent.Position = OriginalPos
script.Parent.Parent.Light.PointLight.Enabled = false
script.Parent.Parent.Light.Material = Enum.Material.Plastic
end)
So when I press the button, the lamp turns on (PointLight enables) and the Material changes to neon. But I press it again and then it stays on and it's still neon! The button moves, but nothing turns off when it's clicked.

3 comments
Use a debounce
i didnt think it would use a debounce but ill try it
you can just use the not operator: script.Parent.Parent.Light.PointLight.Enabled = not script.Parent.Parent.Light.PointLight.Enabled