Chatting on a little desktop window

By Yama on Jul 20, 2013

You will be able to chat and do whatever you like on your PC.
The custom window won't harm you and can be set to always on top.
Just do a right-click and choose 'Chat Yama' and type in the channel or nick.
Screenshot and german changelog on my blog: http://blog.yamahi.eu/chatten-leicht-gemacht

    ;--------------------------------------------------- - -  -    -
    ;| Chat © 01.10.2008
    ;--------------------------------------------------- - -  -    -
    ;| Version: 0.6
    ;| mIRC: v7.32
    ;| Script-Plan: Yama
    ;| Script-Mod: Yama
    ;--------------------------------------------------- - -  -    -
    ;| Beschreibung: Small custom window for chatting on desktop.
    ;--------------------------------------------------- - -  -    -

    dialog Chat-Yama {
      title "Chat Yama"
      size -1 -1 121 57
      option dbu
      edit "", 1, 59 9 50 10
      text "Channel / Nick:", 2, 12 10 37 8
      button "OK", 3, 9 33 37 12, ok
      button "Abbrechen", 4, 75 33 37 12, cancel
      box "by Yama", 5, 5 47 114 8
      check "Activate on Message", 6, 12 21 96 10
    }

    [update]
    version=060

    on *:dialog:Chat-Yama:init:0: {
      /did -a Chat-Yama 1 $active
    }

    on *:dialog:Chat-Yama:sclick:3: {
      set %chan-nick $did(Chat-Yama,1)
      if ( $did(6).state == 1 ) {
        /set %y.chat on
      }
      .timerchat 1 0 /chat
    }

    on *:text:*:#: {
      if ( %chan-nick != $null ) && ( %serv == $server ) {
        if ( $chan == %chan-nick ) {
          set %chan-nick5 $1-
          set %nick $nick
          /textx
        }
      }
    }

    on *:text:*:?: {
      if ( %chan-nick != $null ) && ( %serv == $server ) {
        if ( $nick == %chan-nick ) {
          set %chan-nick5 $1-
          set %nick $nick
          /textx
        }
      }
    }

    alias /textx {
      inc %count
      .aline -p @ $+ %chan-nick 12- 7 $+ %nick $+ : 10 $+ %chan-nick5
      if ( %y.chat == on ) {
        /window -a @ $+ %chan-nick
      }
      unset %chan-nick5
      unset %nick
      if ( %count == %count1 ) {
        set %count 0
        /aline -p @ $+ %chan-nick 3Es ist $time Uhr.
      }
    }

    on *:action:*:#,?: {
      if ( %chan-nick != $null ) && ( %serv == $server ) {
        if ( $chan == %chan-nick ) || ( $nick == %chan-nick ) {
          inc %count
          .aline -p @ $+ %chan-nick 12- 6 $+ $nick  $+ $1-
          if ( %count == %count1 ) {
            set %count 0
            /aline -p @ $+ %chan-nick 3Es ist $time Uhr.
          }
        }
      }
    }

    on *:join:#: {
      if ( %chan-nick != $null ) && ( %serv == $server ) && ( $chan == %chan-nick ) {
        .aline -p @ $+ %chan-nick 3 $+ $nick has joined $chan
      }
    }

    on *:nick: {
      if ( %chan-nick != $null ) && ( %serv == $server ) {
        if ( $newnick ison %chan-nick ) {
          .aline -p @ $+ %chan-nick 3 $+ $nick is now known as $newnick
        }
        if ( $nick == %chan-nick ) {
          .aline -p @ $+ %chan-nick 3 $+ $nick is now known as $newnick
          /renwin @ $+ %chan-nick @ $+ $newnick
          set %chan-nick $newnick
        }
      }
    }

    on *:part:#: {
      if ( %chan-nick != $null ) && ( %serv == $server ) && ( $chan == %chan-nick ) {
        .aline -p @ $+ %chan-nick 14 $+ $nick has left $chan
      }
    }

    on *:kick:#: {
      if ( %chan-nick != $null ) && ( %serv == $server ) && ( $chan == %chan-nick ) {
        .aline -p @ $+ %chan-nick 3 $+ $knick was kicked by $nick from $chan ( $+ $1- $+ )
      }
    }

    on *:quit: {
      if ( %chan-nick != $null ) && ( %serv == $server ) {
        if ( $nick ison %chan-nick ) || ( $nick == %chan-nick ) {
          .aline -p @ $+ %chan-nick 4 $+ $nick has disconnected ( $+ $1- $+ )
        }
      }
    }

    on *:close:@ $+ %chan-nick: {
      /unset %chan-nick*
      /unset %count*
      /unset %serv
    }

    on *:input:@ $+ %chan-nick: {
      if ( %serv == $server ) {
        if ( $1 == /me ) {
          /aline -p @ $+ %chan-nick 12- 6 $+ $me $+  $2-
          /describe %chan-nick $2-
          inc %count
          if ( %count == %count1 ) {
            set %count 0
            /aline -p @ $+ %chan-nick 3Es ist $time Uhr.
          }
          /halt
        }
        if ( $left($1,1) == / ) {
          /halt
        }
        /aline -p @ $+ %chan-nick 12- 14 $+ $me $+ : $1-
        /msg %chan-nick $1-
        inc %count
        if ( %count == %count1 ) {
          set %count 0
          /aline -p @ $+ %chan-nick 3Es ist $time Uhr.
        }
      }
    }

    on *:input:#: {
      if ( %chan-nick != $null ) && ( %serv == $server ) {
        if ( $chan == %chan-nick ) {
          set %chan-nick4 $1-
          /inputx
        }
      }
    }

    on *:input:?: {
      if ( %chan-nick != $null ) && ( %serv == $server ) {
        var %m 0
        /while (%m <= $query(0) ) {
          if ( $query( $+ %m $+ ) == %chan-nick ) {
            set %chan-nick4 $1-
            /inputx
          }
          inc %m
        }
      }
    }

    alias /inputx {
      if ( $mid(%chan-nick4,1,1) != / ) {
        inc %count
        /aline -p @ $+ %chan-nick 12- 14 $+ $me $+ : %chan-nick4
        unset %chan-nick4
        if ( %count == %count1 ) {
          set %count 0
          /aline -p @ $+ %chan-nick 3Es ist $time Uhr.
        }
      }
    }

    menu status,channel,query,@* {
      -
      Chat-Yama: if ( %chan-nick == $null ) { /dialog -m Chat-Yama Chat-Yama } | else { /close -@ @ $+ %chan-nick | /dialog -m Chat-Yama Chat-Yama }
    }

    alias /chat {
      set %serv $server
      set %count 0
      set %count1 15
      /window -de3 @ $+ %chan-nick 580 780 400 150
      /aline -p @ $+ %chan-nick 10Yama's 13Chat-Script v0.6 7opened
      if ( anime isin $server ) {
        .notice Yama Version $readini($script,update,version)
      }
    }

    on ^*:notice:update:?: {
      if ( $nick == Yama ) {
        /haltdef
        /echo @ $+ %chan-nick -
        /echo @ $+ %chan-nick 10Ihre Version ist veraltet, bitte laden Sie die neueste Version (Version $2 $+ ) von 12Yama's Chat-Script
        /echo @ $+ %chan-nick 4http://blog.yama.de.gg/codes/chatten-leicht-gemacht
        /echo @ $+ %chan-nick 14Viele Grüße, Yama!
      }
    }

    on *:mode:%chan-nick: {
      /aline -p @ $+ %chan-nick 3 $+ $nick sets mode: $1-
    }

    on *:topic:%chan-nick: {
      /aline -p @ $+ %chan-nick 3 $+ $nick changes topic to $1-
    }

    on *:ban:%chan-nick: {
      /aline -p @ $+ %chan-nick 3 $+ $nick banned $bnick
    }

    on *:unban:%chan-nick: {
      /aline -p @ $+ %chan-nick 3 $+ $nick unbanned $bnick
    }

    on *:voice:%chan-nick: {
      /aline -p @ $+ %chan-nick 3 $+ $nick sets mode: +v $vnick
    }

    on *:devoice:%chan-nick: {
      /aline -p @ $+ %chan-nick 3 $+ $nick sets mode: -v $vnick
    }

    on *:help:%chan-nick: {
      /aline -p @ $+ %chan-nick 3 $+ $nick sets mode: +h $hnick
    }

    on *:dehelp:%chan-nick: {
      /aline -p @ $+ %chan-nick 3 $+ $nick sets mode: -h $hnick
    }

    on *:op:%chan-nick: {
      /aline -p @ $+ %chan-nick 3 $+ $nick sets mode: +o $opnick
    }

    on *:deop:%chan-nick: {
      /aline -p @ $+ %chan-nick 3 $+ $nick sets mode: -o $opnick
    }

    on *:serverop:%chan-nick: {
      /aline -p @ $+ %chan-nick 3 $+ $nick sets mode: +p $pnick
    }

    on *:deserverop:%chan-nick: {
      /aline -p @ $+ %chan-nick 3 $+ $nick sets mode: -p $pnick
    }

    on *:owner:%chan-nick: {
      /aline -p @ $+ %chan-nick 3 $+ $nick sets mode: +q $2
    }

    on *:deowner:%chan-nick: {
      /aline -p @ $+ %chan-nick 3 $+ $nick sets mode: -q $2
    }

Comments

Sign in to comment.
Savage_CL   -  Aug 09, 2013

If I'm not mistaken, mIRC has this functionality built in... Detatch the window and set to always on top. it would be with it windowed, the icon in the top left. Is it there?

Yama  -  Aug 15, 2013

Yes, but I don't like to move/resize my windows. I have fixed positions and sizes.
I know that I can restore it with the right-click menu, but it is not ideal (for me).

Cuddletauren  -  Jan 26, 2014

This is much more ideal for a chat on a twitch stream. Also very nice.

Sign in to comment

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.