kvirc to mIRC Avatars

By TMFKSOFT on Oct 23, 2011

So. Last night I decided to try out kvirc. I'll be honest I don't like it. Its too picturey I like basic text.

But out of all features, one feature really caught my eye. "The AVATAR Idea" The concept of users having avatars on IRC.

I really liked this idea, a friend on a chat server told be it used DCC. I asked about how it worked and he werent to sure as he didn't use that feature.

So after playing around with mIRC and kvirc I found out how it works.

Its just CTCP's and DCC's :D

So I spent till 5am coding this damn thing up after a lot of dead ends and troubleshooting I've sorted it. So have fun,

Report any bugs you find.

NOTE: Currently two mIRC clients don't properly swap avatars. I intend to fix this soon!

Leave comments, bug reports and suggestions below.

I intend to setup a bug reporting system for my scripts!

Find me at irc.ilkotech.co.uk in #ilkotech if you want help with anything mIRC related!

;The AVATAR Idea.
;This nice feature is used in kvirc, and its nice.
;So why not let mIRC do the same?
;So thats what I intend to do with this script.
;Unluckily i've never used DCC in scripts so this will be a test.

;Script by Thomas Edwards (TMFKSOFT)
;Copyright Ilkotech.co.uk & Thomas Edwards 2011

;I plan for it to modify the address book :)

;Let the games begin.

menu nicklist {
  -
  Notify Avatar:/avatar_send $1
  View Avatar:/avatar_view $1
}
menu * {
  Set Avatar:/avatar_set
}
alias avatar_send {
  if (%avatar_name != $null) {
    ctcpreply $1 AVATAR $replace(%avatar_name,$chr(32),_) %avatar_size
  }
  else {
    echo 4You have not set an avatar. Set one via /avatar_set
  }
}
alias avatar_set {
  var %file $sfile($mircdir $+ avatars\,Select Avatar)
  set %avatar_size $file(%file).size
  set %avatar_name $right(%file,$calc(0 - $pos(%file,\,$count(%file,\))))
  set %avatar_path %file
  echo Avatar set!
}
alias avatar_view {

  if ($1 == $me) {

    if (%avatar_name != $null) {
      window -osCdbptw0 @Avatar 0 0 256 256
      drawpic -s @Avatar 0 0 256 256 %avatar_path
    }
    else {
      echo 4You have not set an avatar. Set one via /avatar_set
    }
  }
  else {
    if ($readini(avatars.ini,others,$1) != $null) {
      window -soCdbptw0 @Avatar 0 0 265 292
      drawpic -s @Avatar 0 0 256 256 avatars\ $+ $readini(avatars.ini,others,$1)
    }
  }
  else {
    echo -t [Avatar] $1 does not have an Avatar. Why not politely ask them for it?
  }
}
on *:CTCPREPLY:AVATAR*:{
  echo -t $active [Avatar] $nick changes their avatar to $qt($2)
  if ($exists(avatars\) == $FALSE) {
    mkdir avatars
  }
  if ($exists(avatars\ $+ $2) == $FALSE) {
    raw -q NOTICE $nick :DCC GET $2 $3 $+ 
    set %avatar_recv 1
  }
  echo Avatar exists. Updating user avatar.
  writeini avatars.ini others $nick $2
  HALTDEF
}

CTCP *:DCC:{
  if ($2 == GET) {
    echo Sending Avatar. File: $replace(%avatar_name,$chr(32),_) Size: %avatar_size User: $nick
    dcc SEND $nick %avatar_path
  }
}
on *:FILERCVD:*:{
  if (%avatar_recv == 1) {
    copy -o $file($filename).shortfn avatars\
    remove $file($filename).shortfn
    unset %avatar_recv
  }
}
on *:NICK:{
  if ($readini(avatars.ini,others,$nick) != $null) {
    writeini avatars.ini others $newnick $readini(avatars.ini,others,$nick)
    remini avatars.ini others $nick
  }
}

Comments

Sign in to comment.
TMFKSOFT   -  Oct 30, 2011

Thanks for the feedback! I intend to work on it and maybe add a few more features!

More
 Respond  
extio   -  Oct 28, 2011

ah another reason to use mirc for more than scripting with cool sounding scripts like this.

but i use icechat for my regular client... and mirc only to script with...

More
 Respond  
irchainscriptz   -  Oct 25, 2011

Yes it dose. its a IRC client based on the GUI and is extremly devolped by Szymon Stefanek and also least not forget the developement Team which consists of IRC addicted developers around the world. So this is still continuing with all developers across the world and there are constant updates and new added plugins. As is also the IceChat made by Snerf. But all clients are done in there different Languages and like here this is what brings us to scripting. Good Snippet to bring it to a regular mIRC TMFKSOFT

More
 Respond  
SReject   -  Oct 24, 2011

KVirc does have it's own scripting lang.....

More
 Respond  
MashhitDK   -  Oct 23, 2011

Haha... nice idea... iLike But I LoVE KVirc... KVirc PWNs... only use mIRC for scripting / BOT

More
 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.