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

0

Is it in a local script or a server script?

0

^ 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.

0

This is a local script

0

How would you fix the infinite yield thing?