Nice oneliner pball, thanks. But it seems 7.1 does still lose extra spaces. I wish it would stop that.. I'll have to look up spaces.dll again, or do some more research for ways around it.

Edit: Get spaces.dll from http://www.xise.nl/mirc/ and place it in $mircdir, then add the following to a script (I did to a new one named display.mrc):
Code:
on ^*:text:*:#: {
  if (($exists(spaces.dll)) && ($dll(spaces.dll, loaded, ) == 1)) {
; the following line splits $rawmsg (which still includes all spaces)
; on the first occurance of the string " :" - after which the message
; will be.  Before which is the source, target, etc.
; I can't split on the second ":" because IPv6 addresses that don't rev-DNS have lots of :s.
    var %msg = $mid($rawmsg,$calc($pos($rawmsg,$+($chr(32),:),1)+2),2048)
    $dll(spaces.dll, echo, $color(normal) -m $chan $timestamp $+(,$nick($chan,$nick).color,<,,$iif($left($nick($chan,$nick).pnick,1) isin ~&@%!+,$v1),$chr(32),$nick,,$nick($chan,$nick).color,>,) %msg)
  }
  else {
    echo $color(normal) -m $chan $timestamp $+(,$nick($chan,$nick).color,<,,$iif($left($nick($chan,$nick).pnick,1) isin ~&@%!+,$v1),$chr(32),$nick,,$nick($chan,$nick).color,>,) $1-
  }
  haltdef
}

on *:INPUT:#:{
  if ((/* iswm $1) && (!$ctrlenter)) { return }
  if (($exists(spaces.dll)) && ($dll(spaces.dll, loaded, ) == 1)) {
    var %input = $dll(spaces.dll, input, )
    $dll(spaces.dll, send, PRIVMSG $target : $+ %input)
    $dll(spaces.dll, echo, -m $chan $timestamp $+(,$nick($chan,$me).color,<,,$iif($left($nick($chan,$me).pnick,1) isin ~&@%!+,$v1),$chr(32),$nick,,$nick($chan,$me).color,>,) %input)
  }
  else {
    PRIVMSG $target $1-
    echo -m $chan $timestamp $+(,$nick($chan,$me).color,<,,$iif($left($nick($chan,$me).pnick,1) isin ~&@%!+,$v1),$chr(32),$nick,,$nick($chan,$me).color,>,) $1-
  }
  haltdef
}

The above will use spaces.dll if it finds it or fall back to regular mIRC if it doesn't (and you'll lose consecutive spaces). spaces.dll must be in your $mircdir.

Last edited by Chris233; 21/08/10 10:50 PM.