Ok now that I look at it I think it’s simply a logic error. The script should be
while task.wait() do
if workspace:FindFirstChild("someone") or workspace:FindFirstChild("someone else") then
print("found someone")
else
continue
end
end
FindFirstChild() checks if the object exists and if not returns false, allowing the script to continue. I assume when you use WaitForChild() one of the statements doesn’t match, causing the script to look for that object forever??
It’s also not needed to use WaitForChild() in a server script (in many cases, sometimes maybe) because everything should already load on the server
WaitForChild() does infact wait for an object to exist but in this case you’re using it in a loop so it should be FindFirstChild() because you’re looping until you find the object, you should use WaitForChild() in probably only variables for example
local Hi = workspace:WaitForChild("hi")
The way you made the script when it loops once when it tries to waitforchild It never finds it causing the loop to not loop