This is a problematic script. I asked this question ~1 month ago, added WaitForChild to the second line, and that was that, everything was working fine again. However, the script broke again. It just doesn't work this time.
When the script is working, it brings up a GUI if someone's "Job" value is Job's default value. If the Job value is the name of the facility followed by the city it is in, it'll pay you for the delivery, add the miles you drove to the leaderstat, and reset everything. If your "Job" value is its default, it will create a random number between 1 and 3 and depending on that number it will update the GUI's text buttons and such with the properties of the job corresponding to that number.
There are no output errors or anything, it just doesn't work anymore. Does anyone know why?
math.randomseed(tick)
local Part = game.Workspace:WaitForChild("AugustaTidbitGreenSquare")
local Gui = game.Players.LocalPlayer.PlayerGui.AugustaTidbitScreenGui.Frame
Part.Touched:Connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid") then
if game.Players.LocalPlayer.Job.Value == "a" then
Gui.Visible = true
local number = math.random(3)
if number == 1 then
Gui.TextButton.Text = "SellGoods - Belfast ME"
Gui.TextLabelMoney.Text = "553"
Gui.TextLabel.Text = "46"
Gui.City.Value = "Belfast ME"
elseif number == 2 then
Gui.TextButton.Text = "SellGoods - Augusta ME"
Gui.TextLabelMoney.Text = "56"
Gui.TextLabel.Text = "1"
Gui.City.Value = "Augusta ME"
elseif number == 3 then
Gui.TextButton.Text = "Wallbert - Augusta ME"
Gui.TextLabelMoney.Text = "47"
Gui.TextLabel.Text = "2"
Gui.City.Value = "Augusta ME"
elseif game.Players.LocalPlayer.Job.Value == "Tidbit - Augusta ME" then
game.Players.LocalPlayer.leaderstats.Money.Value = game.Players.LocalPlayer.leaderstats.Money.Value + game.Players.LocalPlayer.ToBePaid.Value
game.Players.LocalPlayer.ToBePaid.Value = 0
game.Players.LocalPlayer.leaderstats.MilesDriven.Value = game.Players.LocalPlayer.leaderstats.MilesDriven.Value + game.Players.LocalPlayer.MilesToBeDriven.Value
game.Players.LocalPlayer.MilesToBeDriven.Value = 0
game.Players.LocalPlayer.Job.Value = "a"
game.Players.LocalPlayer.JobDestination.Value = "b"
end
end
end
end)

4 comments
Is it in a local script or a server script?
^ That comment is a good question, also if there are no errors - there could possible be an infinite yield on your WaitForChild in which case the warning takes a while to pop up.
This is a local script
How would you fix the infinite yield thing?