サブルーチンを使うなら個人的には以下のような使い方が好みです。
#enum CHARACTER_HERO =0
#enum CHARACTER_WIZARD
#enum CHARACTER_THIEF
#enum CHARACTER_GAMBLER
#enum CHARACTER_NUMBER
characterRoutine(CHARACTER_HERO)=*routineHero
characterRoutine(CHARACTER_WIZARD)=*routineWizard
characterRoutine(CHARACTER_THIEF)=*routineThief
characterRoutine(CHARACTER_GAMBLER)=*routineGambler
randomize
myCharacter=rnd(CHARACTER_NUMBER)
gosub characterRoutine(myCharacter)
stop
*routineHero
mes "I'm hero."
return
*routineWizard
mes "I'm wizard."
return
*routineThief
mes "I'm thief."
return
*routineGambler
mes "Zzz..."
return