
Код AS1/AS2:
function runclip() {
var ci = Math.floor(Math.random()*4);
if (ci == 1 || ci==4) { // это вопервых
this.gotoAndPlay(9);
}
else if (ci == 2) {
this.gotoAndPlay(18);
}
else {
this.gotoAndPlay(2);
}
}
ti = setInterval(runclip, Math.floor(Math.random()*2500)+3000); // во вторых
Добавлено через 4 минуты
возможно у вас ошибка в том что !ti и ti быстро меняются, но я не вижу всего кода. А по теме

Код AS1/AS2:
var ti2 = Math.floor(Math.random()*2000)+5000;
зачем внутри runClip дублируется не ясно!!! это *****_код , тоесть вы пишите лишнее, которое даж работать не будет. В моем приведенно коде интервал поменяется тока 1 раз. если хотите менять постоянно то :

Код AS1/AS2:
var ti2 = Math.floor(Math.random()*2500)+3000;
function runclip() {
var ci = Math.floor(Math.random()*4);
if (ci == 1 || ci==4) { // это вопервых
this.gotoAndPlay(9);
}
else if (ci == 2) {
this.gotoAndPlay(18);
}
else {
this.gotoAndPlay(2);
}
ti2 = Math.floor(Math.random()*2500)+3000; // заметим что без var !!!
}
ti = setInterval(runclip, ti2); // во вторых