Animated buttons, external swfs, frame labels, better code - please advise!

I have three animated buttonMc’s with code like this on them…
[color=blue]
on (rollOver) {gotoAndPlay(2);
}
on (rollOut) {gotoAndPlay(8);
}
on (release) {gotoAndStop(16);
_root.mtClip.play();
_root.nextMc=“scene1.swf”;
if (_root.butt2MC._currentFrame == “16”) {
_root.butt2MC.gotoAndPlay(8);
}
if (_root.butt3MC._currentFrame == “16”) {
_root.butt3MC.gotoAndPlay(8);
}
_root.statusBox.text = “button 1 text”
}[/color]

First of all the animation works perfectly but the external swf’s can’t keep up with the user if they click too fast - how can I fix this?

Also, these buttonMC’s are on the stage but the code for them is inside each MC. The script tells each button to go to different frames to make each button animate to its appropriate state.

[color=#22229c]look at example —> [/color]

How can I rewrite the code to …
A) not reside in each button but on the main timeline
B) reference frame labels instead of frame numbers
c) not lose any functionality doing this…
d) at least load the swf’s properly play existing outro and load new intro…

Currently If I want to add five more buttons the code must be duplicated for each buttonMC and this seems really inefficient. This is the only way I have been able to make everything work though. any insights appreciated…

When referencing to other movie clips from the main timeline use the _root syntax:

onClipEvent(release) {
_root.butt1MC.gotoAndPlay("myFrame");
}

Let’s pretend there are 8 buttMC’s. butt1MC - butt8MC

[list]
[]on mouse over each one plays its animated rollover
[
]on mouse out each one plays its animated rollout (back to initial state
[]MC is release it goes to its “down” frame and if any others are down it reverts them back to their initial state.
[
]MC release also loads a movie into the container, plays the current movies “outro” and then plays the new movies intro
[*]MC release loads the dynamic text
[/list]Right now I have the code to do this located on each button but its redundant. How can I write the code so that all of these tasks are written with the least bit of code? The code you posted is helpful in knowing the syntax but it seems I will have to write a lot of code to handle all the tasks for each button. Any ideas