Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

Can you limit the amount of studs away you can see a billboard gui?

I have an image label in a billboard gui. I don't want players to be able to see it from a far distance. Is there any way to do this? If not, is there something else I could try that's not a billboard gui but will act like one?

After reading another post, I have now learned that I can use the DistanceFromCharacter() function. I have never used this, so how might the script look to limit the player's ability from seeing the billboard gui 100 studs away?

1 answer

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 --Wherever the part containing the billboard is.
)

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 --500 = the distance
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 --Wherever the part containing the billboard is.
)

local hit, position = game.Workspace:FindPartOnRay(Ray, Plr.Character)
Dist = (Plr.Character.Torso.Position - position).Magnitude

if Dist > 500 then --500 = the distance
Game.Workspace.BillBoardPart.BillboardGui.Enabled = false
elseif Dist < 500 then Game.Workspace.BillBoardPart.BillboardGui.Enabled = true
end

This discussion is preserved as it was. New answers, comments, and votes are closed.