Touched part to detect AngularVelocity changing to 0

I’m working on a spinner system and I want the touched part to detect when the AngularVelocity of the spinner’s HingeConstraint is set to 0. I have another script that starts the Angular Velocity to -30 (the spinner is spun clockwise) before gradually slowing down to 0. I have only been able to get the script for the letter to be passed through but not landed when AV is set to 0 by my other script.

local arrow = game.Workspace["Spinning Top"].spinnerarrow --the arrow of the spinner
local spinner = game.Workspace["Spinning Top"].Sphere.HingeConstraint.AngularVelocity --the spinner's speed
local letter1 = script.Parent
local letter1touch = script.Parent.Letter1touch --the part that the spinner touches

letter1touch.Touched:connect(function(land)
	if spinner == -30 then 
		print("Letter 1 has been touched") --the letter has passed through
	elseif spinner == 0 then
		print("Letter 1 landed") --the arrow has stopped at the letter
	end
end)

Is there something that I forgot to add or am I doing something wrong here?

Try detecting an axis:

local spinner = game.Workspace["Spinning Top"].Sphere.HingeConstraint.AngularVelocity
local letter1 = script.Parent
local letter1touch = script.Parent.Letter1touch

letter1touch.Touched:connect(function(land)
	if spinner.X == -30 then --change X to whatever the axis is (X, Y, Z).
		print("Letter 1 has been touched")
	elseif spinner.X == 0 then --change X to whatever the axis is (X, Y, Z).
		print("Letter 1 landed")
	end
1 Like