About the Module
After making a thread about my typewriter and getting a great answer I thought “why don’t I just upgrade it for use so anyone can use it easily” so here it is.
This module will individually write each letter in linear until the whole message given is wrote in the time requested, the module can play a sound for every letter written too. There’s also functions to pause and stop if ever needed.
When playing the typewriting while it is typewriting another text it shall completely stop the other process for the new process - that was mainly what my thread was about.
Documentation
Typewriter.new(textObj : Instance, yielding? : boolean, sound? : Instance)
Returns a writeObject for the textObject given, will be yielding if specified and shall play the sound if passed.
writeObject(text : string, timeToWrite : number, color? : Color3) -> boolean
If paused then will resume, otherwise starts typewriting to the textObject, in the time given.
Will set the TextColor3 to the color if given.
Returns if it completed writing without being overridden or stopped.
writeObject:play(text : string, timeToWrite : number, color? : Color3) -> boolean
Does the same as calling the writeObject (see above)
writeObject:pause()
Pauses the typewriting, until played again.
writeObject:stop()
Unpauses the typewriter and completely stops it.
writeObject:setYielding(bool : boolean)
Sets if the typewriting should yield.
writeObject:setSound(sound : Instance)
Sets the typing sound that should play.
writeObject:setTextObject(textObj : Instance)
Sets the Text object that it should typewrite upon.
Where you can get it
Either by getting it from the website or by requiring it’s id (require(4591774729)
)
Special thanks
A thanks again to @WoolHat for the WriteRequest idea.