mIRC Home    About    Download    Register    News    Help

Print Thread
Page 1 of 2 1 2
#112717 26/02/05 07:15 AM
Joined: Dec 2002
Posts: 3,547
S
Hoopy frood
OP Offline
Hoopy frood
S
Joined: Dec 2002
Posts: 3,547
I've been working on something to handle all my query's into a custom window. When someone pm's me it writes their nick to the list and when you double click the window you can private chat with them just like you would in a normal query window. When the window @Quer is closed and re-opened when you get another pm from them and you double click their nickname in the listbox you'll see recent history, my question is how could I improve it, what does it need.



Here is the code.

Code:
alias Quer {
  if (!$window(@Quer)) { 
    window -deSl11k0 @Quer 245 250 594 266 
  }
  else {
    return
  }
}

on ^*:Text:*:?: {
  closemsg $nick
  if (!$exists(QuerLogs)) {
    mkdir QuerLogs
    write QuerLogs\Quer. $+ $nick $+ .txt  $chr(91) $+ $time(HH:nn) $+ $chr(93) < $+ $nick $+ > $1-
    quer
    savebuf -a 1-$line(@Quer,0) @Quer QuerLogs\Quer. $+ $sline(@Quer,1) $+ .txt
    if ($fline(@Quer,$nick,0,1)) {
      return
    }
    elseif (!$fline(@Quer,$nick,0,1)) {
      aline -l @Quer $nick 
    }
  }
  else {
    write QuerLogs\Quer. $+ $nick $+ .txt $chr(91) $+ $time(HH:nn) $+ $chr(93) < $+ $nick $+ > $1-
    Quer
    savebuf -a 1-$line(@Quer,0) @Quer QuerLogs\Quer. $+ $sline(@Quer,1) $+ .txt
    if ($fline(@Quer,$nick,0,1)) {
      return 
    }
    elseif (!$fline(@Quer,$nick,0,1)) { 
      aline -l @Quer $nick 
    }
  }
}

menu @Quer {
  dclick: {
    dline @Quer 1- $+ $line(@Quer,0)
    if ($sline(@Quer,0) == 1) {
      renwin @Quer @Quer $chr(160) - $chr(160) Conversation with $sline(@Quer,1)
      loadbuf $lines(QuerLogs\Quer. $+ $sline(@Quer,1) $+ .txt) @Quer QuerLogs\Quer. $+ $sline(@Quer,1) $+ .txt
    }
  }
  Close $1 Conversation: {
    if ($sline(@Quer,0) < 2) {
      .timer 1 1 dline -l @Quer $sline(@Quer,1).ln
    }
  }
  Delete $1 History: {
    if ($sline(@Quer,0) < 2) {
      dline -l @Quer $sline(@Quer,1).ln
      .remove QuerLogs\Quer. $+ $1 $+ .txt
    }
  }
}

on 1:Input:@Quer: {
  .quer.msg $1-
}

alias quer.msg {
  if ($sline(@Quer,0) == 1) && ($window(@Quer)) {
    if ($input(Secure Send Message $+ $crlf $+ Send this message to $sline(@Quer,1) $+ ? $+ $crlf $+ $crlf $+ $1-,c,Send Message.) == $true) {
      .Raw PRIVMSG $sline(@Quer,1) : $1-
      aline -p @Quer $chr(91) $+ $time(HH:nn) $+ $chr(93) < $+ $me $+ > $1-
      savebuf -a 1-$line(@Quer,0) @Quer QuerLogs\Quer. $+ $sline(@Quer,1) $+ .txt
    }
    else { 
editbox @Quer $1-
 }
  }
  else { 
    return
  }
}

on 1:Keydown:@Quer:*: {
  splay sounds\typewriter.wav
  if ($keyval == 27) { window -c @Quer }
}

Last edited by SladeKraven; 26/02/05 08:09 AM.
#112718 26/02/05 08:22 AM
Joined: Aug 2003
Posts: 1,831
I
Hoopy frood
Offline
Hoopy frood
I
Joined: Aug 2003
Posts: 1,831
Well, here's a few changes smile

