Ok, I found out a way to stop the macro...but it wont stop until it has run its course completely.
For each macro I have 3 scripts set up, b/c I don't want to mess with binding and unbinding keys.
Main macro script named "ENHANCE"(At the end it calls on an alias that is created in the next script down):
(!empty($user->lang['CODE'])) ? $user->lang['CODE'] : ucwords(strtolower(str_replace('_', ' ', 'CODE'))):
input /ma "Barfire" <me>;
pause 5 ;
input /ma "Barblizzard" <me>;
pause 5 ;
input /ma "Baraero" <me>;
pause 5 ;
input /ma "Barstone" <me>;
pause 5 ;
input /ma "Barthunder" <me>;
pause 5 ;
input /ma "Barwater" <me>;
pause 5 ;
enhancescript;
Script to start looping macro named "ENHANCESTART"(This is where the alias is created and initially called):
(!empty($user->lang['CODE'])) ? $user->lang['CODE'] : ucwords(strtolower(str_replace('_', ' ', 'CODE'))):
alias enhancescript exec ENHANCE.txt;
enhancescript ;
Script to end looping macro named "ENHANCEEND"(Alias is reassigned something different, so when the main script now calls the alias..it'll do something different):
(!empty($user->lang['CODE'])) ? $user->lang['CODE'] : ucwords(strtolower(str_replace('_', ' ', 'CODE'))):
alias enhancescript echo "SCRIPTS ENDED" ;
Then in one of my FFXI macros I have to get everything going:
/console exec ENHANCESTART.txt
To end it in a separate FFXI macro:
/console exec ENHANCEEND.txt
---------------------------------
What this does is creates an alias that initially points to running your main macro script. It will always run the script unless you change what the alias does. That is what the end script does...It changes the alias to have an output in the red windower console, instead of making the script run again.
I hope that made sense....its late and I'm tired.