So this seems to have stopped working, it previously would make a part face another part. Any idea what’s wrong here? No errors.
[Edit: It seems that even though it prints out “running” the rest of the script isn’t executing?]
while true do
local p1 = script.Parent
local players = game:GetService("Players"):GetPlayers()
if #players == 0 then return end
local p2P = players[math.random(1,#players)]
local p2 = p2P.Character:WaitForChild("Head")
for i = 1,100 do
p1.CFrame = p1.CFrame:lerp(CFrame.new(p1.Position, p2.Position), i/100)
It’s returning when there’s no players.
Since games almost always start up with no players, this immediately exits the loop.
To fix, change the
return to a
continue and move the
task.wait(1) to the top of the loop (so it waits regardless of the player count).
You should also not assume the player always has a
.Character. You also don’t need to
WaitForChild, since the loop runs so often. Change the
WaitForChild line to something like this:
local character = p2P.Character
if not character then continue end
local p2 = character:FindFirstChild("Head")
if not p2 then continue end
Yea but it’s printing “running” which happens after the return, it’s in a loop so should it not continue looping until players are loaded?
continue is that something new?
continue is used in loops to go to the next iteration or goes back to the start of the loop.
while true do
local random = math.random
local condition = random > 0.5
if condition then
print("returns to the start")
print("reached the end")
Every second, the code makes a random number. If the number is more than 0.5 (which is 50%), then the loop would print whatever that is and will
continue, meaning the “reached the end” will not print. If the number is less than 0.5, then it will not
continue and it will print “reached the end”.
break is the same, except it completely stops or “breaks” the loop. But that is out of the question.
Good point. It could be that a player exists but their
nil on the
local p2 = ... line. I’m not sure though.
Anyways, I tested the code with the changes I suggested and it is working for me.
hmm I didn’t get any errors though for character. I’ll try your code.