salve, ho un bel problemino da sottoporvi

Ho un mc quadrato che voglio si duplichi fino a formare una grigia per coprire una foto. Ogni quadrato è 50x42 pixel e neella foto devono andarci 8x8 quadratini.

Riesco a duplicarlo in una riga impostando nel frame questa action (q è il nome di istanza del quadrato)

for (i=0; i<8; i++) {
lungox=_root.q._x+stepx;
stepx=50*i;
duplicateMovieClip("_root.q", "q"+i, i);
_root['q'+i]._x= lungox+50;
}

Così i miei quadratini si duplicano tranquillamente e sono proprio 8, ora se voglio che dopo l'ottavo "vada a capo" e ne duplichi altre 8 volevo trasformarlo così:
codice:
for (i=0; i<16; i++) {
	lungox=_root.q._x+stepx; 
	lungoy=_root.q._y+stepy;
	stepx=50*i;  //mi dice a che distanza dal primo posizionare il mc
	duplicateMovieClip("_root.q", "q"+i, i);
	_root['q'+i]._x= lungox+50; 
	if (i>8) {
		stepy=42;   //mi dice dove vanno piazzati i successivi 8 in altezza
		_root['q'+i]._x= lungox-400;  //per tornare come _x al punto di partenza
		_root['q'+i]._y= lungoy+42;
		}
	
	}
Però facendo così me ne mette 9 sulla prima riga, uno sulla seconda riga in posizione 2 e i restanti 6 in terza riga partendo dalla posizione lungo x giusta, cioè dalla terza.

A me sembrava un così bello script


Chi sa dirmi dove sbaglio?