I have been playing around with a typewriter script to make many different other things, but when it comes to using math.random in them, it messes up the way it works.
In this script, when math.random is applied, it will only print the first few characters and then stop completely without giving any errors. This is currently running from a local script as it is in a gui which filtering enabled automatically clones to the player.
The script is:
local Choices= {"Choice 1","Choice 2"}
for i = 1, #Choices do
script.Parent.frame.Title.Text = string.sub("We have picked: "..text[math.random(1,#Choices)],1,i)
wait()
end
Thanks.

4 comments
Thank you, this worked very well.
Fact: You should be using the new data type Random; To generate random integers, you do Random.new():NextInteger(min,max). To generate random decimals, you do Random.new():NextNumber(min,max). Using Random is much faster (as it uses a different algorithm) than math.random()
Ah okay, I didn't really understand Random.new, I did now with this comment. Thank you.
Your welcome. (By the way you can do local seed = Random.new(tick()) like math.randomseed(tick()) then use seed:NextInteger() or seed:NextNumber() without typing in Random.new() a lot of times)