Code:
alias Quer if (!$window(@Quer)) { window -deSl11k0 @Quer 245 250 594 266 }

^ Doesn't even really need that if, unless you want to prevent it re-positionng itself

Quote:
savebuf -a 1-$line(@Quer,0) @Quer QuerLogs\Quer. $+ $sline(@Quer,1) $+ .txt

-a will add al of the windows buffer to the logfile. :tongue: (well it would except for 1-$line(@Quer,0) won;t work like that.) Needs to be $+(1-,$line(@Quer,0))
Why not just /write the line to the file?

Code:
    /*
    if ($fline(@Quer,$nick,0,1)) {
      return
    }
    elseif (!$fline(@Quer,$nick,0,1)) {
      aline -l @Quer $nick 
    }
    [color:green]Don't need that ^, Just use[/color]
    */
    aline -l[color:red]n[/color] @Quer $nick


You don't need that else in the text event. (Nor a text event seeing as you immediately close the window smile)
Code:
on ^*:[color:blue]open[/color]:?:{
  mkdir QuerLogs
  write $+(QuerLogs\Quer.,$nick,.txt [,$time(HH:nn),] <,$nick,>) $1-
  quer
  savebuf -a $+(1-,$line(@Quer,0)) @Quer QuerLogs\Quer. $+ $sline(@Quer,1) $+ .txt
  aline -ln @Quer $nick
  [color:blue]halt[/color]
}


Code:
alias quer.msg {
  if ($sline(@Quer,0) == 1) {
    if ($input(Secure Send $+(Message,$crlf,Send this message to $!sline(@Quer,1),?,$crlf,$crlf,$1-),c,Send Message.)) {
      PRIVMSG $sline(@Quer,1) $1-
      aline -p @Quer $+([,$time(HH:nn),] <,$me,>) $1-
      write $+(QuerLogs\Quer.,$sline(@Quer,1),.txt) $+([,$time(HH:nn),] <,$me,>) $1-
      ; writing the single line rather than adding the entire buffer to the file (again)
    }
    else { editbox @Quer $1- }
  }
}

