I need help with scripting Screen Gui element in obby!

I am making myself a Difficulty Chart Obby and I have faced an issue. I want arrows at the top of the screen to go back and forth throughout the stages you already unlocked. This may be helpful for you to know but I have a model in workspace holding all the checkpoints named by number (1, 2, 3, etc.). I have a slight understanding of how it might work but I don’t know how to script it. I am new to scripting and Roblox itself. I started in 2020!

Here is a game with what I want (look up on the screen): Arenoir's Difficulty Chart Obby - Roblox?

I haven’t found any unless I have been searching the wrong things. If you find a link on YouTube or something, please tell me the link so I can go check it out.

From TwinPlayzDev_YT if you’re unsure.

Can you possibly send the link to the topic or video you are talking about?

That’s just the YouTube link. Do you have the specific video link?

So basically you want to have a forward arrow and backward arrow to teleport you to the next stage or stage before?

Yes, and only with the stages you’ve reached/unlocked.

I would suggest using RunService, to update the arrow CFrame every time that the player unlocks a new stage.

local RunService = game:GetService("RunService");

RunService.RenderStepped:Connect(function()
     --> Here would be your code, to update the Arrow CFrame to the current Stage pad.
end)

I don’t know what RunService is, can you give me a brief description please?

just make a NumberValue that changes when you press it like this:
this generates the NumberValue

game.Players.PlayerAdded:Connect(function(plr)
local NumberValue = instance.new("NumberValue")
NumberValue.Value = 1
NumerValue.Name = "StageSelect"
NumberValue.Parent = plr
local NumberValue2 = instance.new("NumberValue")
NumberValue2.Value = 1
NumerValue2.Name = "Stages"
NumberValue2.Parent = plr
end)

and this is for changing it (Make this a local script and place it in the Button):

local plr = game.Players.LocalPlayer
script.Parent.MouseButton1Click:Connect(function()
if plr:FindFirstChild("StageSelect").Value <= plr:FindFirstChild("Stages").Value then
plr.StageSelect.Value = plr.StageSelect.Value + 1 --you can also do minus if its the backwards button.
end

end)

if you need more help just message me