( Checkpoint11 is not a valid member of Workspace "Workspace" ). Any help?

I have a Stages system in my obby game, but whenever I start the game, I see an error in the output saying Checkpoint11 is not a valid member of Workspace “Workspace”, though all the other parts of the LocalScript work.

Here’s the part that isn’t working:

local Stage11 = game.Workspace.Checkpoint11
Stage11.Touched:Connect(function()
	script.Parent.Text = "Stage 11/250 (4.4%)"
end)

Any help?

Try this:

local Stage11 = game.Workspace:WaitForChild("Checkpoint11")
Stage11.Touched:Connect(function()
	script.Parent.Text = "Stage 11/250 (4.4%)"
end)

Check if the spelling on Checpoint11 matches to the script

1 Like

I know, I already tried that. When I tried that and started the game, I see the same error with a different checkpoint. Should I do the same with this different checkpoint?

You should do it with all the checkpoints you have on your game.

1 Like

And will it work without any problems?

Let’s say that a player played the game and reached checkpoint 10, and then he left the game. He rejoined and he was still on checkpoint 10. Will he have to come back to checkpoint 1 and repass the stages in order for the stages system to work as intended or will it work without doing that?

This is what your script does:

local Stage11 = game.Workspace.Checkpoint11 --Locates Checkpoint
Stage11.Touched:Connect(function()
	script.Parent.Text = "Stage 11/250 (4.4%)" -- Changes the GUI text whenever something touches the checkpoint
end)

This script will not:

  • Make the player respawn on checkpoint
  • Save progress whenever he leaves and rejoins

Which means that instead of Checkpoints, the definition of these parts are “Parts that change a text whenever they’re touched by anything”

1 Like

WHAAAAAAAAAT. IT WON’T SAVE THEIR PROGRESS??

Well should I use " WaitForChild " in order t o make the player respawn on checkpoints and save progress and work without any problems?

“WaitForChild” has nothing to do with saving progress.

WaitForChild is pretty self-explanatory: Waits for a child to appear inside of the Parent.
Sometimes, Parts don’t load instantly, which the scripts detect that “The part does not exist”. WaitForChild waits the part to load till it’s loaded. If the part does not load, you’ll see a warn on your output saying “Infinite yield” indicating that WaitForChild gave up waiting.

Yea I saw Infinite Yield on checkpoint11.

So should I use WaitForChild? Yes or no?

If you see an InfiniteYield on Checkpoint11 means that the part that WaitForChild is waiting for doesn’t exist. Check if the Checkpoint11 part is exactly written “Checkpoint11”, same as on the script.

Alright thank you!

[30lettersblahblah]

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.