When I try
local texts ={ "TestMessage 1", "TestMessage 2" } wait(8) for i = 1,#texts do script.Parent.Text = string.sub(texts,1,i) wait(0.1) end
it won't work while it work before I added the second one.
local text = "test message" wait(8) for i = 1,#text do script.Parent.Text = string.sub(text,1,i) wait(0.1) end
Is there any way to fix?
Firstly, I noticed you we're using an Array of Text Strings so before, we can do anything. We will need to require those messages by using a simple method:
for i,v in pairs(Sayings) do -- Gathering all the Messages typed in the Array.
We will also need to determine how fast the message is typed by using:
for i = 1, #v.Text do -- Determines Typed Amount.
Now, we can begin on the UI stuff and making the message type out. We can achieve this by using:
script.Parent.Text = string.sub(v.Text, 1, i) -- Type the Message Out wait(0) -- This will determine the speed of the text, you can change this to whatever you want.
That is all that sorted and your final code should look like this:
local UI = script.Parent local debounce = false local Sayings = { {Text = "Hello, I am a test message 1"}, {Text = "Hello, I am a test message 2"}, {Text = "Hello, I am a test message 3"}, } wait(5) -- Wait before Starting for i,v in pairs(Sayings) do -- Gathering all the Messages typed in the Array. wait(3) -- How long to Wait Before Messages for i = 1, #v.Text do -- Determines Typed Amount. script.Parent.Text = string.sub(v.Text, 1, i) -- Type the Message Out wait(0) -- This will determine the speed of the text, you can change this to whatever you want. end end
I hope this helped you out.