on *:open:=: {
echo -st ON OPEN = CHECK POINT $!nick = $nick
if ( % [ $+ [ $+($nick,RULES) ] ] ) {
unset % [ $+ [ $+($nick,RULES ] ]
play =$nick rules.txt 0
}
}
Try that, its designed to do two things, one it checks on what $nick equals, and two i spaced out the [ ] sometimes there touchy about things touching them
If it works remove the echo line, if not then check is $nick is comming back with the = already attached, if it is use $mid($nick,2) example below....
on *:open:=: {
if ( % [ $+ [ $+($mid($nick,2),RULES) ] ] ) {
unset % [ $+ [ $+($mid($nick,2),RULES ] ]
play $nick rules.txt 0
}
}
PS: the other examples shown in this thread well work as well, I just looked at your code only for what might be wrong.