My goal here was to have the text keep on changing as you get closer to the part but only this part of the code works.
repeat wait() until game.Players.LocalPlayer.Character
while wait() do
for i,v in pairs(game.Players:GetChildren()) do
if (v.Character.Head.Position - game.Workspace.DEF.Torso.Position).magnitude <= 160 then
script.Parent.Frame.detect.Text = "Tiny amounts of Dark Energy Detected, be aware"
else
script.Parent.Frame.detect.Text = "No Dark Energy Detected"
end
end
end
The rest of the code doesn't work, what am I doing wrong here?
repeat wait() until game.Players.LocalPlayer.Character
while wait() do
for i,v in pairs(game.Players:GetChildren()) do
if (v.Character.Head.Position - game.Workspace.DEF.Torso.Position).magnitude <= 160 then
script.Parent.Frame.detect.Text = "Tiny amounts of Dark Energy Detected, be aware"
else
script.Parent.Frame.detect.Text = "No Dark Energy Detected"
end
end
end
while wait() do
for i,v in pairs(game.Players:GetChildren()) do
if (v.Character.Head.Position - game.Workspace.DEF.Torso.Position).magnitude <= 140 then
script.Parent.Frame.detect.Text = "Low amounts of Dark Energy Detected, advised leaving the area"
else
script.Parent.Frame.detect.Text = "Tiny amounts of Dark Energy Detected, be aware"
end
end
end
while wait() do
for i,v in pairs(game.Players:GetChildren()) do
if (v.Character.Head.Position - game.Workspace.DEF.Torso.Position).magnitude <= 120 then
script.Parent.Frame.detect.Text = "Dark Energy Detected, Leave area"
else
script.Parent.Frame.detect.Text = "Low amounts of Dark Energy Detected, advised leaving the area"
end
end
end
while wait() do
for i,v in pairs(game.Players:GetChildren()) do
if (v.Character.Head.Position - game.Workspace.DEF.Torso.Position).magnitude <= 100 then
script.Parent.Frame.detect.Text = "Lots of Dark Energy Detected, Leave area!"
else
script.Parent.Frame.detect.Text = "Dark Energy Detected, Leave area"
end
end
end
while wait() do
for i,v in pairs(game.Players:GetChildren()) do
if (v.Character.Head.Position - game.Workspace.DEF.Torso.Position).magnitude <= 80 then
script.Parent.Frame.detect.Text = "Large amounts of Dark Energy Detected, Leave area now!"
else
script.Parent.Frame.detect.Text = "Lots of Dark Energy Detected, Leave area!"
end
end
end
repeat wait() until game.Players.LocalPlayer.Character
while wait() do
for i,v in pairs(game.Players:GetChildren()) do
if (v.Character.Head.Position - game.Workspace.DEF.Torso.Position).magnitude <= 160 then
script.Parent.Frame.detect.Text = "Tiny amounts of Dark Energy Detected, be aware"
else
script.Parent.Frame.detect.Text = "No Dark Energy Detected"
end
end
end
while wait() do
for i,v in pairs(game.Players:GetChildren()) do
if (v.Character.Head.Position - game.Workspace.DEF.Torso.Position).magnitude <= 140 then
script.Parent.Frame.detect.Text = "Low amounts of Dark Energy Detected, advised leaving the area"
else
script.Parent.Frame.detect.Text = "Tiny amounts of Dark Energy Detected, be aware"
end
end
end
while wait() do
for i,v in pairs(game.Players:GetChildren()) do
if (v.Character.Head.Position - game.Workspace.DEF.Torso.Position).magnitude <= 120 then
script.Parent.Frame.detect.Text = "Dark Energy Detected, Leave area"
else
script.Parent.Frame.detect.Text = "Low amounts of Dark Energy Detected, advised leaving the area"
end
end
end
while wait() do
for i,v in pairs(game.Players:GetChildren()) do
if (v.Character.Head.Position - game.Workspace.DEF.Torso.Position).magnitude <= 100 then
script.Parent.Frame.detect.Text = "Lots of Dark Energy Detected, Leave area!"
else
script.Parent.Frame.detect.Text = "Dark Energy Detected, Leave area"
end
end
end
while wait() do
for i,v in pairs(game.Players:GetChildren()) do
if (v.Character.Head.Position - game.Workspace.DEF.Torso.Position).magnitude <= 80 then
script.Parent.Frame.detect.Text = "Large amounts of Dark Energy Detected, Leave area now!"
else
script.Parent.Frame.detect.Text = "Lots of Dark Energy Detected, Leave area!"
end
end
end

9 comments
Not trying to come out as rude, but, isn't that a little overkill? What do you think? (Incoming joke): you're not trying to create Frankenstein - are you?
Probably, but I really want to get this fixed sense I kinda just started to learn how to use magnitude now.
Well you started head-dive deep. Try using magnitude in other (smaller) scenarios. It will help you to continue your project, once you're more familiar with it.
How though?
Exactly. I suppose you could read more about it on the wiki... Tutorial videos are good.
Maybe someone with a little more free-time could help you, but it's (I would say 'above my paygrade') but I don't get paid. I'll leave it at that.
No tutorials that I found on magnitude showed how to set up more then one magnitude in a script.
The while loops are infinite, they don't break. In your case at least. The first loop needs to break for the second one to execute, and so on and so forth. I don't think you need so many loops but you could wrap each loop in a spawn
Like this? https://gyazo.com/dea68160888e97aca19b1425f6c02b0c