It works in studio, but outside studio it does not work. The error is on line 20
I get this error in Server Log:
Infinite yield possible on 'Players.Nanaluk01.PlayerGuiWaitforChild("ChatGui")' Script 'ServerScriptService.Chat', Line 20
How can I fix this?
Here Is The Coding:
Please Note: -The Error Lies On Line 20 -The .Fr you can see is Frame. I don't know why it disappears in this question.
function UpdateOldLabels(Parent) for i,v in pairs(Parent:GetChildren()) do if v.Name:sub(1,4):lower() == "line" then local LineNumber = v.Name:sub(5) if LineNumber == "7" then v:Destroy() else v.Name = "line"..tostring(tonumber(LineNumber) + 1) v.Position = v.Position - UDim2.new(0,0,0,15) end end end end game.Players.PlayerAdded:connect(function(player) for _,v in ipairs(game:GetService("Players"):GetChildren()) do wait(1) UpdateOldLabels(v:WaitForChild("PlayerGui"):WaitForChild("ChatGui").Frame) if player then newchatline = Instance.new("TextLabel",v:WaitForChild("PlayerGui").ChatGui.Frame) newchatline.Text = "[Server] "..player.Name.. " Has Joined The Server!" newchatline.Size = UDim2.new(1,0,0,20) newchatline.Position = UDim2.new(0,0,1,-15) newchatline.Font = "ArialBold" newchatline.TextStrokeTransparency = 1 newchatline.BackgroundTransparency = 1 newchatline.BorderSizePixel = 0 newchatline.FontSize = "Size18" newchatline.TextXAlignment = "Left" newchatline.TextYAlignment = "Top" newchatline.ClipsDescendants = true newchatline.Name = "line1" newchatline.TextColor3 = Color3.new(1,1,1) end end UpdateOldLabels(game:GetService("StarterGui").ChatGui.Frame) newchatline:Clone().Parent = game:GetService("StarterGui").ChatGui.Frame player.Chatted:connect(function(msg) for _,v in ipairs(game:GetService("Players"):GetChildren()) do UpdateOldLabels(v:WaitForChild("PlayerGui").ChatGui.Frame) newchatline = Instance.new("TextLabel",v:WaitForChild("PlayerGui").ChatGui.Frame) newchatline.Text = player.Name..": "..msg newchatline.Size = UDim2.new(1,0,0,20) newchatline.Position = UDim2.new(0,0,1,-15) newchatline.Font = "ArialBold" newchatline.TextStrokeTransparency = 1 newchatline.BackgroundTransparency = 1 newchatline.BorderSizePixel = 0 newchatline.FontSize = "Size18" newchatline.TextXAlignment = "Left" newchatline.TextYAlignment = "Top" newchatline.ClipsDescendants = true newchatline.Name = "line1" newchatline.TextColor3 = Color3.new(1,1,1) end UpdateOldLabels(game:GetService("StarterGui").ChatGui.Frame) newchatline:Clone().Parent = game:GetService("StarterGui").ChatGui.Frame end) end)
That isn't an error, it's a warning.
Basically, WaitForChild
will yield forever until the thing you're looking for is found. That is what 'infinite yield possible' means.
To 'fix' it, use the optional second argument of WaitForChild
: the timeout (in seconds). If you want an infinite yield, which you don't, use math.huge
. I suggest something around 20 seconds.
i get this weird error how do i gonna fix it hapend on a crash
19:32:18.826 - Infinite yield possible on 'Workspace.crazygamespp:WaitForChild("Right Arm")' 19:32:18.826 - Stack Begin 19:32:18.829 - Script 'ServerScriptService.CombatHandler', Line 16 19:32:18.829 - Stack End
picture here https://i.imgur.com/3G2zFq3.png