I just need to make a simple crawling text going from right to left of the screen that needs to repeat for 30 seconds and im having trouble with it. Im driving the move with "time" and tried an "if" statement saying when x reaches "off the screen", "jump back to the other side of the screen + time" but that wasnt working, probably need a "while" statement, but then was playing with Modulus and got my first piece of text working correctly but the next line following it jumps back at the same time even though its still on screen so how can i delay that?
Modulo would be the way to go.
However you need to find out the width of the layer to have an accurate expression, and that is not possible via expressions.
You can find out the width of a text-layer by hand: by editing the scale value and changing the units from % to pixels. Copy/paste that value to the first line of the expression.
I've set up the script so you can drag the text-layer to change it's vertical position.
I'm not sure what you mean with "the next line" Is this a multi-paragraph text-string and after 30 seconds, should the second line begin scrolling. Or do you just mean, a different loop-animation you need separate with a different length of text ?
textWidth= 9385; // width in pixels of the textlayer
crawlTime = 30;