The tool basically creates an anchor where you click and it proceeds with other functionality and what not. The game I'm using this tool is most definitely requires the tool to work well with terrain. The problem is in the first few lines the code suggests a maximum distance from where an anchor can be created. However, when interacting with terrain this limit is essentially ignored as it can be manipulated to be placed much much further than this limit of "2".
This is the chunk from where I assume the problem is happening, while creating an "anchor"
TOOL.Equipped:connect(function(MOUSE)
INSTRUCTIONS.Visible = false --Shows the instructions GUI
MOUSE.Button1Down:connect(function()
if LPLAYER:DistanceFromCharacter(UserMouse.Hit.p) > 2 then --Distance anchor can be made from
print('Realistically you couldnt anchore yourself from that far.')
else
if Anchor ~= nil then
if WORKSPACE:FindFirstChild(Anchor.Name) ~= nil then
print('Anchor point already exist, please remove current one.')
return
else
local MTarget = MOUSE.Target
if MTarget == nil then
NOTIFY:TweenPosition(UDim2.new(0.5,-113,0.5,-10), 'InOut', 'Quad', 1, false)
wait(4)
NOTIFY:TweenPosition(UDim2.new(0.5,-113,1.2,-10), 'InOut', 'Quad', 1, false)
wait(4)
elseif MTarget.Name == 'Terrain' then --Anchor ignores the distance cap when placed on smooth terrain...
MouseTarget = MOUSE.Hit.p
Anchor = CreateAnchor()
Rope = CreateRope()
else
MouseTarget = MOUSE.Target.Position
Anchor = CreateAnchor()
Rope = CreateRope()
end
end
else
local MTarget = MOUSE.Target
if MTarget == nil then
NOTIFY:TweenPosition(UDim2.new(0.5,-113,0.5,-10), 'InOut', 'Quad', 1, false)
wait(4)
NOTIFY:TweenPosition(UDim2.new(0.5,-113,1.2,-10), 'InOut', 'Quad', 1, false)
wait(4)
elseif MTarget.Name == 'Terrain' then --Anchor ignores the distance cap when placed on smooth terrain...
MouseTarget = MOUSE.Hit.p
Anchor = CreateAnchor()
Rope = CreateRope()
else
MouseTarget = MOUSE.Target.Position
Anchor = CreateAnchor()
Rope = CreateRope()
end
end
end
end)
