よくわかりませんが。
どうしても一つにまとめたいのなら、フラグではなく引数に渡したほうが
効率的だと思います。
#module
#deffunc hogehogeOpenArchive str OA_st1 , str OA_st2
mes strf("hogehogeOpenArchive %s,%s 実行",OA_st1,OA_st2)
return
#deffunc hogehogeCloseArchive str CA_st1 , str CA_st2
mes strf("hogehogeCloseArchive %s,%s 実行",CA_st1,CA_st2)
return
#define global hogeArchive(%1=0,%2="引数2",%3="引数3") if (%1=0) { hogehogeOpenArchive %2,%3 }else{ hogehogeCloseArchive %2,%3}
#global
repeat 10
mes "第一引数" + str(cnt\2)
hogeArchive cnt\2
loop
とはいっても、これは展開された時に、
#module
#deffunc hogehogeOpenArchive str OA_st1 , str OA_st2
mes strf("hogehogeOpenArchive %s,%s 実行",OA_st1,OA_st2)
return
#deffunc hogehogeCloseArchive str CA_st1 , str CA_st2
mes strf("hogehogeCloseArchive %s,%s 実行",CA_st1,CA_st2)
return
#global
repeat 10
mes "第一引数" + str(cnt\2)
if (cnt\2=0) {
hogehogeOpenArchive "引数2","引数3"
}else{
hogehogeCloseArchive "引数2","引数3"
}
loop
と全く同じに意味になりますので一つのスクリプトの中で何度も同じスクリプトを使用する
必要がない限り、時間の無駄の様な気がします。