Away Dialog

By napa182 on Feb 21, 2008

copy and paste into a new remote..
ok to set this up open the dialog by clicking in ur menubar or a channel then set ur away nick and back nick then you can either add some away reasons then highlite one of them then click away or you can close out the dialog and type /asaway reason here. to come back you can either open the dialog back up and click back or type /asaback. ok to come back from useing the autoaway just type anything you want into a channel it will auto set you back but thats only if you have one of the auto options set and if you whent away from that. the highlite on and off check boxs only enable when you are away what they do is if you have it on it will notice anyone who highlits ur awaynick or ur backnick and tell them you are away it's a one time Response , but it will open a new window sending what they said to it for you to read later. well enjoy..

Image

dialog asy {
  title "Away System"
  size -1 -1 172 159
  option dbu
  box "Set Away Nick", 1, 1 1 57 34
  edit "", 2, 4 12 50 9, autohs
  button "set", 3, 5 23 20 9, flat
  button "unset", 4, 34 23 20 9, flat
  box "Set Back Nick", 5, 62 1 57 34
  edit "", 6, 65 12 50 9, autohs
  button "set", 7, 65 23 20 9, flat
  button "unset", 8, 95 23 20 9, flat
  box "Add/Del Away Reason", 9, 1 36 118 35
  edit "", 10, 4 45 111 9, autohs
  button "add", 11, 4 56 54 10, flat
  button "del", 12, 61 56 54 10, flat
  box "Auto Away", 13, 121 1 50 70
  radio "None", 14, 124 12 25 10, flat
  radio "30 Minutes", 15, 124 23 37 10, flat
  radio "60 Minutes", 16, 124 34 37 10, flat
  radio "90 Minutes", 17, 124 45 37 10, flat
  radio "120 Minutes", 18, 124 56 40 10, flat
  box "Reason List", 19, 1 72 170 60
  list 20, 4 81 163 46, size vsbar
  box " Away/Back", 21, 1 133 61 25
  button "Away", 22, 4 143 25 10, flat
  button "Back", 23, 34 143 25 10, flat
  box "Highlite Notice", 24, 64 133 43 25
  check "on", 25, 69 143 17 10, flat
  check "off", 26, 88 143 17 10, flat
  box "Date/Time", 27, 108 133 63 25
  text "", 28, 112 143 55 8
}
menu menubar,channel {
  .Away System { dialog $iif($dialog(asy),-v,-md) asy asy }  
}
alias -l asytime { did -ra asy 28 $time(mm.dd.yy h:nn:ss tt) }
alias -l auto.away.check {
  if ($ceil($calc($nick($active,$me).idle / 60)) == $iif(%t.30,30,$iif(%t.60,60,$iif(%t.90,90,$iif(%t.120,120,))))) && (!$away) {
    amsg 14,1[12,1»0,1:: Idle Away After ::12,1«14,1]14,1[12,1»0,1:: $iif(%t.30,30,$iif(%t.60,60,$iif(%t.90,90,$iif(%t.120,120,)))) Minutes ::12,1«14,1]
    .away Idle Away After $iif(%t.30,30,$iif(%t.60,60,$iif(%t.90,90,$iif(%t.120,120,)))) Minutes
    nick %asyanick
  }
}
alias asaway {
  if (!$away && %asyanick && %asybnick) {
    nick %asyanick
    amsg 14,1[12,1»0,1:: I am Now Away ::12,1«14,1]14,1[12,1»0,1::Reason: $1- ::12,1«14,1]14,1[12,1»0,1:: Left At ::12,1«14,1]14,1[12,1»0,1:: $time(h:nn tt) ::12,1«14,1]
    .away $1-
  }
}
alias asaback {
  if ($away && %asyanick && %asybnick) {
    amsg 14,1[12,1»0,1:: I am Now back from ::12,1«14,1]14,1[12,1»0,1::Reason: $awaymsg ::12,1«14,1]14,1[12,1»0,1:: Gone for ::12,1«14,1]14,1[12,1»0,1:: $duration($awaytime) ::12,1«14,1]
    nick %asyanick
    .away
  }
}
on *:load: { 
  echo 12 -a You Have Just Loaded Napa182's Away System
  echo 12 -a A Script0rs Inc. Production 
  echo -a 14,1(14,1¯15,1¯0,1¯0,1º $+($chr(171),$chr(164),$chr(88),$chr(167),$chr(199),$chr(174),$chr(238),$chr(254),$chr(116),$chr(48),$chr(174),$chr(167),$chr(88),$chr(164),$chr(187)) º0,1¯15,1¯14,1¯) $+ $chr(153)
  set %t.none on
}
on *:DIALOG:asy:close:0:{ .timerasytime off }
on *:DIALOG:asy:init:0:{ 
  did -a $dname 28 $time(mm.dd.yy h:nn:ss tt) 
  .timerasytime 0 1 asytime
  if ($away) { did -b $dname 22 | did -e $dname 23,25,26 }
  if (!$away) { did -e $dname 22 | did -b $dname 23,25,26 }
  if (%asyanick) { did -a $dname 2 %asyanick }
  if (%asybnick) { did -a $dname 6 %asybnick }
  did -c $dname $iif(%t.none,14,$iif(%t.30,15,$iif(%t.60,16,$iif(%t.90,17,$iif(%t.120,18,))))) 
  $iif(%highlite,did -c $dname 25,did -c $dname 26)
  if $read(awayreason.txt) { 
    var %x = 1
    while ( %x <= $lines(awayreason.txt)) {
      did -a $dname 20 $read(awayreason.txt,%x)
      inc %x
    }
  }
}
on *:DIALOG:asy:sclick:*:{
  if ($did == 14) { unset %t.* | set %t.none on | .timert* off }
  if ($did == 15) { unset %t.* | set %t.30 on | .timerta 0 1 auto.away.check }
  if ($did == 16) { unset %t.* | set %t.60 on | .timertb 0 1 auto.away.check }
  if ($did == 17) { unset %t.* | set %t.90 on | .timertc 0 1 auto.away.check }
  if ($did == 18) { unset %t.* | set %t.120 on | .timertd 0 1 auto.away.check }
  if ($did == 25) { set %highlite on | did -u $dname 26 }
  if ($did == 26) { unset %highlite | did -u $dname 25 }
  if ($did == 3) { $iif(!$did(2).text,noop $input(Please Enter An Away Nick,uwo,Error!),set %asyanick $did(2).text) }
  if ($did == 4) { $iif(!$did(2).text,noop $input(Please Enter An Away Nick,uwo,Error!),unset %asyanick $did(2).text) | did -r $dname 2 }
  if ($did == 7) { $iif(!$did(6).text,noop $input(Please Enter A Back Nick,uwo,Error!),set %asybnick $did(6).text) }
  if ($did == 8) { $iif(!$did(6).text,noop $input(Please Enter A Back Nick,uwo,Error!),unset %asybnick $did(6).text) | did -r $dname 6 }
  if ($did == 11) { 
    if (!$did(10).text) { noop $input(Please Enter A Reason,uwo,Error!) }
    else {
      .write awayreason.txt $did(10).text 
      did -r $dname 10,20
      var %x = 1
      while ( %x <= $lines(awayreason.txt)) {
        did -a $dname 20 $read(awayreason.txt,%x)
        inc %x
      }
    }
  }
  if ($did == 12) { 
    if (!$did(20).seltext) { noop $input(Please Select A Reason,uwo,Error!) }
    else {
      var %dawayreason $read(awayreason.txt,w,$did(20).seltext) 
      if (%dawayreason == $did(20).seltext) { 
        write -dl [ $+ [ $readn ] ] awayreason.txt 
        did -r $dname 20 
        var %x = 1
        while ( %x <= $lines(awayreason.txt)) {
          did -a $dname 20 $read(awayreason.txt,%x)
          inc %x
        }
      }
    }
  }
  if ($did == 22) {
    if (!%asyanick || !%asybnick) {
      noop $iif(!%asyanick,$input(Please Enter An Away Nick,uwo,Error!),$iif(!%asybnick,$input(Please Enter A Back Nick,uwo,Error!)))
    }
    elseif (%asyanick && %asybnick && !$did(20).seltext) {
      nick %asyanick
      did -b $dname 22
      did -e $dname 23,25,26
      .away none
      amsg 14,1[12,1»0,1:: I am Now Away ::12,1«14,1]14,1[12,1»0,1::Reason: None ::12,1«14,1]14,1[12,1»0,1:: Left at ::12,1«14,1]14,1[12,1»0,1:: $time(h:nn tt) ::12,1«14,1]
    }
    elseif (%asyanick && %asybnick && $did(20).seltext) {
      nick %asyanick
      did -b $dname 22
      did -e $dname 23,25,26
      .away $did(20).seltext
      amsg 14,1[12,1»0,1:: I am Now Away ::12,1«14,1]14,1[12,1»0,1::Reason: $did(20).seltext ::12,1«14,1]14,1[12,1»0,1:: Left at ::12,1«14,1]14,1[12,1»0,1:: $time(h:nn tt) ::12,1«14,1]
    }
  }
  if ($did == 23) {
    nick %asybnick
    amsg 14,1[12,1»0,1:: I am Now back from ::12,1«14,1]14,1[12,1»0,1::Reason: $awaymsg ::12,1«14,1]14,1[12,1»0,1:: Gone For ::12,1«14,1]14,1[12,1»0,1:: $duration($awaytime) ::12,1«14,1]
    did -e $dname 22
    did -b $dname 23,25,26
    unset %highlitecheck.*
    .away
  }
}
on *:TEXT:*:#:{
  if (%highlite && $away) {
    if (%asyanick isin $1- || %asybnick isin $1-) { 
      inc $+(%,highlitecheck,.,$nick)
      if ($($+(%,highlitecheck,.,$nick),2) = 1) { .notice $nick  14,1[12,1» 0,1::This Is A One Time Response:: I am Away ATM :Reason:12,1 $awaymsg 0,1:Gone for:12,1 $duration($awaytime) 12,1«14,1] | window @away | aline @away $nick Called Your Name At $time(h:nn:tt) In $chan And Said: $1- }
      if ($($+(%,highlitecheck,.,$nick),2) >= 2) { window @away | aline @away $nick Called Your Name At $time(h:nn:tt) In $chan And Said: $1- }
    }
  }
}
on *:input:*:{
  if (%t.30 || %t.60 || %t.90 || %t.120) {
    if ($away) {
      amsg 14,1[12,1»0,1:: I am Now back from ::12,1«14,1]14,1[12,1»0,1::Reason: $awaymsg ::12,1«14,1]14,1[12,1»0,1:: Gone For ::12,1«14,1]14,1[12,1»0,1:: $duration($awaytime) ::12,1«14,1]
      nick %asybnick
      unset %highlitecheck.*
      .away
    }
  }
}

Comments

Sign in to comment.
jarrodkharis   -  Apr 13, 2011

phill24, is the date and time on yu pc wrong ? lol ...

 Respond  
jarrodkharis   -  Apr 13, 2011

needs a paging feature and passwords for away/back nicks... other than that , DUDE this is an awsome script !!!!!!!!

 Respond  
Phil_FW   -  Jan 09, 2011

the whole date and time is wrong for me

 Respond  
ZeleSansLogique   -  Aug 23, 2009

Amazing Away Dialog, I hope you do mind, but I am going to post a French interpreted version of your script. However, I will give you full credit for having originally written the script. If you want me to remove it, the just message me and I will.

 Respond  
wto_xray   -  Jul 26, 2009

great script napa

 Respond  
Skylar   -  Feb 09, 2009

it works great with my old version of mirc :)

 Respond  
napa182   -  Feb 09, 2009

lol fixed

 Respond  
baseballer790   -  Feb 09, 2009

For my back nick, I can't enter my full nick/

 Respond  
xFireWallx   -  Jul 06, 2008

Perfect away system ;-)

 Respond  
^Neptune   -  Apr 23, 2008

I love this. Works perfectly, great dialog ^-^ good job

 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.