Yes.
This s quite simple actually.
All you need to do is raycast.
Plr = Game.Players.LocalPlayer
Ray = Ray.new(
(Plr.Character.Torso.CFrame*CFrame.new(0, 0, 0)).p,
(Game.Workspace.BillBoardPart.CFrame*CFrame.new(0,0,0)).p
)
And now, detect the distance.
local hit, position = game.Workspace:FindPartOnRay(Ray, Plr.Character)
Dist = (Plr.Character.Torso.Position - position).Magnitude
Now, we disable/enable it.
if Dist > 500 then
Game.Workspace.BillBoardPart.BillboardGui.Enabled = false
elseif Dist < 500 then Game.Workspace.BillBoardPart.BillboardGui.Enabled = true
end
And we're done.
Plr = Game.Players.LocalPlayer
Ray = Ray.new(
(Plr.Character.Torso.CFrame*CFrame.new(0, 0, 0)).p,
(Game.Workspace.BillBoardPart.CFrame*CFrame.new(0,0,0)).p
)
local hit, position = game.Workspace:FindPartOnRay(Ray, Plr.Character)
Dist = (Plr.Character.Torso.Position - position).Magnitude
if Dist > 500 then
Game.Workspace.BillBoardPart.BillboardGui.Enabled = false
elseif Dist < 500 then Game.Workspace.BillBoardPart.BillboardGui.Enabled = true
end