# ? about movieClip.duplicateMovieClip with (for) loop

**URL:** <https://forum.kirupa.com/t/about-movieclip-duplicatemovieclip-with-for-loop/57697>\
**Category:** Uncategorized\
**Created:** [July 15, 2004, 12:36pm UTC](https://forum.kirupa.com/t/about-movieclip-duplicatemovieclip-with-for-loop/57697 "2004-07-15T12:36:49Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![beenetto](https://avatars.discourse-cdn.com/v4/letter/b/c2a13f/32.png) [@beenetto](https://forum.kirupa.com/u/beenetto)\
**Post date:** [July 15, 2004, 12:36pm UTC](https://forum.kirupa.com/t/about-movieclip-duplicatemovieclip-with-for-loop/57697/1 "2004-07-15T12:36:49Z")

</div>

my question is tha why some values of duplicated movie clips trace back as UNDIFINED if the trace  
is assigned to a onPress function, but if its outside of the function than it traces back normaly.  
Im trying generate bottons for pictures depending on a number from a variable and I need to number the buttons so they will pull out the right  
picture.  
Well, here is the script:

[FONT=Lucida Console]  
c = 1;  
function btnDup() {  
for (v=1; v\<pics; v++) {  
\_root.c++;  
p\_btn.duplicateMovieClip(“p”+c+"\_btn", v);  
setProperty(“p”+v+"\_btn", \_x, \_root.p\_btn.\_x += 18);  
\_level0[“p”+v+"\_btn"].tmb = v;  
}  
if (c\>=pics) {  
valuesAssigned = true;  
}  
}  
picGal\_mc.onRelease = function() {  
if (picsLoaded) {  
btnDup();  
if (valuesAssigned) {  
for (v=1; v\<pics; v++) {

```
	_level0["p"+v+"_btn"].onPress = function() {
			trace(_level0["p"+v+"_btn"].tmb);
			}
			
		}
	}
}

```

};[/FONT]

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [July 15, 2004, 8:31pm UTC](https://forum.kirupa.com/t/about-movieclip-duplicatemovieclip-with-for-loop/57697/2 "2004-07-15T20:31:37Z")

</div>

check that tam **value** is asigned (after line 6: **\_level0[“p”+v+"\_btn"].tmb = v;**) and try this: **trace(this.tmb);** instead **trace(\_level0[“p”+v+"\_btn"].tmb);** at line 20
