So, I have a while true loop and part of it, is this:
while true do MScreen = game.Lighting.MurderScreen:Clone() MScreen.Parent = V.PlayerGui repeat wait() until MScreen.Parent == V.PlayerGui MScreen.Name = "MurderScreen" wait() repeat wait() print("Waiting") until MScreen:FindFirstChild("MurderType") -- ERROR LINE wait(10) end
whenever it goes a second time, it can never find MurderType but it always works the first time
Full script: (error at line 150)
if Re >= 2 then wait() while true do wait() local R = game.Workspace.InGame:GetChildren() local Re = #R if Re >= 2 then local pLayers = game.Workspace.InGame:GetChildren() if #pLayers ~= 0 then Picking.Visible = false Playeri.Visible = true Days.Visible = true Playeri.Text = "Players Left: " .. #pLayers local Time = game.Lighting.ClockTime Time = 12 while true do if Time >= 20 then break end if game.Workspace.Reported.Value == true then break end game.Lighting:SetMinutesAfterMidnight(Time*60) wait(0.1) Time = Time + 0.05 print(Time) end if game.Workspace.Reported.Value == true then game.Lighting.ClockTime = 12 for i,v in pairs(game.Players:GetChild()) do if v.Winner.Value == true then Winner = v.Name end end Days.Visible = false Playeri.Visible = false Picking.Text = Winner .. " found out who the murderer was" Picking.Visible = true wait(3) Picking.Text = "It was..." wait(3) Picking.Text = game.Workspace.Murderer.Value wait(2) game.Workspace.CoinGiver.Disabled = false repeat wait() until game.Workspace.CoinGiver.Disabled == false Days.Visible = false Playeri.Visible = false Picking.Text = "Everyone Now Gets Coins!!" Picking.Visible = true wait(3) break end if #IN >= 1 then for i,v in pairs(game.Workspace.DeadBody:GetChildren())do v:Remove() end end for i,v in pairs(game.Workspace.InGame:GetChildren()) do local V = game.Players:FindFirstChild(v.Name) V.PlayerGui.Black.Frame.In.Disabled = false V.PlayerGui.Black.Frame.Out.Disabled = true wait(5) if v.Name == game.Workspace.Murderer.Value then print("Found") local V = game.Players:FindFirstChild(v.Name) MScreen = game.Lighting.MurderScreen:Clone() MScreen.Parent = V.PlayerGui repeat wait() until MScreen.Parent == V.PlayerGui MScreen.Name = "MurderScreen" local Players = game.Workspace.InGame:GetChildren() local Ran1 = math.random(1,#Players) local P1 = Players[Ran1] local Ran2 = math.random(1,#Players) local P2 = Players[Ran2] local Ran3 = math.random(1,#Players) local P3 = Players[Ran3] wait(10) if P1.Name == game.Workspace.Murderer.Value then while true do wait() local Ran1 = math.random(1,#Players) local P1 = Players[Ran1] if P1.Name ~= game.Workspace.Murderer.Value then MScreen.Players.Player1.Text = P1.Name MScreen.Players.Player1.PlayerName.Value = P1.Name break end end else MScreen.Players.Player1.Text = P1.Name MScreen.Players.Player1.PlayerName.Value = P1.Name end if P2.Name == game.Workspace.Murderer.Value or P1.Name then while true do if #Players <= 2 then MScreen.Players.Player2.Text = "Eliminated" break end wait() local Ran2 = math.random(1,#Players) local P2 = Players[Ran2] if P2.Name ~= game.Workspace.Murderer.Value and P2.Name then MScreen.Players.Player2.Text = P2.Name MScreen.Players.Player1.PlayerName.Value = P1.Name break end end else MScreen.Players.Player2.Text = P2.Name MScreen.Players.Player2.PlayerName.Value = P2.Name end if P3.Name == game.Workspace.Murderer.Value or P2.Name then while true do if #Players <= 3 then MScreen.Players.Player3.Text = "Eliminated" break end wait() local Ran3 = math.random(1,#Players) local P3 = Players[Ran2] if P3.Name ~= game.Workspace.Murderer.Value and P3.Name then MScreen.Players.Player3.Text = P3.Name MScreen.Players.Player1.PlayerName.Value = P1.Name break end end else MScreen.Players.Player3.Text = P1.Name MScreen.Players.Player3.PlayerName.Value = P3.Name end local Murders = game.Lighting.KillingWays:GetChildren() local Ran1 = math.random(1,#Murders) M1 = Murders[Ran1] if #Murders >= 2 then local Ran2 = math.random(1,#Murders) M2 = Murders[Ran2] if #Murders >= 3 then local Ran3 = math.random(1,#Murders) M3 = Murders[Ran3] end end MScreen.MurderType.Option1.Text = M1.Value MScreen.MurderType.Option1.Type.Value = M1.Name print(M1.Value) if M2 ~= nil then if M2.Value == M1.Value then for i,v in pairs(game.Lighting.KillingWays:GetChildren()) do if v.Value ~= M1.Value then M2 = v end end end MScreen.MurderType.Option2.Text = M2.Value MScreen.MurderType.Option2.Type.Value = M2.Name end end if M3 ~= nil then print("VAUT") if M3.Value == M1.Value then for i,v in pairs(game.Lighting.KillingWays:GetChildren()) do if v.Value ~= M1.Value then if v.Value ~= M2.Value then M3.Value = v.Value print(M3.Value) end end end end repeat wait() print("Waiting") until MScreen:FindFirstChild("MurderType") --ERROR LINE ABOVE local MurderType = MScreen:WaitForChild("MurderType") MScreen:WaitForChild("MurderType").Option3.Text = M3.Value MScreen.MurderType.Option3.Type.Value = M3.Name if M3.Value == M2.Value then for i,v in pairs(game.Lighting.KillingWays:GetChildren()) do if v.Value ~= M1.Value then if v.Value ~= M2.Value then M3.Value = v.Value end end end end MurderType.Option3.Text = M3.Value MurderType.Option3.Type.Value = M3.Name end local MScreen = game.Players:FindFirstChild(game.Workspace.Murderer.Value).PlayerGui:WaitForChild("MurderScreen") end MScreen.MurderType.Option1.Script.Disabled = false MScreen.MurderType.Option2.Script.Disabled = false MScreen.MurderType.Option3.Script.Disabled = false MScreen.Players.Player1.Script.Disabled = false MScreen.Players.Player2.Script.Disabled = false MScreen.Players.Player3.Script.Disabled = false wait() MScreen.Enabled = true while true do wait() print("Waiting") if MScreen.Enabled == false then break end end MScreen:Remove() wait() print("Done") local IN = game.Workspace.DeadBody:GetChildren() for i,v in pairs(game.Workspace.InGame:GetChildren()) do local V = game.Players:FindFirstChild(v.Name) V.PlayerGui.Black.Frame.In.Disabled = true V.PlayerGui.Black.Frame.Out.Disabled = false end end else print("Disabled") game.Workspace.CoinGiver.Disabled = false repeat wait() until game.Workspace.CoinGiver.Disabled == false Days.Visible = false Playeri.Visible = false Picking.Text = "Giving Players Coins" Picking.Visible = true wait(3) break end end end