Mirc friends/notify list

By blackvenomm666 on Jul 04, 2012

This is basically a dialog that acts as an online buddy list. When it's open it will display your online/offline people in your notify list in one of the two list boxes. When you change windows if the window you change to is connected to a different server it will auto change the people shown to the ones in that server. This is basically a beta i'm not done with it yet. If you click the edit button it will open up the address book on the notify section which will allow you to edit the people in your notify list add notes/networks etcetc. If you add a network it will show in the dialog when it's open to the right of the nick. Also if you double click on a nick in the online list box area it will open a pm with that person. It also auto shows their Address information as it is shown in the address book. If you right click in the nicklist on the channel it will allow you to easily add nicknames to the notify list/remove them or turn it on and off you can also turn it on and off from the dialog itself. I do suggest going into the address book itself and editing the nicks in their so they are server/network specific by adding a network.server name/address to it Add to a new remotes file. I mae it small and compact enough that it can easily be left open with mIRC and not take up too much of the screen it is set so it cannot be minimized before the questions start coming on that yes it can be set to do so by changing

.Friendslist: dialog $iif($dialog(Friendslist.System),-v,-m Friendslist.System) Friendslist.System

to

.Friendslist: dialog $iif($dialog(Friendslist.System),-v,-md Friendslist.System) Friendslist.System

Image

Menu Menubar,Nicklist,Channel {
  Tools
  .Friendslist: dialog $iif($dialog(Friendslist.System),-v,-m Friendslist.System) Friendslist.System
}
Dialog Friendslist.System {
  Title "FriendslistSystem"
  Size -1 -1 120 130
  Option dbu
  list 1, 02 02 80 72, hsbar vsbar
  list 2, 02 65 80 72, hsbar vsbar
  button "On ", 3, 84 02 30 10, flat 
  button "Off ", 4, 84 13 30 10, flat 
  button "Edit ", 5, 84 24 30 10, flat 
}
on *:DIALOG:Friendslist.System:*:*: {
  if ($devent == init) {
    did -az Friendslist.system 1 Online
    did -az Friendslist.system 2 Offline
    friendlist
    .set %notifyserver $server
    .set %friendlistcid $cid
    if ($group(#notify) == On) { did -b Friendslist.System 3 }
    if ($group(#notify) == Off) { did -b Friendslist.System 4 }
    ;.services memo $did(13).text send $did(12).text

  }
  if ($devent == dclick) {
    if ($did == 1) { scid $activecid .query $gettok($did(1).seltext,1,32)
    }
    if ($did == 2) {
      if ($cschecker2) {
        scid $activecid .services memo $gettok($did(2).seltext,1,32) send $$?=" what memo do you wish to send to $gettok($did(2).seltext,1,32) "
      }
      else {
        scid $activecid msg memoserv send $gettok($did(2).seltext,1,46) $$?=" what memo do you wish to send to $gettok($did(2).seltext,1,32) "
      }
    }
  }
  if ($devent == sclick) {
    if ($did == 3) {
      notify on
      did -b Friendslist.System 3
      did -e Friendslist.System 4
    }
    if ($did == 4) {
      notify off
      did -b Friendslist.System 4
      did -e Friendslist.System 3
    }
    if ($did == 5) {
      .abook -n
    }
  }
}
alias friendlist {
  var %num = $notify(0), %list = 1
  while %list <= %num {
    if ($notify(%list).ison) { did -az Friendslist.system 1 $notify(%list) : $notify(%list).addr : $notify(%list).network
    }
    else { did -az Friendslist.system 2 $notify(%list) : $notify(%list).network
      inc %offline 
    }
    inc %list
  }
}
on ^*:NOTIFY: { 
  if ($cid == %friendlistcid) {
    refreshing
  }
  haltdef
}
on ^*:UNOTIFY: { 
  if ($cid == %friendlistcid) {
    refreshing
  }
  haltdef
}
alias refreshing {
  did -r Friendslist.system 1,2
  did -az Friendslist.system 1 Online
  did -az Friendslist.system 2 Offline
  Friendlist
}
on *:ACTIVE:*: {
  if (%friendlistcid != $cid) && ($dialog(Friendslist.system)) {
    refreshing
    .set %friendlistcid $cid
    .set %notifyserver $server
  }
}
menu nicklist, {
  Tools
  .Friendlist
  ..$iif($group(#notify) == On,$style(2)) Friendlist on: { notify on | .enable #notify  } 
  ..$iif($group(#notify) == Off,$style(2)) Friendlist off: { notify off | .disable #notify }
  ..Add/Delete from list
  ...Add $$1: { .notify $$1 }
  ...Del $$1: { .notify -r $$1 }
  ...Add Manually: { .notify $$?="Enter Notify Nickname" }
  ...Del Manually: { .notify -r $$?="Enter Notify Nickname" }
}
#notify off
#notify end
alias notify {
  if ($1 == on) {
    .enable #notify
    notify on
  }
  if ($1 == off) {
    .disable #notify
    notify off
  }
}
alias cschecker2 { 
  if (%notifyserver == $read(cscheck.txt,w,%notifyserver))  {
    return $true
  }
  else { 
    return $false
  }
}
on *:connect:{ 
  .enable #chatspacecheck
  .version
}
#chatspacecheck on
raw 351 :*: { 
  if (CS isin $1- ) && ($server != $read(cscheck.txt,w,$server)) {
    write cscheck.txt $server
    .disable #chatspacecheck
  }
  elseif (CS !isin $1- ) {
    .disable #chatspacecheck
  }
}
#chatspacecheck end

Comments

Sign in to comment.
blackvenomm666   -  Jul 09, 2012

ty jeth and luc

 Respond  
Jethro   -  Jul 09, 2012

Nice job done, blackvenommm666. You've improved tremendously.

 Respond  
Lucius   -  Jul 09, 2012

Impressively cleaned up from when I saw you working on it last.
I like. :]

 Respond  
blackvenomm666   -  Jul 05, 2012

updated if you click on a nick in the offline list it will pull up an input box you type in a message and it will memo that person

 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.