Your use of groups isn't quite right.
on *:load: {
echo -a Script Loaded !
}
alias mimic {
set %mimic.person $1
set %channel $chan
.enable #mimic
echo -a 4,1Mimicing $1
}
alias mimic.off {
.disable #mimic
echo -a 4,1No longer mimicing %mimic.person
unset %mimic.person
}
#mimic off
on *:text:*:%channel: {
if ($nick == %mimic.person) {
msg $chan $1-
}
}
#mimic end
menu channel,query {
.Mimic Script
..Mimic Person:/mimic $$?="Person to mimic:"
..End Mimic:/mimic.off
}
menu nicklist {
.Mimic Script
..Mimic Person:/mimic $$1
..End Mimic:/mimic.off
}
The command .enable #mimic will change #mimic off to #mimic on,
just as .disable #mimic will do the reverse.
When it reads #mimic off, the entire on TEXT event will be ignored,
so you needn't check the state of #mimic in that event.