Code:
#help on
on *:text:!help:*:     { if (%i != on) { sendhelp $nick 1 11  | set -su20 %i on }
on *:text:!help !qme:*:{ if (%j != on) { sendhelp $nick 12 12 | set -su20 %j on }
on *:text:!help !say:*:{ if (%k != on) { sendhelp $nick 13 13 | set -su20 %k on }
on *:text:!help !die:*:{ etc etc etc
...
on *:text:!help !pass:*:{ if (%s != on) { sendhelp $nick 21 21 | set -su20 %s on }

alias -l sendhelp { 
  var %i = $2
  while (%i <= $3) {
    msg $1 $read(help.txt,n,%i)
    inc %i
  }
}


if u wanted to reformat your help.txt file to like this
[help]
old line1
old line2
old line3
...
old line11
[!qme]
old line12
[!say]
old line13

etc etc
you could now use this
Code:
#help on
on *:text:!help:*:     { if (%i != on) { play -thelp $nick 0  | set -su20 %i on }
on *:text:!help !qme:*:{ if (%j != on) { play -t!qme $nick 0  | set -su20 %j on }
on *:text:!help !say:*:{ if (%k != on) { play -t!say $nick 0  | set -su20 %k on }
on *:text:!help !die:*:{ etc etc etc
...
on *:text:!help !pass:*:{ if (%s != on) { play -t!pass $nick 0  | set -su20 %s on }


This is heaps better as it allows you to add lines with out the code needing adjustment.