This narrows the issue down to the gettok part.
If you execute:
//var %x = A B C D E F | echo -a $gettok(%x,1--2,32)
Do you get the expected "A B C D E" or do you get "A"?

If you get only "A", it's related to (quoting versions.txt):
21/05/2008 - mIRC v6.32
22.Fixed handling of negative range values in token identifiers.

You can fix the script for your pre-6.32 mIRC version by replacing in the original script the two instances of:
write greetall.txt %greeting $+ $chr(15) $iif(($numtok(%nickstring,32) == 1),%nickstring, $&
  $replace($gettok(%nickstring,1--2,32),$chr(32),$+($chr(44),$chr(32))) and $gettok(%nickstring,-1,32))
var %t = $numtok(%nickstring,32)
write greetall.txt %greeting $+ $chr(15) $iif((%t == 1),%nickstring,$replace($gettok(%nickstring,1- $+ $calc(%t -1),32),$chr(32),$+($chr(44),$chr(32))) and $gettok(%nickstring,-1,32))

Sorry for stating in a previous post that I tested with v 6.35 and 6.31 - it was in fact an old, wrong-named 6.32 exe.

Last edited by Horstl; 08/08/09 09:42 PM.