All-in-one Private chat

By TophBeiFong on Jan 28, 2011

Screenshots

An All In One Private Chat

Instead of going to window to window on pm, you can use this

type in /privatechat and when it opens everyone in the chatroom will be listed on the right side, when they message you, select there nick on the list and reply, easy and simple

It will display all of the nicks from channels you are on, on the server, and doesn't put user in twice if they are in 2 rooms

JD My friend fixed some things in the script, thanks

dialog -l NC {
  title "All-In-One Private Chat - By TophBeiFong"
  size -1 -1 245 200
  option dbu
  edit "", 1, 0 0 200 182, multi, autohs, read,
  button "Send", 2, 140 184 24 12, default
  edit "", 3, 2 185 135 10, autohs, return
  list 4, 200 0 45 182, sort, extsel, size, vsbar
  button "Block", 5, 165 184 40 12 default
  button "Unblock", 6, 205 184 40 12 default
}

alias query {
  privatechat $1-
}

alias Privatechat {
  if ($dialog(NC)) {
    dialog -v NC
  }
  else {
    dialog -md NC NC
  }
  did -f NC 3
}

on 1:dialog:nc:sclick:2: {
  .did -a NC 1 <  $+ $me $+ > $did(3) $+ $crlf
  .msg $$did(4).seltext $$did(3)
  .did -r NC 3
}

on 1:dialog:nc:sclick:5: {
  .did -a NC 1 $did(4).seltext has been Blocked $+ $crlf
  .ignore $address( $+ $did(4).seltext $+ ,2)
}
on 1:dialog:nc:sclick:6: {
  .did -a NC 1 $did(4).seltext has been Unblocked $+ $crlf
  .ignore -r $address( $+ $did(4).seltext $+ ,2)
}

on ^*:text:*:?:{
  .did -a NC 1 < $+ $nick $+ > $1- $+ $crlf
}

on *:DIALOG:NC:init:*: {
  did -m $dname 1
  var %i 1
  while (%i <= $chan(0)) {
    var %j 1
    while (%j <= $nick($chan(%i),0)) {
      nc.adduser $nick($chan(%i),%j)
      inc %j
    }
    inc %i
  }
}

alias -l nc.adduser {
  if (!$nc.isuser($1-)) {
    did -a NC 4 $1-
  }
}

alias -l nc.deluser {
  if ($nc.isuser($1-)) {
    did -d NC 4 $ifmatch
  }
}

alias -l nc.isuser {
  return $didwm(NC,4,$1-)
}

Comments

Sign in to comment.
_Dean_   -  Jan 28, 2011

of course not, cause using the "." dot it will turn invisible to u, remove the dot, receive a pm with the NC dialog closed, and check whats happen, by the way this script will stop ppl to receive normal pm if the user dont open the NC dialog

 Respond  
TophBeiFong   -  Jan 28, 2011

I don't seem to see any errors on my status window

 Respond  
_Dean_   -  Jan 28, 2011

ok he fixed... what about this?

on ^*:text:*:?:{
  .did -a NC 1 < $+ $nick $+ > $1- $+ $crlf
  .closemsg $nick
  .haltdef
}

cause if you use this
.did -a NC 1 < $+ $nick $+ > $1- $+ $crlf
without check, if the dialog NC is openned all you will see on status is

  • /did: invalid parameters

you need to check first, if the dialog its openned or not

 Respond  
TophBeiFong   -  Jan 28, 2011

My friend fixed some of it

 Respond  
_Dean_   -  Jan 28, 2011

yes i tested the first option do this...

try just this one

on *:text:*:?:{
  if ($dialog(NC)) { did -a NC 1 < $+ $nick $+ > $1- | .closemsg $nick }
}
 Respond  
TophBeiFong   -  Jan 28, 2011

When i receive an message it opens the dialog showing the message then when i receive another message, i get the message normally on my mIRC and not on my dialog

 Respond  
_Dean_   -  Jan 28, 2011

what do u mean? u saying that using the second method and the dialog is openned, you will receive it the pm normally or it only appear on the dialog?

cause using the .closemsg $nick it will close the message, and it will only show on dialog

 Respond  
TophBeiFong   -  Jan 28, 2011

Dean the second works but if i get another message when it is open, i get the pm normally on my mIRC

 Respond  
_Dean_   -  Jan 28, 2011

about this

on ^*:text:*:?:{
  .did -a NC 1 < $+ $nick $+ > $1-
  .haltdef
}

if the person receives a pm, and the dialog NC is closed?

you can use this

on *:text:*:?:{
  if ($dialog(NC)) { did -a NC 1 < $+ $nick $+ > $1- | .closemsg $nick }
}

that will analize if the dialog is openned, and then will close the pm, if not, it will receive the pm normally

 Respond  
Conscious   -  Jan 28, 2011

It's a little confusing messaging multiple nicks at once (when using it)

 Respond  
Conscious   -  Jan 28, 2011

If I get what you mean, it messages the nick you click on?

 Respond  
TophBeiFong   -  Jan 28, 2011

oops LOL i'll fix it

 Respond  
Conscious   -  Jan 28, 2011

And where is the said alias /privatechat?
Lol, you forgot the alias xD

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.