I want some code to execute when a part is in a certain orientation.
What is the issue?
Even if the part is in the right orientation it won’t execute the code.
What solutions have you tried so far?
I’ve tried looking for solutions on the forum but none of the solutions seem to work.
Code:
if script.Parent.Parent == game.Workspace then
wait(5)
moveItem(Car, P1)
moveItem(Car, P2)
if Barrier.Orientation == Vector3.new(0.003, 90.003, -81.998) then
wait(0.5)
moveItem(Car, P3)
script.Parent:Destroy()
end
end
Your target orientation is way too specific. Because of the accuracy of numbers, comparing two marginally different Vectors or numbers (e.g 10.00001 ~= 10) won’t guarantee a 100% match.
Instead, try subtracting the current part’s orientation and your target orientation, and get their magnitude (or length). If the resulting magnitude is lower than a certain amount, you can somewhat say it is “exact”.
local isCloseToTargetOrientation = (Barrier.Orientation - Vector3.new(0.003, 90.003, -81,998)).Magnitude < 5