#112719 26/02/05 08:47 AM
Joined: Dec 2002
Posts: 3,547
S
Hoopy frood
OP Offline
Hoopy frood
S
Joined: Dec 2002
Posts: 3,547
Should that be: On ^*:Open:?:*: { ?

And is this correct, if not could you show me where needs correcting please?

Code:
alias Quer {
  if (!$window(@Quer)) { 
    window -deSl11k0 @Quer 245 250 594 266 
  }
  else {
    return
  }
}

on ^*:open:?:*: {
  mkdir QuerLogs
  write $+(QuerLogs\Quer.,$nick,.txt [,$time(HH:nn),] <,$nick,>) $1-
  quer
  savebuf -a 1-$line(@Quer,0) @Quer QuerLogs\Quer. $+ $sline(@Quer,1) $+ .txt
  aline -ln @Quer $nick
  echo @Quer $+([,$time(HH:nn),] <,$nick,>) $1-
  halt
}

menu @Quer {
  dclick: {
    dline @Quer 1- $+ $line(@Quer,0)
    if ($sline(@Quer,0) == 1) {
      renwin @Quer @Quer $chr(160) - $chr(160) Conversation with $sline(@Quer,1)
      loadbuf $lines(QuerLogs\Quer. $+ $sline(@Quer,1) $+ .txt) @Quer QuerLogs\Quer. $+ $sline(@Quer,1) $+ .txt
    }
  }
  Close $1 Conversation: {
    if ($sline(@Quer,0) < 2) {
      .timer 1 1 dline -l @Quer $sline(@Quer,1).ln
    }
  }
  Delete $1 History: {
    if ($sline(@Quer,0) < 2) {
      dline -l @Quer $sline(@Quer,1).ln
      .remove QuerLogs\Quer. $+ $1 $+ .txt
    }
  }
}

on 1:Input:@Quer: {
  .quer.msg $1-
}

alias quer.msg {
  if ($sline(@Quer,0) == 1) {
    if ($input(Secure Send $+(Message,$crlf,Send this message to $!sline(@Quer,1),?,$crlf,$crlf,$1-),c,Send Message.)) {
      PRIVMSG $sline(@Quer,1) $1-
      write $+(QuerLogs\Quer.,$sline(@Quer,1),.txt) $+([,$time(HH:nn),] <,$me,>) $1-
      ; writing the single line rather than adding the entire buffer to the file (again)
    }
    else { editbox @Quer $1- }
  }
}


on 1:Keydown:@Quer:*: {
  splay sounds\typewriter.wav
  if ($keyval == 27) {
    window -c @Quer
  }
}


I've not been to sleep yet, I'm wrecked, and lord...in 25 minutes I've got to go the park and train football (soccer) to little children on a rainy day. The joy.. mad

Cheers for your suggestions an all, greatly appreciated.

#112720 26/02/05 08:57 AM
Joined: Aug 2003
Posts: 1,831
I
Hoopy frood
Offline
Hoopy frood
I
Joined: Aug 2003
Posts: 1,831
Er no, it only needs to be "on ^*:open:?:{" sorry laugh

I already showed the "Quer" alias...
Quote:
Code:
alias Quer if (!$window(@Quer)) { window -deSl11k0 @Quer 245 250 594 266 }


I already showed the mistake in "1-$line()"

Maybe go away and re-read after you have slept laugh

BTW: Forgot to mention about PRIVMSG, mIRC will add the colon in the appropriate position, and it is already a silent command. smile

#112721 26/02/05 09:03 AM
Joined: Dec 2002
Posts: 3,547
S
Hoopy frood
OP Offline
Hoopy frood
S
Joined: Dec 2002
Posts: 3,547
Yeah will do man, cheers. smile

Shower time now, I'm way behind schedule, I usually spend 40 minutes in the bathroom, showering,shaving styling hair I'm like a woman, just don't tell anyone.

Cya dude, keep cool. grin

#112722 26/02/05 08:46 PM
Joined: Sep 2003
Posts: 4,230
D
Hoopy frood
Offline
Hoopy frood
D
Joined: Sep 2003
Posts: 4,230
I liked your idea so much that I took your script and worked it up a small amount an am using it myself now all the time, I have also taken on Iori's comments, i thought id share it to show what I thought of that might improve it.

Code:
alias QuerWindow {
  set %QuerWindow $+(@Message,$chr(160),Queuer)
  if (!$window(%QuerWindow)) { window -deSl11k0 %QuerWindow 245 250 594 266 @Quer.MENU }
  return %QuerWindow
}
;
on ^*:Open:?:*: { quer.open.and.text.event $1- }
on ^*:Text:*:?: { quer.open.and.text.event $1- }
alias quer.open.and.text.event {
  mkdir QuerLogs
  write $+(QuerLogs\Quer.,$nick,.txt) $+([,$time(HH:nn),] <,$nick,>) $1-
  aline -ln $QuerWindow $nick 
  if ($sline($QuerWindow,1) == $nick) { aline -pi $QuerWindow $+([,$time(HH:nn),] <,$nick,>) $1- }
  closemsg $nick | halt
}
;
menu @Quer.MENU {
  lbclick: {
    sline -l $QuerWindow $1
    clear $QuerWindow
    if ($sline($QuerWindow,0) == 1) {
      quer.titlebar 
      loadbuf -pi $QuerWindow $+(QuerLogs\Quer.,$sline($QuerWindow,1),.txt)
    }
  }
  Close $$1 Conversation: {
    if ($sline($QuerWindow,0) == 1) {
      clear $QuerWindow
      dline -l $QuerWindow $sline($QuerWindow,1).ln
    }
  }
  Delete $$1 History: {
    if ($sline($QuerWindow,0) == 1) {
      clear $QuerWindow
      dline -l $QuerWindow $sline($QuerWindow,1).ln
      .remove $+(QuerLogs\Quer.,$1,.txt)
    }
  }
}
;
on *:input:@:{
  if ($active == %QuerWindow) {
    if ((%QuerTextWin) || ($ctrlenter) || (/* !iswm $1-)) { .quer.msg $1- }
    else { .timer 1 0 savebuf $QuerWindow $+(QuerLogs\Quer.,$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.,$sline($QuerWindow,1),.txt)
  }
}
;
on *:Keydown:%QuerWindow:*: {
  ;splay sounds\typewriter.wav
  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 }
}
;
alias Quer.Titlebar { titlebar $QuerWindow - Conversation with $sline($QuerWindow,1) - $iif(%QuerTextWin,TW,NW) - $iif(%QuerConfirmOff,IM,CM) }


Top down...
(1) I Dont like hardcoding window names into scripts if i can avoid it, so I call an $identifier alias to get me the window name, it also creates the window if its not there , and stores a global var of the name. $QuerWindow (i happend to have renamed the window, but its the first line of the alias so not hard to see smile )
(2) I identify the menu by naming it on the window creation line, lets me rename the window without having menu problems.
(3) triggering on OPEN and TEXT events, doing a closemsg and halt at the event ends to cover for both
(4) you should only write the event line text to the window if the matching $nick is the highlighted one, you were doing it all the time
(5) changed to lbclick, and set the only selected line to the one u just clicked on, since you can only see one at a time.
(6) used /clear instead of dline to clear the window, also clearing the window in the close and history options
(7) changed the titlebar of the window rather than renaming the window
(8) on *:input:@: and not on *:input:%QuerWindow: becuase mirc is broken and doesnt accept a var in there, so i just check if its the $active window
(9) accounted for /commands being entered and/or ctrlenter being pressed
(10) I thought it better to savebuf the whole window, that way you get results of any command you ran that did local echos etc, anything that appeared in the window etc
(11) Pressing ctrl-alt cycles through 4 states the window can be in TW or NW and CM or IM
* TW is a text only Window if you type /echo BLAH its send like you have the ctrl key down with enter
* NW is a normal window behavour
* CM is Confirm the message send
* IM is instantly send the message

#112723 27/02/05 04:20 AM
Joined: Feb 2005
Posts: 185
S
Vogon poet
Offline
Vogon poet
S
Joined: Feb 2005
Posts: 185
Hey guys, that is some great coding, now what i would like to know is... it states "Secure Send Message" now was that just a hyperthetical or is it actually secure, both myself and a friend have both used this code in our Remotes, but now would there be a way to make it for DCC as well?


sub-zero.homeip.net:6667

#112724 27/02/05 04:35 AM
Joined: Feb 2005
Posts: 10
L
Pikka bird
Offline
Pikka bird
L
Joined: Feb 2005
Posts: 10
Lord_Raiden tips hat

This is an awsome idea!! I like it much!!

1) Wot I would like is for this little window to pop up, everytime I receive a msg, not just when I receive a new message.

2) Can the nicks, that are already present in the nicklist, change colour when a response is received? How would one do this?

thanks for all the good stuff chaps!

Lord_Raiden tips hat

#112725 27/02/05 07:43 AM
Joined: Dec 2002
Posts: 3,547
S
Hoopy frood
OP Offline
Hoopy frood
S
Joined: Dec 2002
Posts: 3,547
Nice improvements, this was going to be the last thing I was going to code too. grin

#112726 27/02/05 08:44 AM
Joined: Feb 2005
Posts: 10
L
Pikka bird
Offline
Pikka bird
L
Joined: Feb 2005
Posts: 10
Lord_Raiden tips hat

Glad you like. laugh

In my script, this little window is see-thru. laugh
In straight mIRC, it's not.

Why would that be? confused

Also, can i suggest a whois, chan scan & clone scan in that same window, which is not the case now...

The nickchange msg and quit msg from a nick, in the event of that nick leaving or changing would also b handy.

Lord_Raiden tips hat

#112727 27/02/05 04:18 PM
Joined: Dec 2002
Posts: 3,547
S
Hoopy frood
OP Offline
Hoopy frood
S
Joined: Dec 2002
Posts: 3,547
Just an update for the improvements made by DaveC and Iori on the Query script I made. Only 2 minor updates.

Code:
alias QuerWindow {
    set %QuerWindow $+(@Message,$chr(160),Queuer)
  if (!$window(%QuerWindow)) { window -odeSl11k0 %QuerWindow 245 250 594 266 @Quer.MENU }
  return %QuerWindow
}

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

alias quer.open.and.text.event {
  mkdir QuerLogs
  write $+(QuerLogs\Quer.,$nick,.txt) $+([,$time(HH:nn),] <,$nick,>) $1-
  aline -ln $QuerWindow $nick 
  if ($sline($QuerWindow,1) == $nick) { aline -pi $QuerWindow $+([,$time(HH:nn),] <,$nick,>) $1- }
  window -h $nick
  halt
}

menu @Quer.MENU {
  dclick:  {
    if ($sline($QuerWindow,0) == 1) {
      whois $sline($QuerWindow,1)
    }
  }
  lbclick: {
    sline -l $QuerWindow $1
    clear $QuerWindow
    if ($sline($QuerWindow,0) == 1) {
      quer.titlebar 
      loadbuf -pi $QuerWindow $+(QuerLogs\Quer.,$sline($QuerWindow,1),.txt)
    }
  }
  Close $$1 Conversation: {
    if ($sline($QuerWindow,0) == 1) {
      clear $QuerWindow
      dline -l $QuerWindow $sline($QuerWindow,1).ln
    }
  }
  Delete $$1 History: {
    if ($sline($QuerWindow,0) == 1) {
      clear $QuerWindow
      dline -l $QuerWindow $sline($QuerWindow,1).ln
      .remove $+(QuerLogs\Quer.,$1,.txt)
    }
  }
}

on *:input:@:{
  if ($active == %QuerWindow) {
    if ((%QuerTextWin) || ($ctrlenter) || (/* !iswm $1-)) { .quer.msg $1- }
    else { .timer 1 0 savebuf $QuerWindow $+(QuerLogs\Quer.,$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.,$sline($QuerWindow,1),.txt)
  }
}

on *:Keydown:%QuerWindow:*: {
  if ($exists(sounds\typewriter.wav)) { splay sounds\typewriter.wav } 
  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 }
}

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


*Added whois feature when you double click on $sline($QuerWindow,1) it will whois that person
* Added ontop of all windows feature.

Told you they was minor.

#112728 27/02/05 05:40 PM
Joined: Aug 2003
Posts: 1,831
I
Hoopy frood
Offline
Hoopy frood
I
Joined: Aug 2003
Posts: 1,831
Just a couple minor suggestions
[*] After closing a session re-set the titlebar.
[*] Write session close line to logfiles
Code:
menu @Quer.MENU {
  dclick:  {
    if ($sline($QuerWindow,0) == 1) {
      whois $sline($QuerWindow,1)
    }
  }
  lbclick: {
    sline -l $QuerWindow $1
    clear $QuerWindow
    if ($sline($QuerWindow,0) == 1) {
      quer.titlebar 
      loadbuf -pi $QuerWindow $+(QuerLogs\Quer.,$sline($QuerWindow,1),.txt)
    }
  }
  Close $$1 Conversation: {
    if ($sline($QuerWindow,0) == 1) {
      clear $QuerWindow
[color:blue]      write $+(QuerLogs\Quer.,$1,.txt) Session ended: $+([,$asctime,],$lf,$lf)
      close -m $1 | ; see below
      titlebar $QuerWindow[/color]
      dline -l $QuerWindow $sline($QuerWindow,1).ln
    }
  }
  Delete $$1 History: {
    if ($sline($QuerWindow,0) == 1) {
      clear $QuerWindow
[color:blue]      close -m $1 | ; see below
      titlebar $QuerWindow[/color]
      dline -l $QuerWindow $sline($QuerWindow,1).ln
      .remove $+(QuerLogs\Quer.,$1,.txt)
    }
  }
}

And maybe the on open wasn't great to parse the message from, it doesn't differentiate between text and action. Perhaps hiding the query would be better.
Code:
on ^*:open:?:*:{ query -n $nick | window -h $nick }
on ^*:text:*:?:{ quer.open.and.text.event $1- }
on ^*:action:*:?:{ quer.open.and.text.event $1- }


But then of course you need to change the quer.open.and.text.event alias... smile
[*] Changes to allow for event differentiating.
[*] Color for action msgs.
[*] Window button highlighting.
Code:
alias quer.open.and.text.event {
  mkdir QuerLogs
  var %a = $+([,$time(HH:nn),]) $iif($event == action,* $nick,$+(<,$nick,>)) $1-
  write $+(QuerLogs\Quer.,$nick,.txt) %a
  aline -ln $QuerWindow $nick 
  if ($sline($QuerWindow,1) == $nick) { aline -pi $iif($event == action,$color(action)) $QuerWindow %a }
  window -g1 $QuerWindow
  window -h $nick
  halt[color:green]def[/color]
}

#112729 27/02/05 07:29 PM
Joined: Dec 2002
Posts: 3,547
S
Hoopy frood
OP Offline
Hoopy frood
S
Joined: Dec 2002
Posts: 3,547
Good points. smile

#112730 27/02/05 07:59 PM
Joined: Sep 2003
Posts: 4,230
D
Hoopy frood
Offline
Hoopy frood
D
Joined: Sep 2003
Posts: 4,230
Excellent point on adding actions and just hiding the query windows to enable the differences.

I would just say to do this tho...
Code:
alias quer.open.and.text.event {
  mkdir QuerLogs
  var %a = $+($iif($event == action, $+ $color(action)),[,$time(HH:nn),]) $iif($event == action,* $nick,$+(<,$nick,>)) $1-
  write $+(QuerLogs\Quer.,$nick,.txt) %a
  aline -ln $QuerWindow $nick 
  if ($sline($QuerWindow,1) == $nick) { aline -pi $QuerWindow %a }
  window -g1 $QuerWindow
  window -h $nick
  haltdef
}


Cant just set a aline color, as there all trashed when the loadbuf occurs, have to insert it onto the line.

#112731 27/02/05 08:07 PM
Joined: Aug 2003
Posts: 1,831
I
Hoopy frood
Offline
Hoopy frood
I
Joined: Aug 2003
Posts: 1,831
The line colors are lost in mIRCs reload logs feature too, but it doesn't bother me. smile

#112732 27/02/05 08:31 PM
Joined: Sep 2003
Posts: 4,230
D
Hoopy frood
Offline
Hoopy frood
D
Joined: Sep 2003
Posts: 4,230
Doesnt actually bother me either just looks a bit dodgy when you click on the same nicks name and the colors disapear out of lines.

#112733 27/02/05 08:35 PM
Joined: Aug 2003
Posts: 1,831
I
Hoopy frood
Offline
Hoopy frood
I
Joined: Aug 2003
Posts: 1,831
lol
Well why not disable re-loading if the same nick is selected?

#112734 27/02/05 11:35 PM
Joined: Feb 2005
Posts: 10
L
Pikka bird
Offline
Pikka bird
L
Joined: Feb 2005
Posts: 10
Lord_Raiden tips hat

Gentleman, (and ladies if any), this is great stuff!

I know nothing bout coding confused, so I copy and paste what i find in the forums here. All these changes and improvements r gr8! grin grin
My problem is this:

1) I have tried to implement the changes in the code that i have for this window, but I have messed up somewhere, cos I cant get it to work now. Is it possible to get the whole code as it is atm?

2) I noticed that when the nicks in this little window reaches a certain number, it doesn't work anymore, ie the new queries happen in the "old" fashion, and not in the little window... Why is this?

3) When a person u r in pvt convo with in this little window changes his/her nick to another, the nick in the window doesn't update, so u end up sending to a nick that doesn't exist anymore, but u don't realy notice it untill u receive no responses from the person or check in your status window.
How can this b fixed?

4) Most of all thanks for the excellent answers and stuff on these forums. We (the noobs) enjoy it much!

Lord_Raiden tips hat

#112735 28/02/05 02:08 AM
Joined: Feb 2005
Posts: 10
L
Pikka bird
Offline
Pikka bird
L
Joined: Feb 2005
Posts: 10
Lord_Raiden tips hat

I found a bit of a bug...

1) If a nick has a character in it that cant be used in the name of a *.txt file, the query message will not be entered into the message queuer window, it will happen the normal way as if you are running normal mIRC 6.16.

That could explain why i thought that if it reaches a certain amount of nicks, the queries continue in the normal mIRC 6.16 way.

Any fixes for this problem?

2) I still dont get a /whois when i receive a query... If I dbl click in the open window, or on the nick itself, no joy either way...

3) Thanks again!

Lord_Raiden tips hat

#112736 28/02/05 06:39 AM
Joined: Aug 2003
Posts: 1,831
I
Hoopy frood
Offline
Hoopy frood
I
Joined: Aug 2003
Posts: 1,831
[*] 1. Find each of the lines in the first set below and change them to their corresponding line in the second set.

Old:
Code:
  write $+(QuerLogs\Quer.,$nick,.txt) %a
  write $+(QuerLogs\Quer.,$nick,.txt) $+([,$time(HH:nn),] <,$nick,>) $1-
      loadbuf -pi $QuerWindow $+(QuerLogs\Quer.,$sline($QuerWindow,1),.txt)
      .remove $+(QuerLogs\Quer.,$1,.txt)
    savebuf $QuerWindow $+(QuerLogs\Quer.,$sline($QuerWindow,1),.txt)
    else { .timer 1 0 savebuf $QuerWindow $+(QuerLogs\Quer.,$sline($QuerWindow,1),.txt) }
    savebuf $QuerWindow $+(QuerLogs\Quer.,$sline($QuerWindow,1),.txt)


New:
Code:
  write $+(QuerLogs\Quer.,[color:blue]$mkfn($nick)[/color],.txt) %a
  write $+(QuerLogs\Quer.,[color:blue]$mkfn($nick)[/color],.txt) $+([,$time(HH:nn),] <,$nick,>) $1-
      loadbuf -pi $QuerWindow $+(QuerLogs\Quer.,[color:blue]$mkfn($sline($QuerWindow,1))[/color],.txt)
      .remove $+(QuerLogs\Quer.,[color:blue]$mkfn($1)[/color],.txt)
    savebuf $QuerWindow $+(QuerLogs\Quer.,[color:blue]$mkfn($sline($QuerWindow,1))[/color],.txt)
    else { .timer 1 0 savebuf $QuerWindow $+(QuerLogs\Quer.,[color:blue]$mkfn($sline($QuerWindow,1))[/color],.txt) }
    savebuf $QuerWindow $+(QuerLogs\Quer.,[color:blue]$mkfn($sline($QuerWindow,1))[/color],.txt)



[*] 2)
Options > IRC > [×] "Whois on query"

You can also add " Whois $$1:whois $1" to the end of the menu code, like so..
Code:
menu @Quer.MENU {
  ; code......
  ;.....
  ;...
  Delete $$1 History: {
    if ($sline($QuerWindow,0) == 1) {
      clear $QuerWindow
      titlebar $QuerWindow
      close -m $1
      dline -l $QuerWindow $sline($QuerWindow,1).ln
      .remove $+(QuerLogs\Quer.,[color:blue]$mkfn($1)[/color],.txt)
    }
  }
  Whois $$1:whois $1
}

Page 1 of 2 1 2

Link Copied to Clipboard