Im a bit unclear if u needed to run perform commands later, or if u were just thinking of that as a way to get them done after your script was completed.

Using mirc 6.17 you could insert a alias call to HOLD.PERFORM.HERE (you use what ever alias name u like) as the first perfrom line and it well hold up any of the others tell you exclusively inform it to carry on.

echo -a OK OK here we go!
your.script.name
hold.perform.here
echo -a amazing perform is running agian
join #noobies-playhouse
echo -a and perform ends


mean while you have this alias
alias HOLD.PERFORM.HERE {
set $+(%,performstopper.,$cid) $true
$+(.timer.failsafe.release.for.performstopper.,$cid) 1 120 unset $+(%,performstopper.,$cid)
while ($($+(%,performstopper.,$cid),2) && ($input(Please Wait While Script Initiates,ok5,Script Name) || $true)) { }
}


* the italic line is a failsafe release of the script after 2 mins

NB: now be aware something in YOUR script, which i assume is running on events or timers or some such thing, when its finished doing all it needs to do, MUST DO this command unset $+(%,performstopper.,$cid) including $cid being the right $cid of the server connection the perform was halted for.

* whats it do?
well it sets a var %performstopper.$cid to true, then just loops untill thats unset (or set to $false or zero or $null), however it doesnt freeze up mirc, becuase it opens a $input telling you to wait for the script to finsih (or what ever you say) so that pauses the script for 5 seconds, then loops back, during that 5 seconds mirc processes events and timers normally, does however disable your ability to type on the command line frown

**** the other option is to use a dll caled WHILEFIX which does the same thing but u can get rid of the $input, you insert the call to whilefix in side the while loop and it releases control to mirc (whcih is normally locked during the while loop). I have experenced some wierd wierd behavour using this, if the while loop remains going for a long time tho.