I'm trying to make a teleport script with some areas by which the user can't teleport to. However, at the moment, i'm struggling to get the mouse to detect the area by which is blocked from the user so the user ends up teleporting to it.
Debounce = false
local mouse = script.Parent.Parent:GetMouse()
game:GetService('UserInputService').InputBegan:connect(function(input, gameprossed)
if not gameprossed then
if input.KeyCode == Enum.KeyCode.T and Debounce == false then
if mouse.Hit.p == ("No").Position then
print("No teleport")
else
Debounce = true
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Teleport = ReplicatedStorage:WaitForChild("Apparate")
Teleport:FireServer(mouse.Hit.p)
wait(2)
Debounce = false
end
end
end
end)
There's no errors in output + no print in the output..
Any ideas on how to overcome it?
Please don't suggest a script which teleports players out of the location if they go in there as it will ruin the aspect of them not being able to enter in the first place.
Thank you.

2 comments
What exactly is ("No").Position. And your issue might be that it doesn't know the No.position, or that when you click, it is just slightly above that position and doesn't count it. It should be a range, not a single position. Hope this helps.
Yes sorry, I forgot to state that "No" was the part. However, I like your idea but i'm unsure but what you mean by using a range instead of a single position. If you could possibly show an example it may help me to understand on how to overcome this. :)