you don't need to put a script like that in dialog format.
Its a simple script that uses triggers to trigger events
My suggestion would be to setup different triggers in a
chat window. Which would give the end user the option
of getting more infor on a rule. Now you have the options
of using ON ACTION, ON TEXT, ON OPEN. I have made
this script for TEXT on a Private Chat Window so when the
nick Types !RULES in the channel the script will msg them.
while the window is open they can send triggers in a
Private Chat Window for more information. I would suggest
Highlight the Triggres so they can see what the tiggers are.


On *:text:!rules:#channel: { .play -n $nick #channel-rules.txt }

ON *:TEXT:?: {
if (WORD1 isin $strip($1-,burc)) {
msg $nick <MESSAGE 1>
.timer 1 .1 closemsg $nick
}
elseif (WORD2 isin $strip($1-,burc)) {
msg $nick <MESSAGE 2>
.timer 1 .1 closemsg $nick
}
elseif (WORD3 isin $strip($1-,burc)) {
msg $nick <MESSAGE 3>
.timer 1 .1 closemsg $nick
}
}



Now if you wish to make this a self contained script you could
use triggers to read a sub sections within a script like this. Using
the triggers to read a sub-section on a script. Now this can be done to eliminate a 2nd text file to read from



On *:text:!rules:#channel: { .play -tTRIG1 $nick $script 300 | halt }

On *:TEXT:*:?: {
if !RULES == $1 { play -tTRIG1 $nick $script 300 | halt }
elseif !RULE2 == $1 { play -tTRIG2 $nick $script 300 | halt }
elseif !RULES3 == $1 { play -tTRIG3 $nick $script 300 | halt }
elseif !RULES4 == $1 { play -tTRIG4 $nick $script 300 | halt }
}


[TRIG1]
RULES 1
RULES 2
RULES 3

[TRIG2]
EXPLAIN RULE 1

[TRIG3]
EXPLAIN RULE 2

[TRIG4]
EXPLAIN RULE 3




Intelligence: It's better to ask a stupid question, then to prove it by not asking....