In this case, you can avoid the while and use $* :
tokenize 32 $3-
scon -r var $(%v,0) = $(%v,0) $!left( $* ,1)
Okay, now I got something like:
# @ @ @ @ @ @ + + N N
Neal is in a minimum of 10 channels total.
Neal is in #bulbagarden
@#mandy
@#omgpwned
@#Hell
@#SocietyofLight
@#Shadow_realm
@#mIRC
%wishmaker
+#SSJ4RP
+#teamgogo
The above returned the 1st letter of each char.
Although, if someone had a % (+h) in a channel, the script ignores, and I can guess obviously why..
Apparently, on 1 IRCd, there was a channel mode prefix that could also be in the channel name, and I didn't want that colored.
But now I see using $left() is useless because of the fact someone can have @+#channel, so no point using $left().
Well I guess I can $gettok() the left of the # sign.
I had:
%c = $replace(%c,!,6!,~,6~,&,6&,@,12@,%,4%,+,3+,-,11-)
/echo -s %c
But of course, it affects the channel name right of the # sound. Hence why I wanted to while loop $3-.