*** I've made a few adjustments, I've removed the comments in the splay part and changed it to isfile so it will either play the files or it wont. *** smile

*** Changed the $?!="" on close to $input to play the system sound associated with the question mark icon. ***
Code:

alias -l Fix.Str2File { 
  return $replace($1,&,&26,\,&5C,/,&2F,:,&3A,*,&2A,?,&3F,",&22,<,&3C,>,&3E,|,&7C,.,&2E) 
}
alias -l Fix.File2Str { 
  return $replace($1,&5C,\,&2F,/,&3A,:,&2A,*,&3F,?,&22,",&3C,<,&3E,>,&7C,|,&2E,.,&26,&) 
}

menu @Quer.MENU {
  lbclick: {
    sline -l $QuerWindow $1
    clear $QuerWindow
    background -x $QuerWindow 
    if ($sline($QuerWindow,0) == 1) {
      quer.titlebar
      var %f = $+(QuerLogs\Quer.,$Fix.Str2File($sline($QuerWindow,1)),.jpg) | if ($isfile(%f)) { 
        background -p $QuerWindow %f 
      }
      var %f = $+(QuerLogs\Quer.,$Fix.Str2File($sline($QuerWindow,1)),.txt) | if ($isfile(%f)) { 
        loadbuf -pi $QuerWindow %f
      }
    }
  }
  dclick: {
    if ($sline($QuerWindow,0) == 1) {
      whois $sline($QuerWindow,1)
      set %Quer.Whois $sline($QuerWindow,1)
    }
  }
  Close $$1 Conversation: {
    if ($sline($QuerWindow,0) == 1) {
      clear $QuerWindow
      write $+(QuerLogs\Quer.,$Fix.Str2File($1),.txt) Session ended: $+([,$asctime,],$lf,$lf)
      close -m $1
      background -x $QuerWindow
      titlebar $QuerWindow
      dline -l $QuerWindow $sline($QuerWindow,1).ln
    }
  }
  Delete $$1 History: {
    if ($sline($QuerWindow,0) == 1) {
      clear $QuerWindow
      close -m $1
      background -x $QuerWindow
      titlebar $QuerWindow
      dline -l $QuerWindow $sline($QuerWindow,1).ln
      .remove $+(QuerLogs\Quer.,$Fix.Str2File($1),.txt)
    }
  }
}

alias QuerWindow {
  set %QuerWindow @Quer
  if (!$window(%QuerWindow)) { 
    window -odeSl11k0 %QuerWindow 245 250 594 266 @Quer.MENU 
  }
  return %QuerWindow
}

alias Quer.Titlebar { 
  titlebar $QuerWindow - Conversation with $sline($QuerWindow,1) - $iif(%QuerTextWin,TW,NW) - $iif(%QuerConfirmOff,IM,CM) 
}

on ^*:open:?:*: {
  query -n $nick 
  window -h $nick 
}

on ^*:text:*:?: { 
  quer.open.and.text.event $1-
}

on ^*:action:*:?: {
  quer.open.and.text.event $1-
}

alias quer.open.and.text.event {
  mkdir QuerLogs
  var %t = $+($iif($event == action, $+ $color(action)),[,$time(HH:nn),]) $iif($event == action,* $nick,$+(<,$nick,>)) $1-
  write $+(QuerLogs\Quer.,$Fix.Str2File($nick),.txt) %t
  aline -ln $QuerWindow $nick 
  if ($sline($QuerWindow,1) == $nick) {
    aline -pi $QuerWindow %t
  }
  window -g1 $QuerWindow
  window -h $nick
  haltdef
}

on *:input:@:{
  if ($active == %QuerWindow) {
    if ((%QuerTextWin) || ($ctrlenter) || (/* !iswm $1-)) { 
      .quer.msg $1- 
      if ($isfile(sounds/enter.wav)) { splay sounds/enter.wav }
    }
    else { 
      .timer 1 0 savebuf $QuerWindow $+(QuerLogs\Quer.,$Fix.Str2File($sline($QuerWindow,1)),.txt)
    }
  }
}
alias quer.msg {
  if ($sline($QuerWindow,0) == 1) {
    if ((%QuerConfirmOff) || ($input(Secure Send Message $+ $crlf $+ Send this message to $sline($QuerWindow,1) $+ ? $+ $crlf $+ $crlf $+ $1-,c,Send Message.) == $true)) {
      PRIVMSG $sline($QuerWindow,1) $1-
      aline -p $QuerWindow $+([,$time(HH:nn),] <,$me,>) $1-
      haltdef
    }
    else { editbox $QuerWindow $1- }
    savebuf $QuerWindow $+(QuerLogs\Quer.,$Fix.Str2File($sline($QuerWindow,1)),.txt)
  }
}

on *:NICK:{
  if ($fline($QuerWindow,$nick,1,1)) { 
    if ($sline($QuerWindow,1) == $nick) {
      dline -l $QuerWindow $fline($QuerWindow,$nick,1,1)
      aline -ln $QuerWindow $newnick
      sline -l $QuerWindow $fline($QuerWindow,$newnick,1,1)
      quer.titlebar
    }
    else {
      dline -l $QuerWindow $fline($QuerWindow,$nick,1,1)
      aline -ln $QuerWindow $newnick
    }
  }
  var %of = $+(QuerLogs\Quer.,$Fix.Str2File($nick),.txt)
  if ($isfile(%of)) { 
    var %nf = $+(QuerLogs\Quer.,$Fix.Str2File($newnick),.txt)
    .remove %nf
    .timer 1 0 .rename %of %nf
  }
  var %of = $+(QuerLogs\Quer.,$Fix.Str2File($nick),.jpg)
  if ($isfile(%of)) { 
    var %nf = $+(QuerLogs\Quer.,$Fix.Str2File($newnick),.jpg)
    .remove %nf
    .timer 1 0 .rename %of %nf
  }
}

on *:Keydown:%QuerWindow:*: {
[color:red] 
  if ($isfile(sounds\typewriter.wav)) { 
splay sounds\typewriter.wav 
}
[/color]
[color:red]
  if ($keyval == 8) {  
    if ($isfile(sounds\back.wav)) { 
splay sounds\back.wav 
}
  }
[/color]
  if ($keyval == 18) { 
    var %cycle = $!false $!false/$true $!false/$true $!true/$false $!true/$false $!false
    var %cycle = $gettok(%cycle,$calc($findtok(%cycle,%QuerTextWin %QuerConfirmOff,1,47)+1),47)
    set %QuerTextWin $gettok(%cycle,1,32)
    set %QuerConfirmOff $gettok(%cycle,2,32)
    Quer.Titlebar
  }
  elseif ($keyval == 27) { 
    window -c $QuerWindow
  }
}

on *:CLOSE:%QuerWindow:{
  window -n %QuerWindow
  if ($input(Are you sure you want to close the $QuerWindow window?,dq,Confirm close) != $true) {
    close -@ $QuerWindow $+ Closing
    renwin $QuerWindow $QuerWindow $+ Closing
    filter -cpzww $QuerWindow $+ Closing $QuerWindow *
    filter -czwwlL $QuerWindow $+ Closing $QuerWindow *
    if ($sline($QuerWindow $+ Closing,1).ln) {
      sline -l $QuerWindow [ $v1 ]
      Quer.Titlebar
      var %f = $+(QuerLogs\Quer.,$Fix.Str2File($sline($QuerWindow,1)),.jpg) | if ($isfile(%f)) { 
        background -p $QuerWindow %f
      }
    }
  }
  else {
    background -x $QuerWindow
    var %i = $line($QuerWindow,0,1)
    while (%i) { 
      close -m $line($QuerWindow,%i,1)
      dec %i
    }
  }
}

alias quer.whois.image {
  set %quer.whois.image @quer.whois.image
  if (!$window(%quer.whois.image)) { 
    window -c %quer.whois.image
    set %Quer.whois.image.x 5
    set %Quer.Whois.image.y 5
    window -hp %quer.whois.image 1 1 100 100
    set %Quer.whois.image.w.adjust $calc($window(%quer.whois.image).w - $window(%quer.whois.image).bw + 10)
    set %Quer.whois.image.h.adjust $calc($window(%quer.whois.image).h - $window(%quer.whois.image).bh + 10)
  }
  return %quer.whois.image
}

alias quer.whois.line {
  var %width = $width($1-,$window($quer.whois.image).font,$window($quer.whois.image).fontsize,0,1) + %Quer.whois.image.w.adjust
  var %height = $height($1-,$window($quer.whois.image).font,$window($quer.whois.image).fontsize)
  window $quer.whois.image 1 1 %width $calc(%Quer.whois.image.y + %height + %Quer.whois.image.h.adjust)
  drawtext -p $quer.whois.image $color(normal text) 5 %Quer.whois.image.y $1-
  inc %Quer.whois.image.y %height
  haltdef
}

alias quer.whois.finish {
  window $quer.whois.image 1 1 1 240
  var %f = $+(QuerLogs\Quer.,$Fix.Str2File(%Quer.whois),.jpg)
  drawsave $quer.whois.image %f
  background -p $QuerWindow %f
  window -c $quer.whois.image
  haltdef
}

raw 300:$(& $iif(%Quer.whois,$v1,-) *):quer.whois.line $3-
raw 301:$(& $iif(%Quer.whois,$v1,-) *):quer.whois.line $3-
raw 302:$(& $iif(%Quer.whois,$v1,-) *):quer.whois.line $3-
raw 303:$(& $iif(%Quer.whois,$v1,-) *):quer.whois.line $3-
raw 304:$(& $iif(%Quer.whois,$v1,-) *):quer.whois.line $3-
raw 305:$(& $iif(%Quer.whois,$v1,-) *):quer.whois.line $3-
raw 306:$(& $iif(%Quer.whois,$v1,-) *):quer.whois.line $3-
raw 307:$(& $iif(%Quer.whois,$v1,-) *):quer.whois.line $3-
raw 308:$(& $iif(%Quer.whois,$v1,-) *):quer.whois.line $3-
raw 309:$(& $iif(%Quer.whois,$v1,-) *):quer.whois.line $3-
raw 310:$(& $iif(%Quer.whois,$v1,-) *):quer.whois.line $3-
raw 311:$(& $iif(%Quer.whois,$v1,-) *):quer.whois.line $3-
raw 312:$(& $iif(%Quer.whois,$v1,-) *):quer.whois.line $3-
raw 313:$(& $iif(%Quer.whois,$v1,-) *):quer.whois.line $3-
raw 314:$(& $iif(%Quer.whois,$v1,-) *):quer.whois.line $3-
raw 315:$(& $iif(%Quer.whois,$v1,-) *):quer.whois.line $3-
raw 316:$(& $iif(%Quer.whois,$v1,-) *):quer.whois.line $3-
raw 317:$(& $iif(%Quer.whois,$v1,-) *):quer.whois.line $3-
raw 318:$(& $iif(%Quer.whois,$v1,-) *):quer.whois.finish
raw 319:$(& $iif(%Quer.whois,$v1,-) *):quer.whois.line $3-
raw 320:$(& $iif(%Quer.whois,$v1,-) *):quer.whois.line $3-
raw 614:$(& $iif(%Quer.whois,$v1,-) *):quer.whois.line $3-