Here is my current code, its in local script .
local frame = script.Parent
local text = script.Parent:WaitForChild("TextLabel")
for i=1,5 do
text.Text = "Loading Story Mode (1%)"
wait(1)
text.Text = "Loading Story Mode (5%)"
wait(1)
text.Text = "Loading Story Mode (15%)"
wait(1)
text.Text = "Loading Story Mode (20%)"
wait(1)
text.Text = "Loading Story Mode (25%)"
wait(1)
text.Text = "Loading Story Mode (30%)"
wait(1)
text.Text = "Loading Story Mode (35%)"
wait(1)
text.Text = "Loading Story Mode (40%)"
wait(1)
text.Text = "Loading Story Mode (45%)"
wait(1)
text.Text = "Loading Story Mode (50%)"
wait(1)
text.Text = "Loading Story Mode (55%)"
wait(1)
text.Text = "Loading Story Mode (60%)"
wait(1)
text.Text = "Loading Story Mode (65%)"
wait(1)
text.Text = "Loading Story Mode (70%)"
wait(1)
text.Text = "Loading Story Mode (75%)"
wait(1)
text.Text = "Loading Story Mode (80%)"
wait(1)
text.Text = "Loading Story Mode (85%)"
wait(1)
text.Text = "Loading Story Mode (90%)"
wait(1)
text.Text = "Loading Story Mode (95%)"
wait(1)
text.Text = "Loading Story Mode (99%)"
wait(1)
text.Text = "Loading Story Mode (100%)"
end
frame:TweenPosition(UDim2.new(-1,0,0,0),"In","Quart")

2 comments
your code does exactly what you program it to do, so what that does is print the loading from 1% to 100% 5 times
I don't this you understand how for loops work. Please take a look at this: https://developer.roblox.com/articles/Roblox-Coding-Basics-Loops